github.com/diadata-org/diadata@v1.4.593/pkg/dia/scraper/exchange-scrapers/platypusfinance/asset/asset.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 asset
     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  // AssetMetaData contains all meta data concerning the Asset contract.
    32  var AssetMetaData = &bind.MetaData{
    33  	ABI: "[{\"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\":false,\"internalType\":\"uint256\",\"name\":\"previousCashPosition\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"cashBeingAdded\",\"type\":\"uint256\"}],\"name\":\"CashAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousCashPosition\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"cashBeingRemoved\",\"type\":\"uint256\"}],\"name\":\"CashRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousLiabilityPosition\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"liabilityBeingAdded\",\"type\":\"uint256\"}],\"name\":\"LiabilityAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousLiabilityPosition\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"liabilityBeingRemoved\",\"type\":\"uint256\"}],\"name\":\"LiabilityRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousMaxSupply\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newMaxSupply\",\"type\":\"uint256\"}],\"name\":\"MaxSupplyUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousPool\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newPool\",\"type\":\"address\"}],\"name\":\"PoolUpdated\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"addCash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"addLiability\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"aggregateAccount\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"underlyingToken_\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"aggregateAccount_\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"liability\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"removeCash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"removeLiability\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aggregateAccount_\",\"type\":\"address\"}],\"name\":\"setAggregateAccount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxSupply_\",\"type\":\"uint256\"}],\"name\":\"setMaxSupply\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pool_\",\"type\":\"address\"}],\"name\":\"setPool\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferUnderlyingToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"underlyingToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"underlyingTokenBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
    34  }
    35  
    36  // AssetABI is the input ABI used to generate the binding from.
    37  // Deprecated: Use AssetMetaData.ABI instead.
    38  var AssetABI = AssetMetaData.ABI
    39  
    40  // Asset is an auto generated Go binding around an Ethereum contract.
    41  type Asset struct {
    42  	AssetCaller     // Read-only binding to the contract
    43  	AssetTransactor // Write-only binding to the contract
    44  	AssetFilterer   // Log filterer for contract events
    45  }
    46  
    47  // AssetCaller is an auto generated read-only Go binding around an Ethereum contract.
    48  type AssetCaller struct {
    49  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    50  }
    51  
    52  // AssetTransactor is an auto generated write-only Go binding around an Ethereum contract.
    53  type AssetTransactor struct {
    54  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    55  }
    56  
    57  // AssetFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    58  type AssetFilterer struct {
    59  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    60  }
    61  
    62  // AssetSession is an auto generated Go binding around an Ethereum contract,
    63  // with pre-set call and transact options.
    64  type AssetSession struct {
    65  	Contract     *Asset            // 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  // AssetCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    71  // with pre-set call options.
    72  type AssetCallerSession struct {
    73  	Contract *AssetCaller  // Generic contract caller binding to set the session for
    74  	CallOpts bind.CallOpts // Call options to use throughout this session
    75  }
    76  
    77  // AssetTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    78  // with pre-set transact options.
    79  type AssetTransactorSession struct {
    80  	Contract     *AssetTransactor  // Generic contract transactor binding to set the session for
    81  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    82  }
    83  
    84  // AssetRaw is an auto generated low-level Go binding around an Ethereum contract.
    85  type AssetRaw struct {
    86  	Contract *Asset // Generic contract binding to access the raw methods on
    87  }
    88  
    89  // AssetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
    90  type AssetCallerRaw struct {
    91  	Contract *AssetCaller // Generic read-only contract binding to access the raw methods on
    92  }
    93  
    94  // AssetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
    95  type AssetTransactorRaw struct {
    96  	Contract *AssetTransactor // Generic write-only contract binding to access the raw methods on
    97  }
    98  
    99  // NewAsset creates a new instance of Asset, bound to a specific deployed contract.
   100  func NewAsset(address common.Address, backend bind.ContractBackend) (*Asset, error) {
   101  	contract, err := bindAsset(address, backend, backend, backend)
   102  	if err != nil {
   103  		return nil, err
   104  	}
   105  	return &Asset{AssetCaller: AssetCaller{contract: contract}, AssetTransactor: AssetTransactor{contract: contract}, AssetFilterer: AssetFilterer{contract: contract}}, nil
   106  }
   107  
   108  // NewAssetCaller creates a new read-only instance of Asset, bound to a specific deployed contract.
   109  func NewAssetCaller(address common.Address, caller bind.ContractCaller) (*AssetCaller, error) {
   110  	contract, err := bindAsset(address, caller, nil, nil)
   111  	if err != nil {
   112  		return nil, err
   113  	}
   114  	return &AssetCaller{contract: contract}, nil
   115  }
   116  
   117  // NewAssetTransactor creates a new write-only instance of Asset, bound to a specific deployed contract.
   118  func NewAssetTransactor(address common.Address, transactor bind.ContractTransactor) (*AssetTransactor, error) {
   119  	contract, err := bindAsset(address, nil, transactor, nil)
   120  	if err != nil {
   121  		return nil, err
   122  	}
   123  	return &AssetTransactor{contract: contract}, nil
   124  }
   125  
   126  // NewAssetFilterer creates a new log filterer instance of Asset, bound to a specific deployed contract.
   127  func NewAssetFilterer(address common.Address, filterer bind.ContractFilterer) (*AssetFilterer, error) {
   128  	contract, err := bindAsset(address, nil, nil, filterer)
   129  	if err != nil {
   130  		return nil, err
   131  	}
   132  	return &AssetFilterer{contract: contract}, nil
   133  }
   134  
   135  // bindAsset binds a generic wrapper to an already deployed contract.
   136  func bindAsset(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   137  	parsed, err := abi.JSON(strings.NewReader(AssetABI))
   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 (_Asset *AssetRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   149  	return _Asset.Contract.AssetCaller.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 (_Asset *AssetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   155  	return _Asset.Contract.AssetTransactor.contract.Transfer(opts)
   156  }
   157  
   158  // Transact invokes the (paid) contract method with params as input values.
   159  func (_Asset *AssetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   160  	return _Asset.Contract.AssetTransactor.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 (_Asset *AssetCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   168  	return _Asset.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 (_Asset *AssetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   174  	return _Asset.Contract.contract.Transfer(opts)
   175  }
   176  
   177  // Transact invokes the (paid) contract method with params as input values.
   178  func (_Asset *AssetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   179  	return _Asset.Contract.contract.Transact(opts, method, params...)
   180  }
   181  
   182  // AggregateAccount is a free data retrieval call binding the contract method 0x7e1317fa.
   183  //
   184  // Solidity: function aggregateAccount() view returns(address)
   185  func (_Asset *AssetCaller) AggregateAccount(opts *bind.CallOpts) (common.Address, error) {
   186  	var out []interface{}
   187  	err := _Asset.contract.Call(opts, &out, "aggregateAccount")
   188  
   189  	if err != nil {
   190  		return *new(common.Address), err
   191  	}
   192  
   193  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   194  
   195  	return out0, err
   196  
   197  }
   198  
   199  // AggregateAccount is a free data retrieval call binding the contract method 0x7e1317fa.
   200  //
   201  // Solidity: function aggregateAccount() view returns(address)
   202  func (_Asset *AssetSession) AggregateAccount() (common.Address, error) {
   203  	return _Asset.Contract.AggregateAccount(&_Asset.CallOpts)
   204  }
   205  
   206  // AggregateAccount is a free data retrieval call binding the contract method 0x7e1317fa.
   207  //
   208  // Solidity: function aggregateAccount() view returns(address)
   209  func (_Asset *AssetCallerSession) AggregateAccount() (common.Address, error) {
   210  	return _Asset.Contract.AggregateAccount(&_Asset.CallOpts)
   211  }
   212  
   213  // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
   214  //
   215  // Solidity: function allowance(address owner, address spender) view returns(uint256)
   216  func (_Asset *AssetCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) {
   217  	var out []interface{}
   218  	err := _Asset.contract.Call(opts, &out, "allowance", owner, spender)
   219  
   220  	if err != nil {
   221  		return *new(*big.Int), err
   222  	}
   223  
   224  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   225  
   226  	return out0, err
   227  
   228  }
   229  
   230  // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
   231  //
   232  // Solidity: function allowance(address owner, address spender) view returns(uint256)
   233  func (_Asset *AssetSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) {
   234  	return _Asset.Contract.Allowance(&_Asset.CallOpts, owner, spender)
   235  }
   236  
   237  // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.
   238  //
   239  // Solidity: function allowance(address owner, address spender) view returns(uint256)
   240  func (_Asset *AssetCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) {
   241  	return _Asset.Contract.Allowance(&_Asset.CallOpts, owner, spender)
   242  }
   243  
   244  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   245  //
   246  // Solidity: function balanceOf(address account) view returns(uint256)
   247  func (_Asset *AssetCaller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) {
   248  	var out []interface{}
   249  	err := _Asset.contract.Call(opts, &out, "balanceOf", account)
   250  
   251  	if err != nil {
   252  		return *new(*big.Int), err
   253  	}
   254  
   255  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   256  
   257  	return out0, err
   258  
   259  }
   260  
   261  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   262  //
   263  // Solidity: function balanceOf(address account) view returns(uint256)
   264  func (_Asset *AssetSession) BalanceOf(account common.Address) (*big.Int, error) {
   265  	return _Asset.Contract.BalanceOf(&_Asset.CallOpts, account)
   266  }
   267  
   268  // BalanceOf is a free data retrieval call binding the contract method 0x70a08231.
   269  //
   270  // Solidity: function balanceOf(address account) view returns(uint256)
   271  func (_Asset *AssetCallerSession) BalanceOf(account common.Address) (*big.Int, error) {
   272  	return _Asset.Contract.BalanceOf(&_Asset.CallOpts, account)
   273  }
   274  
   275  // Cash is a free data retrieval call binding the contract method 0x961be391.
   276  //
   277  // Solidity: function cash() view returns(uint256)
   278  func (_Asset *AssetCaller) Cash(opts *bind.CallOpts) (*big.Int, error) {
   279  	var out []interface{}
   280  	err := _Asset.contract.Call(opts, &out, "cash")
   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  // Cash is a free data retrieval call binding the contract method 0x961be391.
   293  //
   294  // Solidity: function cash() view returns(uint256)
   295  func (_Asset *AssetSession) Cash() (*big.Int, error) {
   296  	return _Asset.Contract.Cash(&_Asset.CallOpts)
   297  }
   298  
   299  // Cash is a free data retrieval call binding the contract method 0x961be391.
   300  //
   301  // Solidity: function cash() view returns(uint256)
   302  func (_Asset *AssetCallerSession) Cash() (*big.Int, error) {
   303  	return _Asset.Contract.Cash(&_Asset.CallOpts)
   304  }
   305  
   306  // Decimals is a free data retrieval call binding the contract method 0x313ce567.
   307  //
   308  // Solidity: function decimals() view returns(uint8)
   309  func (_Asset *AssetCaller) Decimals(opts *bind.CallOpts) (uint8, error) {
   310  	var out []interface{}
   311  	err := _Asset.contract.Call(opts, &out, "decimals")
   312  
   313  	if err != nil {
   314  		return *new(uint8), err
   315  	}
   316  
   317  	out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8)
   318  
   319  	return out0, err
   320  
   321  }
   322  
   323  // Decimals is a free data retrieval call binding the contract method 0x313ce567.
   324  //
   325  // Solidity: function decimals() view returns(uint8)
   326  func (_Asset *AssetSession) Decimals() (uint8, error) {
   327  	return _Asset.Contract.Decimals(&_Asset.CallOpts)
   328  }
   329  
   330  // Decimals is a free data retrieval call binding the contract method 0x313ce567.
   331  //
   332  // Solidity: function decimals() view returns(uint8)
   333  func (_Asset *AssetCallerSession) Decimals() (uint8, error) {
   334  	return _Asset.Contract.Decimals(&_Asset.CallOpts)
   335  }
   336  
   337  // Liability is a free data retrieval call binding the contract method 0x705727b5.
   338  //
   339  // Solidity: function liability() view returns(uint256)
   340  func (_Asset *AssetCaller) Liability(opts *bind.CallOpts) (*big.Int, error) {
   341  	var out []interface{}
   342  	err := _Asset.contract.Call(opts, &out, "liability")
   343  
   344  	if err != nil {
   345  		return *new(*big.Int), err
   346  	}
   347  
   348  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   349  
   350  	return out0, err
   351  
   352  }
   353  
   354  // Liability is a free data retrieval call binding the contract method 0x705727b5.
   355  //
   356  // Solidity: function liability() view returns(uint256)
   357  func (_Asset *AssetSession) Liability() (*big.Int, error) {
   358  	return _Asset.Contract.Liability(&_Asset.CallOpts)
   359  }
   360  
   361  // Liability is a free data retrieval call binding the contract method 0x705727b5.
   362  //
   363  // Solidity: function liability() view returns(uint256)
   364  func (_Asset *AssetCallerSession) Liability() (*big.Int, error) {
   365  	return _Asset.Contract.Liability(&_Asset.CallOpts)
   366  }
   367  
   368  // MaxSupply is a free data retrieval call binding the contract method 0xd5abeb01.
   369  //
   370  // Solidity: function maxSupply() view returns(uint256)
   371  func (_Asset *AssetCaller) MaxSupply(opts *bind.CallOpts) (*big.Int, error) {
   372  	var out []interface{}
   373  	err := _Asset.contract.Call(opts, &out, "maxSupply")
   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  // MaxSupply is a free data retrieval call binding the contract method 0xd5abeb01.
   386  //
   387  // Solidity: function maxSupply() view returns(uint256)
   388  func (_Asset *AssetSession) MaxSupply() (*big.Int, error) {
   389  	return _Asset.Contract.MaxSupply(&_Asset.CallOpts)
   390  }
   391  
   392  // MaxSupply is a free data retrieval call binding the contract method 0xd5abeb01.
   393  //
   394  // Solidity: function maxSupply() view returns(uint256)
   395  func (_Asset *AssetCallerSession) MaxSupply() (*big.Int, error) {
   396  	return _Asset.Contract.MaxSupply(&_Asset.CallOpts)
   397  }
   398  
   399  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   400  //
   401  // Solidity: function name() view returns(string)
   402  func (_Asset *AssetCaller) Name(opts *bind.CallOpts) (string, error) {
   403  	var out []interface{}
   404  	err := _Asset.contract.Call(opts, &out, "name")
   405  
   406  	if err != nil {
   407  		return *new(string), err
   408  	}
   409  
   410  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   411  
   412  	return out0, err
   413  
   414  }
   415  
   416  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   417  //
   418  // Solidity: function name() view returns(string)
   419  func (_Asset *AssetSession) Name() (string, error) {
   420  	return _Asset.Contract.Name(&_Asset.CallOpts)
   421  }
   422  
   423  // Name is a free data retrieval call binding the contract method 0x06fdde03.
   424  //
   425  // Solidity: function name() view returns(string)
   426  func (_Asset *AssetCallerSession) Name() (string, error) {
   427  	return _Asset.Contract.Name(&_Asset.CallOpts)
   428  }
   429  
   430  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   431  //
   432  // Solidity: function owner() view returns(address)
   433  func (_Asset *AssetCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
   434  	var out []interface{}
   435  	err := _Asset.contract.Call(opts, &out, "owner")
   436  
   437  	if err != nil {
   438  		return *new(common.Address), err
   439  	}
   440  
   441  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   442  
   443  	return out0, err
   444  
   445  }
   446  
   447  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   448  //
   449  // Solidity: function owner() view returns(address)
   450  func (_Asset *AssetSession) Owner() (common.Address, error) {
   451  	return _Asset.Contract.Owner(&_Asset.CallOpts)
   452  }
   453  
   454  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   455  //
   456  // Solidity: function owner() view returns(address)
   457  func (_Asset *AssetCallerSession) Owner() (common.Address, error) {
   458  	return _Asset.Contract.Owner(&_Asset.CallOpts)
   459  }
   460  
   461  // Pool is a free data retrieval call binding the contract method 0x16f0115b.
   462  //
   463  // Solidity: function pool() view returns(address)
   464  func (_Asset *AssetCaller) Pool(opts *bind.CallOpts) (common.Address, error) {
   465  	var out []interface{}
   466  	err := _Asset.contract.Call(opts, &out, "pool")
   467  
   468  	if err != nil {
   469  		return *new(common.Address), err
   470  	}
   471  
   472  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   473  
   474  	return out0, err
   475  
   476  }
   477  
   478  // Pool is a free data retrieval call binding the contract method 0x16f0115b.
   479  //
   480  // Solidity: function pool() view returns(address)
   481  func (_Asset *AssetSession) Pool() (common.Address, error) {
   482  	return _Asset.Contract.Pool(&_Asset.CallOpts)
   483  }
   484  
   485  // Pool is a free data retrieval call binding the contract method 0x16f0115b.
   486  //
   487  // Solidity: function pool() view returns(address)
   488  func (_Asset *AssetCallerSession) Pool() (common.Address, error) {
   489  	return _Asset.Contract.Pool(&_Asset.CallOpts)
   490  }
   491  
   492  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   493  //
   494  // Solidity: function symbol() view returns(string)
   495  func (_Asset *AssetCaller) Symbol(opts *bind.CallOpts) (string, error) {
   496  	var out []interface{}
   497  	err := _Asset.contract.Call(opts, &out, "symbol")
   498  
   499  	if err != nil {
   500  		return *new(string), err
   501  	}
   502  
   503  	out0 := *abi.ConvertType(out[0], new(string)).(*string)
   504  
   505  	return out0, err
   506  
   507  }
   508  
   509  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   510  //
   511  // Solidity: function symbol() view returns(string)
   512  func (_Asset *AssetSession) Symbol() (string, error) {
   513  	return _Asset.Contract.Symbol(&_Asset.CallOpts)
   514  }
   515  
   516  // Symbol is a free data retrieval call binding the contract method 0x95d89b41.
   517  //
   518  // Solidity: function symbol() view returns(string)
   519  func (_Asset *AssetCallerSession) Symbol() (string, error) {
   520  	return _Asset.Contract.Symbol(&_Asset.CallOpts)
   521  }
   522  
   523  // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
   524  //
   525  // Solidity: function totalSupply() view returns(uint256)
   526  func (_Asset *AssetCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) {
   527  	var out []interface{}
   528  	err := _Asset.contract.Call(opts, &out, "totalSupply")
   529  
   530  	if err != nil {
   531  		return *new(*big.Int), err
   532  	}
   533  
   534  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   535  
   536  	return out0, err
   537  
   538  }
   539  
   540  // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
   541  //
   542  // Solidity: function totalSupply() view returns(uint256)
   543  func (_Asset *AssetSession) TotalSupply() (*big.Int, error) {
   544  	return _Asset.Contract.TotalSupply(&_Asset.CallOpts)
   545  }
   546  
   547  // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.
   548  //
   549  // Solidity: function totalSupply() view returns(uint256)
   550  func (_Asset *AssetCallerSession) TotalSupply() (*big.Int, error) {
   551  	return _Asset.Contract.TotalSupply(&_Asset.CallOpts)
   552  }
   553  
   554  // UnderlyingToken is a free data retrieval call binding the contract method 0x2495a599.
   555  //
   556  // Solidity: function underlyingToken() view returns(address)
   557  func (_Asset *AssetCaller) UnderlyingToken(opts *bind.CallOpts) (common.Address, error) {
   558  	var out []interface{}
   559  	err := _Asset.contract.Call(opts, &out, "underlyingToken")
   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  // UnderlyingToken is a free data retrieval call binding the contract method 0x2495a599.
   572  //
   573  // Solidity: function underlyingToken() view returns(address)
   574  func (_Asset *AssetSession) UnderlyingToken() (common.Address, error) {
   575  	return _Asset.Contract.UnderlyingToken(&_Asset.CallOpts)
   576  }
   577  
   578  // UnderlyingToken is a free data retrieval call binding the contract method 0x2495a599.
   579  //
   580  // Solidity: function underlyingToken() view returns(address)
   581  func (_Asset *AssetCallerSession) UnderlyingToken() (common.Address, error) {
   582  	return _Asset.Contract.UnderlyingToken(&_Asset.CallOpts)
   583  }
   584  
   585  // UnderlyingTokenBalance is a free data retrieval call binding the contract method 0x99c91a64.
   586  //
   587  // Solidity: function underlyingTokenBalance() view returns(uint256)
   588  func (_Asset *AssetCaller) UnderlyingTokenBalance(opts *bind.CallOpts) (*big.Int, error) {
   589  	var out []interface{}
   590  	err := _Asset.contract.Call(opts, &out, "underlyingTokenBalance")
   591  
   592  	if err != nil {
   593  		return *new(*big.Int), err
   594  	}
   595  
   596  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   597  
   598  	return out0, err
   599  
   600  }
   601  
   602  // UnderlyingTokenBalance is a free data retrieval call binding the contract method 0x99c91a64.
   603  //
   604  // Solidity: function underlyingTokenBalance() view returns(uint256)
   605  func (_Asset *AssetSession) UnderlyingTokenBalance() (*big.Int, error) {
   606  	return _Asset.Contract.UnderlyingTokenBalance(&_Asset.CallOpts)
   607  }
   608  
   609  // UnderlyingTokenBalance is a free data retrieval call binding the contract method 0x99c91a64.
   610  //
   611  // Solidity: function underlyingTokenBalance() view returns(uint256)
   612  func (_Asset *AssetCallerSession) UnderlyingTokenBalance() (*big.Int, error) {
   613  	return _Asset.Contract.UnderlyingTokenBalance(&_Asset.CallOpts)
   614  }
   615  
   616  // AddCash is a paid mutator transaction binding the contract method 0x16c9e7a0.
   617  //
   618  // Solidity: function addCash(uint256 amount) returns()
   619  func (_Asset *AssetTransactor) AddCash(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) {
   620  	return _Asset.contract.Transact(opts, "addCash", amount)
   621  }
   622  
   623  // AddCash is a paid mutator transaction binding the contract method 0x16c9e7a0.
   624  //
   625  // Solidity: function addCash(uint256 amount) returns()
   626  func (_Asset *AssetSession) AddCash(amount *big.Int) (*types.Transaction, error) {
   627  	return _Asset.Contract.AddCash(&_Asset.TransactOpts, amount)
   628  }
   629  
   630  // AddCash is a paid mutator transaction binding the contract method 0x16c9e7a0.
   631  //
   632  // Solidity: function addCash(uint256 amount) returns()
   633  func (_Asset *AssetTransactorSession) AddCash(amount *big.Int) (*types.Transaction, error) {
   634  	return _Asset.Contract.AddCash(&_Asset.TransactOpts, amount)
   635  }
   636  
   637  // AddLiability is a paid mutator transaction binding the contract method 0xa0f0f604.
   638  //
   639  // Solidity: function addLiability(uint256 amount) returns()
   640  func (_Asset *AssetTransactor) AddLiability(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) {
   641  	return _Asset.contract.Transact(opts, "addLiability", amount)
   642  }
   643  
   644  // AddLiability is a paid mutator transaction binding the contract method 0xa0f0f604.
   645  //
   646  // Solidity: function addLiability(uint256 amount) returns()
   647  func (_Asset *AssetSession) AddLiability(amount *big.Int) (*types.Transaction, error) {
   648  	return _Asset.Contract.AddLiability(&_Asset.TransactOpts, amount)
   649  }
   650  
   651  // AddLiability is a paid mutator transaction binding the contract method 0xa0f0f604.
   652  //
   653  // Solidity: function addLiability(uint256 amount) returns()
   654  func (_Asset *AssetTransactorSession) AddLiability(amount *big.Int) (*types.Transaction, error) {
   655  	return _Asset.Contract.AddLiability(&_Asset.TransactOpts, amount)
   656  }
   657  
   658  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
   659  //
   660  // Solidity: function approve(address spender, uint256 amount) returns(bool)
   661  func (_Asset *AssetTransactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) {
   662  	return _Asset.contract.Transact(opts, "approve", spender, amount)
   663  }
   664  
   665  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
   666  //
   667  // Solidity: function approve(address spender, uint256 amount) returns(bool)
   668  func (_Asset *AssetSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) {
   669  	return _Asset.Contract.Approve(&_Asset.TransactOpts, spender, amount)
   670  }
   671  
   672  // Approve is a paid mutator transaction binding the contract method 0x095ea7b3.
   673  //
   674  // Solidity: function approve(address spender, uint256 amount) returns(bool)
   675  func (_Asset *AssetTransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) {
   676  	return _Asset.Contract.Approve(&_Asset.TransactOpts, spender, amount)
   677  }
   678  
   679  // Burn is a paid mutator transaction binding the contract method 0x9dc29fac.
   680  //
   681  // Solidity: function burn(address to, uint256 amount) returns()
   682  func (_Asset *AssetTransactor) Burn(opts *bind.TransactOpts, to common.Address, amount *big.Int) (*types.Transaction, error) {
   683  	return _Asset.contract.Transact(opts, "burn", to, amount)
   684  }
   685  
   686  // Burn is a paid mutator transaction binding the contract method 0x9dc29fac.
   687  //
   688  // Solidity: function burn(address to, uint256 amount) returns()
   689  func (_Asset *AssetSession) Burn(to common.Address, amount *big.Int) (*types.Transaction, error) {
   690  	return _Asset.Contract.Burn(&_Asset.TransactOpts, to, amount)
   691  }
   692  
   693  // Burn is a paid mutator transaction binding the contract method 0x9dc29fac.
   694  //
   695  // Solidity: function burn(address to, uint256 amount) returns()
   696  func (_Asset *AssetTransactorSession) Burn(to common.Address, amount *big.Int) (*types.Transaction, error) {
   697  	return _Asset.Contract.Burn(&_Asset.TransactOpts, to, amount)
   698  }
   699  
   700  // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7.
   701  //
   702  // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool)
   703  func (_Asset *AssetTransactor) DecreaseAllowance(opts *bind.TransactOpts, spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) {
   704  	return _Asset.contract.Transact(opts, "decreaseAllowance", spender, subtractedValue)
   705  }
   706  
   707  // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7.
   708  //
   709  // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool)
   710  func (_Asset *AssetSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) {
   711  	return _Asset.Contract.DecreaseAllowance(&_Asset.TransactOpts, spender, subtractedValue)
   712  }
   713  
   714  // DecreaseAllowance is a paid mutator transaction binding the contract method 0xa457c2d7.
   715  //
   716  // Solidity: function decreaseAllowance(address spender, uint256 subtractedValue) returns(bool)
   717  func (_Asset *AssetTransactorSession) DecreaseAllowance(spender common.Address, subtractedValue *big.Int) (*types.Transaction, error) {
   718  	return _Asset.Contract.DecreaseAllowance(&_Asset.TransactOpts, spender, subtractedValue)
   719  }
   720  
   721  // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351.
   722  //
   723  // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool)
   724  func (_Asset *AssetTransactor) IncreaseAllowance(opts *bind.TransactOpts, spender common.Address, addedValue *big.Int) (*types.Transaction, error) {
   725  	return _Asset.contract.Transact(opts, "increaseAllowance", spender, addedValue)
   726  }
   727  
   728  // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351.
   729  //
   730  // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool)
   731  func (_Asset *AssetSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) {
   732  	return _Asset.Contract.IncreaseAllowance(&_Asset.TransactOpts, spender, addedValue)
   733  }
   734  
   735  // IncreaseAllowance is a paid mutator transaction binding the contract method 0x39509351.
   736  //
   737  // Solidity: function increaseAllowance(address spender, uint256 addedValue) returns(bool)
   738  func (_Asset *AssetTransactorSession) IncreaseAllowance(spender common.Address, addedValue *big.Int) (*types.Transaction, error) {
   739  	return _Asset.Contract.IncreaseAllowance(&_Asset.TransactOpts, spender, addedValue)
   740  }
   741  
   742  // Initialize is a paid mutator transaction binding the contract method 0x613d25bb.
   743  //
   744  // Solidity: function initialize(address underlyingToken_, string name_, string symbol_, address aggregateAccount_) returns()
   745  func (_Asset *AssetTransactor) Initialize(opts *bind.TransactOpts, underlyingToken_ common.Address, name_ string, symbol_ string, aggregateAccount_ common.Address) (*types.Transaction, error) {
   746  	return _Asset.contract.Transact(opts, "initialize", underlyingToken_, name_, symbol_, aggregateAccount_)
   747  }
   748  
   749  // Initialize is a paid mutator transaction binding the contract method 0x613d25bb.
   750  //
   751  // Solidity: function initialize(address underlyingToken_, string name_, string symbol_, address aggregateAccount_) returns()
   752  func (_Asset *AssetSession) Initialize(underlyingToken_ common.Address, name_ string, symbol_ string, aggregateAccount_ common.Address) (*types.Transaction, error) {
   753  	return _Asset.Contract.Initialize(&_Asset.TransactOpts, underlyingToken_, name_, symbol_, aggregateAccount_)
   754  }
   755  
   756  // Initialize is a paid mutator transaction binding the contract method 0x613d25bb.
   757  //
   758  // Solidity: function initialize(address underlyingToken_, string name_, string symbol_, address aggregateAccount_) returns()
   759  func (_Asset *AssetTransactorSession) Initialize(underlyingToken_ common.Address, name_ string, symbol_ string, aggregateAccount_ common.Address) (*types.Transaction, error) {
   760  	return _Asset.Contract.Initialize(&_Asset.TransactOpts, underlyingToken_, name_, symbol_, aggregateAccount_)
   761  }
   762  
   763  // Mint is a paid mutator transaction binding the contract method 0x40c10f19.
   764  //
   765  // Solidity: function mint(address to, uint256 amount) returns()
   766  func (_Asset *AssetTransactor) Mint(opts *bind.TransactOpts, to common.Address, amount *big.Int) (*types.Transaction, error) {
   767  	return _Asset.contract.Transact(opts, "mint", to, amount)
   768  }
   769  
   770  // Mint is a paid mutator transaction binding the contract method 0x40c10f19.
   771  //
   772  // Solidity: function mint(address to, uint256 amount) returns()
   773  func (_Asset *AssetSession) Mint(to common.Address, amount *big.Int) (*types.Transaction, error) {
   774  	return _Asset.Contract.Mint(&_Asset.TransactOpts, to, amount)
   775  }
   776  
   777  // Mint is a paid mutator transaction binding the contract method 0x40c10f19.
   778  //
   779  // Solidity: function mint(address to, uint256 amount) returns()
   780  func (_Asset *AssetTransactorSession) Mint(to common.Address, amount *big.Int) (*types.Transaction, error) {
   781  	return _Asset.Contract.Mint(&_Asset.TransactOpts, to, amount)
   782  }
   783  
   784  // RemoveCash is a paid mutator transaction binding the contract method 0x9f9ef988.
   785  //
   786  // Solidity: function removeCash(uint256 amount) returns()
   787  func (_Asset *AssetTransactor) RemoveCash(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) {
   788  	return _Asset.contract.Transact(opts, "removeCash", amount)
   789  }
   790  
   791  // RemoveCash is a paid mutator transaction binding the contract method 0x9f9ef988.
   792  //
   793  // Solidity: function removeCash(uint256 amount) returns()
   794  func (_Asset *AssetSession) RemoveCash(amount *big.Int) (*types.Transaction, error) {
   795  	return _Asset.Contract.RemoveCash(&_Asset.TransactOpts, amount)
   796  }
   797  
   798  // RemoveCash is a paid mutator transaction binding the contract method 0x9f9ef988.
   799  //
   800  // Solidity: function removeCash(uint256 amount) returns()
   801  func (_Asset *AssetTransactorSession) RemoveCash(amount *big.Int) (*types.Transaction, error) {
   802  	return _Asset.Contract.RemoveCash(&_Asset.TransactOpts, amount)
   803  }
   804  
   805  // RemoveLiability is a paid mutator transaction binding the contract method 0xd8b87853.
   806  //
   807  // Solidity: function removeLiability(uint256 amount) returns()
   808  func (_Asset *AssetTransactor) RemoveLiability(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) {
   809  	return _Asset.contract.Transact(opts, "removeLiability", amount)
   810  }
   811  
   812  // RemoveLiability is a paid mutator transaction binding the contract method 0xd8b87853.
   813  //
   814  // Solidity: function removeLiability(uint256 amount) returns()
   815  func (_Asset *AssetSession) RemoveLiability(amount *big.Int) (*types.Transaction, error) {
   816  	return _Asset.Contract.RemoveLiability(&_Asset.TransactOpts, amount)
   817  }
   818  
   819  // RemoveLiability is a paid mutator transaction binding the contract method 0xd8b87853.
   820  //
   821  // Solidity: function removeLiability(uint256 amount) returns()
   822  func (_Asset *AssetTransactorSession) RemoveLiability(amount *big.Int) (*types.Transaction, error) {
   823  	return _Asset.Contract.RemoveLiability(&_Asset.TransactOpts, amount)
   824  }
   825  
   826  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
   827  //
   828  // Solidity: function renounceOwnership() returns()
   829  func (_Asset *AssetTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
   830  	return _Asset.contract.Transact(opts, "renounceOwnership")
   831  }
   832  
   833  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
   834  //
   835  // Solidity: function renounceOwnership() returns()
   836  func (_Asset *AssetSession) RenounceOwnership() (*types.Transaction, error) {
   837  	return _Asset.Contract.RenounceOwnership(&_Asset.TransactOpts)
   838  }
   839  
   840  // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6.
   841  //
   842  // Solidity: function renounceOwnership() returns()
   843  func (_Asset *AssetTransactorSession) RenounceOwnership() (*types.Transaction, error) {
   844  	return _Asset.Contract.RenounceOwnership(&_Asset.TransactOpts)
   845  }
   846  
   847  // SetAggregateAccount is a paid mutator transaction binding the contract method 0x95d6f7b9.
   848  //
   849  // Solidity: function setAggregateAccount(address aggregateAccount_) returns()
   850  func (_Asset *AssetTransactor) SetAggregateAccount(opts *bind.TransactOpts, aggregateAccount_ common.Address) (*types.Transaction, error) {
   851  	return _Asset.contract.Transact(opts, "setAggregateAccount", aggregateAccount_)
   852  }
   853  
   854  // SetAggregateAccount is a paid mutator transaction binding the contract method 0x95d6f7b9.
   855  //
   856  // Solidity: function setAggregateAccount(address aggregateAccount_) returns()
   857  func (_Asset *AssetSession) SetAggregateAccount(aggregateAccount_ common.Address) (*types.Transaction, error) {
   858  	return _Asset.Contract.SetAggregateAccount(&_Asset.TransactOpts, aggregateAccount_)
   859  }
   860  
   861  // SetAggregateAccount is a paid mutator transaction binding the contract method 0x95d6f7b9.
   862  //
   863  // Solidity: function setAggregateAccount(address aggregateAccount_) returns()
   864  func (_Asset *AssetTransactorSession) SetAggregateAccount(aggregateAccount_ common.Address) (*types.Transaction, error) {
   865  	return _Asset.Contract.SetAggregateAccount(&_Asset.TransactOpts, aggregateAccount_)
   866  }
   867  
   868  // SetMaxSupply is a paid mutator transaction binding the contract method 0x6f8b44b0.
   869  //
   870  // Solidity: function setMaxSupply(uint256 maxSupply_) returns()
   871  func (_Asset *AssetTransactor) SetMaxSupply(opts *bind.TransactOpts, maxSupply_ *big.Int) (*types.Transaction, error) {
   872  	return _Asset.contract.Transact(opts, "setMaxSupply", maxSupply_)
   873  }
   874  
   875  // SetMaxSupply is a paid mutator transaction binding the contract method 0x6f8b44b0.
   876  //
   877  // Solidity: function setMaxSupply(uint256 maxSupply_) returns()
   878  func (_Asset *AssetSession) SetMaxSupply(maxSupply_ *big.Int) (*types.Transaction, error) {
   879  	return _Asset.Contract.SetMaxSupply(&_Asset.TransactOpts, maxSupply_)
   880  }
   881  
   882  // SetMaxSupply is a paid mutator transaction binding the contract method 0x6f8b44b0.
   883  //
   884  // Solidity: function setMaxSupply(uint256 maxSupply_) returns()
   885  func (_Asset *AssetTransactorSession) SetMaxSupply(maxSupply_ *big.Int) (*types.Transaction, error) {
   886  	return _Asset.Contract.SetMaxSupply(&_Asset.TransactOpts, maxSupply_)
   887  }
   888  
   889  // SetPool is a paid mutator transaction binding the contract method 0x4437152a.
   890  //
   891  // Solidity: function setPool(address pool_) returns()
   892  func (_Asset *AssetTransactor) SetPool(opts *bind.TransactOpts, pool_ common.Address) (*types.Transaction, error) {
   893  	return _Asset.contract.Transact(opts, "setPool", pool_)
   894  }
   895  
   896  // SetPool is a paid mutator transaction binding the contract method 0x4437152a.
   897  //
   898  // Solidity: function setPool(address pool_) returns()
   899  func (_Asset *AssetSession) SetPool(pool_ common.Address) (*types.Transaction, error) {
   900  	return _Asset.Contract.SetPool(&_Asset.TransactOpts, pool_)
   901  }
   902  
   903  // SetPool is a paid mutator transaction binding the contract method 0x4437152a.
   904  //
   905  // Solidity: function setPool(address pool_) returns()
   906  func (_Asset *AssetTransactorSession) SetPool(pool_ common.Address) (*types.Transaction, error) {
   907  	return _Asset.Contract.SetPool(&_Asset.TransactOpts, pool_)
   908  }
   909  
   910  // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
   911  //
   912  // Solidity: function transfer(address recipient, uint256 amount) returns(bool)
   913  func (_Asset *AssetTransactor) Transfer(opts *bind.TransactOpts, recipient common.Address, amount *big.Int) (*types.Transaction, error) {
   914  	return _Asset.contract.Transact(opts, "transfer", recipient, amount)
   915  }
   916  
   917  // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
   918  //
   919  // Solidity: function transfer(address recipient, uint256 amount) returns(bool)
   920  func (_Asset *AssetSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) {
   921  	return _Asset.Contract.Transfer(&_Asset.TransactOpts, recipient, amount)
   922  }
   923  
   924  // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.
   925  //
   926  // Solidity: function transfer(address recipient, uint256 amount) returns(bool)
   927  func (_Asset *AssetTransactorSession) Transfer(recipient common.Address, amount *big.Int) (*types.Transaction, error) {
   928  	return _Asset.Contract.Transfer(&_Asset.TransactOpts, recipient, amount)
   929  }
   930  
   931  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
   932  //
   933  // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool)
   934  func (_Asset *AssetTransactor) TransferFrom(opts *bind.TransactOpts, sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) {
   935  	return _Asset.contract.Transact(opts, "transferFrom", sender, recipient, amount)
   936  }
   937  
   938  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
   939  //
   940  // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool)
   941  func (_Asset *AssetSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) {
   942  	return _Asset.Contract.TransferFrom(&_Asset.TransactOpts, sender, recipient, amount)
   943  }
   944  
   945  // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.
   946  //
   947  // Solidity: function transferFrom(address sender, address recipient, uint256 amount) returns(bool)
   948  func (_Asset *AssetTransactorSession) TransferFrom(sender common.Address, recipient common.Address, amount *big.Int) (*types.Transaction, error) {
   949  	return _Asset.Contract.TransferFrom(&_Asset.TransactOpts, sender, recipient, amount)
   950  }
   951  
   952  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
   953  //
   954  // Solidity: function transferOwnership(address newOwner) returns()
   955  func (_Asset *AssetTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) {
   956  	return _Asset.contract.Transact(opts, "transferOwnership", newOwner)
   957  }
   958  
   959  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
   960  //
   961  // Solidity: function transferOwnership(address newOwner) returns()
   962  func (_Asset *AssetSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
   963  	return _Asset.Contract.TransferOwnership(&_Asset.TransactOpts, newOwner)
   964  }
   965  
   966  // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b.
   967  //
   968  // Solidity: function transferOwnership(address newOwner) returns()
   969  func (_Asset *AssetTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) {
   970  	return _Asset.Contract.TransferOwnership(&_Asset.TransactOpts, newOwner)
   971  }
   972  
   973  // TransferUnderlyingToken is a paid mutator transaction binding the contract method 0x9e79eaa5.
   974  //
   975  // Solidity: function transferUnderlyingToken(address to, uint256 amount) returns()
   976  func (_Asset *AssetTransactor) TransferUnderlyingToken(opts *bind.TransactOpts, to common.Address, amount *big.Int) (*types.Transaction, error) {
   977  	return _Asset.contract.Transact(opts, "transferUnderlyingToken", to, amount)
   978  }
   979  
   980  // TransferUnderlyingToken is a paid mutator transaction binding the contract method 0x9e79eaa5.
   981  //
   982  // Solidity: function transferUnderlyingToken(address to, uint256 amount) returns()
   983  func (_Asset *AssetSession) TransferUnderlyingToken(to common.Address, amount *big.Int) (*types.Transaction, error) {
   984  	return _Asset.Contract.TransferUnderlyingToken(&_Asset.TransactOpts, to, amount)
   985  }
   986  
   987  // TransferUnderlyingToken is a paid mutator transaction binding the contract method 0x9e79eaa5.
   988  //
   989  // Solidity: function transferUnderlyingToken(address to, uint256 amount) returns()
   990  func (_Asset *AssetTransactorSession) TransferUnderlyingToken(to common.Address, amount *big.Int) (*types.Transaction, error) {
   991  	return _Asset.Contract.TransferUnderlyingToken(&_Asset.TransactOpts, to, amount)
   992  }
   993  
   994  // AssetApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the Asset contract.
   995  type AssetApprovalIterator struct {
   996  	Event *AssetApproval // Event containing the contract specifics and raw log
   997  
   998  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   999  	event    string              // Event name to use for unpacking event data
  1000  
  1001  	logs chan types.Log        // Log channel receiving the found contract events
  1002  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1003  	done bool                  // Whether the subscription completed delivering logs
  1004  	fail error                 // Occurred error to stop iteration
  1005  }
  1006  
  1007  // Next advances the iterator to the subsequent event, returning whether there
  1008  // are any more events found. In case of a retrieval or parsing error, false is
  1009  // returned and Error() can be queried for the exact failure.
  1010  func (it *AssetApprovalIterator) Next() bool {
  1011  	// If the iterator failed, stop iterating
  1012  	if it.fail != nil {
  1013  		return false
  1014  	}
  1015  	// If the iterator completed, deliver directly whatever's available
  1016  	if it.done {
  1017  		select {
  1018  		case log := <-it.logs:
  1019  			it.Event = new(AssetApproval)
  1020  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1021  				it.fail = err
  1022  				return false
  1023  			}
  1024  			it.Event.Raw = log
  1025  			return true
  1026  
  1027  		default:
  1028  			return false
  1029  		}
  1030  	}
  1031  	// Iterator still in progress, wait for either a data or an error event
  1032  	select {
  1033  	case log := <-it.logs:
  1034  		it.Event = new(AssetApproval)
  1035  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1036  			it.fail = err
  1037  			return false
  1038  		}
  1039  		it.Event.Raw = log
  1040  		return true
  1041  
  1042  	case err := <-it.sub.Err():
  1043  		it.done = true
  1044  		it.fail = err
  1045  		return it.Next()
  1046  	}
  1047  }
  1048  
  1049  // Error returns any retrieval or parsing error occurred during filtering.
  1050  func (it *AssetApprovalIterator) Error() error {
  1051  	return it.fail
  1052  }
  1053  
  1054  // Close terminates the iteration process, releasing any pending underlying
  1055  // resources.
  1056  func (it *AssetApprovalIterator) Close() error {
  1057  	it.sub.Unsubscribe()
  1058  	return nil
  1059  }
  1060  
  1061  // AssetApproval represents a Approval event raised by the Asset contract.
  1062  type AssetApproval struct {
  1063  	Owner   common.Address
  1064  	Spender common.Address
  1065  	Value   *big.Int
  1066  	Raw     types.Log // Blockchain specific contextual infos
  1067  }
  1068  
  1069  // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  1070  //
  1071  // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)
  1072  func (_Asset *AssetFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*AssetApprovalIterator, error) {
  1073  
  1074  	var ownerRule []interface{}
  1075  	for _, ownerItem := range owner {
  1076  		ownerRule = append(ownerRule, ownerItem)
  1077  	}
  1078  	var spenderRule []interface{}
  1079  	for _, spenderItem := range spender {
  1080  		spenderRule = append(spenderRule, spenderItem)
  1081  	}
  1082  
  1083  	logs, sub, err := _Asset.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule)
  1084  	if err != nil {
  1085  		return nil, err
  1086  	}
  1087  	return &AssetApprovalIterator{contract: _Asset.contract, event: "Approval", logs: logs, sub: sub}, nil
  1088  }
  1089  
  1090  // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  1091  //
  1092  // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)
  1093  func (_Asset *AssetFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *AssetApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) {
  1094  
  1095  	var ownerRule []interface{}
  1096  	for _, ownerItem := range owner {
  1097  		ownerRule = append(ownerRule, ownerItem)
  1098  	}
  1099  	var spenderRule []interface{}
  1100  	for _, spenderItem := range spender {
  1101  		spenderRule = append(spenderRule, spenderItem)
  1102  	}
  1103  
  1104  	logs, sub, err := _Asset.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule)
  1105  	if err != nil {
  1106  		return nil, err
  1107  	}
  1108  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1109  		defer sub.Unsubscribe()
  1110  		for {
  1111  			select {
  1112  			case log := <-logs:
  1113  				// New log arrived, parse the event and forward to the user
  1114  				event := new(AssetApproval)
  1115  				if err := _Asset.contract.UnpackLog(event, "Approval", log); err != nil {
  1116  					return err
  1117  				}
  1118  				event.Raw = log
  1119  
  1120  				select {
  1121  				case sink <- event:
  1122  				case err := <-sub.Err():
  1123  					return err
  1124  				case <-quit:
  1125  					return nil
  1126  				}
  1127  			case err := <-sub.Err():
  1128  				return err
  1129  			case <-quit:
  1130  				return nil
  1131  			}
  1132  		}
  1133  	}), nil
  1134  }
  1135  
  1136  // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.
  1137  //
  1138  // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)
  1139  func (_Asset *AssetFilterer) ParseApproval(log types.Log) (*AssetApproval, error) {
  1140  	event := new(AssetApproval)
  1141  	if err := _Asset.contract.UnpackLog(event, "Approval", log); err != nil {
  1142  		return nil, err
  1143  	}
  1144  	event.Raw = log
  1145  	return event, nil
  1146  }
  1147  
  1148  // AssetCashAddedIterator is returned from FilterCashAdded and is used to iterate over the raw logs and unpacked data for CashAdded events raised by the Asset contract.
  1149  type AssetCashAddedIterator struct {
  1150  	Event *AssetCashAdded // Event containing the contract specifics and raw log
  1151  
  1152  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1153  	event    string              // Event name to use for unpacking event data
  1154  
  1155  	logs chan types.Log        // Log channel receiving the found contract events
  1156  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1157  	done bool                  // Whether the subscription completed delivering logs
  1158  	fail error                 // Occurred error to stop iteration
  1159  }
  1160  
  1161  // Next advances the iterator to the subsequent event, returning whether there
  1162  // are any more events found. In case of a retrieval or parsing error, false is
  1163  // returned and Error() can be queried for the exact failure.
  1164  func (it *AssetCashAddedIterator) Next() bool {
  1165  	// If the iterator failed, stop iterating
  1166  	if it.fail != nil {
  1167  		return false
  1168  	}
  1169  	// If the iterator completed, deliver directly whatever's available
  1170  	if it.done {
  1171  		select {
  1172  		case log := <-it.logs:
  1173  			it.Event = new(AssetCashAdded)
  1174  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1175  				it.fail = err
  1176  				return false
  1177  			}
  1178  			it.Event.Raw = log
  1179  			return true
  1180  
  1181  		default:
  1182  			return false
  1183  		}
  1184  	}
  1185  	// Iterator still in progress, wait for either a data or an error event
  1186  	select {
  1187  	case log := <-it.logs:
  1188  		it.Event = new(AssetCashAdded)
  1189  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1190  			it.fail = err
  1191  			return false
  1192  		}
  1193  		it.Event.Raw = log
  1194  		return true
  1195  
  1196  	case err := <-it.sub.Err():
  1197  		it.done = true
  1198  		it.fail = err
  1199  		return it.Next()
  1200  	}
  1201  }
  1202  
  1203  // Error returns any retrieval or parsing error occurred during filtering.
  1204  func (it *AssetCashAddedIterator) Error() error {
  1205  	return it.fail
  1206  }
  1207  
  1208  // Close terminates the iteration process, releasing any pending underlying
  1209  // resources.
  1210  func (it *AssetCashAddedIterator) Close() error {
  1211  	it.sub.Unsubscribe()
  1212  	return nil
  1213  }
  1214  
  1215  // AssetCashAdded represents a CashAdded event raised by the Asset contract.
  1216  type AssetCashAdded struct {
  1217  	PreviousCashPosition *big.Int
  1218  	CashBeingAdded       *big.Int
  1219  	Raw                  types.Log // Blockchain specific contextual infos
  1220  }
  1221  
  1222  // FilterCashAdded is a free log retrieval operation binding the contract event 0x04da412052b8d39d78da489e294630fcb3874f03dcb0ead4481c0a6d70df1e15.
  1223  //
  1224  // Solidity: event CashAdded(uint256 previousCashPosition, uint256 cashBeingAdded)
  1225  func (_Asset *AssetFilterer) FilterCashAdded(opts *bind.FilterOpts) (*AssetCashAddedIterator, error) {
  1226  
  1227  	logs, sub, err := _Asset.contract.FilterLogs(opts, "CashAdded")
  1228  	if err != nil {
  1229  		return nil, err
  1230  	}
  1231  	return &AssetCashAddedIterator{contract: _Asset.contract, event: "CashAdded", logs: logs, sub: sub}, nil
  1232  }
  1233  
  1234  // WatchCashAdded is a free log subscription operation binding the contract event 0x04da412052b8d39d78da489e294630fcb3874f03dcb0ead4481c0a6d70df1e15.
  1235  //
  1236  // Solidity: event CashAdded(uint256 previousCashPosition, uint256 cashBeingAdded)
  1237  func (_Asset *AssetFilterer) WatchCashAdded(opts *bind.WatchOpts, sink chan<- *AssetCashAdded) (event.Subscription, error) {
  1238  
  1239  	logs, sub, err := _Asset.contract.WatchLogs(opts, "CashAdded")
  1240  	if err != nil {
  1241  		return nil, err
  1242  	}
  1243  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1244  		defer sub.Unsubscribe()
  1245  		for {
  1246  			select {
  1247  			case log := <-logs:
  1248  				// New log arrived, parse the event and forward to the user
  1249  				event := new(AssetCashAdded)
  1250  				if err := _Asset.contract.UnpackLog(event, "CashAdded", log); err != nil {
  1251  					return err
  1252  				}
  1253  				event.Raw = log
  1254  
  1255  				select {
  1256  				case sink <- event:
  1257  				case err := <-sub.Err():
  1258  					return err
  1259  				case <-quit:
  1260  					return nil
  1261  				}
  1262  			case err := <-sub.Err():
  1263  				return err
  1264  			case <-quit:
  1265  				return nil
  1266  			}
  1267  		}
  1268  	}), nil
  1269  }
  1270  
  1271  // ParseCashAdded is a log parse operation binding the contract event 0x04da412052b8d39d78da489e294630fcb3874f03dcb0ead4481c0a6d70df1e15.
  1272  //
  1273  // Solidity: event CashAdded(uint256 previousCashPosition, uint256 cashBeingAdded)
  1274  func (_Asset *AssetFilterer) ParseCashAdded(log types.Log) (*AssetCashAdded, error) {
  1275  	event := new(AssetCashAdded)
  1276  	if err := _Asset.contract.UnpackLog(event, "CashAdded", log); err != nil {
  1277  		return nil, err
  1278  	}
  1279  	event.Raw = log
  1280  	return event, nil
  1281  }
  1282  
  1283  // AssetCashRemovedIterator is returned from FilterCashRemoved and is used to iterate over the raw logs and unpacked data for CashRemoved events raised by the Asset contract.
  1284  type AssetCashRemovedIterator struct {
  1285  	Event *AssetCashRemoved // Event containing the contract specifics and raw log
  1286  
  1287  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1288  	event    string              // Event name to use for unpacking event data
  1289  
  1290  	logs chan types.Log        // Log channel receiving the found contract events
  1291  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1292  	done bool                  // Whether the subscription completed delivering logs
  1293  	fail error                 // Occurred error to stop iteration
  1294  }
  1295  
  1296  // Next advances the iterator to the subsequent event, returning whether there
  1297  // are any more events found. In case of a retrieval or parsing error, false is
  1298  // returned and Error() can be queried for the exact failure.
  1299  func (it *AssetCashRemovedIterator) Next() bool {
  1300  	// If the iterator failed, stop iterating
  1301  	if it.fail != nil {
  1302  		return false
  1303  	}
  1304  	// If the iterator completed, deliver directly whatever's available
  1305  	if it.done {
  1306  		select {
  1307  		case log := <-it.logs:
  1308  			it.Event = new(AssetCashRemoved)
  1309  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1310  				it.fail = err
  1311  				return false
  1312  			}
  1313  			it.Event.Raw = log
  1314  			return true
  1315  
  1316  		default:
  1317  			return false
  1318  		}
  1319  	}
  1320  	// Iterator still in progress, wait for either a data or an error event
  1321  	select {
  1322  	case log := <-it.logs:
  1323  		it.Event = new(AssetCashRemoved)
  1324  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1325  			it.fail = err
  1326  			return false
  1327  		}
  1328  		it.Event.Raw = log
  1329  		return true
  1330  
  1331  	case err := <-it.sub.Err():
  1332  		it.done = true
  1333  		it.fail = err
  1334  		return it.Next()
  1335  	}
  1336  }
  1337  
  1338  // Error returns any retrieval or parsing error occurred during filtering.
  1339  func (it *AssetCashRemovedIterator) Error() error {
  1340  	return it.fail
  1341  }
  1342  
  1343  // Close terminates the iteration process, releasing any pending underlying
  1344  // resources.
  1345  func (it *AssetCashRemovedIterator) Close() error {
  1346  	it.sub.Unsubscribe()
  1347  	return nil
  1348  }
  1349  
  1350  // AssetCashRemoved represents a CashRemoved event raised by the Asset contract.
  1351  type AssetCashRemoved struct {
  1352  	PreviousCashPosition *big.Int
  1353  	CashBeingRemoved     *big.Int
  1354  	Raw                  types.Log // Blockchain specific contextual infos
  1355  }
  1356  
  1357  // FilterCashRemoved is a free log retrieval operation binding the contract event 0xf15a954400c2f966714cd09162f79a6682b77351200ad1d595000057fc4ee999.
  1358  //
  1359  // Solidity: event CashRemoved(uint256 previousCashPosition, uint256 cashBeingRemoved)
  1360  func (_Asset *AssetFilterer) FilterCashRemoved(opts *bind.FilterOpts) (*AssetCashRemovedIterator, error) {
  1361  
  1362  	logs, sub, err := _Asset.contract.FilterLogs(opts, "CashRemoved")
  1363  	if err != nil {
  1364  		return nil, err
  1365  	}
  1366  	return &AssetCashRemovedIterator{contract: _Asset.contract, event: "CashRemoved", logs: logs, sub: sub}, nil
  1367  }
  1368  
  1369  // WatchCashRemoved is a free log subscription operation binding the contract event 0xf15a954400c2f966714cd09162f79a6682b77351200ad1d595000057fc4ee999.
  1370  //
  1371  // Solidity: event CashRemoved(uint256 previousCashPosition, uint256 cashBeingRemoved)
  1372  func (_Asset *AssetFilterer) WatchCashRemoved(opts *bind.WatchOpts, sink chan<- *AssetCashRemoved) (event.Subscription, error) {
  1373  
  1374  	logs, sub, err := _Asset.contract.WatchLogs(opts, "CashRemoved")
  1375  	if err != nil {
  1376  		return nil, err
  1377  	}
  1378  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1379  		defer sub.Unsubscribe()
  1380  		for {
  1381  			select {
  1382  			case log := <-logs:
  1383  				// New log arrived, parse the event and forward to the user
  1384  				event := new(AssetCashRemoved)
  1385  				if err := _Asset.contract.UnpackLog(event, "CashRemoved", log); err != nil {
  1386  					return err
  1387  				}
  1388  				event.Raw = log
  1389  
  1390  				select {
  1391  				case sink <- event:
  1392  				case err := <-sub.Err():
  1393  					return err
  1394  				case <-quit:
  1395  					return nil
  1396  				}
  1397  			case err := <-sub.Err():
  1398  				return err
  1399  			case <-quit:
  1400  				return nil
  1401  			}
  1402  		}
  1403  	}), nil
  1404  }
  1405  
  1406  // ParseCashRemoved is a log parse operation binding the contract event 0xf15a954400c2f966714cd09162f79a6682b77351200ad1d595000057fc4ee999.
  1407  //
  1408  // Solidity: event CashRemoved(uint256 previousCashPosition, uint256 cashBeingRemoved)
  1409  func (_Asset *AssetFilterer) ParseCashRemoved(log types.Log) (*AssetCashRemoved, error) {
  1410  	event := new(AssetCashRemoved)
  1411  	if err := _Asset.contract.UnpackLog(event, "CashRemoved", log); err != nil {
  1412  		return nil, err
  1413  	}
  1414  	event.Raw = log
  1415  	return event, nil
  1416  }
  1417  
  1418  // AssetLiabilityAddedIterator is returned from FilterLiabilityAdded and is used to iterate over the raw logs and unpacked data for LiabilityAdded events raised by the Asset contract.
  1419  type AssetLiabilityAddedIterator struct {
  1420  	Event *AssetLiabilityAdded // Event containing the contract specifics and raw log
  1421  
  1422  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1423  	event    string              // Event name to use for unpacking event data
  1424  
  1425  	logs chan types.Log        // Log channel receiving the found contract events
  1426  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1427  	done bool                  // Whether the subscription completed delivering logs
  1428  	fail error                 // Occurred error to stop iteration
  1429  }
  1430  
  1431  // Next advances the iterator to the subsequent event, returning whether there
  1432  // are any more events found. In case of a retrieval or parsing error, false is
  1433  // returned and Error() can be queried for the exact failure.
  1434  func (it *AssetLiabilityAddedIterator) Next() bool {
  1435  	// If the iterator failed, stop iterating
  1436  	if it.fail != nil {
  1437  		return false
  1438  	}
  1439  	// If the iterator completed, deliver directly whatever's available
  1440  	if it.done {
  1441  		select {
  1442  		case log := <-it.logs:
  1443  			it.Event = new(AssetLiabilityAdded)
  1444  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1445  				it.fail = err
  1446  				return false
  1447  			}
  1448  			it.Event.Raw = log
  1449  			return true
  1450  
  1451  		default:
  1452  			return false
  1453  		}
  1454  	}
  1455  	// Iterator still in progress, wait for either a data or an error event
  1456  	select {
  1457  	case log := <-it.logs:
  1458  		it.Event = new(AssetLiabilityAdded)
  1459  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1460  			it.fail = err
  1461  			return false
  1462  		}
  1463  		it.Event.Raw = log
  1464  		return true
  1465  
  1466  	case err := <-it.sub.Err():
  1467  		it.done = true
  1468  		it.fail = err
  1469  		return it.Next()
  1470  	}
  1471  }
  1472  
  1473  // Error returns any retrieval or parsing error occurred during filtering.
  1474  func (it *AssetLiabilityAddedIterator) Error() error {
  1475  	return it.fail
  1476  }
  1477  
  1478  // Close terminates the iteration process, releasing any pending underlying
  1479  // resources.
  1480  func (it *AssetLiabilityAddedIterator) Close() error {
  1481  	it.sub.Unsubscribe()
  1482  	return nil
  1483  }
  1484  
  1485  // AssetLiabilityAdded represents a LiabilityAdded event raised by the Asset contract.
  1486  type AssetLiabilityAdded struct {
  1487  	PreviousLiabilityPosition *big.Int
  1488  	LiabilityBeingAdded       *big.Int
  1489  	Raw                       types.Log // Blockchain specific contextual infos
  1490  }
  1491  
  1492  // FilterLiabilityAdded is a free log retrieval operation binding the contract event 0x2b74a49d287a99ef6b8a9f27aaef936372e282e0e95a6352f07c9fd12596655c.
  1493  //
  1494  // Solidity: event LiabilityAdded(uint256 previousLiabilityPosition, uint256 liabilityBeingAdded)
  1495  func (_Asset *AssetFilterer) FilterLiabilityAdded(opts *bind.FilterOpts) (*AssetLiabilityAddedIterator, error) {
  1496  
  1497  	logs, sub, err := _Asset.contract.FilterLogs(opts, "LiabilityAdded")
  1498  	if err != nil {
  1499  		return nil, err
  1500  	}
  1501  	return &AssetLiabilityAddedIterator{contract: _Asset.contract, event: "LiabilityAdded", logs: logs, sub: sub}, nil
  1502  }
  1503  
  1504  // WatchLiabilityAdded is a free log subscription operation binding the contract event 0x2b74a49d287a99ef6b8a9f27aaef936372e282e0e95a6352f07c9fd12596655c.
  1505  //
  1506  // Solidity: event LiabilityAdded(uint256 previousLiabilityPosition, uint256 liabilityBeingAdded)
  1507  func (_Asset *AssetFilterer) WatchLiabilityAdded(opts *bind.WatchOpts, sink chan<- *AssetLiabilityAdded) (event.Subscription, error) {
  1508  
  1509  	logs, sub, err := _Asset.contract.WatchLogs(opts, "LiabilityAdded")
  1510  	if err != nil {
  1511  		return nil, err
  1512  	}
  1513  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1514  		defer sub.Unsubscribe()
  1515  		for {
  1516  			select {
  1517  			case log := <-logs:
  1518  				// New log arrived, parse the event and forward to the user
  1519  				event := new(AssetLiabilityAdded)
  1520  				if err := _Asset.contract.UnpackLog(event, "LiabilityAdded", log); err != nil {
  1521  					return err
  1522  				}
  1523  				event.Raw = log
  1524  
  1525  				select {
  1526  				case sink <- event:
  1527  				case err := <-sub.Err():
  1528  					return err
  1529  				case <-quit:
  1530  					return nil
  1531  				}
  1532  			case err := <-sub.Err():
  1533  				return err
  1534  			case <-quit:
  1535  				return nil
  1536  			}
  1537  		}
  1538  	}), nil
  1539  }
  1540  
  1541  // ParseLiabilityAdded is a log parse operation binding the contract event 0x2b74a49d287a99ef6b8a9f27aaef936372e282e0e95a6352f07c9fd12596655c.
  1542  //
  1543  // Solidity: event LiabilityAdded(uint256 previousLiabilityPosition, uint256 liabilityBeingAdded)
  1544  func (_Asset *AssetFilterer) ParseLiabilityAdded(log types.Log) (*AssetLiabilityAdded, error) {
  1545  	event := new(AssetLiabilityAdded)
  1546  	if err := _Asset.contract.UnpackLog(event, "LiabilityAdded", log); err != nil {
  1547  		return nil, err
  1548  	}
  1549  	event.Raw = log
  1550  	return event, nil
  1551  }
  1552  
  1553  // AssetLiabilityRemovedIterator is returned from FilterLiabilityRemoved and is used to iterate over the raw logs and unpacked data for LiabilityRemoved events raised by the Asset contract.
  1554  type AssetLiabilityRemovedIterator struct {
  1555  	Event *AssetLiabilityRemoved // Event containing the contract specifics and raw log
  1556  
  1557  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1558  	event    string              // Event name to use for unpacking event data
  1559  
  1560  	logs chan types.Log        // Log channel receiving the found contract events
  1561  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1562  	done bool                  // Whether the subscription completed delivering logs
  1563  	fail error                 // Occurred error to stop iteration
  1564  }
  1565  
  1566  // Next advances the iterator to the subsequent event, returning whether there
  1567  // are any more events found. In case of a retrieval or parsing error, false is
  1568  // returned and Error() can be queried for the exact failure.
  1569  func (it *AssetLiabilityRemovedIterator) Next() bool {
  1570  	// If the iterator failed, stop iterating
  1571  	if it.fail != nil {
  1572  		return false
  1573  	}
  1574  	// If the iterator completed, deliver directly whatever's available
  1575  	if it.done {
  1576  		select {
  1577  		case log := <-it.logs:
  1578  			it.Event = new(AssetLiabilityRemoved)
  1579  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1580  				it.fail = err
  1581  				return false
  1582  			}
  1583  			it.Event.Raw = log
  1584  			return true
  1585  
  1586  		default:
  1587  			return false
  1588  		}
  1589  	}
  1590  	// Iterator still in progress, wait for either a data or an error event
  1591  	select {
  1592  	case log := <-it.logs:
  1593  		it.Event = new(AssetLiabilityRemoved)
  1594  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1595  			it.fail = err
  1596  			return false
  1597  		}
  1598  		it.Event.Raw = log
  1599  		return true
  1600  
  1601  	case err := <-it.sub.Err():
  1602  		it.done = true
  1603  		it.fail = err
  1604  		return it.Next()
  1605  	}
  1606  }
  1607  
  1608  // Error returns any retrieval or parsing error occurred during filtering.
  1609  func (it *AssetLiabilityRemovedIterator) Error() error {
  1610  	return it.fail
  1611  }
  1612  
  1613  // Close terminates the iteration process, releasing any pending underlying
  1614  // resources.
  1615  func (it *AssetLiabilityRemovedIterator) Close() error {
  1616  	it.sub.Unsubscribe()
  1617  	return nil
  1618  }
  1619  
  1620  // AssetLiabilityRemoved represents a LiabilityRemoved event raised by the Asset contract.
  1621  type AssetLiabilityRemoved struct {
  1622  	PreviousLiabilityPosition *big.Int
  1623  	LiabilityBeingRemoved     *big.Int
  1624  	Raw                       types.Log // Blockchain specific contextual infos
  1625  }
  1626  
  1627  // FilterLiabilityRemoved is a free log retrieval operation binding the contract event 0xdf20ac3c7d97136ceef3f041d542947447276d67c158dced2e33d1ee7984f530.
  1628  //
  1629  // Solidity: event LiabilityRemoved(uint256 previousLiabilityPosition, uint256 liabilityBeingRemoved)
  1630  func (_Asset *AssetFilterer) FilterLiabilityRemoved(opts *bind.FilterOpts) (*AssetLiabilityRemovedIterator, error) {
  1631  
  1632  	logs, sub, err := _Asset.contract.FilterLogs(opts, "LiabilityRemoved")
  1633  	if err != nil {
  1634  		return nil, err
  1635  	}
  1636  	return &AssetLiabilityRemovedIterator{contract: _Asset.contract, event: "LiabilityRemoved", logs: logs, sub: sub}, nil
  1637  }
  1638  
  1639  // WatchLiabilityRemoved is a free log subscription operation binding the contract event 0xdf20ac3c7d97136ceef3f041d542947447276d67c158dced2e33d1ee7984f530.
  1640  //
  1641  // Solidity: event LiabilityRemoved(uint256 previousLiabilityPosition, uint256 liabilityBeingRemoved)
  1642  func (_Asset *AssetFilterer) WatchLiabilityRemoved(opts *bind.WatchOpts, sink chan<- *AssetLiabilityRemoved) (event.Subscription, error) {
  1643  
  1644  	logs, sub, err := _Asset.contract.WatchLogs(opts, "LiabilityRemoved")
  1645  	if err != nil {
  1646  		return nil, err
  1647  	}
  1648  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1649  		defer sub.Unsubscribe()
  1650  		for {
  1651  			select {
  1652  			case log := <-logs:
  1653  				// New log arrived, parse the event and forward to the user
  1654  				event := new(AssetLiabilityRemoved)
  1655  				if err := _Asset.contract.UnpackLog(event, "LiabilityRemoved", log); err != nil {
  1656  					return err
  1657  				}
  1658  				event.Raw = log
  1659  
  1660  				select {
  1661  				case sink <- event:
  1662  				case err := <-sub.Err():
  1663  					return err
  1664  				case <-quit:
  1665  					return nil
  1666  				}
  1667  			case err := <-sub.Err():
  1668  				return err
  1669  			case <-quit:
  1670  				return nil
  1671  			}
  1672  		}
  1673  	}), nil
  1674  }
  1675  
  1676  // ParseLiabilityRemoved is a log parse operation binding the contract event 0xdf20ac3c7d97136ceef3f041d542947447276d67c158dced2e33d1ee7984f530.
  1677  //
  1678  // Solidity: event LiabilityRemoved(uint256 previousLiabilityPosition, uint256 liabilityBeingRemoved)
  1679  func (_Asset *AssetFilterer) ParseLiabilityRemoved(log types.Log) (*AssetLiabilityRemoved, error) {
  1680  	event := new(AssetLiabilityRemoved)
  1681  	if err := _Asset.contract.UnpackLog(event, "LiabilityRemoved", log); err != nil {
  1682  		return nil, err
  1683  	}
  1684  	event.Raw = log
  1685  	return event, nil
  1686  }
  1687  
  1688  // AssetMaxSupplyUpdatedIterator is returned from FilterMaxSupplyUpdated and is used to iterate over the raw logs and unpacked data for MaxSupplyUpdated events raised by the Asset contract.
  1689  type AssetMaxSupplyUpdatedIterator struct {
  1690  	Event *AssetMaxSupplyUpdated // Event containing the contract specifics and raw log
  1691  
  1692  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1693  	event    string              // Event name to use for unpacking event data
  1694  
  1695  	logs chan types.Log        // Log channel receiving the found contract events
  1696  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1697  	done bool                  // Whether the subscription completed delivering logs
  1698  	fail error                 // Occurred error to stop iteration
  1699  }
  1700  
  1701  // Next advances the iterator to the subsequent event, returning whether there
  1702  // are any more events found. In case of a retrieval or parsing error, false is
  1703  // returned and Error() can be queried for the exact failure.
  1704  func (it *AssetMaxSupplyUpdatedIterator) Next() bool {
  1705  	// If the iterator failed, stop iterating
  1706  	if it.fail != nil {
  1707  		return false
  1708  	}
  1709  	// If the iterator completed, deliver directly whatever's available
  1710  	if it.done {
  1711  		select {
  1712  		case log := <-it.logs:
  1713  			it.Event = new(AssetMaxSupplyUpdated)
  1714  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1715  				it.fail = err
  1716  				return false
  1717  			}
  1718  			it.Event.Raw = log
  1719  			return true
  1720  
  1721  		default:
  1722  			return false
  1723  		}
  1724  	}
  1725  	// Iterator still in progress, wait for either a data or an error event
  1726  	select {
  1727  	case log := <-it.logs:
  1728  		it.Event = new(AssetMaxSupplyUpdated)
  1729  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1730  			it.fail = err
  1731  			return false
  1732  		}
  1733  		it.Event.Raw = log
  1734  		return true
  1735  
  1736  	case err := <-it.sub.Err():
  1737  		it.done = true
  1738  		it.fail = err
  1739  		return it.Next()
  1740  	}
  1741  }
  1742  
  1743  // Error returns any retrieval or parsing error occurred during filtering.
  1744  func (it *AssetMaxSupplyUpdatedIterator) Error() error {
  1745  	return it.fail
  1746  }
  1747  
  1748  // Close terminates the iteration process, releasing any pending underlying
  1749  // resources.
  1750  func (it *AssetMaxSupplyUpdatedIterator) Close() error {
  1751  	it.sub.Unsubscribe()
  1752  	return nil
  1753  }
  1754  
  1755  // AssetMaxSupplyUpdated represents a MaxSupplyUpdated event raised by the Asset contract.
  1756  type AssetMaxSupplyUpdated struct {
  1757  	PreviousMaxSupply *big.Int
  1758  	NewMaxSupply      *big.Int
  1759  	Raw               types.Log // Blockchain specific contextual infos
  1760  }
  1761  
  1762  // FilterMaxSupplyUpdated is a free log retrieval operation binding the contract event 0x44ecfc706d63e347851cfd40acfa6cf2e3a41faa3e8b460210c03938e84a91ad.
  1763  //
  1764  // Solidity: event MaxSupplyUpdated(uint256 previousMaxSupply, uint256 newMaxSupply)
  1765  func (_Asset *AssetFilterer) FilterMaxSupplyUpdated(opts *bind.FilterOpts) (*AssetMaxSupplyUpdatedIterator, error) {
  1766  
  1767  	logs, sub, err := _Asset.contract.FilterLogs(opts, "MaxSupplyUpdated")
  1768  	if err != nil {
  1769  		return nil, err
  1770  	}
  1771  	return &AssetMaxSupplyUpdatedIterator{contract: _Asset.contract, event: "MaxSupplyUpdated", logs: logs, sub: sub}, nil
  1772  }
  1773  
  1774  // WatchMaxSupplyUpdated is a free log subscription operation binding the contract event 0x44ecfc706d63e347851cfd40acfa6cf2e3a41faa3e8b460210c03938e84a91ad.
  1775  //
  1776  // Solidity: event MaxSupplyUpdated(uint256 previousMaxSupply, uint256 newMaxSupply)
  1777  func (_Asset *AssetFilterer) WatchMaxSupplyUpdated(opts *bind.WatchOpts, sink chan<- *AssetMaxSupplyUpdated) (event.Subscription, error) {
  1778  
  1779  	logs, sub, err := _Asset.contract.WatchLogs(opts, "MaxSupplyUpdated")
  1780  	if err != nil {
  1781  		return nil, err
  1782  	}
  1783  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1784  		defer sub.Unsubscribe()
  1785  		for {
  1786  			select {
  1787  			case log := <-logs:
  1788  				// New log arrived, parse the event and forward to the user
  1789  				event := new(AssetMaxSupplyUpdated)
  1790  				if err := _Asset.contract.UnpackLog(event, "MaxSupplyUpdated", log); err != nil {
  1791  					return err
  1792  				}
  1793  				event.Raw = log
  1794  
  1795  				select {
  1796  				case sink <- event:
  1797  				case err := <-sub.Err():
  1798  					return err
  1799  				case <-quit:
  1800  					return nil
  1801  				}
  1802  			case err := <-sub.Err():
  1803  				return err
  1804  			case <-quit:
  1805  				return nil
  1806  			}
  1807  		}
  1808  	}), nil
  1809  }
  1810  
  1811  // ParseMaxSupplyUpdated is a log parse operation binding the contract event 0x44ecfc706d63e347851cfd40acfa6cf2e3a41faa3e8b460210c03938e84a91ad.
  1812  //
  1813  // Solidity: event MaxSupplyUpdated(uint256 previousMaxSupply, uint256 newMaxSupply)
  1814  func (_Asset *AssetFilterer) ParseMaxSupplyUpdated(log types.Log) (*AssetMaxSupplyUpdated, error) {
  1815  	event := new(AssetMaxSupplyUpdated)
  1816  	if err := _Asset.contract.UnpackLog(event, "MaxSupplyUpdated", log); err != nil {
  1817  		return nil, err
  1818  	}
  1819  	event.Raw = log
  1820  	return event, nil
  1821  }
  1822  
  1823  // AssetOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Asset contract.
  1824  type AssetOwnershipTransferredIterator struct {
  1825  	Event *AssetOwnershipTransferred // Event containing the contract specifics and raw log
  1826  
  1827  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1828  	event    string              // Event name to use for unpacking event data
  1829  
  1830  	logs chan types.Log        // Log channel receiving the found contract events
  1831  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1832  	done bool                  // Whether the subscription completed delivering logs
  1833  	fail error                 // Occurred error to stop iteration
  1834  }
  1835  
  1836  // Next advances the iterator to the subsequent event, returning whether there
  1837  // are any more events found. In case of a retrieval or parsing error, false is
  1838  // returned and Error() can be queried for the exact failure.
  1839  func (it *AssetOwnershipTransferredIterator) Next() bool {
  1840  	// If the iterator failed, stop iterating
  1841  	if it.fail != nil {
  1842  		return false
  1843  	}
  1844  	// If the iterator completed, deliver directly whatever's available
  1845  	if it.done {
  1846  		select {
  1847  		case log := <-it.logs:
  1848  			it.Event = new(AssetOwnershipTransferred)
  1849  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1850  				it.fail = err
  1851  				return false
  1852  			}
  1853  			it.Event.Raw = log
  1854  			return true
  1855  
  1856  		default:
  1857  			return false
  1858  		}
  1859  	}
  1860  	// Iterator still in progress, wait for either a data or an error event
  1861  	select {
  1862  	case log := <-it.logs:
  1863  		it.Event = new(AssetOwnershipTransferred)
  1864  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  1865  			it.fail = err
  1866  			return false
  1867  		}
  1868  		it.Event.Raw = log
  1869  		return true
  1870  
  1871  	case err := <-it.sub.Err():
  1872  		it.done = true
  1873  		it.fail = err
  1874  		return it.Next()
  1875  	}
  1876  }
  1877  
  1878  // Error returns any retrieval or parsing error occurred during filtering.
  1879  func (it *AssetOwnershipTransferredIterator) Error() error {
  1880  	return it.fail
  1881  }
  1882  
  1883  // Close terminates the iteration process, releasing any pending underlying
  1884  // resources.
  1885  func (it *AssetOwnershipTransferredIterator) Close() error {
  1886  	it.sub.Unsubscribe()
  1887  	return nil
  1888  }
  1889  
  1890  // AssetOwnershipTransferred represents a OwnershipTransferred event raised by the Asset contract.
  1891  type AssetOwnershipTransferred struct {
  1892  	PreviousOwner common.Address
  1893  	NewOwner      common.Address
  1894  	Raw           types.Log // Blockchain specific contextual infos
  1895  }
  1896  
  1897  // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  1898  //
  1899  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  1900  func (_Asset *AssetFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*AssetOwnershipTransferredIterator, error) {
  1901  
  1902  	var previousOwnerRule []interface{}
  1903  	for _, previousOwnerItem := range previousOwner {
  1904  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  1905  	}
  1906  	var newOwnerRule []interface{}
  1907  	for _, newOwnerItem := range newOwner {
  1908  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  1909  	}
  1910  
  1911  	logs, sub, err := _Asset.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  1912  	if err != nil {
  1913  		return nil, err
  1914  	}
  1915  	return &AssetOwnershipTransferredIterator{contract: _Asset.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
  1916  }
  1917  
  1918  // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  1919  //
  1920  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  1921  func (_Asset *AssetFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *AssetOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
  1922  
  1923  	var previousOwnerRule []interface{}
  1924  	for _, previousOwnerItem := range previousOwner {
  1925  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  1926  	}
  1927  	var newOwnerRule []interface{}
  1928  	for _, newOwnerItem := range newOwner {
  1929  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  1930  	}
  1931  
  1932  	logs, sub, err := _Asset.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  1933  	if err != nil {
  1934  		return nil, err
  1935  	}
  1936  	return event.NewSubscription(func(quit <-chan struct{}) error {
  1937  		defer sub.Unsubscribe()
  1938  		for {
  1939  			select {
  1940  			case log := <-logs:
  1941  				// New log arrived, parse the event and forward to the user
  1942  				event := new(AssetOwnershipTransferred)
  1943  				if err := _Asset.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  1944  					return err
  1945  				}
  1946  				event.Raw = log
  1947  
  1948  				select {
  1949  				case sink <- event:
  1950  				case err := <-sub.Err():
  1951  					return err
  1952  				case <-quit:
  1953  					return nil
  1954  				}
  1955  			case err := <-sub.Err():
  1956  				return err
  1957  			case <-quit:
  1958  				return nil
  1959  			}
  1960  		}
  1961  	}), nil
  1962  }
  1963  
  1964  // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  1965  //
  1966  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  1967  func (_Asset *AssetFilterer) ParseOwnershipTransferred(log types.Log) (*AssetOwnershipTransferred, error) {
  1968  	event := new(AssetOwnershipTransferred)
  1969  	if err := _Asset.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  1970  		return nil, err
  1971  	}
  1972  	event.Raw = log
  1973  	return event, nil
  1974  }
  1975  
  1976  // AssetPoolUpdatedIterator is returned from FilterPoolUpdated and is used to iterate over the raw logs and unpacked data for PoolUpdated events raised by the Asset contract.
  1977  type AssetPoolUpdatedIterator struct {
  1978  	Event *AssetPoolUpdated // Event containing the contract specifics and raw log
  1979  
  1980  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  1981  	event    string              // Event name to use for unpacking event data
  1982  
  1983  	logs chan types.Log        // Log channel receiving the found contract events
  1984  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  1985  	done bool                  // Whether the subscription completed delivering logs
  1986  	fail error                 // Occurred error to stop iteration
  1987  }
  1988  
  1989  // Next advances the iterator to the subsequent event, returning whether there
  1990  // are any more events found. In case of a retrieval or parsing error, false is
  1991  // returned and Error() can be queried for the exact failure.
  1992  func (it *AssetPoolUpdatedIterator) Next() bool {
  1993  	// If the iterator failed, stop iterating
  1994  	if it.fail != nil {
  1995  		return false
  1996  	}
  1997  	// If the iterator completed, deliver directly whatever's available
  1998  	if it.done {
  1999  		select {
  2000  		case log := <-it.logs:
  2001  			it.Event = new(AssetPoolUpdated)
  2002  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2003  				it.fail = err
  2004  				return false
  2005  			}
  2006  			it.Event.Raw = log
  2007  			return true
  2008  
  2009  		default:
  2010  			return false
  2011  		}
  2012  	}
  2013  	// Iterator still in progress, wait for either a data or an error event
  2014  	select {
  2015  	case log := <-it.logs:
  2016  		it.Event = new(AssetPoolUpdated)
  2017  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2018  			it.fail = err
  2019  			return false
  2020  		}
  2021  		it.Event.Raw = log
  2022  		return true
  2023  
  2024  	case err := <-it.sub.Err():
  2025  		it.done = true
  2026  		it.fail = err
  2027  		return it.Next()
  2028  	}
  2029  }
  2030  
  2031  // Error returns any retrieval or parsing error occurred during filtering.
  2032  func (it *AssetPoolUpdatedIterator) Error() error {
  2033  	return it.fail
  2034  }
  2035  
  2036  // Close terminates the iteration process, releasing any pending underlying
  2037  // resources.
  2038  func (it *AssetPoolUpdatedIterator) Close() error {
  2039  	it.sub.Unsubscribe()
  2040  	return nil
  2041  }
  2042  
  2043  // AssetPoolUpdated represents a PoolUpdated event raised by the Asset contract.
  2044  type AssetPoolUpdated struct {
  2045  	PreviousPool common.Address
  2046  	NewPool      common.Address
  2047  	Raw          types.Log // Blockchain specific contextual infos
  2048  }
  2049  
  2050  // FilterPoolUpdated is a free log retrieval operation binding the contract event 0x90affc163f1a2dfedcd36aa02ed992eeeba8100a4014f0b4cdc20ea265a66627.
  2051  //
  2052  // Solidity: event PoolUpdated(address indexed previousPool, address indexed newPool)
  2053  func (_Asset *AssetFilterer) FilterPoolUpdated(opts *bind.FilterOpts, previousPool []common.Address, newPool []common.Address) (*AssetPoolUpdatedIterator, error) {
  2054  
  2055  	var previousPoolRule []interface{}
  2056  	for _, previousPoolItem := range previousPool {
  2057  		previousPoolRule = append(previousPoolRule, previousPoolItem)
  2058  	}
  2059  	var newPoolRule []interface{}
  2060  	for _, newPoolItem := range newPool {
  2061  		newPoolRule = append(newPoolRule, newPoolItem)
  2062  	}
  2063  
  2064  	logs, sub, err := _Asset.contract.FilterLogs(opts, "PoolUpdated", previousPoolRule, newPoolRule)
  2065  	if err != nil {
  2066  		return nil, err
  2067  	}
  2068  	return &AssetPoolUpdatedIterator{contract: _Asset.contract, event: "PoolUpdated", logs: logs, sub: sub}, nil
  2069  }
  2070  
  2071  // WatchPoolUpdated is a free log subscription operation binding the contract event 0x90affc163f1a2dfedcd36aa02ed992eeeba8100a4014f0b4cdc20ea265a66627.
  2072  //
  2073  // Solidity: event PoolUpdated(address indexed previousPool, address indexed newPool)
  2074  func (_Asset *AssetFilterer) WatchPoolUpdated(opts *bind.WatchOpts, sink chan<- *AssetPoolUpdated, previousPool []common.Address, newPool []common.Address) (event.Subscription, error) {
  2075  
  2076  	var previousPoolRule []interface{}
  2077  	for _, previousPoolItem := range previousPool {
  2078  		previousPoolRule = append(previousPoolRule, previousPoolItem)
  2079  	}
  2080  	var newPoolRule []interface{}
  2081  	for _, newPoolItem := range newPool {
  2082  		newPoolRule = append(newPoolRule, newPoolItem)
  2083  	}
  2084  
  2085  	logs, sub, err := _Asset.contract.WatchLogs(opts, "PoolUpdated", previousPoolRule, newPoolRule)
  2086  	if err != nil {
  2087  		return nil, err
  2088  	}
  2089  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2090  		defer sub.Unsubscribe()
  2091  		for {
  2092  			select {
  2093  			case log := <-logs:
  2094  				// New log arrived, parse the event and forward to the user
  2095  				event := new(AssetPoolUpdated)
  2096  				if err := _Asset.contract.UnpackLog(event, "PoolUpdated", log); err != nil {
  2097  					return err
  2098  				}
  2099  				event.Raw = log
  2100  
  2101  				select {
  2102  				case sink <- event:
  2103  				case err := <-sub.Err():
  2104  					return err
  2105  				case <-quit:
  2106  					return nil
  2107  				}
  2108  			case err := <-sub.Err():
  2109  				return err
  2110  			case <-quit:
  2111  				return nil
  2112  			}
  2113  		}
  2114  	}), nil
  2115  }
  2116  
  2117  // ParsePoolUpdated is a log parse operation binding the contract event 0x90affc163f1a2dfedcd36aa02ed992eeeba8100a4014f0b4cdc20ea265a66627.
  2118  //
  2119  // Solidity: event PoolUpdated(address indexed previousPool, address indexed newPool)
  2120  func (_Asset *AssetFilterer) ParsePoolUpdated(log types.Log) (*AssetPoolUpdated, error) {
  2121  	event := new(AssetPoolUpdated)
  2122  	if err := _Asset.contract.UnpackLog(event, "PoolUpdated", log); err != nil {
  2123  		return nil, err
  2124  	}
  2125  	event.Raw = log
  2126  	return event, nil
  2127  }
  2128  
  2129  // AssetTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the Asset contract.
  2130  type AssetTransferIterator struct {
  2131  	Event *AssetTransfer // Event containing the contract specifics and raw log
  2132  
  2133  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2134  	event    string              // Event name to use for unpacking event data
  2135  
  2136  	logs chan types.Log        // Log channel receiving the found contract events
  2137  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2138  	done bool                  // Whether the subscription completed delivering logs
  2139  	fail error                 // Occurred error to stop iteration
  2140  }
  2141  
  2142  // Next advances the iterator to the subsequent event, returning whether there
  2143  // are any more events found. In case of a retrieval or parsing error, false is
  2144  // returned and Error() can be queried for the exact failure.
  2145  func (it *AssetTransferIterator) Next() bool {
  2146  	// If the iterator failed, stop iterating
  2147  	if it.fail != nil {
  2148  		return false
  2149  	}
  2150  	// If the iterator completed, deliver directly whatever's available
  2151  	if it.done {
  2152  		select {
  2153  		case log := <-it.logs:
  2154  			it.Event = new(AssetTransfer)
  2155  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2156  				it.fail = err
  2157  				return false
  2158  			}
  2159  			it.Event.Raw = log
  2160  			return true
  2161  
  2162  		default:
  2163  			return false
  2164  		}
  2165  	}
  2166  	// Iterator still in progress, wait for either a data or an error event
  2167  	select {
  2168  	case log := <-it.logs:
  2169  		it.Event = new(AssetTransfer)
  2170  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2171  			it.fail = err
  2172  			return false
  2173  		}
  2174  		it.Event.Raw = log
  2175  		return true
  2176  
  2177  	case err := <-it.sub.Err():
  2178  		it.done = true
  2179  		it.fail = err
  2180  		return it.Next()
  2181  	}
  2182  }
  2183  
  2184  // Error returns any retrieval or parsing error occurred during filtering.
  2185  func (it *AssetTransferIterator) Error() error {
  2186  	return it.fail
  2187  }
  2188  
  2189  // Close terminates the iteration process, releasing any pending underlying
  2190  // resources.
  2191  func (it *AssetTransferIterator) Close() error {
  2192  	it.sub.Unsubscribe()
  2193  	return nil
  2194  }
  2195  
  2196  // AssetTransfer represents a Transfer event raised by the Asset contract.
  2197  type AssetTransfer struct {
  2198  	From  common.Address
  2199  	To    common.Address
  2200  	Value *big.Int
  2201  	Raw   types.Log // Blockchain specific contextual infos
  2202  }
  2203  
  2204  // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  2205  //
  2206  // Solidity: event Transfer(address indexed from, address indexed to, uint256 value)
  2207  func (_Asset *AssetFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*AssetTransferIterator, error) {
  2208  
  2209  	var fromRule []interface{}
  2210  	for _, fromItem := range from {
  2211  		fromRule = append(fromRule, fromItem)
  2212  	}
  2213  	var toRule []interface{}
  2214  	for _, toItem := range to {
  2215  		toRule = append(toRule, toItem)
  2216  	}
  2217  
  2218  	logs, sub, err := _Asset.contract.FilterLogs(opts, "Transfer", fromRule, toRule)
  2219  	if err != nil {
  2220  		return nil, err
  2221  	}
  2222  	return &AssetTransferIterator{contract: _Asset.contract, event: "Transfer", logs: logs, sub: sub}, nil
  2223  }
  2224  
  2225  // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  2226  //
  2227  // Solidity: event Transfer(address indexed from, address indexed to, uint256 value)
  2228  func (_Asset *AssetFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *AssetTransfer, from []common.Address, to []common.Address) (event.Subscription, error) {
  2229  
  2230  	var fromRule []interface{}
  2231  	for _, fromItem := range from {
  2232  		fromRule = append(fromRule, fromItem)
  2233  	}
  2234  	var toRule []interface{}
  2235  	for _, toItem := range to {
  2236  		toRule = append(toRule, toItem)
  2237  	}
  2238  
  2239  	logs, sub, err := _Asset.contract.WatchLogs(opts, "Transfer", fromRule, toRule)
  2240  	if err != nil {
  2241  		return nil, err
  2242  	}
  2243  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2244  		defer sub.Unsubscribe()
  2245  		for {
  2246  			select {
  2247  			case log := <-logs:
  2248  				// New log arrived, parse the event and forward to the user
  2249  				event := new(AssetTransfer)
  2250  				if err := _Asset.contract.UnpackLog(event, "Transfer", log); err != nil {
  2251  					return err
  2252  				}
  2253  				event.Raw = log
  2254  
  2255  				select {
  2256  				case sink <- event:
  2257  				case err := <-sub.Err():
  2258  					return err
  2259  				case <-quit:
  2260  					return nil
  2261  				}
  2262  			case err := <-sub.Err():
  2263  				return err
  2264  			case <-quit:
  2265  				return nil
  2266  			}
  2267  		}
  2268  	}), nil
  2269  }
  2270  
  2271  // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.
  2272  //
  2273  // Solidity: event Transfer(address indexed from, address indexed to, uint256 value)
  2274  func (_Asset *AssetFilterer) ParseTransfer(log types.Log) (*AssetTransfer, error) {
  2275  	event := new(AssetTransfer)
  2276  	if err := _Asset.contract.UnpackLog(event, "Transfer", log); err != nil {
  2277  		return nil, err
  2278  	}
  2279  	event.Raw = log
  2280  	return event, nil
  2281  }