github.com/diadata-org/diadata@v1.4.593/pkg/dia/scraper/exchange-scrapers/uniswap/uniswap.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 uniswap 5 6 import ( 7 "math/big" 8 "strings" 9 10 ethereum "github.com/ethereum/go-ethereum" 11 "github.com/ethereum/go-ethereum/accounts/abi" 12 "github.com/ethereum/go-ethereum/accounts/abi/bind" 13 "github.com/ethereum/go-ethereum/common" 14 "github.com/ethereum/go-ethereum/core/types" 15 "github.com/ethereum/go-ethereum/event" 16 ) 17 18 // Reference imports to suppress errors if they are not otherwise used. 19 var ( 20 _ = big.NewInt 21 _ = strings.NewReader 22 _ = ethereum.NotFound 23 _ = bind.Bind 24 _ = common.Big1 25 _ = types.BloomLookup 26 _ = event.NewSubscription 27 ) 28 29 // IERC20ABI is the input ABI used to generate the binding from. 30 const IERC20ABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 31 32 // IERC20FuncSigs maps the 4-byte function signature to its string representation. 33 var IERC20FuncSigs = map[string]string{ 34 "dd62ed3e": "allowance(address,address)", 35 "095ea7b3": "approve(address,uint256)", 36 "70a08231": "balanceOf(address)", 37 "313ce567": "decimals()", 38 "06fdde03": "name()", 39 "95d89b41": "symbol()", 40 "18160ddd": "totalSupply()", 41 "a9059cbb": "transfer(address,uint256)", 42 "23b872dd": "transferFrom(address,address,uint256)", 43 } 44 45 // IERC20 is an auto generated Go binding around an Ethereum contract. 46 type IERC20 struct { 47 IERC20Caller // Read-only binding to the contract 48 IERC20Transactor // Write-only binding to the contract 49 IERC20Filterer // Log filterer for contract events 50 } 51 52 // IERC20Caller is an auto generated read-only Go binding around an Ethereum contract. 53 type IERC20Caller struct { 54 contract *bind.BoundContract // Generic contract wrapper for the low level calls 55 } 56 57 // IERC20Transactor is an auto generated write-only Go binding around an Ethereum contract. 58 type IERC20Transactor struct { 59 contract *bind.BoundContract // Generic contract wrapper for the low level calls 60 } 61 62 // IERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 63 type IERC20Filterer struct { 64 contract *bind.BoundContract // Generic contract wrapper for the low level calls 65 } 66 67 // IERC20Session is an auto generated Go binding around an Ethereum contract, 68 // with pre-set call and transact options. 69 type IERC20Session struct { 70 Contract *IERC20 // Generic contract binding to set the session for 71 CallOpts bind.CallOpts // Call options to use throughout this session 72 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 73 } 74 75 // IERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, 76 // with pre-set call options. 77 type IERC20CallerSession struct { 78 Contract *IERC20Caller // Generic contract caller binding to set the session for 79 CallOpts bind.CallOpts // Call options to use throughout this session 80 } 81 82 // IERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 83 // with pre-set transact options. 84 type IERC20TransactorSession struct { 85 Contract *IERC20Transactor // Generic contract transactor binding to set the session for 86 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 87 } 88 89 // IERC20Raw is an auto generated low-level Go binding around an Ethereum contract. 90 type IERC20Raw struct { 91 Contract *IERC20 // Generic contract binding to access the raw methods on 92 } 93 94 // IERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 95 type IERC20CallerRaw struct { 96 Contract *IERC20Caller // Generic read-only contract binding to access the raw methods on 97 } 98 99 // IERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 100 type IERC20TransactorRaw struct { 101 Contract *IERC20Transactor // Generic write-only contract binding to access the raw methods on 102 } 103 104 // NewIERC20 creates a new instance of IERC20, bound to a specific deployed contract. 105 func NewIERC20(address common.Address, backend bind.ContractBackend) (*IERC20, error) { 106 contract, err := bindIERC20(address, backend, backend, backend) 107 if err != nil { 108 return nil, err 109 } 110 return &IERC20{IERC20Caller: IERC20Caller{contract: contract}, IERC20Transactor: IERC20Transactor{contract: contract}, IERC20Filterer: IERC20Filterer{contract: contract}}, nil 111 } 112 113 // NewIERC20Caller creates a new read-only instance of IERC20, bound to a specific deployed contract. 114 func NewIERC20Caller(address common.Address, caller bind.ContractCaller) (*IERC20Caller, error) { 115 contract, err := bindIERC20(address, caller, nil, nil) 116 if err != nil { 117 return nil, err 118 } 119 return &IERC20Caller{contract: contract}, nil 120 } 121 122 // NewIERC20Transactor creates a new write-only instance of IERC20, bound to a specific deployed contract. 123 func NewIERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC20Transactor, error) { 124 contract, err := bindIERC20(address, nil, transactor, nil) 125 if err != nil { 126 return nil, err 127 } 128 return &IERC20Transactor{contract: contract}, nil 129 } 130 131 // NewIERC20Filterer creates a new log filterer instance of IERC20, bound to a specific deployed contract. 132 func NewIERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC20Filterer, error) { 133 contract, err := bindIERC20(address, nil, nil, filterer) 134 if err != nil { 135 return nil, err 136 } 137 return &IERC20Filterer{contract: contract}, nil 138 } 139 140 // bindIERC20 binds a generic wrapper to an already deployed contract. 141 func bindIERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 142 parsed, err := abi.JSON(strings.NewReader(IERC20ABI)) 143 if err != nil { 144 return nil, err 145 } 146 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 147 } 148 149 // Call invokes the (constant) contract method with params as input values and 150 // sets the output to result. The result type might be a single field for simple 151 // returns, a slice of interfaces for anonymous returns and a struct for named 152 // returns. 153 func (_IERC20 *IERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 154 return _IERC20.Contract.IERC20Caller.contract.Call(opts, result, method, params...) 155 } 156 157 // Transfer initiates a plain transaction to move funds to the contract, calling 158 // its default method if one is available. 159 func (_IERC20 *IERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 160 return _IERC20.Contract.IERC20Transactor.contract.Transfer(opts) 161 } 162 163 // Transact invokes the (paid) contract method with params as input values. 164 func (_IERC20 *IERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 165 return _IERC20.Contract.IERC20Transactor.contract.Transact(opts, method, params...) 166 } 167 168 // Call invokes the (constant) contract method with params as input values and 169 // sets the output to result. The result type might be a single field for simple 170 // returns, a slice of interfaces for anonymous returns and a struct for named 171 // returns. 172 func (_IERC20 *IERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 173 return _IERC20.Contract.contract.Call(opts, result, method, params...) 174 } 175 176 // Transfer initiates a plain transaction to move funds to the contract, calling 177 // its default method if one is available. 178 func (_IERC20 *IERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 179 return _IERC20.Contract.contract.Transfer(opts) 180 } 181 182 // Transact invokes the (paid) contract method with params as input values. 183 func (_IERC20 *IERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 184 return _IERC20.Contract.contract.Transact(opts, method, params...) 185 } 186 187 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 188 // 189 // Solidity: function allowance(address owner, address spender) view returns(uint256) 190 func (_IERC20 *IERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 191 var out []interface{} 192 err := _IERC20.contract.Call(opts, &out, "allowance", owner, spender) 193 194 if err != nil { 195 return *new(*big.Int), err 196 } 197 198 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 199 200 return out0, err 201 202 } 203 204 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 205 // 206 // Solidity: function allowance(address owner, address spender) view returns(uint256) 207 func (_IERC20 *IERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 208 return _IERC20.Contract.Allowance(&_IERC20.CallOpts, owner, spender) 209 } 210 211 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 212 // 213 // Solidity: function allowance(address owner, address spender) view returns(uint256) 214 func (_IERC20 *IERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 215 return _IERC20.Contract.Allowance(&_IERC20.CallOpts, owner, spender) 216 } 217 218 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 219 // 220 // Solidity: function balanceOf(address owner) view returns(uint256) 221 func (_IERC20 *IERC20Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 222 var out []interface{} 223 err := _IERC20.contract.Call(opts, &out, "balanceOf", owner) 224 225 if err != nil { 226 return *new(*big.Int), err 227 } 228 229 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 230 231 return out0, err 232 233 } 234 235 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 236 // 237 // Solidity: function balanceOf(address owner) view returns(uint256) 238 func (_IERC20 *IERC20Session) BalanceOf(owner common.Address) (*big.Int, error) { 239 return _IERC20.Contract.BalanceOf(&_IERC20.CallOpts, owner) 240 } 241 242 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 243 // 244 // Solidity: function balanceOf(address owner) view returns(uint256) 245 func (_IERC20 *IERC20CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 246 return _IERC20.Contract.BalanceOf(&_IERC20.CallOpts, owner) 247 } 248 249 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 250 // 251 // Solidity: function decimals() view returns(uint8) 252 func (_IERC20 *IERC20Caller) Decimals(opts *bind.CallOpts) (uint8, error) { 253 var out []interface{} 254 err := _IERC20.contract.Call(opts, &out, "decimals") 255 256 if err != nil { 257 return *new(uint8), err 258 } 259 260 out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) 261 262 return out0, err 263 264 } 265 266 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 267 // 268 // Solidity: function decimals() view returns(uint8) 269 func (_IERC20 *IERC20Session) Decimals() (uint8, error) { 270 return _IERC20.Contract.Decimals(&_IERC20.CallOpts) 271 } 272 273 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 274 // 275 // Solidity: function decimals() view returns(uint8) 276 func (_IERC20 *IERC20CallerSession) Decimals() (uint8, error) { 277 return _IERC20.Contract.Decimals(&_IERC20.CallOpts) 278 } 279 280 // Name is a free data retrieval call binding the contract method 0x06fdde03. 281 // 282 // Solidity: function name() view returns(string) 283 func (_IERC20 *IERC20Caller) Name(opts *bind.CallOpts) (string, error) { 284 var out []interface{} 285 err := _IERC20.contract.Call(opts, &out, "name") 286 287 if err != nil { 288 return *new(string), err 289 } 290 291 out0 := *abi.ConvertType(out[0], new(string)).(*string) 292 293 return out0, err 294 295 } 296 297 // Name is a free data retrieval call binding the contract method 0x06fdde03. 298 // 299 // Solidity: function name() view returns(string) 300 func (_IERC20 *IERC20Session) Name() (string, error) { 301 return _IERC20.Contract.Name(&_IERC20.CallOpts) 302 } 303 304 // Name is a free data retrieval call binding the contract method 0x06fdde03. 305 // 306 // Solidity: function name() view returns(string) 307 func (_IERC20 *IERC20CallerSession) Name() (string, error) { 308 return _IERC20.Contract.Name(&_IERC20.CallOpts) 309 } 310 311 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 312 // 313 // Solidity: function symbol() view returns(string) 314 func (_IERC20 *IERC20Caller) Symbol(opts *bind.CallOpts) (string, error) { 315 var out []interface{} 316 err := _IERC20.contract.Call(opts, &out, "symbol") 317 318 if err != nil { 319 return *new(string), err 320 } 321 322 out0 := *abi.ConvertType(out[0], new(string)).(*string) 323 324 return out0, err 325 326 } 327 328 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 329 // 330 // Solidity: function symbol() view returns(string) 331 func (_IERC20 *IERC20Session) Symbol() (string, error) { 332 return _IERC20.Contract.Symbol(&_IERC20.CallOpts) 333 } 334 335 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 336 // 337 // Solidity: function symbol() view returns(string) 338 func (_IERC20 *IERC20CallerSession) Symbol() (string, error) { 339 return _IERC20.Contract.Symbol(&_IERC20.CallOpts) 340 } 341 342 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 343 // 344 // Solidity: function totalSupply() view returns(uint256) 345 func (_IERC20 *IERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 346 var out []interface{} 347 err := _IERC20.contract.Call(opts, &out, "totalSupply") 348 349 if err != nil { 350 return *new(*big.Int), err 351 } 352 353 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 354 355 return out0, err 356 357 } 358 359 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 360 // 361 // Solidity: function totalSupply() view returns(uint256) 362 func (_IERC20 *IERC20Session) TotalSupply() (*big.Int, error) { 363 return _IERC20.Contract.TotalSupply(&_IERC20.CallOpts) 364 } 365 366 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 367 // 368 // Solidity: function totalSupply() view returns(uint256) 369 func (_IERC20 *IERC20CallerSession) TotalSupply() (*big.Int, error) { 370 return _IERC20.Contract.TotalSupply(&_IERC20.CallOpts) 371 } 372 373 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 374 // 375 // Solidity: function approve(address spender, uint256 value) returns(bool) 376 func (_IERC20 *IERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { 377 return _IERC20.contract.Transact(opts, "approve", spender, value) 378 } 379 380 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 381 // 382 // Solidity: function approve(address spender, uint256 value) returns(bool) 383 func (_IERC20 *IERC20Session) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 384 return _IERC20.Contract.Approve(&_IERC20.TransactOpts, spender, value) 385 } 386 387 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 388 // 389 // Solidity: function approve(address spender, uint256 value) returns(bool) 390 func (_IERC20 *IERC20TransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 391 return _IERC20.Contract.Approve(&_IERC20.TransactOpts, spender, value) 392 } 393 394 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 395 // 396 // Solidity: function transfer(address to, uint256 value) returns(bool) 397 func (_IERC20 *IERC20Transactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error) { 398 return _IERC20.contract.Transact(opts, "transfer", to, value) 399 } 400 401 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 402 // 403 // Solidity: function transfer(address to, uint256 value) returns(bool) 404 func (_IERC20 *IERC20Session) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { 405 return _IERC20.Contract.Transfer(&_IERC20.TransactOpts, to, value) 406 } 407 408 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 409 // 410 // Solidity: function transfer(address to, uint256 value) returns(bool) 411 func (_IERC20 *IERC20TransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { 412 return _IERC20.Contract.Transfer(&_IERC20.TransactOpts, to, value) 413 } 414 415 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 416 // 417 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 418 func (_IERC20 *IERC20Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 419 return _IERC20.contract.Transact(opts, "transferFrom", from, to, value) 420 } 421 422 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 423 // 424 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 425 func (_IERC20 *IERC20Session) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 426 return _IERC20.Contract.TransferFrom(&_IERC20.TransactOpts, from, to, value) 427 } 428 429 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 430 // 431 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 432 func (_IERC20 *IERC20TransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 433 return _IERC20.Contract.TransferFrom(&_IERC20.TransactOpts, from, to, value) 434 } 435 436 // IERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC20 contract. 437 type IERC20ApprovalIterator struct { 438 Event *IERC20Approval // Event containing the contract specifics and raw log 439 440 contract *bind.BoundContract // Generic contract to use for unpacking event data 441 event string // Event name to use for unpacking event data 442 443 logs chan types.Log // Log channel receiving the found contract events 444 sub ethereum.Subscription // Subscription for errors, completion and termination 445 done bool // Whether the subscription completed delivering logs 446 fail error // Occurred error to stop iteration 447 } 448 449 // Next advances the iterator to the subsequent event, returning whether there 450 // are any more events found. In case of a retrieval or parsing error, false is 451 // returned and Error() can be queried for the exact failure. 452 func (it *IERC20ApprovalIterator) Next() bool { 453 // If the iterator failed, stop iterating 454 if it.fail != nil { 455 return false 456 } 457 // If the iterator completed, deliver directly whatever's available 458 if it.done { 459 select { 460 case log := <-it.logs: 461 it.Event = new(IERC20Approval) 462 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 463 it.fail = err 464 return false 465 } 466 it.Event.Raw = log 467 return true 468 469 default: 470 return false 471 } 472 } 473 // Iterator still in progress, wait for either a data or an error event 474 select { 475 case log := <-it.logs: 476 it.Event = new(IERC20Approval) 477 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 478 it.fail = err 479 return false 480 } 481 it.Event.Raw = log 482 return true 483 484 case err := <-it.sub.Err(): 485 it.done = true 486 it.fail = err 487 return it.Next() 488 } 489 } 490 491 // Error returns any retrieval or parsing error occurred during filtering. 492 func (it *IERC20ApprovalIterator) Error() error { 493 return it.fail 494 } 495 496 // Close terminates the iteration process, releasing any pending underlying 497 // resources. 498 func (it *IERC20ApprovalIterator) Close() error { 499 it.sub.Unsubscribe() 500 return nil 501 } 502 503 // IERC20Approval represents a Approval event raised by the IERC20 contract. 504 type IERC20Approval struct { 505 Owner common.Address 506 Spender common.Address 507 Value *big.Int 508 Raw types.Log // Blockchain specific contextual infos 509 } 510 511 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 512 // 513 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 514 func (_IERC20 *IERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*IERC20ApprovalIterator, error) { 515 516 var ownerRule []interface{} 517 for _, ownerItem := range owner { 518 ownerRule = append(ownerRule, ownerItem) 519 } 520 var spenderRule []interface{} 521 for _, spenderItem := range spender { 522 spenderRule = append(spenderRule, spenderItem) 523 } 524 525 logs, sub, err := _IERC20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 526 if err != nil { 527 return nil, err 528 } 529 return &IERC20ApprovalIterator{contract: _IERC20.contract, event: "Approval", logs: logs, sub: sub}, nil 530 } 531 532 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 533 // 534 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 535 func (_IERC20 *IERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 536 537 var ownerRule []interface{} 538 for _, ownerItem := range owner { 539 ownerRule = append(ownerRule, ownerItem) 540 } 541 var spenderRule []interface{} 542 for _, spenderItem := range spender { 543 spenderRule = append(spenderRule, spenderItem) 544 } 545 546 logs, sub, err := _IERC20.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 547 if err != nil { 548 return nil, err 549 } 550 return event.NewSubscription(func(quit <-chan struct{}) error { 551 defer sub.Unsubscribe() 552 for { 553 select { 554 case log := <-logs: 555 // New log arrived, parse the event and forward to the user 556 event := new(IERC20Approval) 557 if err := _IERC20.contract.UnpackLog(event, "Approval", log); err != nil { 558 return err 559 } 560 event.Raw = log 561 562 select { 563 case sink <- event: 564 case err := <-sub.Err(): 565 return err 566 case <-quit: 567 return nil 568 } 569 case err := <-sub.Err(): 570 return err 571 case <-quit: 572 return nil 573 } 574 } 575 }), nil 576 } 577 578 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 579 // 580 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 581 func (_IERC20 *IERC20Filterer) ParseApproval(log types.Log) (*IERC20Approval, error) { 582 event := new(IERC20Approval) 583 if err := _IERC20.contract.UnpackLog(event, "Approval", log); err != nil { 584 return nil, err 585 } 586 return event, nil 587 } 588 589 // IERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC20 contract. 590 type IERC20TransferIterator struct { 591 Event *IERC20Transfer // Event containing the contract specifics and raw log 592 593 contract *bind.BoundContract // Generic contract to use for unpacking event data 594 event string // Event name to use for unpacking event data 595 596 logs chan types.Log // Log channel receiving the found contract events 597 sub ethereum.Subscription // Subscription for errors, completion and termination 598 done bool // Whether the subscription completed delivering logs 599 fail error // Occurred error to stop iteration 600 } 601 602 // Next advances the iterator to the subsequent event, returning whether there 603 // are any more events found. In case of a retrieval or parsing error, false is 604 // returned and Error() can be queried for the exact failure. 605 func (it *IERC20TransferIterator) Next() bool { 606 // If the iterator failed, stop iterating 607 if it.fail != nil { 608 return false 609 } 610 // If the iterator completed, deliver directly whatever's available 611 if it.done { 612 select { 613 case log := <-it.logs: 614 it.Event = new(IERC20Transfer) 615 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 616 it.fail = err 617 return false 618 } 619 it.Event.Raw = log 620 return true 621 622 default: 623 return false 624 } 625 } 626 // Iterator still in progress, wait for either a data or an error event 627 select { 628 case log := <-it.logs: 629 it.Event = new(IERC20Transfer) 630 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 631 it.fail = err 632 return false 633 } 634 it.Event.Raw = log 635 return true 636 637 case err := <-it.sub.Err(): 638 it.done = true 639 it.fail = err 640 return it.Next() 641 } 642 } 643 644 // Error returns any retrieval or parsing error occurred during filtering. 645 func (it *IERC20TransferIterator) Error() error { 646 return it.fail 647 } 648 649 // Close terminates the iteration process, releasing any pending underlying 650 // resources. 651 func (it *IERC20TransferIterator) Close() error { 652 it.sub.Unsubscribe() 653 return nil 654 } 655 656 // IERC20Transfer represents a Transfer event raised by the IERC20 contract. 657 type IERC20Transfer struct { 658 From common.Address 659 To common.Address 660 Value *big.Int 661 Raw types.Log // Blockchain specific contextual infos 662 } 663 664 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 665 // 666 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 667 func (_IERC20 *IERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IERC20TransferIterator, error) { 668 669 var fromRule []interface{} 670 for _, fromItem := range from { 671 fromRule = append(fromRule, fromItem) 672 } 673 var toRule []interface{} 674 for _, toItem := range to { 675 toRule = append(toRule, toItem) 676 } 677 678 logs, sub, err := _IERC20.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 679 if err != nil { 680 return nil, err 681 } 682 return &IERC20TransferIterator{contract: _IERC20.contract, event: "Transfer", logs: logs, sub: sub}, nil 683 } 684 685 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 686 // 687 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 688 func (_IERC20 *IERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error) { 689 690 var fromRule []interface{} 691 for _, fromItem := range from { 692 fromRule = append(fromRule, fromItem) 693 } 694 var toRule []interface{} 695 for _, toItem := range to { 696 toRule = append(toRule, toItem) 697 } 698 699 logs, sub, err := _IERC20.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 700 if err != nil { 701 return nil, err 702 } 703 return event.NewSubscription(func(quit <-chan struct{}) error { 704 defer sub.Unsubscribe() 705 for { 706 select { 707 case log := <-logs: 708 // New log arrived, parse the event and forward to the user 709 event := new(IERC20Transfer) 710 if err := _IERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 711 return err 712 } 713 event.Raw = log 714 715 select { 716 case sink <- event: 717 case err := <-sub.Err(): 718 return err 719 case <-quit: 720 return nil 721 } 722 case err := <-sub.Err(): 723 return err 724 case <-quit: 725 return nil 726 } 727 } 728 }), nil 729 } 730 731 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 732 // 733 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 734 func (_IERC20 *IERC20Filterer) ParseTransfer(log types.Log) (*IERC20Transfer, error) { 735 event := new(IERC20Transfer) 736 if err := _IERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 737 return nil, err 738 } 739 return event, nil 740 } 741 742 // IUniswapV2CalleeABI is the input ABI used to generate the binding from. 743 const IUniswapV2CalleeABI = "[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"uniswapV2Call\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 744 745 // IUniswapV2CalleeFuncSigs maps the 4-byte function signature to its string representation. 746 var IUniswapV2CalleeFuncSigs = map[string]string{ 747 "10d1e85c": "uniswapV2Call(address,uint256,uint256,bytes)", 748 } 749 750 // IUniswapV2Callee is an auto generated Go binding around an Ethereum contract. 751 type IUniswapV2Callee struct { 752 IUniswapV2CalleeCaller // Read-only binding to the contract 753 IUniswapV2CalleeTransactor // Write-only binding to the contract 754 IUniswapV2CalleeFilterer // Log filterer for contract events 755 } 756 757 // IUniswapV2CalleeCaller is an auto generated read-only Go binding around an Ethereum contract. 758 type IUniswapV2CalleeCaller struct { 759 contract *bind.BoundContract // Generic contract wrapper for the low level calls 760 } 761 762 // IUniswapV2CalleeTransactor is an auto generated write-only Go binding around an Ethereum contract. 763 type IUniswapV2CalleeTransactor struct { 764 contract *bind.BoundContract // Generic contract wrapper for the low level calls 765 } 766 767 // IUniswapV2CalleeFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 768 type IUniswapV2CalleeFilterer struct { 769 contract *bind.BoundContract // Generic contract wrapper for the low level calls 770 } 771 772 // IUniswapV2CalleeSession is an auto generated Go binding around an Ethereum contract, 773 // with pre-set call and transact options. 774 type IUniswapV2CalleeSession struct { 775 Contract *IUniswapV2Callee // Generic contract binding to set the session for 776 CallOpts bind.CallOpts // Call options to use throughout this session 777 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 778 } 779 780 // IUniswapV2CalleeCallerSession is an auto generated read-only Go binding around an Ethereum contract, 781 // with pre-set call options. 782 type IUniswapV2CalleeCallerSession struct { 783 Contract *IUniswapV2CalleeCaller // Generic contract caller binding to set the session for 784 CallOpts bind.CallOpts // Call options to use throughout this session 785 } 786 787 // IUniswapV2CalleeTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 788 // with pre-set transact options. 789 type IUniswapV2CalleeTransactorSession struct { 790 Contract *IUniswapV2CalleeTransactor // Generic contract transactor binding to set the session for 791 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 792 } 793 794 // IUniswapV2CalleeRaw is an auto generated low-level Go binding around an Ethereum contract. 795 type IUniswapV2CalleeRaw struct { 796 Contract *IUniswapV2Callee // Generic contract binding to access the raw methods on 797 } 798 799 // IUniswapV2CalleeCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 800 type IUniswapV2CalleeCallerRaw struct { 801 Contract *IUniswapV2CalleeCaller // Generic read-only contract binding to access the raw methods on 802 } 803 804 // IUniswapV2CalleeTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 805 type IUniswapV2CalleeTransactorRaw struct { 806 Contract *IUniswapV2CalleeTransactor // Generic write-only contract binding to access the raw methods on 807 } 808 809 // NewIUniswapV2Callee creates a new instance of IUniswapV2Callee, bound to a specific deployed contract. 810 func NewIUniswapV2Callee(address common.Address, backend bind.ContractBackend) (*IUniswapV2Callee, error) { 811 contract, err := bindIUniswapV2Callee(address, backend, backend, backend) 812 if err != nil { 813 return nil, err 814 } 815 return &IUniswapV2Callee{IUniswapV2CalleeCaller: IUniswapV2CalleeCaller{contract: contract}, IUniswapV2CalleeTransactor: IUniswapV2CalleeTransactor{contract: contract}, IUniswapV2CalleeFilterer: IUniswapV2CalleeFilterer{contract: contract}}, nil 816 } 817 818 // NewIUniswapV2CalleeCaller creates a new read-only instance of IUniswapV2Callee, bound to a specific deployed contract. 819 func NewIUniswapV2CalleeCaller(address common.Address, caller bind.ContractCaller) (*IUniswapV2CalleeCaller, error) { 820 contract, err := bindIUniswapV2Callee(address, caller, nil, nil) 821 if err != nil { 822 return nil, err 823 } 824 return &IUniswapV2CalleeCaller{contract: contract}, nil 825 } 826 827 // NewIUniswapV2CalleeTransactor creates a new write-only instance of IUniswapV2Callee, bound to a specific deployed contract. 828 func NewIUniswapV2CalleeTransactor(address common.Address, transactor bind.ContractTransactor) (*IUniswapV2CalleeTransactor, error) { 829 contract, err := bindIUniswapV2Callee(address, nil, transactor, nil) 830 if err != nil { 831 return nil, err 832 } 833 return &IUniswapV2CalleeTransactor{contract: contract}, nil 834 } 835 836 // NewIUniswapV2CalleeFilterer creates a new log filterer instance of IUniswapV2Callee, bound to a specific deployed contract. 837 func NewIUniswapV2CalleeFilterer(address common.Address, filterer bind.ContractFilterer) (*IUniswapV2CalleeFilterer, error) { 838 contract, err := bindIUniswapV2Callee(address, nil, nil, filterer) 839 if err != nil { 840 return nil, err 841 } 842 return &IUniswapV2CalleeFilterer{contract: contract}, nil 843 } 844 845 // bindIUniswapV2Callee binds a generic wrapper to an already deployed contract. 846 func bindIUniswapV2Callee(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 847 parsed, err := abi.JSON(strings.NewReader(IUniswapV2CalleeABI)) 848 if err != nil { 849 return nil, err 850 } 851 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 852 } 853 854 // Call invokes the (constant) contract method with params as input values and 855 // sets the output to result. The result type might be a single field for simple 856 // returns, a slice of interfaces for anonymous returns and a struct for named 857 // returns. 858 func (_IUniswapV2Callee *IUniswapV2CalleeRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 859 return _IUniswapV2Callee.Contract.IUniswapV2CalleeCaller.contract.Call(opts, result, method, params...) 860 } 861 862 // Transfer initiates a plain transaction to move funds to the contract, calling 863 // its default method if one is available. 864 func (_IUniswapV2Callee *IUniswapV2CalleeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 865 return _IUniswapV2Callee.Contract.IUniswapV2CalleeTransactor.contract.Transfer(opts) 866 } 867 868 // Transact invokes the (paid) contract method with params as input values. 869 func (_IUniswapV2Callee *IUniswapV2CalleeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 870 return _IUniswapV2Callee.Contract.IUniswapV2CalleeTransactor.contract.Transact(opts, method, params...) 871 } 872 873 // Call invokes the (constant) contract method with params as input values and 874 // sets the output to result. The result type might be a single field for simple 875 // returns, a slice of interfaces for anonymous returns and a struct for named 876 // returns. 877 func (_IUniswapV2Callee *IUniswapV2CalleeCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 878 return _IUniswapV2Callee.Contract.contract.Call(opts, result, method, params...) 879 } 880 881 // Transfer initiates a plain transaction to move funds to the contract, calling 882 // its default method if one is available. 883 func (_IUniswapV2Callee *IUniswapV2CalleeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 884 return _IUniswapV2Callee.Contract.contract.Transfer(opts) 885 } 886 887 // Transact invokes the (paid) contract method with params as input values. 888 func (_IUniswapV2Callee *IUniswapV2CalleeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 889 return _IUniswapV2Callee.Contract.contract.Transact(opts, method, params...) 890 } 891 892 // UniswapV2Call is a paid mutator transaction binding the contract method 0x10d1e85c. 893 // 894 // Solidity: function uniswapV2Call(address sender, uint256 amount0, uint256 amount1, bytes data) returns() 895 func (_IUniswapV2Callee *IUniswapV2CalleeTransactor) UniswapV2Call(opts *bind.TransactOpts, sender common.Address, amount0 *big.Int, amount1 *big.Int, data []byte) (*types.Transaction, error) { 896 return _IUniswapV2Callee.contract.Transact(opts, "uniswapV2Call", sender, amount0, amount1, data) 897 } 898 899 // UniswapV2Call is a paid mutator transaction binding the contract method 0x10d1e85c. 900 // 901 // Solidity: function uniswapV2Call(address sender, uint256 amount0, uint256 amount1, bytes data) returns() 902 func (_IUniswapV2Callee *IUniswapV2CalleeSession) UniswapV2Call(sender common.Address, amount0 *big.Int, amount1 *big.Int, data []byte) (*types.Transaction, error) { 903 return _IUniswapV2Callee.Contract.UniswapV2Call(&_IUniswapV2Callee.TransactOpts, sender, amount0, amount1, data) 904 } 905 906 // UniswapV2Call is a paid mutator transaction binding the contract method 0x10d1e85c. 907 // 908 // Solidity: function uniswapV2Call(address sender, uint256 amount0, uint256 amount1, bytes data) returns() 909 func (_IUniswapV2Callee *IUniswapV2CalleeTransactorSession) UniswapV2Call(sender common.Address, amount0 *big.Int, amount1 *big.Int, data []byte) (*types.Transaction, error) { 910 return _IUniswapV2Callee.Contract.UniswapV2Call(&_IUniswapV2Callee.TransactOpts, sender, amount0, amount1, data) 911 } 912 913 // IUniswapV2ERC20ABI is the input ABI used to generate the binding from. 914 const IUniswapV2ERC20ABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 915 916 // IUniswapV2ERC20FuncSigs maps the 4-byte function signature to its string representation. 917 var IUniswapV2ERC20FuncSigs = map[string]string{ 918 "3644e515": "DOMAIN_SEPARATOR()", 919 "30adf81f": "PERMIT_TYPEHASH()", 920 "dd62ed3e": "allowance(address,address)", 921 "095ea7b3": "approve(address,uint256)", 922 "70a08231": "balanceOf(address)", 923 "313ce567": "decimals()", 924 "06fdde03": "name()", 925 "7ecebe00": "nonces(address)", 926 "d505accf": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", 927 "95d89b41": "symbol()", 928 "18160ddd": "totalSupply()", 929 "a9059cbb": "transfer(address,uint256)", 930 "23b872dd": "transferFrom(address,address,uint256)", 931 } 932 933 // IUniswapV2ERC20 is an auto generated Go binding around an Ethereum contract. 934 type IUniswapV2ERC20 struct { 935 IUniswapV2ERC20Caller // Read-only binding to the contract 936 IUniswapV2ERC20Transactor // Write-only binding to the contract 937 IUniswapV2ERC20Filterer // Log filterer for contract events 938 } 939 940 // IUniswapV2ERC20Caller is an auto generated read-only Go binding around an Ethereum contract. 941 type IUniswapV2ERC20Caller struct { 942 contract *bind.BoundContract // Generic contract wrapper for the low level calls 943 } 944 945 // IUniswapV2ERC20Transactor is an auto generated write-only Go binding around an Ethereum contract. 946 type IUniswapV2ERC20Transactor struct { 947 contract *bind.BoundContract // Generic contract wrapper for the low level calls 948 } 949 950 // IUniswapV2ERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 951 type IUniswapV2ERC20Filterer struct { 952 contract *bind.BoundContract // Generic contract wrapper for the low level calls 953 } 954 955 // IUniswapV2ERC20Session is an auto generated Go binding around an Ethereum contract, 956 // with pre-set call and transact options. 957 type IUniswapV2ERC20Session struct { 958 Contract *IUniswapV2ERC20 // Generic contract binding to set the session for 959 CallOpts bind.CallOpts // Call options to use throughout this session 960 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 961 } 962 963 // IUniswapV2ERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, 964 // with pre-set call options. 965 type IUniswapV2ERC20CallerSession struct { 966 Contract *IUniswapV2ERC20Caller // Generic contract caller binding to set the session for 967 CallOpts bind.CallOpts // Call options to use throughout this session 968 } 969 970 // IUniswapV2ERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 971 // with pre-set transact options. 972 type IUniswapV2ERC20TransactorSession struct { 973 Contract *IUniswapV2ERC20Transactor // Generic contract transactor binding to set the session for 974 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 975 } 976 977 // IUniswapV2ERC20Raw is an auto generated low-level Go binding around an Ethereum contract. 978 type IUniswapV2ERC20Raw struct { 979 Contract *IUniswapV2ERC20 // Generic contract binding to access the raw methods on 980 } 981 982 // IUniswapV2ERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 983 type IUniswapV2ERC20CallerRaw struct { 984 Contract *IUniswapV2ERC20Caller // Generic read-only contract binding to access the raw methods on 985 } 986 987 // IUniswapV2ERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 988 type IUniswapV2ERC20TransactorRaw struct { 989 Contract *IUniswapV2ERC20Transactor // Generic write-only contract binding to access the raw methods on 990 } 991 992 // NewIUniswapV2ERC20 creates a new instance of IUniswapV2ERC20, bound to a specific deployed contract. 993 func NewIUniswapV2ERC20(address common.Address, backend bind.ContractBackend) (*IUniswapV2ERC20, error) { 994 contract, err := bindIUniswapV2ERC20(address, backend, backend, backend) 995 if err != nil { 996 return nil, err 997 } 998 return &IUniswapV2ERC20{IUniswapV2ERC20Caller: IUniswapV2ERC20Caller{contract: contract}, IUniswapV2ERC20Transactor: IUniswapV2ERC20Transactor{contract: contract}, IUniswapV2ERC20Filterer: IUniswapV2ERC20Filterer{contract: contract}}, nil 999 } 1000 1001 // NewIUniswapV2ERC20Caller creates a new read-only instance of IUniswapV2ERC20, bound to a specific deployed contract. 1002 func NewIUniswapV2ERC20Caller(address common.Address, caller bind.ContractCaller) (*IUniswapV2ERC20Caller, error) { 1003 contract, err := bindIUniswapV2ERC20(address, caller, nil, nil) 1004 if err != nil { 1005 return nil, err 1006 } 1007 return &IUniswapV2ERC20Caller{contract: contract}, nil 1008 } 1009 1010 // NewIUniswapV2ERC20Transactor creates a new write-only instance of IUniswapV2ERC20, bound to a specific deployed contract. 1011 func NewIUniswapV2ERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*IUniswapV2ERC20Transactor, error) { 1012 contract, err := bindIUniswapV2ERC20(address, nil, transactor, nil) 1013 if err != nil { 1014 return nil, err 1015 } 1016 return &IUniswapV2ERC20Transactor{contract: contract}, nil 1017 } 1018 1019 // NewIUniswapV2ERC20Filterer creates a new log filterer instance of IUniswapV2ERC20, bound to a specific deployed contract. 1020 func NewIUniswapV2ERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*IUniswapV2ERC20Filterer, error) { 1021 contract, err := bindIUniswapV2ERC20(address, nil, nil, filterer) 1022 if err != nil { 1023 return nil, err 1024 } 1025 return &IUniswapV2ERC20Filterer{contract: contract}, nil 1026 } 1027 1028 // bindIUniswapV2ERC20 binds a generic wrapper to an already deployed contract. 1029 func bindIUniswapV2ERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1030 parsed, err := abi.JSON(strings.NewReader(IUniswapV2ERC20ABI)) 1031 if err != nil { 1032 return nil, err 1033 } 1034 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1035 } 1036 1037 // Call invokes the (constant) contract method with params as input values and 1038 // sets the output to result. The result type might be a single field for simple 1039 // returns, a slice of interfaces for anonymous returns and a struct for named 1040 // returns. 1041 func (_IUniswapV2ERC20 *IUniswapV2ERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1042 return _IUniswapV2ERC20.Contract.IUniswapV2ERC20Caller.contract.Call(opts, result, method, params...) 1043 } 1044 1045 // Transfer initiates a plain transaction to move funds to the contract, calling 1046 // its default method if one is available. 1047 func (_IUniswapV2ERC20 *IUniswapV2ERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1048 return _IUniswapV2ERC20.Contract.IUniswapV2ERC20Transactor.contract.Transfer(opts) 1049 } 1050 1051 // Transact invokes the (paid) contract method with params as input values. 1052 func (_IUniswapV2ERC20 *IUniswapV2ERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1053 return _IUniswapV2ERC20.Contract.IUniswapV2ERC20Transactor.contract.Transact(opts, method, params...) 1054 } 1055 1056 // Call invokes the (constant) contract method with params as input values and 1057 // sets the output to result. The result type might be a single field for simple 1058 // returns, a slice of interfaces for anonymous returns and a struct for named 1059 // returns. 1060 func (_IUniswapV2ERC20 *IUniswapV2ERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1061 return _IUniswapV2ERC20.Contract.contract.Call(opts, result, method, params...) 1062 } 1063 1064 // Transfer initiates a plain transaction to move funds to the contract, calling 1065 // its default method if one is available. 1066 func (_IUniswapV2ERC20 *IUniswapV2ERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1067 return _IUniswapV2ERC20.Contract.contract.Transfer(opts) 1068 } 1069 1070 // Transact invokes the (paid) contract method with params as input values. 1071 func (_IUniswapV2ERC20 *IUniswapV2ERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1072 return _IUniswapV2ERC20.Contract.contract.Transact(opts, method, params...) 1073 } 1074 1075 // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. 1076 // 1077 // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) 1078 func (_IUniswapV2ERC20 *IUniswapV2ERC20Caller) DOMAINSEPARATOR(opts *bind.CallOpts) ([32]byte, error) { 1079 var out []interface{} 1080 err := _IUniswapV2ERC20.contract.Call(opts, &out, "DOMAIN_SEPARATOR") 1081 1082 if err != nil { 1083 return *new([32]byte), err 1084 } 1085 1086 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 1087 1088 return out0, err 1089 1090 } 1091 1092 // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. 1093 // 1094 // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) 1095 func (_IUniswapV2ERC20 *IUniswapV2ERC20Session) DOMAINSEPARATOR() ([32]byte, error) { 1096 return _IUniswapV2ERC20.Contract.DOMAINSEPARATOR(&_IUniswapV2ERC20.CallOpts) 1097 } 1098 1099 // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. 1100 // 1101 // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) 1102 func (_IUniswapV2ERC20 *IUniswapV2ERC20CallerSession) DOMAINSEPARATOR() ([32]byte, error) { 1103 return _IUniswapV2ERC20.Contract.DOMAINSEPARATOR(&_IUniswapV2ERC20.CallOpts) 1104 } 1105 1106 // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. 1107 // 1108 // Solidity: function PERMIT_TYPEHASH() pure returns(bytes32) 1109 func (_IUniswapV2ERC20 *IUniswapV2ERC20Caller) PERMITTYPEHASH(opts *bind.CallOpts) ([32]byte, error) { 1110 var out []interface{} 1111 err := _IUniswapV2ERC20.contract.Call(opts, &out, "PERMIT_TYPEHASH") 1112 1113 if err != nil { 1114 return *new([32]byte), err 1115 } 1116 1117 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 1118 1119 return out0, err 1120 1121 } 1122 1123 // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. 1124 // 1125 // Solidity: function PERMIT_TYPEHASH() pure returns(bytes32) 1126 func (_IUniswapV2ERC20 *IUniswapV2ERC20Session) PERMITTYPEHASH() ([32]byte, error) { 1127 return _IUniswapV2ERC20.Contract.PERMITTYPEHASH(&_IUniswapV2ERC20.CallOpts) 1128 } 1129 1130 // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. 1131 // 1132 // Solidity: function PERMIT_TYPEHASH() pure returns(bytes32) 1133 func (_IUniswapV2ERC20 *IUniswapV2ERC20CallerSession) PERMITTYPEHASH() ([32]byte, error) { 1134 return _IUniswapV2ERC20.Contract.PERMITTYPEHASH(&_IUniswapV2ERC20.CallOpts) 1135 } 1136 1137 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 1138 // 1139 // Solidity: function allowance(address owner, address spender) view returns(uint256) 1140 func (_IUniswapV2ERC20 *IUniswapV2ERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 1141 var out []interface{} 1142 err := _IUniswapV2ERC20.contract.Call(opts, &out, "allowance", owner, spender) 1143 1144 if err != nil { 1145 return *new(*big.Int), err 1146 } 1147 1148 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1149 1150 return out0, err 1151 1152 } 1153 1154 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 1155 // 1156 // Solidity: function allowance(address owner, address spender) view returns(uint256) 1157 func (_IUniswapV2ERC20 *IUniswapV2ERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 1158 return _IUniswapV2ERC20.Contract.Allowance(&_IUniswapV2ERC20.CallOpts, owner, spender) 1159 } 1160 1161 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 1162 // 1163 // Solidity: function allowance(address owner, address spender) view returns(uint256) 1164 func (_IUniswapV2ERC20 *IUniswapV2ERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 1165 return _IUniswapV2ERC20.Contract.Allowance(&_IUniswapV2ERC20.CallOpts, owner, spender) 1166 } 1167 1168 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1169 // 1170 // Solidity: function balanceOf(address owner) view returns(uint256) 1171 func (_IUniswapV2ERC20 *IUniswapV2ERC20Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 1172 var out []interface{} 1173 err := _IUniswapV2ERC20.contract.Call(opts, &out, "balanceOf", owner) 1174 1175 if err != nil { 1176 return *new(*big.Int), err 1177 } 1178 1179 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1180 1181 return out0, err 1182 1183 } 1184 1185 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1186 // 1187 // Solidity: function balanceOf(address owner) view returns(uint256) 1188 func (_IUniswapV2ERC20 *IUniswapV2ERC20Session) BalanceOf(owner common.Address) (*big.Int, error) { 1189 return _IUniswapV2ERC20.Contract.BalanceOf(&_IUniswapV2ERC20.CallOpts, owner) 1190 } 1191 1192 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 1193 // 1194 // Solidity: function balanceOf(address owner) view returns(uint256) 1195 func (_IUniswapV2ERC20 *IUniswapV2ERC20CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 1196 return _IUniswapV2ERC20.Contract.BalanceOf(&_IUniswapV2ERC20.CallOpts, owner) 1197 } 1198 1199 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 1200 // 1201 // Solidity: function decimals() pure returns(uint8) 1202 func (_IUniswapV2ERC20 *IUniswapV2ERC20Caller) Decimals(opts *bind.CallOpts) (uint8, error) { 1203 var out []interface{} 1204 err := _IUniswapV2ERC20.contract.Call(opts, &out, "decimals") 1205 1206 if err != nil { 1207 return *new(uint8), err 1208 } 1209 1210 out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) 1211 1212 return out0, err 1213 1214 } 1215 1216 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 1217 // 1218 // Solidity: function decimals() pure returns(uint8) 1219 func (_IUniswapV2ERC20 *IUniswapV2ERC20Session) Decimals() (uint8, error) { 1220 return _IUniswapV2ERC20.Contract.Decimals(&_IUniswapV2ERC20.CallOpts) 1221 } 1222 1223 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 1224 // 1225 // Solidity: function decimals() pure returns(uint8) 1226 func (_IUniswapV2ERC20 *IUniswapV2ERC20CallerSession) Decimals() (uint8, error) { 1227 return _IUniswapV2ERC20.Contract.Decimals(&_IUniswapV2ERC20.CallOpts) 1228 } 1229 1230 // Name is a free data retrieval call binding the contract method 0x06fdde03. 1231 // 1232 // Solidity: function name() pure returns(string) 1233 func (_IUniswapV2ERC20 *IUniswapV2ERC20Caller) Name(opts *bind.CallOpts) (string, error) { 1234 var out []interface{} 1235 err := _IUniswapV2ERC20.contract.Call(opts, &out, "name") 1236 1237 if err != nil { 1238 return *new(string), err 1239 } 1240 1241 out0 := *abi.ConvertType(out[0], new(string)).(*string) 1242 1243 return out0, err 1244 1245 } 1246 1247 // Name is a free data retrieval call binding the contract method 0x06fdde03. 1248 // 1249 // Solidity: function name() pure returns(string) 1250 func (_IUniswapV2ERC20 *IUniswapV2ERC20Session) Name() (string, error) { 1251 return _IUniswapV2ERC20.Contract.Name(&_IUniswapV2ERC20.CallOpts) 1252 } 1253 1254 // Name is a free data retrieval call binding the contract method 0x06fdde03. 1255 // 1256 // Solidity: function name() pure returns(string) 1257 func (_IUniswapV2ERC20 *IUniswapV2ERC20CallerSession) Name() (string, error) { 1258 return _IUniswapV2ERC20.Contract.Name(&_IUniswapV2ERC20.CallOpts) 1259 } 1260 1261 // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. 1262 // 1263 // Solidity: function nonces(address owner) view returns(uint256) 1264 func (_IUniswapV2ERC20 *IUniswapV2ERC20Caller) Nonces(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 1265 var out []interface{} 1266 err := _IUniswapV2ERC20.contract.Call(opts, &out, "nonces", owner) 1267 1268 if err != nil { 1269 return *new(*big.Int), err 1270 } 1271 1272 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1273 1274 return out0, err 1275 1276 } 1277 1278 // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. 1279 // 1280 // Solidity: function nonces(address owner) view returns(uint256) 1281 func (_IUniswapV2ERC20 *IUniswapV2ERC20Session) Nonces(owner common.Address) (*big.Int, error) { 1282 return _IUniswapV2ERC20.Contract.Nonces(&_IUniswapV2ERC20.CallOpts, owner) 1283 } 1284 1285 // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. 1286 // 1287 // Solidity: function nonces(address owner) view returns(uint256) 1288 func (_IUniswapV2ERC20 *IUniswapV2ERC20CallerSession) Nonces(owner common.Address) (*big.Int, error) { 1289 return _IUniswapV2ERC20.Contract.Nonces(&_IUniswapV2ERC20.CallOpts, owner) 1290 } 1291 1292 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 1293 // 1294 // Solidity: function symbol() pure returns(string) 1295 func (_IUniswapV2ERC20 *IUniswapV2ERC20Caller) Symbol(opts *bind.CallOpts) (string, error) { 1296 var out []interface{} 1297 err := _IUniswapV2ERC20.contract.Call(opts, &out, "symbol") 1298 1299 if err != nil { 1300 return *new(string), err 1301 } 1302 1303 out0 := *abi.ConvertType(out[0], new(string)).(*string) 1304 1305 return out0, err 1306 1307 } 1308 1309 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 1310 // 1311 // Solidity: function symbol() pure returns(string) 1312 func (_IUniswapV2ERC20 *IUniswapV2ERC20Session) Symbol() (string, error) { 1313 return _IUniswapV2ERC20.Contract.Symbol(&_IUniswapV2ERC20.CallOpts) 1314 } 1315 1316 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 1317 // 1318 // Solidity: function symbol() pure returns(string) 1319 func (_IUniswapV2ERC20 *IUniswapV2ERC20CallerSession) Symbol() (string, error) { 1320 return _IUniswapV2ERC20.Contract.Symbol(&_IUniswapV2ERC20.CallOpts) 1321 } 1322 1323 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1324 // 1325 // Solidity: function totalSupply() view returns(uint256) 1326 func (_IUniswapV2ERC20 *IUniswapV2ERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 1327 var out []interface{} 1328 err := _IUniswapV2ERC20.contract.Call(opts, &out, "totalSupply") 1329 1330 if err != nil { 1331 return *new(*big.Int), err 1332 } 1333 1334 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1335 1336 return out0, err 1337 1338 } 1339 1340 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1341 // 1342 // Solidity: function totalSupply() view returns(uint256) 1343 func (_IUniswapV2ERC20 *IUniswapV2ERC20Session) TotalSupply() (*big.Int, error) { 1344 return _IUniswapV2ERC20.Contract.TotalSupply(&_IUniswapV2ERC20.CallOpts) 1345 } 1346 1347 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1348 // 1349 // Solidity: function totalSupply() view returns(uint256) 1350 func (_IUniswapV2ERC20 *IUniswapV2ERC20CallerSession) TotalSupply() (*big.Int, error) { 1351 return _IUniswapV2ERC20.Contract.TotalSupply(&_IUniswapV2ERC20.CallOpts) 1352 } 1353 1354 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1355 // 1356 // Solidity: function approve(address spender, uint256 value) returns(bool) 1357 func (_IUniswapV2ERC20 *IUniswapV2ERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { 1358 return _IUniswapV2ERC20.contract.Transact(opts, "approve", spender, value) 1359 } 1360 1361 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1362 // 1363 // Solidity: function approve(address spender, uint256 value) returns(bool) 1364 func (_IUniswapV2ERC20 *IUniswapV2ERC20Session) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 1365 return _IUniswapV2ERC20.Contract.Approve(&_IUniswapV2ERC20.TransactOpts, spender, value) 1366 } 1367 1368 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 1369 // 1370 // Solidity: function approve(address spender, uint256 value) returns(bool) 1371 func (_IUniswapV2ERC20 *IUniswapV2ERC20TransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 1372 return _IUniswapV2ERC20.Contract.Approve(&_IUniswapV2ERC20.TransactOpts, spender, value) 1373 } 1374 1375 // Permit is a paid mutator transaction binding the contract method 0xd505accf. 1376 // 1377 // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() 1378 func (_IUniswapV2ERC20 *IUniswapV2ERC20Transactor) Permit(opts *bind.TransactOpts, owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { 1379 return _IUniswapV2ERC20.contract.Transact(opts, "permit", owner, spender, value, deadline, v, r, s) 1380 } 1381 1382 // Permit is a paid mutator transaction binding the contract method 0xd505accf. 1383 // 1384 // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() 1385 func (_IUniswapV2ERC20 *IUniswapV2ERC20Session) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { 1386 return _IUniswapV2ERC20.Contract.Permit(&_IUniswapV2ERC20.TransactOpts, owner, spender, value, deadline, v, r, s) 1387 } 1388 1389 // Permit is a paid mutator transaction binding the contract method 0xd505accf. 1390 // 1391 // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() 1392 func (_IUniswapV2ERC20 *IUniswapV2ERC20TransactorSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { 1393 return _IUniswapV2ERC20.Contract.Permit(&_IUniswapV2ERC20.TransactOpts, owner, spender, value, deadline, v, r, s) 1394 } 1395 1396 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 1397 // 1398 // Solidity: function transfer(address to, uint256 value) returns(bool) 1399 func (_IUniswapV2ERC20 *IUniswapV2ERC20Transactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error) { 1400 return _IUniswapV2ERC20.contract.Transact(opts, "transfer", to, value) 1401 } 1402 1403 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 1404 // 1405 // Solidity: function transfer(address to, uint256 value) returns(bool) 1406 func (_IUniswapV2ERC20 *IUniswapV2ERC20Session) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { 1407 return _IUniswapV2ERC20.Contract.Transfer(&_IUniswapV2ERC20.TransactOpts, to, value) 1408 } 1409 1410 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 1411 // 1412 // Solidity: function transfer(address to, uint256 value) returns(bool) 1413 func (_IUniswapV2ERC20 *IUniswapV2ERC20TransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { 1414 return _IUniswapV2ERC20.Contract.Transfer(&_IUniswapV2ERC20.TransactOpts, to, value) 1415 } 1416 1417 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1418 // 1419 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 1420 func (_IUniswapV2ERC20 *IUniswapV2ERC20Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 1421 return _IUniswapV2ERC20.contract.Transact(opts, "transferFrom", from, to, value) 1422 } 1423 1424 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1425 // 1426 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 1427 func (_IUniswapV2ERC20 *IUniswapV2ERC20Session) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 1428 return _IUniswapV2ERC20.Contract.TransferFrom(&_IUniswapV2ERC20.TransactOpts, from, to, value) 1429 } 1430 1431 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 1432 // 1433 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 1434 func (_IUniswapV2ERC20 *IUniswapV2ERC20TransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 1435 return _IUniswapV2ERC20.Contract.TransferFrom(&_IUniswapV2ERC20.TransactOpts, from, to, value) 1436 } 1437 1438 // IUniswapV2ERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IUniswapV2ERC20 contract. 1439 type IUniswapV2ERC20ApprovalIterator struct { 1440 Event *IUniswapV2ERC20Approval // Event containing the contract specifics and raw log 1441 1442 contract *bind.BoundContract // Generic contract to use for unpacking event data 1443 event string // Event name to use for unpacking event data 1444 1445 logs chan types.Log // Log channel receiving the found contract events 1446 sub ethereum.Subscription // Subscription for errors, completion and termination 1447 done bool // Whether the subscription completed delivering logs 1448 fail error // Occurred error to stop iteration 1449 } 1450 1451 // Next advances the iterator to the subsequent event, returning whether there 1452 // are any more events found. In case of a retrieval or parsing error, false is 1453 // returned and Error() can be queried for the exact failure. 1454 func (it *IUniswapV2ERC20ApprovalIterator) Next() bool { 1455 // If the iterator failed, stop iterating 1456 if it.fail != nil { 1457 return false 1458 } 1459 // If the iterator completed, deliver directly whatever's available 1460 if it.done { 1461 select { 1462 case log := <-it.logs: 1463 it.Event = new(IUniswapV2ERC20Approval) 1464 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1465 it.fail = err 1466 return false 1467 } 1468 it.Event.Raw = log 1469 return true 1470 1471 default: 1472 return false 1473 } 1474 } 1475 // Iterator still in progress, wait for either a data or an error event 1476 select { 1477 case log := <-it.logs: 1478 it.Event = new(IUniswapV2ERC20Approval) 1479 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1480 it.fail = err 1481 return false 1482 } 1483 it.Event.Raw = log 1484 return true 1485 1486 case err := <-it.sub.Err(): 1487 it.done = true 1488 it.fail = err 1489 return it.Next() 1490 } 1491 } 1492 1493 // Error returns any retrieval or parsing error occurred during filtering. 1494 func (it *IUniswapV2ERC20ApprovalIterator) Error() error { 1495 return it.fail 1496 } 1497 1498 // Close terminates the iteration process, releasing any pending underlying 1499 // resources. 1500 func (it *IUniswapV2ERC20ApprovalIterator) Close() error { 1501 it.sub.Unsubscribe() 1502 return nil 1503 } 1504 1505 // IUniswapV2ERC20Approval represents a Approval event raised by the IUniswapV2ERC20 contract. 1506 type IUniswapV2ERC20Approval struct { 1507 Owner common.Address 1508 Spender common.Address 1509 Value *big.Int 1510 Raw types.Log // Blockchain specific contextual infos 1511 } 1512 1513 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1514 // 1515 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 1516 func (_IUniswapV2ERC20 *IUniswapV2ERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*IUniswapV2ERC20ApprovalIterator, error) { 1517 1518 var ownerRule []interface{} 1519 for _, ownerItem := range owner { 1520 ownerRule = append(ownerRule, ownerItem) 1521 } 1522 var spenderRule []interface{} 1523 for _, spenderItem := range spender { 1524 spenderRule = append(spenderRule, spenderItem) 1525 } 1526 1527 logs, sub, err := _IUniswapV2ERC20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 1528 if err != nil { 1529 return nil, err 1530 } 1531 return &IUniswapV2ERC20ApprovalIterator{contract: _IUniswapV2ERC20.contract, event: "Approval", logs: logs, sub: sub}, nil 1532 } 1533 1534 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1535 // 1536 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 1537 func (_IUniswapV2ERC20 *IUniswapV2ERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IUniswapV2ERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 1538 1539 var ownerRule []interface{} 1540 for _, ownerItem := range owner { 1541 ownerRule = append(ownerRule, ownerItem) 1542 } 1543 var spenderRule []interface{} 1544 for _, spenderItem := range spender { 1545 spenderRule = append(spenderRule, spenderItem) 1546 } 1547 1548 logs, sub, err := _IUniswapV2ERC20.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 1549 if err != nil { 1550 return nil, err 1551 } 1552 return event.NewSubscription(func(quit <-chan struct{}) error { 1553 defer sub.Unsubscribe() 1554 for { 1555 select { 1556 case log := <-logs: 1557 // New log arrived, parse the event and forward to the user 1558 event := new(IUniswapV2ERC20Approval) 1559 if err := _IUniswapV2ERC20.contract.UnpackLog(event, "Approval", log); err != nil { 1560 return err 1561 } 1562 event.Raw = log 1563 1564 select { 1565 case sink <- event: 1566 case err := <-sub.Err(): 1567 return err 1568 case <-quit: 1569 return nil 1570 } 1571 case err := <-sub.Err(): 1572 return err 1573 case <-quit: 1574 return nil 1575 } 1576 } 1577 }), nil 1578 } 1579 1580 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 1581 // 1582 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 1583 func (_IUniswapV2ERC20 *IUniswapV2ERC20Filterer) ParseApproval(log types.Log) (*IUniswapV2ERC20Approval, error) { 1584 event := new(IUniswapV2ERC20Approval) 1585 if err := _IUniswapV2ERC20.contract.UnpackLog(event, "Approval", log); err != nil { 1586 return nil, err 1587 } 1588 return event, nil 1589 } 1590 1591 // IUniswapV2ERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IUniswapV2ERC20 contract. 1592 type IUniswapV2ERC20TransferIterator struct { 1593 Event *IUniswapV2ERC20Transfer // Event containing the contract specifics and raw log 1594 1595 contract *bind.BoundContract // Generic contract to use for unpacking event data 1596 event string // Event name to use for unpacking event data 1597 1598 logs chan types.Log // Log channel receiving the found contract events 1599 sub ethereum.Subscription // Subscription for errors, completion and termination 1600 done bool // Whether the subscription completed delivering logs 1601 fail error // Occurred error to stop iteration 1602 } 1603 1604 // Next advances the iterator to the subsequent event, returning whether there 1605 // are any more events found. In case of a retrieval or parsing error, false is 1606 // returned and Error() can be queried for the exact failure. 1607 func (it *IUniswapV2ERC20TransferIterator) Next() bool { 1608 // If the iterator failed, stop iterating 1609 if it.fail != nil { 1610 return false 1611 } 1612 // If the iterator completed, deliver directly whatever's available 1613 if it.done { 1614 select { 1615 case log := <-it.logs: 1616 it.Event = new(IUniswapV2ERC20Transfer) 1617 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1618 it.fail = err 1619 return false 1620 } 1621 it.Event.Raw = log 1622 return true 1623 1624 default: 1625 return false 1626 } 1627 } 1628 // Iterator still in progress, wait for either a data or an error event 1629 select { 1630 case log := <-it.logs: 1631 it.Event = new(IUniswapV2ERC20Transfer) 1632 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1633 it.fail = err 1634 return false 1635 } 1636 it.Event.Raw = log 1637 return true 1638 1639 case err := <-it.sub.Err(): 1640 it.done = true 1641 it.fail = err 1642 return it.Next() 1643 } 1644 } 1645 1646 // Error returns any retrieval or parsing error occurred during filtering. 1647 func (it *IUniswapV2ERC20TransferIterator) Error() error { 1648 return it.fail 1649 } 1650 1651 // Close terminates the iteration process, releasing any pending underlying 1652 // resources. 1653 func (it *IUniswapV2ERC20TransferIterator) Close() error { 1654 it.sub.Unsubscribe() 1655 return nil 1656 } 1657 1658 // IUniswapV2ERC20Transfer represents a Transfer event raised by the IUniswapV2ERC20 contract. 1659 type IUniswapV2ERC20Transfer struct { 1660 From common.Address 1661 To common.Address 1662 Value *big.Int 1663 Raw types.Log // Blockchain specific contextual infos 1664 } 1665 1666 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1667 // 1668 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 1669 func (_IUniswapV2ERC20 *IUniswapV2ERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IUniswapV2ERC20TransferIterator, error) { 1670 1671 var fromRule []interface{} 1672 for _, fromItem := range from { 1673 fromRule = append(fromRule, fromItem) 1674 } 1675 var toRule []interface{} 1676 for _, toItem := range to { 1677 toRule = append(toRule, toItem) 1678 } 1679 1680 logs, sub, err := _IUniswapV2ERC20.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 1681 if err != nil { 1682 return nil, err 1683 } 1684 return &IUniswapV2ERC20TransferIterator{contract: _IUniswapV2ERC20.contract, event: "Transfer", logs: logs, sub: sub}, nil 1685 } 1686 1687 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1688 // 1689 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 1690 func (_IUniswapV2ERC20 *IUniswapV2ERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IUniswapV2ERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error) { 1691 1692 var fromRule []interface{} 1693 for _, fromItem := range from { 1694 fromRule = append(fromRule, fromItem) 1695 } 1696 var toRule []interface{} 1697 for _, toItem := range to { 1698 toRule = append(toRule, toItem) 1699 } 1700 1701 logs, sub, err := _IUniswapV2ERC20.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 1702 if err != nil { 1703 return nil, err 1704 } 1705 return event.NewSubscription(func(quit <-chan struct{}) error { 1706 defer sub.Unsubscribe() 1707 for { 1708 select { 1709 case log := <-logs: 1710 // New log arrived, parse the event and forward to the user 1711 event := new(IUniswapV2ERC20Transfer) 1712 if err := _IUniswapV2ERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 1713 return err 1714 } 1715 event.Raw = log 1716 1717 select { 1718 case sink <- event: 1719 case err := <-sub.Err(): 1720 return err 1721 case <-quit: 1722 return nil 1723 } 1724 case err := <-sub.Err(): 1725 return err 1726 case <-quit: 1727 return nil 1728 } 1729 } 1730 }), nil 1731 } 1732 1733 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 1734 // 1735 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 1736 func (_IUniswapV2ERC20 *IUniswapV2ERC20Filterer) ParseTransfer(log types.Log) (*IUniswapV2ERC20Transfer, error) { 1737 event := new(IUniswapV2ERC20Transfer) 1738 if err := _IUniswapV2ERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 1739 return nil, err 1740 } 1741 return event, nil 1742 } 1743 1744 // IUniswapV2FactoryABI is the input ABI used to generate the binding from. 1745 const IUniswapV2FactoryABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pair\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"PairCreated\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"allPairs\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pair\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"allPairsLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"}],\"name\":\"createPair\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pair\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeTo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"feeToSetter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"}],\"name\":\"getPair\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pair\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setFeeTo\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setFeeToSetter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 1746 1747 // IUniswapV2FactoryFuncSigs maps the 4-byte function signature to its string representation. 1748 var IUniswapV2FactoryFuncSigs = map[string]string{ 1749 "1e3dd18b": "allPairs(uint256)", 1750 "574f2ba3": "allPairsLength()", 1751 "c9c65396": "createPair(address,address)", 1752 "017e7e58": "feeTo()", 1753 "094b7415": "feeToSetter()", 1754 "e6a43905": "getPair(address,address)", 1755 "f46901ed": "setFeeTo(address)", 1756 "a2e74af6": "setFeeToSetter(address)", 1757 } 1758 1759 // IUniswapV2Factory is an auto generated Go binding around an Ethereum contract. 1760 type IUniswapV2Factory struct { 1761 IUniswapV2FactoryCaller // Read-only binding to the contract 1762 IUniswapV2FactoryTransactor // Write-only binding to the contract 1763 IUniswapV2FactoryFilterer // Log filterer for contract events 1764 } 1765 1766 // IUniswapV2FactoryCaller is an auto generated read-only Go binding around an Ethereum contract. 1767 type IUniswapV2FactoryCaller struct { 1768 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1769 } 1770 1771 // IUniswapV2FactoryTransactor is an auto generated write-only Go binding around an Ethereum contract. 1772 type IUniswapV2FactoryTransactor struct { 1773 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1774 } 1775 1776 // IUniswapV2FactoryFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 1777 type IUniswapV2FactoryFilterer struct { 1778 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1779 } 1780 1781 // IUniswapV2FactorySession is an auto generated Go binding around an Ethereum contract, 1782 // with pre-set call and transact options. 1783 type IUniswapV2FactorySession struct { 1784 Contract *IUniswapV2Factory // Generic contract binding to set the session for 1785 CallOpts bind.CallOpts // Call options to use throughout this session 1786 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1787 } 1788 1789 // IUniswapV2FactoryCallerSession is an auto generated read-only Go binding around an Ethereum contract, 1790 // with pre-set call options. 1791 type IUniswapV2FactoryCallerSession struct { 1792 Contract *IUniswapV2FactoryCaller // Generic contract caller binding to set the session for 1793 CallOpts bind.CallOpts // Call options to use throughout this session 1794 } 1795 1796 // IUniswapV2FactoryTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1797 // with pre-set transact options. 1798 type IUniswapV2FactoryTransactorSession struct { 1799 Contract *IUniswapV2FactoryTransactor // Generic contract transactor binding to set the session for 1800 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1801 } 1802 1803 // IUniswapV2FactoryRaw is an auto generated low-level Go binding around an Ethereum contract. 1804 type IUniswapV2FactoryRaw struct { 1805 Contract *IUniswapV2Factory // Generic contract binding to access the raw methods on 1806 } 1807 1808 // IUniswapV2FactoryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1809 type IUniswapV2FactoryCallerRaw struct { 1810 Contract *IUniswapV2FactoryCaller // Generic read-only contract binding to access the raw methods on 1811 } 1812 1813 // IUniswapV2FactoryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1814 type IUniswapV2FactoryTransactorRaw struct { 1815 Contract *IUniswapV2FactoryTransactor // Generic write-only contract binding to access the raw methods on 1816 } 1817 1818 // NewIUniswapV2Factory creates a new instance of IUniswapV2Factory, bound to a specific deployed contract. 1819 func NewIUniswapV2Factory(address common.Address, backend bind.ContractBackend) (*IUniswapV2Factory, error) { 1820 contract, err := bindIUniswapV2Factory(address, backend, backend, backend) 1821 if err != nil { 1822 return nil, err 1823 } 1824 return &IUniswapV2Factory{IUniswapV2FactoryCaller: IUniswapV2FactoryCaller{contract: contract}, IUniswapV2FactoryTransactor: IUniswapV2FactoryTransactor{contract: contract}, IUniswapV2FactoryFilterer: IUniswapV2FactoryFilterer{contract: contract}}, nil 1825 } 1826 1827 // NewIUniswapV2FactoryCaller creates a new read-only instance of IUniswapV2Factory, bound to a specific deployed contract. 1828 func NewIUniswapV2FactoryCaller(address common.Address, caller bind.ContractCaller) (*IUniswapV2FactoryCaller, error) { 1829 contract, err := bindIUniswapV2Factory(address, caller, nil, nil) 1830 if err != nil { 1831 return nil, err 1832 } 1833 return &IUniswapV2FactoryCaller{contract: contract}, nil 1834 } 1835 1836 // NewIUniswapV2FactoryTransactor creates a new write-only instance of IUniswapV2Factory, bound to a specific deployed contract. 1837 func NewIUniswapV2FactoryTransactor(address common.Address, transactor bind.ContractTransactor) (*IUniswapV2FactoryTransactor, error) { 1838 contract, err := bindIUniswapV2Factory(address, nil, transactor, nil) 1839 if err != nil { 1840 return nil, err 1841 } 1842 return &IUniswapV2FactoryTransactor{contract: contract}, nil 1843 } 1844 1845 // NewIUniswapV2FactoryFilterer creates a new log filterer instance of IUniswapV2Factory, bound to a specific deployed contract. 1846 func NewIUniswapV2FactoryFilterer(address common.Address, filterer bind.ContractFilterer) (*IUniswapV2FactoryFilterer, error) { 1847 contract, err := bindIUniswapV2Factory(address, nil, nil, filterer) 1848 if err != nil { 1849 return nil, err 1850 } 1851 return &IUniswapV2FactoryFilterer{contract: contract}, nil 1852 } 1853 1854 // bindIUniswapV2Factory binds a generic wrapper to an already deployed contract. 1855 func bindIUniswapV2Factory(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1856 parsed, err := abi.JSON(strings.NewReader(IUniswapV2FactoryABI)) 1857 if err != nil { 1858 return nil, err 1859 } 1860 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1861 } 1862 1863 // Call invokes the (constant) contract method with params as input values and 1864 // sets the output to result. The result type might be a single field for simple 1865 // returns, a slice of interfaces for anonymous returns and a struct for named 1866 // returns. 1867 func (_IUniswapV2Factory *IUniswapV2FactoryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1868 return _IUniswapV2Factory.Contract.IUniswapV2FactoryCaller.contract.Call(opts, result, method, params...) 1869 } 1870 1871 // Transfer initiates a plain transaction to move funds to the contract, calling 1872 // its default method if one is available. 1873 func (_IUniswapV2Factory *IUniswapV2FactoryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1874 return _IUniswapV2Factory.Contract.IUniswapV2FactoryTransactor.contract.Transfer(opts) 1875 } 1876 1877 // Transact invokes the (paid) contract method with params as input values. 1878 func (_IUniswapV2Factory *IUniswapV2FactoryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1879 return _IUniswapV2Factory.Contract.IUniswapV2FactoryTransactor.contract.Transact(opts, method, params...) 1880 } 1881 1882 // Call invokes the (constant) contract method with params as input values and 1883 // sets the output to result. The result type might be a single field for simple 1884 // returns, a slice of interfaces for anonymous returns and a struct for named 1885 // returns. 1886 func (_IUniswapV2Factory *IUniswapV2FactoryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 1887 return _IUniswapV2Factory.Contract.contract.Call(opts, result, method, params...) 1888 } 1889 1890 // Transfer initiates a plain transaction to move funds to the contract, calling 1891 // its default method if one is available. 1892 func (_IUniswapV2Factory *IUniswapV2FactoryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1893 return _IUniswapV2Factory.Contract.contract.Transfer(opts) 1894 } 1895 1896 // Transact invokes the (paid) contract method with params as input values. 1897 func (_IUniswapV2Factory *IUniswapV2FactoryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1898 return _IUniswapV2Factory.Contract.contract.Transact(opts, method, params...) 1899 } 1900 1901 // AllPairs is a free data retrieval call binding the contract method 0x1e3dd18b. 1902 // 1903 // Solidity: function allPairs(uint256 ) view returns(address pair) 1904 func (_IUniswapV2Factory *IUniswapV2FactoryCaller) AllPairs(opts *bind.CallOpts, arg0 *big.Int) (common.Address, error) { 1905 var out []interface{} 1906 err := _IUniswapV2Factory.contract.Call(opts, &out, "allPairs", arg0) 1907 1908 if err != nil { 1909 return *new(common.Address), err 1910 } 1911 1912 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 1913 1914 return out0, err 1915 1916 } 1917 1918 // AllPairs is a free data retrieval call binding the contract method 0x1e3dd18b. 1919 // 1920 // Solidity: function allPairs(uint256 ) view returns(address pair) 1921 func (_IUniswapV2Factory *IUniswapV2FactorySession) AllPairs(arg0 *big.Int) (common.Address, error) { 1922 return _IUniswapV2Factory.Contract.AllPairs(&_IUniswapV2Factory.CallOpts, arg0) 1923 } 1924 1925 // AllPairs is a free data retrieval call binding the contract method 0x1e3dd18b. 1926 // 1927 // Solidity: function allPairs(uint256 ) view returns(address pair) 1928 func (_IUniswapV2Factory *IUniswapV2FactoryCallerSession) AllPairs(arg0 *big.Int) (common.Address, error) { 1929 return _IUniswapV2Factory.Contract.AllPairs(&_IUniswapV2Factory.CallOpts, arg0) 1930 } 1931 1932 // AllPairsLength is a free data retrieval call binding the contract method 0x574f2ba3. 1933 // 1934 // Solidity: function allPairsLength() view returns(uint256) 1935 func (_IUniswapV2Factory *IUniswapV2FactoryCaller) AllPairsLength(opts *bind.CallOpts) (*big.Int, error) { 1936 var out []interface{} 1937 err := _IUniswapV2Factory.contract.Call(opts, &out, "allPairsLength") 1938 1939 if err != nil { 1940 return *new(*big.Int), err 1941 } 1942 1943 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1944 1945 return out0, err 1946 1947 } 1948 1949 // AllPairsLength is a free data retrieval call binding the contract method 0x574f2ba3. 1950 // 1951 // Solidity: function allPairsLength() view returns(uint256) 1952 func (_IUniswapV2Factory *IUniswapV2FactorySession) AllPairsLength() (*big.Int, error) { 1953 return _IUniswapV2Factory.Contract.AllPairsLength(&_IUniswapV2Factory.CallOpts) 1954 } 1955 1956 // AllPairsLength is a free data retrieval call binding the contract method 0x574f2ba3. 1957 // 1958 // Solidity: function allPairsLength() view returns(uint256) 1959 func (_IUniswapV2Factory *IUniswapV2FactoryCallerSession) AllPairsLength() (*big.Int, error) { 1960 return _IUniswapV2Factory.Contract.AllPairsLength(&_IUniswapV2Factory.CallOpts) 1961 } 1962 1963 // FeeTo is a free data retrieval call binding the contract method 0x017e7e58. 1964 // 1965 // Solidity: function feeTo() view returns(address) 1966 func (_IUniswapV2Factory *IUniswapV2FactoryCaller) FeeTo(opts *bind.CallOpts) (common.Address, error) { 1967 var out []interface{} 1968 err := _IUniswapV2Factory.contract.Call(opts, &out, "feeTo") 1969 1970 if err != nil { 1971 return *new(common.Address), err 1972 } 1973 1974 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 1975 1976 return out0, err 1977 1978 } 1979 1980 // FeeTo is a free data retrieval call binding the contract method 0x017e7e58. 1981 // 1982 // Solidity: function feeTo() view returns(address) 1983 func (_IUniswapV2Factory *IUniswapV2FactorySession) FeeTo() (common.Address, error) { 1984 return _IUniswapV2Factory.Contract.FeeTo(&_IUniswapV2Factory.CallOpts) 1985 } 1986 1987 // FeeTo is a free data retrieval call binding the contract method 0x017e7e58. 1988 // 1989 // Solidity: function feeTo() view returns(address) 1990 func (_IUniswapV2Factory *IUniswapV2FactoryCallerSession) FeeTo() (common.Address, error) { 1991 return _IUniswapV2Factory.Contract.FeeTo(&_IUniswapV2Factory.CallOpts) 1992 } 1993 1994 // FeeToSetter is a free data retrieval call binding the contract method 0x094b7415. 1995 // 1996 // Solidity: function feeToSetter() view returns(address) 1997 func (_IUniswapV2Factory *IUniswapV2FactoryCaller) FeeToSetter(opts *bind.CallOpts) (common.Address, error) { 1998 var out []interface{} 1999 err := _IUniswapV2Factory.contract.Call(opts, &out, "feeToSetter") 2000 2001 if err != nil { 2002 return *new(common.Address), err 2003 } 2004 2005 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 2006 2007 return out0, err 2008 2009 } 2010 2011 // FeeToSetter is a free data retrieval call binding the contract method 0x094b7415. 2012 // 2013 // Solidity: function feeToSetter() view returns(address) 2014 func (_IUniswapV2Factory *IUniswapV2FactorySession) FeeToSetter() (common.Address, error) { 2015 return _IUniswapV2Factory.Contract.FeeToSetter(&_IUniswapV2Factory.CallOpts) 2016 } 2017 2018 // FeeToSetter is a free data retrieval call binding the contract method 0x094b7415. 2019 // 2020 // Solidity: function feeToSetter() view returns(address) 2021 func (_IUniswapV2Factory *IUniswapV2FactoryCallerSession) FeeToSetter() (common.Address, error) { 2022 return _IUniswapV2Factory.Contract.FeeToSetter(&_IUniswapV2Factory.CallOpts) 2023 } 2024 2025 // GetPair is a free data retrieval call binding the contract method 0xe6a43905. 2026 // 2027 // Solidity: function getPair(address tokenA, address tokenB) view returns(address pair) 2028 func (_IUniswapV2Factory *IUniswapV2FactoryCaller) GetPair(opts *bind.CallOpts, tokenA common.Address, tokenB common.Address) (common.Address, error) { 2029 var out []interface{} 2030 err := _IUniswapV2Factory.contract.Call(opts, &out, "getPair", tokenA, tokenB) 2031 2032 if err != nil { 2033 return *new(common.Address), err 2034 } 2035 2036 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 2037 2038 return out0, err 2039 2040 } 2041 2042 // GetPair is a free data retrieval call binding the contract method 0xe6a43905. 2043 // 2044 // Solidity: function getPair(address tokenA, address tokenB) view returns(address pair) 2045 func (_IUniswapV2Factory *IUniswapV2FactorySession) GetPair(tokenA common.Address, tokenB common.Address) (common.Address, error) { 2046 return _IUniswapV2Factory.Contract.GetPair(&_IUniswapV2Factory.CallOpts, tokenA, tokenB) 2047 } 2048 2049 // GetPair is a free data retrieval call binding the contract method 0xe6a43905. 2050 // 2051 // Solidity: function getPair(address tokenA, address tokenB) view returns(address pair) 2052 func (_IUniswapV2Factory *IUniswapV2FactoryCallerSession) GetPair(tokenA common.Address, tokenB common.Address) (common.Address, error) { 2053 return _IUniswapV2Factory.Contract.GetPair(&_IUniswapV2Factory.CallOpts, tokenA, tokenB) 2054 } 2055 2056 // CreatePair is a paid mutator transaction binding the contract method 0xc9c65396. 2057 // 2058 // Solidity: function createPair(address tokenA, address tokenB) returns(address pair) 2059 func (_IUniswapV2Factory *IUniswapV2FactoryTransactor) CreatePair(opts *bind.TransactOpts, tokenA common.Address, tokenB common.Address) (*types.Transaction, error) { 2060 return _IUniswapV2Factory.contract.Transact(opts, "createPair", tokenA, tokenB) 2061 } 2062 2063 // CreatePair is a paid mutator transaction binding the contract method 0xc9c65396. 2064 // 2065 // Solidity: function createPair(address tokenA, address tokenB) returns(address pair) 2066 func (_IUniswapV2Factory *IUniswapV2FactorySession) CreatePair(tokenA common.Address, tokenB common.Address) (*types.Transaction, error) { 2067 return _IUniswapV2Factory.Contract.CreatePair(&_IUniswapV2Factory.TransactOpts, tokenA, tokenB) 2068 } 2069 2070 // CreatePair is a paid mutator transaction binding the contract method 0xc9c65396. 2071 // 2072 // Solidity: function createPair(address tokenA, address tokenB) returns(address pair) 2073 func (_IUniswapV2Factory *IUniswapV2FactoryTransactorSession) CreatePair(tokenA common.Address, tokenB common.Address) (*types.Transaction, error) { 2074 return _IUniswapV2Factory.Contract.CreatePair(&_IUniswapV2Factory.TransactOpts, tokenA, tokenB) 2075 } 2076 2077 // SetFeeTo is a paid mutator transaction binding the contract method 0xf46901ed. 2078 // 2079 // Solidity: function setFeeTo(address ) returns() 2080 func (_IUniswapV2Factory *IUniswapV2FactoryTransactor) SetFeeTo(opts *bind.TransactOpts, arg0 common.Address) (*types.Transaction, error) { 2081 return _IUniswapV2Factory.contract.Transact(opts, "setFeeTo", arg0) 2082 } 2083 2084 // SetFeeTo is a paid mutator transaction binding the contract method 0xf46901ed. 2085 // 2086 // Solidity: function setFeeTo(address ) returns() 2087 func (_IUniswapV2Factory *IUniswapV2FactorySession) SetFeeTo(arg0 common.Address) (*types.Transaction, error) { 2088 return _IUniswapV2Factory.Contract.SetFeeTo(&_IUniswapV2Factory.TransactOpts, arg0) 2089 } 2090 2091 // SetFeeTo is a paid mutator transaction binding the contract method 0xf46901ed. 2092 // 2093 // Solidity: function setFeeTo(address ) returns() 2094 func (_IUniswapV2Factory *IUniswapV2FactoryTransactorSession) SetFeeTo(arg0 common.Address) (*types.Transaction, error) { 2095 return _IUniswapV2Factory.Contract.SetFeeTo(&_IUniswapV2Factory.TransactOpts, arg0) 2096 } 2097 2098 // SetFeeToSetter is a paid mutator transaction binding the contract method 0xa2e74af6. 2099 // 2100 // Solidity: function setFeeToSetter(address ) returns() 2101 func (_IUniswapV2Factory *IUniswapV2FactoryTransactor) SetFeeToSetter(opts *bind.TransactOpts, arg0 common.Address) (*types.Transaction, error) { 2102 return _IUniswapV2Factory.contract.Transact(opts, "setFeeToSetter", arg0) 2103 } 2104 2105 // SetFeeToSetter is a paid mutator transaction binding the contract method 0xa2e74af6. 2106 // 2107 // Solidity: function setFeeToSetter(address ) returns() 2108 func (_IUniswapV2Factory *IUniswapV2FactorySession) SetFeeToSetter(arg0 common.Address) (*types.Transaction, error) { 2109 return _IUniswapV2Factory.Contract.SetFeeToSetter(&_IUniswapV2Factory.TransactOpts, arg0) 2110 } 2111 2112 // SetFeeToSetter is a paid mutator transaction binding the contract method 0xa2e74af6. 2113 // 2114 // Solidity: function setFeeToSetter(address ) returns() 2115 func (_IUniswapV2Factory *IUniswapV2FactoryTransactorSession) SetFeeToSetter(arg0 common.Address) (*types.Transaction, error) { 2116 return _IUniswapV2Factory.Contract.SetFeeToSetter(&_IUniswapV2Factory.TransactOpts, arg0) 2117 } 2118 2119 // IUniswapV2FactoryPairCreatedIterator is returned from FilterPairCreated and is used to iterate over the raw logs and unpacked data for PairCreated events raised by the IUniswapV2Factory contract. 2120 type IUniswapV2FactoryPairCreatedIterator struct { 2121 Event *IUniswapV2FactoryPairCreated // Event containing the contract specifics and raw log 2122 2123 contract *bind.BoundContract // Generic contract to use for unpacking event data 2124 event string // Event name to use for unpacking event data 2125 2126 logs chan types.Log // Log channel receiving the found contract events 2127 sub ethereum.Subscription // Subscription for errors, completion and termination 2128 done bool // Whether the subscription completed delivering logs 2129 fail error // Occurred error to stop iteration 2130 } 2131 2132 // Next advances the iterator to the subsequent event, returning whether there 2133 // are any more events found. In case of a retrieval or parsing error, false is 2134 // returned and Error() can be queried for the exact failure. 2135 func (it *IUniswapV2FactoryPairCreatedIterator) Next() bool { 2136 // If the iterator failed, stop iterating 2137 if it.fail != nil { 2138 return false 2139 } 2140 // If the iterator completed, deliver directly whatever's available 2141 if it.done { 2142 select { 2143 case log := <-it.logs: 2144 it.Event = new(IUniswapV2FactoryPairCreated) 2145 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2146 it.fail = err 2147 return false 2148 } 2149 it.Event.Raw = log 2150 return true 2151 2152 default: 2153 return false 2154 } 2155 } 2156 // Iterator still in progress, wait for either a data or an error event 2157 select { 2158 case log := <-it.logs: 2159 it.Event = new(IUniswapV2FactoryPairCreated) 2160 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2161 it.fail = err 2162 return false 2163 } 2164 it.Event.Raw = log 2165 return true 2166 2167 case err := <-it.sub.Err(): 2168 it.done = true 2169 it.fail = err 2170 return it.Next() 2171 } 2172 } 2173 2174 // Error returns any retrieval or parsing error occurred during filtering. 2175 func (it *IUniswapV2FactoryPairCreatedIterator) Error() error { 2176 return it.fail 2177 } 2178 2179 // Close terminates the iteration process, releasing any pending underlying 2180 // resources. 2181 func (it *IUniswapV2FactoryPairCreatedIterator) Close() error { 2182 it.sub.Unsubscribe() 2183 return nil 2184 } 2185 2186 // IUniswapV2FactoryPairCreated represents a PairCreated event raised by the IUniswapV2Factory contract. 2187 type IUniswapV2FactoryPairCreated struct { 2188 Token0 common.Address 2189 Token1 common.Address 2190 Pair common.Address 2191 Arg3 *big.Int 2192 Raw types.Log // Blockchain specific contextual infos 2193 } 2194 2195 // FilterPairCreated is a free log retrieval operation binding the contract event 0x0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9. 2196 // 2197 // Solidity: event PairCreated(address indexed token0, address indexed token1, address pair, uint256 arg3) 2198 func (_IUniswapV2Factory *IUniswapV2FactoryFilterer) FilterPairCreated(opts *bind.FilterOpts, token0 []common.Address, token1 []common.Address) (*IUniswapV2FactoryPairCreatedIterator, error) { 2199 2200 var token0Rule []interface{} 2201 for _, token0Item := range token0 { 2202 token0Rule = append(token0Rule, token0Item) 2203 } 2204 var token1Rule []interface{} 2205 for _, token1Item := range token1 { 2206 token1Rule = append(token1Rule, token1Item) 2207 } 2208 2209 logs, sub, err := _IUniswapV2Factory.contract.FilterLogs(opts, "PairCreated", token0Rule, token1Rule) 2210 if err != nil { 2211 return nil, err 2212 } 2213 return &IUniswapV2FactoryPairCreatedIterator{contract: _IUniswapV2Factory.contract, event: "PairCreated", logs: logs, sub: sub}, nil 2214 } 2215 2216 // WatchPairCreated is a free log subscription operation binding the contract event 0x0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9. 2217 // 2218 // Solidity: event PairCreated(address indexed token0, address indexed token1, address pair, uint256 arg3) 2219 func (_IUniswapV2Factory *IUniswapV2FactoryFilterer) WatchPairCreated(opts *bind.WatchOpts, sink chan<- *IUniswapV2FactoryPairCreated, token0 []common.Address, token1 []common.Address) (event.Subscription, error) { 2220 2221 var token0Rule []interface{} 2222 for _, token0Item := range token0 { 2223 token0Rule = append(token0Rule, token0Item) 2224 } 2225 var token1Rule []interface{} 2226 for _, token1Item := range token1 { 2227 token1Rule = append(token1Rule, token1Item) 2228 } 2229 2230 logs, sub, err := _IUniswapV2Factory.contract.WatchLogs(opts, "PairCreated", token0Rule, token1Rule) 2231 if err != nil { 2232 return nil, err 2233 } 2234 return event.NewSubscription(func(quit <-chan struct{}) error { 2235 defer sub.Unsubscribe() 2236 for { 2237 select { 2238 case log := <-logs: 2239 // New log arrived, parse the event and forward to the user 2240 event := new(IUniswapV2FactoryPairCreated) 2241 if err := _IUniswapV2Factory.contract.UnpackLog(event, "PairCreated", log); err != nil { 2242 return err 2243 } 2244 event.Raw = log 2245 2246 select { 2247 case sink <- event: 2248 case err := <-sub.Err(): 2249 return err 2250 case <-quit: 2251 return nil 2252 } 2253 case err := <-sub.Err(): 2254 return err 2255 case <-quit: 2256 return nil 2257 } 2258 } 2259 }), nil 2260 } 2261 2262 // ParsePairCreated is a log parse operation binding the contract event 0x0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9. 2263 // 2264 // Solidity: event PairCreated(address indexed token0, address indexed token1, address pair, uint256 arg3) 2265 func (_IUniswapV2Factory *IUniswapV2FactoryFilterer) ParsePairCreated(log types.Log) (*IUniswapV2FactoryPairCreated, error) { 2266 event := new(IUniswapV2FactoryPairCreated) 2267 if err := _IUniswapV2Factory.contract.UnpackLog(event, "PairCreated", log); err != nil { 2268 return nil, err 2269 } 2270 return event, nil 2271 } 2272 2273 // IUniswapV2PairABI is the input ABI used to generate the binding from. 2274 const IUniswapV2PairABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve0\",\"type\":\"uint112\"},{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve1\",\"type\":\"uint112\"}],\"name\":\"Sync\",\"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\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MINIMUM_LIQUIDITY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"uint112\",\"name\":\"reserve0\",\"type\":\"uint112\"},{\"internalType\":\"uint112\",\"name\":\"reserve1\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"blockTimestampLast\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"kLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"price0CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"price1CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"skim\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"sync\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 2275 2276 // IUniswapV2PairFuncSigs maps the 4-byte function signature to its string representation. 2277 var IUniswapV2PairFuncSigs = map[string]string{ 2278 "3644e515": "DOMAIN_SEPARATOR()", 2279 "ba9a7a56": "MINIMUM_LIQUIDITY()", 2280 "30adf81f": "PERMIT_TYPEHASH()", 2281 "dd62ed3e": "allowance(address,address)", 2282 "095ea7b3": "approve(address,uint256)", 2283 "70a08231": "balanceOf(address)", 2284 "89afcb44": "burn(address)", 2285 "313ce567": "decimals()", 2286 "c45a0155": "factory()", 2287 "0902f1ac": "getReserves()", 2288 "485cc955": "initialize(address,address)", 2289 "7464fc3d": "kLast()", 2290 "6a627842": "mint(address)", 2291 "06fdde03": "name()", 2292 "7ecebe00": "nonces(address)", 2293 "d505accf": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", 2294 "5909c0d5": "price0CumulativeLast()", 2295 "5a3d5493": "price1CumulativeLast()", 2296 "bc25cf77": "skim(address)", 2297 "022c0d9f": "swap(uint256,uint256,address,bytes)", 2298 "95d89b41": "symbol()", 2299 "fff6cae9": "sync()", 2300 "0dfe1681": "token0()", 2301 "d21220a7": "token1()", 2302 "18160ddd": "totalSupply()", 2303 "a9059cbb": "transfer(address,uint256)", 2304 "23b872dd": "transferFrom(address,address,uint256)", 2305 } 2306 2307 // IUniswapV2Pair is an auto generated Go binding around an Ethereum contract. 2308 type IUniswapV2Pair struct { 2309 IUniswapV2PairCaller // Read-only binding to the contract 2310 IUniswapV2PairTransactor // Write-only binding to the contract 2311 IUniswapV2PairFilterer // Log filterer for contract events 2312 } 2313 2314 // IUniswapV2PairCaller is an auto generated read-only Go binding around an Ethereum contract. 2315 type IUniswapV2PairCaller struct { 2316 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2317 } 2318 2319 // IUniswapV2PairTransactor is an auto generated write-only Go binding around an Ethereum contract. 2320 type IUniswapV2PairTransactor struct { 2321 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2322 } 2323 2324 // IUniswapV2PairFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 2325 type IUniswapV2PairFilterer struct { 2326 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2327 } 2328 2329 // IUniswapV2PairSession is an auto generated Go binding around an Ethereum contract, 2330 // with pre-set call and transact options. 2331 type IUniswapV2PairSession struct { 2332 Contract *IUniswapV2Pair // Generic contract binding to set the session for 2333 CallOpts bind.CallOpts // Call options to use throughout this session 2334 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2335 } 2336 2337 // IUniswapV2PairCallerSession is an auto generated read-only Go binding around an Ethereum contract, 2338 // with pre-set call options. 2339 type IUniswapV2PairCallerSession struct { 2340 Contract *IUniswapV2PairCaller // Generic contract caller binding to set the session for 2341 CallOpts bind.CallOpts // Call options to use throughout this session 2342 } 2343 2344 // IUniswapV2PairTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 2345 // with pre-set transact options. 2346 type IUniswapV2PairTransactorSession struct { 2347 Contract *IUniswapV2PairTransactor // Generic contract transactor binding to set the session for 2348 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2349 } 2350 2351 // IUniswapV2PairRaw is an auto generated low-level Go binding around an Ethereum contract. 2352 type IUniswapV2PairRaw struct { 2353 Contract *IUniswapV2Pair // Generic contract binding to access the raw methods on 2354 } 2355 2356 // IUniswapV2PairCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 2357 type IUniswapV2PairCallerRaw struct { 2358 Contract *IUniswapV2PairCaller // Generic read-only contract binding to access the raw methods on 2359 } 2360 2361 // IUniswapV2PairTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 2362 type IUniswapV2PairTransactorRaw struct { 2363 Contract *IUniswapV2PairTransactor // Generic write-only contract binding to access the raw methods on 2364 } 2365 2366 // NewIUniswapV2Pair creates a new instance of IUniswapV2Pair, bound to a specific deployed contract. 2367 func NewIUniswapV2Pair(address common.Address, backend bind.ContractBackend) (*IUniswapV2Pair, error) { 2368 contract, err := bindIUniswapV2Pair(address, backend, backend, backend) 2369 if err != nil { 2370 return nil, err 2371 } 2372 return &IUniswapV2Pair{IUniswapV2PairCaller: IUniswapV2PairCaller{contract: contract}, IUniswapV2PairTransactor: IUniswapV2PairTransactor{contract: contract}, IUniswapV2PairFilterer: IUniswapV2PairFilterer{contract: contract}}, nil 2373 } 2374 2375 // NewIUniswapV2PairCaller creates a new read-only instance of IUniswapV2Pair, bound to a specific deployed contract. 2376 func NewIUniswapV2PairCaller(address common.Address, caller bind.ContractCaller) (*IUniswapV2PairCaller, error) { 2377 contract, err := bindIUniswapV2Pair(address, caller, nil, nil) 2378 if err != nil { 2379 return nil, err 2380 } 2381 return &IUniswapV2PairCaller{contract: contract}, nil 2382 } 2383 2384 // NewIUniswapV2PairTransactor creates a new write-only instance of IUniswapV2Pair, bound to a specific deployed contract. 2385 func NewIUniswapV2PairTransactor(address common.Address, transactor bind.ContractTransactor) (*IUniswapV2PairTransactor, error) { 2386 contract, err := bindIUniswapV2Pair(address, nil, transactor, nil) 2387 if err != nil { 2388 return nil, err 2389 } 2390 return &IUniswapV2PairTransactor{contract: contract}, nil 2391 } 2392 2393 // NewIUniswapV2PairFilterer creates a new log filterer instance of IUniswapV2Pair, bound to a specific deployed contract. 2394 func NewIUniswapV2PairFilterer(address common.Address, filterer bind.ContractFilterer) (*IUniswapV2PairFilterer, error) { 2395 contract, err := bindIUniswapV2Pair(address, nil, nil, filterer) 2396 if err != nil { 2397 return nil, err 2398 } 2399 return &IUniswapV2PairFilterer{contract: contract}, nil 2400 } 2401 2402 // bindIUniswapV2Pair binds a generic wrapper to an already deployed contract. 2403 func bindIUniswapV2Pair(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2404 parsed, err := abi.JSON(strings.NewReader(IUniswapV2PairABI)) 2405 if err != nil { 2406 return nil, err 2407 } 2408 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 2409 } 2410 2411 // Call invokes the (constant) contract method with params as input values and 2412 // sets the output to result. The result type might be a single field for simple 2413 // returns, a slice of interfaces for anonymous returns and a struct for named 2414 // returns. 2415 func (_IUniswapV2Pair *IUniswapV2PairRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2416 return _IUniswapV2Pair.Contract.IUniswapV2PairCaller.contract.Call(opts, result, method, params...) 2417 } 2418 2419 // Transfer initiates a plain transaction to move funds to the contract, calling 2420 // its default method if one is available. 2421 func (_IUniswapV2Pair *IUniswapV2PairRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2422 return _IUniswapV2Pair.Contract.IUniswapV2PairTransactor.contract.Transfer(opts) 2423 } 2424 2425 // Transact invokes the (paid) contract method with params as input values. 2426 func (_IUniswapV2Pair *IUniswapV2PairRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2427 return _IUniswapV2Pair.Contract.IUniswapV2PairTransactor.contract.Transact(opts, method, params...) 2428 } 2429 2430 // Call invokes the (constant) contract method with params as input values and 2431 // sets the output to result. The result type might be a single field for simple 2432 // returns, a slice of interfaces for anonymous returns and a struct for named 2433 // returns. 2434 func (_IUniswapV2Pair *IUniswapV2PairCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 2435 return _IUniswapV2Pair.Contract.contract.Call(opts, result, method, params...) 2436 } 2437 2438 // Transfer initiates a plain transaction to move funds to the contract, calling 2439 // its default method if one is available. 2440 func (_IUniswapV2Pair *IUniswapV2PairTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2441 return _IUniswapV2Pair.Contract.contract.Transfer(opts) 2442 } 2443 2444 // Transact invokes the (paid) contract method with params as input values. 2445 func (_IUniswapV2Pair *IUniswapV2PairTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2446 return _IUniswapV2Pair.Contract.contract.Transact(opts, method, params...) 2447 } 2448 2449 // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. 2450 // 2451 // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) 2452 func (_IUniswapV2Pair *IUniswapV2PairCaller) DOMAINSEPARATOR(opts *bind.CallOpts) ([32]byte, error) { 2453 var out []interface{} 2454 err := _IUniswapV2Pair.contract.Call(opts, &out, "DOMAIN_SEPARATOR") 2455 2456 if err != nil { 2457 return *new([32]byte), err 2458 } 2459 2460 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 2461 2462 return out0, err 2463 2464 } 2465 2466 // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. 2467 // 2468 // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) 2469 func (_IUniswapV2Pair *IUniswapV2PairSession) DOMAINSEPARATOR() ([32]byte, error) { 2470 return _IUniswapV2Pair.Contract.DOMAINSEPARATOR(&_IUniswapV2Pair.CallOpts) 2471 } 2472 2473 // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. 2474 // 2475 // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) 2476 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) DOMAINSEPARATOR() ([32]byte, error) { 2477 return _IUniswapV2Pair.Contract.DOMAINSEPARATOR(&_IUniswapV2Pair.CallOpts) 2478 } 2479 2480 // MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. 2481 // 2482 // Solidity: function MINIMUM_LIQUIDITY() pure returns(uint256) 2483 func (_IUniswapV2Pair *IUniswapV2PairCaller) MINIMUMLIQUIDITY(opts *bind.CallOpts) (*big.Int, error) { 2484 var out []interface{} 2485 err := _IUniswapV2Pair.contract.Call(opts, &out, "MINIMUM_LIQUIDITY") 2486 2487 if err != nil { 2488 return *new(*big.Int), err 2489 } 2490 2491 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2492 2493 return out0, err 2494 2495 } 2496 2497 // MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. 2498 // 2499 // Solidity: function MINIMUM_LIQUIDITY() pure returns(uint256) 2500 func (_IUniswapV2Pair *IUniswapV2PairSession) MINIMUMLIQUIDITY() (*big.Int, error) { 2501 return _IUniswapV2Pair.Contract.MINIMUMLIQUIDITY(&_IUniswapV2Pair.CallOpts) 2502 } 2503 2504 // MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. 2505 // 2506 // Solidity: function MINIMUM_LIQUIDITY() pure returns(uint256) 2507 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) MINIMUMLIQUIDITY() (*big.Int, error) { 2508 return _IUniswapV2Pair.Contract.MINIMUMLIQUIDITY(&_IUniswapV2Pair.CallOpts) 2509 } 2510 2511 // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. 2512 // 2513 // Solidity: function PERMIT_TYPEHASH() pure returns(bytes32) 2514 func (_IUniswapV2Pair *IUniswapV2PairCaller) PERMITTYPEHASH(opts *bind.CallOpts) ([32]byte, error) { 2515 var out []interface{} 2516 err := _IUniswapV2Pair.contract.Call(opts, &out, "PERMIT_TYPEHASH") 2517 2518 if err != nil { 2519 return *new([32]byte), err 2520 } 2521 2522 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 2523 2524 return out0, err 2525 2526 } 2527 2528 // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. 2529 // 2530 // Solidity: function PERMIT_TYPEHASH() pure returns(bytes32) 2531 func (_IUniswapV2Pair *IUniswapV2PairSession) PERMITTYPEHASH() ([32]byte, error) { 2532 return _IUniswapV2Pair.Contract.PERMITTYPEHASH(&_IUniswapV2Pair.CallOpts) 2533 } 2534 2535 // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. 2536 // 2537 // Solidity: function PERMIT_TYPEHASH() pure returns(bytes32) 2538 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) PERMITTYPEHASH() ([32]byte, error) { 2539 return _IUniswapV2Pair.Contract.PERMITTYPEHASH(&_IUniswapV2Pair.CallOpts) 2540 } 2541 2542 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 2543 // 2544 // Solidity: function allowance(address owner, address spender) view returns(uint256) 2545 func (_IUniswapV2Pair *IUniswapV2PairCaller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { 2546 var out []interface{} 2547 err := _IUniswapV2Pair.contract.Call(opts, &out, "allowance", owner, spender) 2548 2549 if err != nil { 2550 return *new(*big.Int), err 2551 } 2552 2553 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2554 2555 return out0, err 2556 2557 } 2558 2559 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 2560 // 2561 // Solidity: function allowance(address owner, address spender) view returns(uint256) 2562 func (_IUniswapV2Pair *IUniswapV2PairSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 2563 return _IUniswapV2Pair.Contract.Allowance(&_IUniswapV2Pair.CallOpts, owner, spender) 2564 } 2565 2566 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 2567 // 2568 // Solidity: function allowance(address owner, address spender) view returns(uint256) 2569 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { 2570 return _IUniswapV2Pair.Contract.Allowance(&_IUniswapV2Pair.CallOpts, owner, spender) 2571 } 2572 2573 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2574 // 2575 // Solidity: function balanceOf(address owner) view returns(uint256) 2576 func (_IUniswapV2Pair *IUniswapV2PairCaller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 2577 var out []interface{} 2578 err := _IUniswapV2Pair.contract.Call(opts, &out, "balanceOf", owner) 2579 2580 if err != nil { 2581 return *new(*big.Int), err 2582 } 2583 2584 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2585 2586 return out0, err 2587 2588 } 2589 2590 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2591 // 2592 // Solidity: function balanceOf(address owner) view returns(uint256) 2593 func (_IUniswapV2Pair *IUniswapV2PairSession) BalanceOf(owner common.Address) (*big.Int, error) { 2594 return _IUniswapV2Pair.Contract.BalanceOf(&_IUniswapV2Pair.CallOpts, owner) 2595 } 2596 2597 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 2598 // 2599 // Solidity: function balanceOf(address owner) view returns(uint256) 2600 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) BalanceOf(owner common.Address) (*big.Int, error) { 2601 return _IUniswapV2Pair.Contract.BalanceOf(&_IUniswapV2Pair.CallOpts, owner) 2602 } 2603 2604 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 2605 // 2606 // Solidity: function decimals() pure returns(uint8) 2607 func (_IUniswapV2Pair *IUniswapV2PairCaller) Decimals(opts *bind.CallOpts) (uint8, error) { 2608 var out []interface{} 2609 err := _IUniswapV2Pair.contract.Call(opts, &out, "decimals") 2610 2611 if err != nil { 2612 return *new(uint8), err 2613 } 2614 2615 out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) 2616 2617 return out0, err 2618 2619 } 2620 2621 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 2622 // 2623 // Solidity: function decimals() pure returns(uint8) 2624 func (_IUniswapV2Pair *IUniswapV2PairSession) Decimals() (uint8, error) { 2625 return _IUniswapV2Pair.Contract.Decimals(&_IUniswapV2Pair.CallOpts) 2626 } 2627 2628 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 2629 // 2630 // Solidity: function decimals() pure returns(uint8) 2631 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) Decimals() (uint8, error) { 2632 return _IUniswapV2Pair.Contract.Decimals(&_IUniswapV2Pair.CallOpts) 2633 } 2634 2635 // Factory is a free data retrieval call binding the contract method 0xc45a0155. 2636 // 2637 // Solidity: function factory() view returns(address) 2638 func (_IUniswapV2Pair *IUniswapV2PairCaller) Factory(opts *bind.CallOpts) (common.Address, error) { 2639 var out []interface{} 2640 err := _IUniswapV2Pair.contract.Call(opts, &out, "factory") 2641 2642 if err != nil { 2643 return *new(common.Address), err 2644 } 2645 2646 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 2647 2648 return out0, err 2649 2650 } 2651 2652 // Factory is a free data retrieval call binding the contract method 0xc45a0155. 2653 // 2654 // Solidity: function factory() view returns(address) 2655 func (_IUniswapV2Pair *IUniswapV2PairSession) Factory() (common.Address, error) { 2656 return _IUniswapV2Pair.Contract.Factory(&_IUniswapV2Pair.CallOpts) 2657 } 2658 2659 // Factory is a free data retrieval call binding the contract method 0xc45a0155. 2660 // 2661 // Solidity: function factory() view returns(address) 2662 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) Factory() (common.Address, error) { 2663 return _IUniswapV2Pair.Contract.Factory(&_IUniswapV2Pair.CallOpts) 2664 } 2665 2666 // GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. 2667 // 2668 // Solidity: function getReserves() view returns(uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast) 2669 func (_IUniswapV2Pair *IUniswapV2PairCaller) GetReserves(opts *bind.CallOpts) (struct { 2670 Reserve0 *big.Int 2671 Reserve1 *big.Int 2672 BlockTimestampLast uint32 2673 }, error) { 2674 var out []interface{} 2675 err := _IUniswapV2Pair.contract.Call(opts, &out, "getReserves") 2676 2677 outstruct := new(struct { 2678 Reserve0 *big.Int 2679 Reserve1 *big.Int 2680 BlockTimestampLast uint32 2681 }) 2682 2683 outstruct.Reserve0 = out[0].(*big.Int) 2684 outstruct.Reserve1 = out[1].(*big.Int) 2685 outstruct.BlockTimestampLast = out[2].(uint32) 2686 2687 return *outstruct, err 2688 2689 } 2690 2691 // GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. 2692 // 2693 // Solidity: function getReserves() view returns(uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast) 2694 func (_IUniswapV2Pair *IUniswapV2PairSession) GetReserves() (struct { 2695 Reserve0 *big.Int 2696 Reserve1 *big.Int 2697 BlockTimestampLast uint32 2698 }, error) { 2699 return _IUniswapV2Pair.Contract.GetReserves(&_IUniswapV2Pair.CallOpts) 2700 } 2701 2702 // GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. 2703 // 2704 // Solidity: function getReserves() view returns(uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast) 2705 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) GetReserves() (struct { 2706 Reserve0 *big.Int 2707 Reserve1 *big.Int 2708 BlockTimestampLast uint32 2709 }, error) { 2710 return _IUniswapV2Pair.Contract.GetReserves(&_IUniswapV2Pair.CallOpts) 2711 } 2712 2713 // KLast is a free data retrieval call binding the contract method 0x7464fc3d. 2714 // 2715 // Solidity: function kLast() view returns(uint256) 2716 func (_IUniswapV2Pair *IUniswapV2PairCaller) KLast(opts *bind.CallOpts) (*big.Int, error) { 2717 var out []interface{} 2718 err := _IUniswapV2Pair.contract.Call(opts, &out, "kLast") 2719 2720 if err != nil { 2721 return *new(*big.Int), err 2722 } 2723 2724 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2725 2726 return out0, err 2727 2728 } 2729 2730 // KLast is a free data retrieval call binding the contract method 0x7464fc3d. 2731 // 2732 // Solidity: function kLast() view returns(uint256) 2733 func (_IUniswapV2Pair *IUniswapV2PairSession) KLast() (*big.Int, error) { 2734 return _IUniswapV2Pair.Contract.KLast(&_IUniswapV2Pair.CallOpts) 2735 } 2736 2737 // KLast is a free data retrieval call binding the contract method 0x7464fc3d. 2738 // 2739 // Solidity: function kLast() view returns(uint256) 2740 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) KLast() (*big.Int, error) { 2741 return _IUniswapV2Pair.Contract.KLast(&_IUniswapV2Pair.CallOpts) 2742 } 2743 2744 // Name is a free data retrieval call binding the contract method 0x06fdde03. 2745 // 2746 // Solidity: function name() pure returns(string) 2747 func (_IUniswapV2Pair *IUniswapV2PairCaller) Name(opts *bind.CallOpts) (string, error) { 2748 var out []interface{} 2749 err := _IUniswapV2Pair.contract.Call(opts, &out, "name") 2750 2751 if err != nil { 2752 return *new(string), err 2753 } 2754 2755 out0 := *abi.ConvertType(out[0], new(string)).(*string) 2756 2757 return out0, err 2758 2759 } 2760 2761 // Name is a free data retrieval call binding the contract method 0x06fdde03. 2762 // 2763 // Solidity: function name() pure returns(string) 2764 func (_IUniswapV2Pair *IUniswapV2PairSession) Name() (string, error) { 2765 return _IUniswapV2Pair.Contract.Name(&_IUniswapV2Pair.CallOpts) 2766 } 2767 2768 // Name is a free data retrieval call binding the contract method 0x06fdde03. 2769 // 2770 // Solidity: function name() pure returns(string) 2771 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) Name() (string, error) { 2772 return _IUniswapV2Pair.Contract.Name(&_IUniswapV2Pair.CallOpts) 2773 } 2774 2775 // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. 2776 // 2777 // Solidity: function nonces(address owner) view returns(uint256) 2778 func (_IUniswapV2Pair *IUniswapV2PairCaller) Nonces(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { 2779 var out []interface{} 2780 err := _IUniswapV2Pair.contract.Call(opts, &out, "nonces", owner) 2781 2782 if err != nil { 2783 return *new(*big.Int), err 2784 } 2785 2786 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2787 2788 return out0, err 2789 2790 } 2791 2792 // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. 2793 // 2794 // Solidity: function nonces(address owner) view returns(uint256) 2795 func (_IUniswapV2Pair *IUniswapV2PairSession) Nonces(owner common.Address) (*big.Int, error) { 2796 return _IUniswapV2Pair.Contract.Nonces(&_IUniswapV2Pair.CallOpts, owner) 2797 } 2798 2799 // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. 2800 // 2801 // Solidity: function nonces(address owner) view returns(uint256) 2802 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) Nonces(owner common.Address) (*big.Int, error) { 2803 return _IUniswapV2Pair.Contract.Nonces(&_IUniswapV2Pair.CallOpts, owner) 2804 } 2805 2806 // Price0CumulativeLast is a free data retrieval call binding the contract method 0x5909c0d5. 2807 // 2808 // Solidity: function price0CumulativeLast() view returns(uint256) 2809 func (_IUniswapV2Pair *IUniswapV2PairCaller) Price0CumulativeLast(opts *bind.CallOpts) (*big.Int, error) { 2810 var out []interface{} 2811 err := _IUniswapV2Pair.contract.Call(opts, &out, "price0CumulativeLast") 2812 2813 if err != nil { 2814 return *new(*big.Int), err 2815 } 2816 2817 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2818 2819 return out0, err 2820 2821 } 2822 2823 // Price0CumulativeLast is a free data retrieval call binding the contract method 0x5909c0d5. 2824 // 2825 // Solidity: function price0CumulativeLast() view returns(uint256) 2826 func (_IUniswapV2Pair *IUniswapV2PairSession) Price0CumulativeLast() (*big.Int, error) { 2827 return _IUniswapV2Pair.Contract.Price0CumulativeLast(&_IUniswapV2Pair.CallOpts) 2828 } 2829 2830 // Price0CumulativeLast is a free data retrieval call binding the contract method 0x5909c0d5. 2831 // 2832 // Solidity: function price0CumulativeLast() view returns(uint256) 2833 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) Price0CumulativeLast() (*big.Int, error) { 2834 return _IUniswapV2Pair.Contract.Price0CumulativeLast(&_IUniswapV2Pair.CallOpts) 2835 } 2836 2837 // Price1CumulativeLast is a free data retrieval call binding the contract method 0x5a3d5493. 2838 // 2839 // Solidity: function price1CumulativeLast() view returns(uint256) 2840 func (_IUniswapV2Pair *IUniswapV2PairCaller) Price1CumulativeLast(opts *bind.CallOpts) (*big.Int, error) { 2841 var out []interface{} 2842 err := _IUniswapV2Pair.contract.Call(opts, &out, "price1CumulativeLast") 2843 2844 if err != nil { 2845 return *new(*big.Int), err 2846 } 2847 2848 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2849 2850 return out0, err 2851 2852 } 2853 2854 // Price1CumulativeLast is a free data retrieval call binding the contract method 0x5a3d5493. 2855 // 2856 // Solidity: function price1CumulativeLast() view returns(uint256) 2857 func (_IUniswapV2Pair *IUniswapV2PairSession) Price1CumulativeLast() (*big.Int, error) { 2858 return _IUniswapV2Pair.Contract.Price1CumulativeLast(&_IUniswapV2Pair.CallOpts) 2859 } 2860 2861 // Price1CumulativeLast is a free data retrieval call binding the contract method 0x5a3d5493. 2862 // 2863 // Solidity: function price1CumulativeLast() view returns(uint256) 2864 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) Price1CumulativeLast() (*big.Int, error) { 2865 return _IUniswapV2Pair.Contract.Price1CumulativeLast(&_IUniswapV2Pair.CallOpts) 2866 } 2867 2868 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 2869 // 2870 // Solidity: function symbol() pure returns(string) 2871 func (_IUniswapV2Pair *IUniswapV2PairCaller) Symbol(opts *bind.CallOpts) (string, error) { 2872 var out []interface{} 2873 err := _IUniswapV2Pair.contract.Call(opts, &out, "symbol") 2874 2875 if err != nil { 2876 return *new(string), err 2877 } 2878 2879 out0 := *abi.ConvertType(out[0], new(string)).(*string) 2880 2881 return out0, err 2882 2883 } 2884 2885 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 2886 // 2887 // Solidity: function symbol() pure returns(string) 2888 func (_IUniswapV2Pair *IUniswapV2PairSession) Symbol() (string, error) { 2889 return _IUniswapV2Pair.Contract.Symbol(&_IUniswapV2Pair.CallOpts) 2890 } 2891 2892 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 2893 // 2894 // Solidity: function symbol() pure returns(string) 2895 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) Symbol() (string, error) { 2896 return _IUniswapV2Pair.Contract.Symbol(&_IUniswapV2Pair.CallOpts) 2897 } 2898 2899 // Token0 is a free data retrieval call binding the contract method 0x0dfe1681. 2900 // 2901 // Solidity: function token0() view returns(address) 2902 func (_IUniswapV2Pair *IUniswapV2PairCaller) Token0(opts *bind.CallOpts) (common.Address, error) { 2903 var out []interface{} 2904 err := _IUniswapV2Pair.contract.Call(opts, &out, "token0") 2905 2906 if err != nil { 2907 return *new(common.Address), err 2908 } 2909 2910 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 2911 2912 return out0, err 2913 2914 } 2915 2916 // Token0 is a free data retrieval call binding the contract method 0x0dfe1681. 2917 // 2918 // Solidity: function token0() view returns(address) 2919 func (_IUniswapV2Pair *IUniswapV2PairSession) Token0() (common.Address, error) { 2920 return _IUniswapV2Pair.Contract.Token0(&_IUniswapV2Pair.CallOpts) 2921 } 2922 2923 // Token0 is a free data retrieval call binding the contract method 0x0dfe1681. 2924 // 2925 // Solidity: function token0() view returns(address) 2926 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) Token0() (common.Address, error) { 2927 return _IUniswapV2Pair.Contract.Token0(&_IUniswapV2Pair.CallOpts) 2928 } 2929 2930 // Token1 is a free data retrieval call binding the contract method 0xd21220a7. 2931 // 2932 // Solidity: function token1() view returns(address) 2933 func (_IUniswapV2Pair *IUniswapV2PairCaller) Token1(opts *bind.CallOpts) (common.Address, error) { 2934 var out []interface{} 2935 err := _IUniswapV2Pair.contract.Call(opts, &out, "token1") 2936 2937 if err != nil { 2938 return *new(common.Address), err 2939 } 2940 2941 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 2942 2943 return out0, err 2944 2945 } 2946 2947 // Token1 is a free data retrieval call binding the contract method 0xd21220a7. 2948 // 2949 // Solidity: function token1() view returns(address) 2950 func (_IUniswapV2Pair *IUniswapV2PairSession) Token1() (common.Address, error) { 2951 return _IUniswapV2Pair.Contract.Token1(&_IUniswapV2Pair.CallOpts) 2952 } 2953 2954 // Token1 is a free data retrieval call binding the contract method 0xd21220a7. 2955 // 2956 // Solidity: function token1() view returns(address) 2957 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) Token1() (common.Address, error) { 2958 return _IUniswapV2Pair.Contract.Token1(&_IUniswapV2Pair.CallOpts) 2959 } 2960 2961 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2962 // 2963 // Solidity: function totalSupply() view returns(uint256) 2964 func (_IUniswapV2Pair *IUniswapV2PairCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 2965 var out []interface{} 2966 err := _IUniswapV2Pair.contract.Call(opts, &out, "totalSupply") 2967 2968 if err != nil { 2969 return *new(*big.Int), err 2970 } 2971 2972 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 2973 2974 return out0, err 2975 2976 } 2977 2978 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2979 // 2980 // Solidity: function totalSupply() view returns(uint256) 2981 func (_IUniswapV2Pair *IUniswapV2PairSession) TotalSupply() (*big.Int, error) { 2982 return _IUniswapV2Pair.Contract.TotalSupply(&_IUniswapV2Pair.CallOpts) 2983 } 2984 2985 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 2986 // 2987 // Solidity: function totalSupply() view returns(uint256) 2988 func (_IUniswapV2Pair *IUniswapV2PairCallerSession) TotalSupply() (*big.Int, error) { 2989 return _IUniswapV2Pair.Contract.TotalSupply(&_IUniswapV2Pair.CallOpts) 2990 } 2991 2992 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 2993 // 2994 // Solidity: function approve(address spender, uint256 value) returns(bool) 2995 func (_IUniswapV2Pair *IUniswapV2PairTransactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { 2996 return _IUniswapV2Pair.contract.Transact(opts, "approve", spender, value) 2997 } 2998 2999 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3000 // 3001 // Solidity: function approve(address spender, uint256 value) returns(bool) 3002 func (_IUniswapV2Pair *IUniswapV2PairSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 3003 return _IUniswapV2Pair.Contract.Approve(&_IUniswapV2Pair.TransactOpts, spender, value) 3004 } 3005 3006 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 3007 // 3008 // Solidity: function approve(address spender, uint256 value) returns(bool) 3009 func (_IUniswapV2Pair *IUniswapV2PairTransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 3010 return _IUniswapV2Pair.Contract.Approve(&_IUniswapV2Pair.TransactOpts, spender, value) 3011 } 3012 3013 // Burn is a paid mutator transaction binding the contract method 0x89afcb44. 3014 // 3015 // Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) 3016 func (_IUniswapV2Pair *IUniswapV2PairTransactor) Burn(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { 3017 return _IUniswapV2Pair.contract.Transact(opts, "burn", to) 3018 } 3019 3020 // Burn is a paid mutator transaction binding the contract method 0x89afcb44. 3021 // 3022 // Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) 3023 func (_IUniswapV2Pair *IUniswapV2PairSession) Burn(to common.Address) (*types.Transaction, error) { 3024 return _IUniswapV2Pair.Contract.Burn(&_IUniswapV2Pair.TransactOpts, to) 3025 } 3026 3027 // Burn is a paid mutator transaction binding the contract method 0x89afcb44. 3028 // 3029 // Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) 3030 func (_IUniswapV2Pair *IUniswapV2PairTransactorSession) Burn(to common.Address) (*types.Transaction, error) { 3031 return _IUniswapV2Pair.Contract.Burn(&_IUniswapV2Pair.TransactOpts, to) 3032 } 3033 3034 // Initialize is a paid mutator transaction binding the contract method 0x485cc955. 3035 // 3036 // Solidity: function initialize(address , address ) returns() 3037 func (_IUniswapV2Pair *IUniswapV2PairTransactor) Initialize(opts *bind.TransactOpts, arg0 common.Address, arg1 common.Address) (*types.Transaction, error) { 3038 return _IUniswapV2Pair.contract.Transact(opts, "initialize", arg0, arg1) 3039 } 3040 3041 // Initialize is a paid mutator transaction binding the contract method 0x485cc955. 3042 // 3043 // Solidity: function initialize(address , address ) returns() 3044 func (_IUniswapV2Pair *IUniswapV2PairSession) Initialize(arg0 common.Address, arg1 common.Address) (*types.Transaction, error) { 3045 return _IUniswapV2Pair.Contract.Initialize(&_IUniswapV2Pair.TransactOpts, arg0, arg1) 3046 } 3047 3048 // Initialize is a paid mutator transaction binding the contract method 0x485cc955. 3049 // 3050 // Solidity: function initialize(address , address ) returns() 3051 func (_IUniswapV2Pair *IUniswapV2PairTransactorSession) Initialize(arg0 common.Address, arg1 common.Address) (*types.Transaction, error) { 3052 return _IUniswapV2Pair.Contract.Initialize(&_IUniswapV2Pair.TransactOpts, arg0, arg1) 3053 } 3054 3055 // Mint is a paid mutator transaction binding the contract method 0x6a627842. 3056 // 3057 // Solidity: function mint(address to) returns(uint256 liquidity) 3058 func (_IUniswapV2Pair *IUniswapV2PairTransactor) Mint(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { 3059 return _IUniswapV2Pair.contract.Transact(opts, "mint", to) 3060 } 3061 3062 // Mint is a paid mutator transaction binding the contract method 0x6a627842. 3063 // 3064 // Solidity: function mint(address to) returns(uint256 liquidity) 3065 func (_IUniswapV2Pair *IUniswapV2PairSession) Mint(to common.Address) (*types.Transaction, error) { 3066 return _IUniswapV2Pair.Contract.Mint(&_IUniswapV2Pair.TransactOpts, to) 3067 } 3068 3069 // Mint is a paid mutator transaction binding the contract method 0x6a627842. 3070 // 3071 // Solidity: function mint(address to) returns(uint256 liquidity) 3072 func (_IUniswapV2Pair *IUniswapV2PairTransactorSession) Mint(to common.Address) (*types.Transaction, error) { 3073 return _IUniswapV2Pair.Contract.Mint(&_IUniswapV2Pair.TransactOpts, to) 3074 } 3075 3076 // Permit is a paid mutator transaction binding the contract method 0xd505accf. 3077 // 3078 // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() 3079 func (_IUniswapV2Pair *IUniswapV2PairTransactor) Permit(opts *bind.TransactOpts, owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { 3080 return _IUniswapV2Pair.contract.Transact(opts, "permit", owner, spender, value, deadline, v, r, s) 3081 } 3082 3083 // Permit is a paid mutator transaction binding the contract method 0xd505accf. 3084 // 3085 // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() 3086 func (_IUniswapV2Pair *IUniswapV2PairSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { 3087 return _IUniswapV2Pair.Contract.Permit(&_IUniswapV2Pair.TransactOpts, owner, spender, value, deadline, v, r, s) 3088 } 3089 3090 // Permit is a paid mutator transaction binding the contract method 0xd505accf. 3091 // 3092 // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() 3093 func (_IUniswapV2Pair *IUniswapV2PairTransactorSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { 3094 return _IUniswapV2Pair.Contract.Permit(&_IUniswapV2Pair.TransactOpts, owner, spender, value, deadline, v, r, s) 3095 } 3096 3097 // Skim is a paid mutator transaction binding the contract method 0xbc25cf77. 3098 // 3099 // Solidity: function skim(address to) returns() 3100 func (_IUniswapV2Pair *IUniswapV2PairTransactor) Skim(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { 3101 return _IUniswapV2Pair.contract.Transact(opts, "skim", to) 3102 } 3103 3104 // Skim is a paid mutator transaction binding the contract method 0xbc25cf77. 3105 // 3106 // Solidity: function skim(address to) returns() 3107 func (_IUniswapV2Pair *IUniswapV2PairSession) Skim(to common.Address) (*types.Transaction, error) { 3108 return _IUniswapV2Pair.Contract.Skim(&_IUniswapV2Pair.TransactOpts, to) 3109 } 3110 3111 // Skim is a paid mutator transaction binding the contract method 0xbc25cf77. 3112 // 3113 // Solidity: function skim(address to) returns() 3114 func (_IUniswapV2Pair *IUniswapV2PairTransactorSession) Skim(to common.Address) (*types.Transaction, error) { 3115 return _IUniswapV2Pair.Contract.Skim(&_IUniswapV2Pair.TransactOpts, to) 3116 } 3117 3118 // Swap is a paid mutator transaction binding the contract method 0x022c0d9f. 3119 // 3120 // Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() 3121 func (_IUniswapV2Pair *IUniswapV2PairTransactor) Swap(opts *bind.TransactOpts, amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { 3122 return _IUniswapV2Pair.contract.Transact(opts, "swap", amount0Out, amount1Out, to, data) 3123 } 3124 3125 // Swap is a paid mutator transaction binding the contract method 0x022c0d9f. 3126 // 3127 // Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() 3128 func (_IUniswapV2Pair *IUniswapV2PairSession) Swap(amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { 3129 return _IUniswapV2Pair.Contract.Swap(&_IUniswapV2Pair.TransactOpts, amount0Out, amount1Out, to, data) 3130 } 3131 3132 // Swap is a paid mutator transaction binding the contract method 0x022c0d9f. 3133 // 3134 // Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() 3135 func (_IUniswapV2Pair *IUniswapV2PairTransactorSession) Swap(amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { 3136 return _IUniswapV2Pair.Contract.Swap(&_IUniswapV2Pair.TransactOpts, amount0Out, amount1Out, to, data) 3137 } 3138 3139 // Sync is a paid mutator transaction binding the contract method 0xfff6cae9. 3140 // 3141 // Solidity: function sync() returns() 3142 func (_IUniswapV2Pair *IUniswapV2PairTransactor) Sync(opts *bind.TransactOpts) (*types.Transaction, error) { 3143 return _IUniswapV2Pair.contract.Transact(opts, "sync") 3144 } 3145 3146 // Sync is a paid mutator transaction binding the contract method 0xfff6cae9. 3147 // 3148 // Solidity: function sync() returns() 3149 func (_IUniswapV2Pair *IUniswapV2PairSession) Sync() (*types.Transaction, error) { 3150 return _IUniswapV2Pair.Contract.Sync(&_IUniswapV2Pair.TransactOpts) 3151 } 3152 3153 // Sync is a paid mutator transaction binding the contract method 0xfff6cae9. 3154 // 3155 // Solidity: function sync() returns() 3156 func (_IUniswapV2Pair *IUniswapV2PairTransactorSession) Sync() (*types.Transaction, error) { 3157 return _IUniswapV2Pair.Contract.Sync(&_IUniswapV2Pair.TransactOpts) 3158 } 3159 3160 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 3161 // 3162 // Solidity: function transfer(address to, uint256 value) returns(bool) 3163 func (_IUniswapV2Pair *IUniswapV2PairTransactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error) { 3164 return _IUniswapV2Pair.contract.Transact(opts, "transfer", to, value) 3165 } 3166 3167 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 3168 // 3169 // Solidity: function transfer(address to, uint256 value) returns(bool) 3170 func (_IUniswapV2Pair *IUniswapV2PairSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { 3171 return _IUniswapV2Pair.Contract.Transfer(&_IUniswapV2Pair.TransactOpts, to, value) 3172 } 3173 3174 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 3175 // 3176 // Solidity: function transfer(address to, uint256 value) returns(bool) 3177 func (_IUniswapV2Pair *IUniswapV2PairTransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { 3178 return _IUniswapV2Pair.Contract.Transfer(&_IUniswapV2Pair.TransactOpts, to, value) 3179 } 3180 3181 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3182 // 3183 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 3184 func (_IUniswapV2Pair *IUniswapV2PairTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 3185 return _IUniswapV2Pair.contract.Transact(opts, "transferFrom", from, to, value) 3186 } 3187 3188 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3189 // 3190 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 3191 func (_IUniswapV2Pair *IUniswapV2PairSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 3192 return _IUniswapV2Pair.Contract.TransferFrom(&_IUniswapV2Pair.TransactOpts, from, to, value) 3193 } 3194 3195 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 3196 // 3197 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 3198 func (_IUniswapV2Pair *IUniswapV2PairTransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 3199 return _IUniswapV2Pair.Contract.TransferFrom(&_IUniswapV2Pair.TransactOpts, from, to, value) 3200 } 3201 3202 // IUniswapV2PairApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IUniswapV2Pair contract. 3203 type IUniswapV2PairApprovalIterator struct { 3204 Event *IUniswapV2PairApproval // Event containing the contract specifics and raw log 3205 3206 contract *bind.BoundContract // Generic contract to use for unpacking event data 3207 event string // Event name to use for unpacking event data 3208 3209 logs chan types.Log // Log channel receiving the found contract events 3210 sub ethereum.Subscription // Subscription for errors, completion and termination 3211 done bool // Whether the subscription completed delivering logs 3212 fail error // Occurred error to stop iteration 3213 } 3214 3215 // Next advances the iterator to the subsequent event, returning whether there 3216 // are any more events found. In case of a retrieval or parsing error, false is 3217 // returned and Error() can be queried for the exact failure. 3218 func (it *IUniswapV2PairApprovalIterator) Next() bool { 3219 // If the iterator failed, stop iterating 3220 if it.fail != nil { 3221 return false 3222 } 3223 // If the iterator completed, deliver directly whatever's available 3224 if it.done { 3225 select { 3226 case log := <-it.logs: 3227 it.Event = new(IUniswapV2PairApproval) 3228 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3229 it.fail = err 3230 return false 3231 } 3232 it.Event.Raw = log 3233 return true 3234 3235 default: 3236 return false 3237 } 3238 } 3239 // Iterator still in progress, wait for either a data or an error event 3240 select { 3241 case log := <-it.logs: 3242 it.Event = new(IUniswapV2PairApproval) 3243 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3244 it.fail = err 3245 return false 3246 } 3247 it.Event.Raw = log 3248 return true 3249 3250 case err := <-it.sub.Err(): 3251 it.done = true 3252 it.fail = err 3253 return it.Next() 3254 } 3255 } 3256 3257 // Error returns any retrieval or parsing error occurred during filtering. 3258 func (it *IUniswapV2PairApprovalIterator) Error() error { 3259 return it.fail 3260 } 3261 3262 // Close terminates the iteration process, releasing any pending underlying 3263 // resources. 3264 func (it *IUniswapV2PairApprovalIterator) Close() error { 3265 it.sub.Unsubscribe() 3266 return nil 3267 } 3268 3269 // IUniswapV2PairApproval represents a Approval event raised by the IUniswapV2Pair contract. 3270 type IUniswapV2PairApproval struct { 3271 Owner common.Address 3272 Spender common.Address 3273 Value *big.Int 3274 Raw types.Log // Blockchain specific contextual infos 3275 } 3276 3277 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3278 // 3279 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 3280 func (_IUniswapV2Pair *IUniswapV2PairFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*IUniswapV2PairApprovalIterator, error) { 3281 3282 var ownerRule []interface{} 3283 for _, ownerItem := range owner { 3284 ownerRule = append(ownerRule, ownerItem) 3285 } 3286 var spenderRule []interface{} 3287 for _, spenderItem := range spender { 3288 spenderRule = append(spenderRule, spenderItem) 3289 } 3290 3291 logs, sub, err := _IUniswapV2Pair.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 3292 if err != nil { 3293 return nil, err 3294 } 3295 return &IUniswapV2PairApprovalIterator{contract: _IUniswapV2Pair.contract, event: "Approval", logs: logs, sub: sub}, nil 3296 } 3297 3298 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3299 // 3300 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 3301 func (_IUniswapV2Pair *IUniswapV2PairFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IUniswapV2PairApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 3302 3303 var ownerRule []interface{} 3304 for _, ownerItem := range owner { 3305 ownerRule = append(ownerRule, ownerItem) 3306 } 3307 var spenderRule []interface{} 3308 for _, spenderItem := range spender { 3309 spenderRule = append(spenderRule, spenderItem) 3310 } 3311 3312 logs, sub, err := _IUniswapV2Pair.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 3313 if err != nil { 3314 return nil, err 3315 } 3316 return event.NewSubscription(func(quit <-chan struct{}) error { 3317 defer sub.Unsubscribe() 3318 for { 3319 select { 3320 case log := <-logs: 3321 // New log arrived, parse the event and forward to the user 3322 event := new(IUniswapV2PairApproval) 3323 if err := _IUniswapV2Pair.contract.UnpackLog(event, "Approval", log); err != nil { 3324 return err 3325 } 3326 event.Raw = log 3327 3328 select { 3329 case sink <- event: 3330 case err := <-sub.Err(): 3331 return err 3332 case <-quit: 3333 return nil 3334 } 3335 case err := <-sub.Err(): 3336 return err 3337 case <-quit: 3338 return nil 3339 } 3340 } 3341 }), nil 3342 } 3343 3344 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 3345 // 3346 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 3347 func (_IUniswapV2Pair *IUniswapV2PairFilterer) ParseApproval(log types.Log) (*IUniswapV2PairApproval, error) { 3348 event := new(IUniswapV2PairApproval) 3349 if err := _IUniswapV2Pair.contract.UnpackLog(event, "Approval", log); err != nil { 3350 return nil, err 3351 } 3352 return event, nil 3353 } 3354 3355 // IUniswapV2PairBurnIterator is returned from FilterBurn and is used to iterate over the raw logs and unpacked data for Burn events raised by the IUniswapV2Pair contract. 3356 type IUniswapV2PairBurnIterator struct { 3357 Event *IUniswapV2PairBurn // Event containing the contract specifics and raw log 3358 3359 contract *bind.BoundContract // Generic contract to use for unpacking event data 3360 event string // Event name to use for unpacking event data 3361 3362 logs chan types.Log // Log channel receiving the found contract events 3363 sub ethereum.Subscription // Subscription for errors, completion and termination 3364 done bool // Whether the subscription completed delivering logs 3365 fail error // Occurred error to stop iteration 3366 } 3367 3368 // Next advances the iterator to the subsequent event, returning whether there 3369 // are any more events found. In case of a retrieval or parsing error, false is 3370 // returned and Error() can be queried for the exact failure. 3371 func (it *IUniswapV2PairBurnIterator) Next() bool { 3372 // If the iterator failed, stop iterating 3373 if it.fail != nil { 3374 return false 3375 } 3376 // If the iterator completed, deliver directly whatever's available 3377 if it.done { 3378 select { 3379 case log := <-it.logs: 3380 it.Event = new(IUniswapV2PairBurn) 3381 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3382 it.fail = err 3383 return false 3384 } 3385 it.Event.Raw = log 3386 return true 3387 3388 default: 3389 return false 3390 } 3391 } 3392 // Iterator still in progress, wait for either a data or an error event 3393 select { 3394 case log := <-it.logs: 3395 it.Event = new(IUniswapV2PairBurn) 3396 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3397 it.fail = err 3398 return false 3399 } 3400 it.Event.Raw = log 3401 return true 3402 3403 case err := <-it.sub.Err(): 3404 it.done = true 3405 it.fail = err 3406 return it.Next() 3407 } 3408 } 3409 3410 // Error returns any retrieval or parsing error occurred during filtering. 3411 func (it *IUniswapV2PairBurnIterator) Error() error { 3412 return it.fail 3413 } 3414 3415 // Close terminates the iteration process, releasing any pending underlying 3416 // resources. 3417 func (it *IUniswapV2PairBurnIterator) Close() error { 3418 it.sub.Unsubscribe() 3419 return nil 3420 } 3421 3422 // IUniswapV2PairBurn represents a Burn event raised by the IUniswapV2Pair contract. 3423 type IUniswapV2PairBurn struct { 3424 Sender common.Address 3425 Amount0 *big.Int 3426 Amount1 *big.Int 3427 To common.Address 3428 Raw types.Log // Blockchain specific contextual infos 3429 } 3430 3431 // FilterBurn is a free log retrieval operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. 3432 // 3433 // Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) 3434 func (_IUniswapV2Pair *IUniswapV2PairFilterer) FilterBurn(opts *bind.FilterOpts, sender []common.Address, to []common.Address) (*IUniswapV2PairBurnIterator, error) { 3435 3436 var senderRule []interface{} 3437 for _, senderItem := range sender { 3438 senderRule = append(senderRule, senderItem) 3439 } 3440 3441 var toRule []interface{} 3442 for _, toItem := range to { 3443 toRule = append(toRule, toItem) 3444 } 3445 3446 logs, sub, err := _IUniswapV2Pair.contract.FilterLogs(opts, "Burn", senderRule, toRule) 3447 if err != nil { 3448 return nil, err 3449 } 3450 return &IUniswapV2PairBurnIterator{contract: _IUniswapV2Pair.contract, event: "Burn", logs: logs, sub: sub}, nil 3451 } 3452 3453 // WatchBurn is a free log subscription operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. 3454 // 3455 // Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) 3456 func (_IUniswapV2Pair *IUniswapV2PairFilterer) WatchBurn(opts *bind.WatchOpts, sink chan<- *IUniswapV2PairBurn, sender []common.Address, to []common.Address) (event.Subscription, error) { 3457 3458 var senderRule []interface{} 3459 for _, senderItem := range sender { 3460 senderRule = append(senderRule, senderItem) 3461 } 3462 3463 var toRule []interface{} 3464 for _, toItem := range to { 3465 toRule = append(toRule, toItem) 3466 } 3467 3468 logs, sub, err := _IUniswapV2Pair.contract.WatchLogs(opts, "Burn", senderRule, toRule) 3469 if err != nil { 3470 return nil, err 3471 } 3472 return event.NewSubscription(func(quit <-chan struct{}) error { 3473 defer sub.Unsubscribe() 3474 for { 3475 select { 3476 case log := <-logs: 3477 // New log arrived, parse the event and forward to the user 3478 event := new(IUniswapV2PairBurn) 3479 if err := _IUniswapV2Pair.contract.UnpackLog(event, "Burn", log); err != nil { 3480 return err 3481 } 3482 event.Raw = log 3483 3484 select { 3485 case sink <- event: 3486 case err := <-sub.Err(): 3487 return err 3488 case <-quit: 3489 return nil 3490 } 3491 case err := <-sub.Err(): 3492 return err 3493 case <-quit: 3494 return nil 3495 } 3496 } 3497 }), nil 3498 } 3499 3500 // ParseBurn is a log parse operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. 3501 // 3502 // Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) 3503 func (_IUniswapV2Pair *IUniswapV2PairFilterer) ParseBurn(log types.Log) (*IUniswapV2PairBurn, error) { 3504 event := new(IUniswapV2PairBurn) 3505 if err := _IUniswapV2Pair.contract.UnpackLog(event, "Burn", log); err != nil { 3506 return nil, err 3507 } 3508 return event, nil 3509 } 3510 3511 // IUniswapV2PairMintIterator is returned from FilterMint and is used to iterate over the raw logs and unpacked data for Mint events raised by the IUniswapV2Pair contract. 3512 type IUniswapV2PairMintIterator struct { 3513 Event *IUniswapV2PairMint // Event containing the contract specifics and raw log 3514 3515 contract *bind.BoundContract // Generic contract to use for unpacking event data 3516 event string // Event name to use for unpacking event data 3517 3518 logs chan types.Log // Log channel receiving the found contract events 3519 sub ethereum.Subscription // Subscription for errors, completion and termination 3520 done bool // Whether the subscription completed delivering logs 3521 fail error // Occurred error to stop iteration 3522 } 3523 3524 // Next advances the iterator to the subsequent event, returning whether there 3525 // are any more events found. In case of a retrieval or parsing error, false is 3526 // returned and Error() can be queried for the exact failure. 3527 func (it *IUniswapV2PairMintIterator) Next() bool { 3528 // If the iterator failed, stop iterating 3529 if it.fail != nil { 3530 return false 3531 } 3532 // If the iterator completed, deliver directly whatever's available 3533 if it.done { 3534 select { 3535 case log := <-it.logs: 3536 it.Event = new(IUniswapV2PairMint) 3537 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3538 it.fail = err 3539 return false 3540 } 3541 it.Event.Raw = log 3542 return true 3543 3544 default: 3545 return false 3546 } 3547 } 3548 // Iterator still in progress, wait for either a data or an error event 3549 select { 3550 case log := <-it.logs: 3551 it.Event = new(IUniswapV2PairMint) 3552 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3553 it.fail = err 3554 return false 3555 } 3556 it.Event.Raw = log 3557 return true 3558 3559 case err := <-it.sub.Err(): 3560 it.done = true 3561 it.fail = err 3562 return it.Next() 3563 } 3564 } 3565 3566 // Error returns any retrieval or parsing error occurred during filtering. 3567 func (it *IUniswapV2PairMintIterator) Error() error { 3568 return it.fail 3569 } 3570 3571 // Close terminates the iteration process, releasing any pending underlying 3572 // resources. 3573 func (it *IUniswapV2PairMintIterator) Close() error { 3574 it.sub.Unsubscribe() 3575 return nil 3576 } 3577 3578 // IUniswapV2PairMint represents a Mint event raised by the IUniswapV2Pair contract. 3579 type IUniswapV2PairMint struct { 3580 Sender common.Address 3581 Amount0 *big.Int 3582 Amount1 *big.Int 3583 Raw types.Log // Blockchain specific contextual infos 3584 } 3585 3586 // FilterMint is a free log retrieval operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. 3587 // 3588 // Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) 3589 func (_IUniswapV2Pair *IUniswapV2PairFilterer) FilterMint(opts *bind.FilterOpts, sender []common.Address) (*IUniswapV2PairMintIterator, error) { 3590 3591 var senderRule []interface{} 3592 for _, senderItem := range sender { 3593 senderRule = append(senderRule, senderItem) 3594 } 3595 3596 logs, sub, err := _IUniswapV2Pair.contract.FilterLogs(opts, "Mint", senderRule) 3597 if err != nil { 3598 return nil, err 3599 } 3600 return &IUniswapV2PairMintIterator{contract: _IUniswapV2Pair.contract, event: "Mint", logs: logs, sub: sub}, nil 3601 } 3602 3603 // WatchMint is a free log subscription operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. 3604 // 3605 // Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) 3606 func (_IUniswapV2Pair *IUniswapV2PairFilterer) WatchMint(opts *bind.WatchOpts, sink chan<- *IUniswapV2PairMint, sender []common.Address) (event.Subscription, error) { 3607 3608 var senderRule []interface{} 3609 for _, senderItem := range sender { 3610 senderRule = append(senderRule, senderItem) 3611 } 3612 3613 logs, sub, err := _IUniswapV2Pair.contract.WatchLogs(opts, "Mint", senderRule) 3614 if err != nil { 3615 return nil, err 3616 } 3617 return event.NewSubscription(func(quit <-chan struct{}) error { 3618 defer sub.Unsubscribe() 3619 for { 3620 select { 3621 case log := <-logs: 3622 // New log arrived, parse the event and forward to the user 3623 event := new(IUniswapV2PairMint) 3624 if err := _IUniswapV2Pair.contract.UnpackLog(event, "Mint", log); err != nil { 3625 return err 3626 } 3627 event.Raw = log 3628 3629 select { 3630 case sink <- event: 3631 case err := <-sub.Err(): 3632 return err 3633 case <-quit: 3634 return nil 3635 } 3636 case err := <-sub.Err(): 3637 return err 3638 case <-quit: 3639 return nil 3640 } 3641 } 3642 }), nil 3643 } 3644 3645 // ParseMint is a log parse operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. 3646 // 3647 // Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) 3648 func (_IUniswapV2Pair *IUniswapV2PairFilterer) ParseMint(log types.Log) (*IUniswapV2PairMint, error) { 3649 event := new(IUniswapV2PairMint) 3650 if err := _IUniswapV2Pair.contract.UnpackLog(event, "Mint", log); err != nil { 3651 return nil, err 3652 } 3653 return event, nil 3654 } 3655 3656 // IUniswapV2PairSwapIterator is returned from FilterSwap and is used to iterate over the raw logs and unpacked data for Swap events raised by the IUniswapV2Pair contract. 3657 type IUniswapV2PairSwapIterator struct { 3658 Event *IUniswapV2PairSwap // Event containing the contract specifics and raw log 3659 3660 contract *bind.BoundContract // Generic contract to use for unpacking event data 3661 event string // Event name to use for unpacking event data 3662 3663 logs chan types.Log // Log channel receiving the found contract events 3664 sub ethereum.Subscription // Subscription for errors, completion and termination 3665 done bool // Whether the subscription completed delivering logs 3666 fail error // Occurred error to stop iteration 3667 } 3668 3669 // Next advances the iterator to the subsequent event, returning whether there 3670 // are any more events found. In case of a retrieval or parsing error, false is 3671 // returned and Error() can be queried for the exact failure. 3672 func (it *IUniswapV2PairSwapIterator) Next() bool { 3673 // If the iterator failed, stop iterating 3674 if it.fail != nil { 3675 return false 3676 } 3677 // If the iterator completed, deliver directly whatever's available 3678 if it.done { 3679 select { 3680 case log := <-it.logs: 3681 it.Event = new(IUniswapV2PairSwap) 3682 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3683 it.fail = err 3684 return false 3685 } 3686 it.Event.Raw = log 3687 return true 3688 3689 default: 3690 return false 3691 } 3692 } 3693 // Iterator still in progress, wait for either a data or an error event 3694 select { 3695 case log := <-it.logs: 3696 it.Event = new(IUniswapV2PairSwap) 3697 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3698 it.fail = err 3699 return false 3700 } 3701 it.Event.Raw = log 3702 return true 3703 3704 case err := <-it.sub.Err(): 3705 it.done = true 3706 it.fail = err 3707 return it.Next() 3708 } 3709 } 3710 3711 // Error returns any retrieval or parsing error occurred during filtering. 3712 func (it *IUniswapV2PairSwapIterator) Error() error { 3713 return it.fail 3714 } 3715 3716 // Close terminates the iteration process, releasing any pending underlying 3717 // resources. 3718 func (it *IUniswapV2PairSwapIterator) Close() error { 3719 it.sub.Unsubscribe() 3720 return nil 3721 } 3722 3723 // IUniswapV2PairSwap represents a Swap event raised by the IUniswapV2Pair contract. 3724 type IUniswapV2PairSwap struct { 3725 Sender common.Address 3726 Amount0In *big.Int 3727 Amount1In *big.Int 3728 Amount0Out *big.Int 3729 Amount1Out *big.Int 3730 To common.Address 3731 Raw types.Log // Blockchain specific contextual infos 3732 } 3733 3734 // FilterSwap is a free log retrieval operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. 3735 // 3736 // Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) 3737 func (_IUniswapV2Pair *IUniswapV2PairFilterer) FilterSwap(opts *bind.FilterOpts, sender []common.Address, to []common.Address) (*IUniswapV2PairSwapIterator, error) { 3738 3739 var senderRule []interface{} 3740 for _, senderItem := range sender { 3741 senderRule = append(senderRule, senderItem) 3742 } 3743 3744 var toRule []interface{} 3745 for _, toItem := range to { 3746 toRule = append(toRule, toItem) 3747 } 3748 3749 logs, sub, err := _IUniswapV2Pair.contract.FilterLogs(opts, "Swap", senderRule, toRule) 3750 if err != nil { 3751 return nil, err 3752 } 3753 return &IUniswapV2PairSwapIterator{contract: _IUniswapV2Pair.contract, event: "Swap", logs: logs, sub: sub}, nil 3754 } 3755 3756 // WatchSwap is a free log subscription operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. 3757 // 3758 // Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) 3759 func (_IUniswapV2Pair *IUniswapV2PairFilterer) WatchSwap(opts *bind.WatchOpts, sink chan<- *IUniswapV2PairSwap, sender []common.Address, to []common.Address) (event.Subscription, error) { 3760 3761 var senderRule []interface{} 3762 for _, senderItem := range sender { 3763 senderRule = append(senderRule, senderItem) 3764 } 3765 3766 var toRule []interface{} 3767 for _, toItem := range to { 3768 toRule = append(toRule, toItem) 3769 } 3770 3771 logs, sub, err := _IUniswapV2Pair.contract.WatchLogs(opts, "Swap", senderRule, toRule) 3772 if err != nil { 3773 return nil, err 3774 } 3775 return event.NewSubscription(func(quit <-chan struct{}) error { 3776 defer sub.Unsubscribe() 3777 for { 3778 select { 3779 case log := <-logs: 3780 // New log arrived, parse the event and forward to the user 3781 event := new(IUniswapV2PairSwap) 3782 if err := _IUniswapV2Pair.contract.UnpackLog(event, "Swap", log); err != nil { 3783 return err 3784 } 3785 event.Raw = log 3786 3787 select { 3788 case sink <- event: 3789 case err := <-sub.Err(): 3790 return err 3791 case <-quit: 3792 return nil 3793 } 3794 case err := <-sub.Err(): 3795 return err 3796 case <-quit: 3797 return nil 3798 } 3799 } 3800 }), nil 3801 } 3802 3803 // ParseSwap is a log parse operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. 3804 // 3805 // Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) 3806 func (_IUniswapV2Pair *IUniswapV2PairFilterer) ParseSwap(log types.Log) (*IUniswapV2PairSwap, error) { 3807 event := new(IUniswapV2PairSwap) 3808 if err := _IUniswapV2Pair.contract.UnpackLog(event, "Swap", log); err != nil { 3809 return nil, err 3810 } 3811 return event, nil 3812 } 3813 3814 // IUniswapV2PairSyncIterator is returned from FilterSync and is used to iterate over the raw logs and unpacked data for Sync events raised by the IUniswapV2Pair contract. 3815 type IUniswapV2PairSyncIterator struct { 3816 Event *IUniswapV2PairSync // Event containing the contract specifics and raw log 3817 3818 contract *bind.BoundContract // Generic contract to use for unpacking event data 3819 event string // Event name to use for unpacking event data 3820 3821 logs chan types.Log // Log channel receiving the found contract events 3822 sub ethereum.Subscription // Subscription for errors, completion and termination 3823 done bool // Whether the subscription completed delivering logs 3824 fail error // Occurred error to stop iteration 3825 } 3826 3827 // Next advances the iterator to the subsequent event, returning whether there 3828 // are any more events found. In case of a retrieval or parsing error, false is 3829 // returned and Error() can be queried for the exact failure. 3830 func (it *IUniswapV2PairSyncIterator) Next() bool { 3831 // If the iterator failed, stop iterating 3832 if it.fail != nil { 3833 return false 3834 } 3835 // If the iterator completed, deliver directly whatever's available 3836 if it.done { 3837 select { 3838 case log := <-it.logs: 3839 it.Event = new(IUniswapV2PairSync) 3840 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3841 it.fail = err 3842 return false 3843 } 3844 it.Event.Raw = log 3845 return true 3846 3847 default: 3848 return false 3849 } 3850 } 3851 // Iterator still in progress, wait for either a data or an error event 3852 select { 3853 case log := <-it.logs: 3854 it.Event = new(IUniswapV2PairSync) 3855 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3856 it.fail = err 3857 return false 3858 } 3859 it.Event.Raw = log 3860 return true 3861 3862 case err := <-it.sub.Err(): 3863 it.done = true 3864 it.fail = err 3865 return it.Next() 3866 } 3867 } 3868 3869 // Error returns any retrieval or parsing error occurred during filtering. 3870 func (it *IUniswapV2PairSyncIterator) Error() error { 3871 return it.fail 3872 } 3873 3874 // Close terminates the iteration process, releasing any pending underlying 3875 // resources. 3876 func (it *IUniswapV2PairSyncIterator) Close() error { 3877 it.sub.Unsubscribe() 3878 return nil 3879 } 3880 3881 // IUniswapV2PairSync represents a Sync event raised by the IUniswapV2Pair contract. 3882 type IUniswapV2PairSync struct { 3883 Reserve0 *big.Int 3884 Reserve1 *big.Int 3885 Raw types.Log // Blockchain specific contextual infos 3886 } 3887 3888 // FilterSync is a free log retrieval operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. 3889 // 3890 // Solidity: event Sync(uint112 reserve0, uint112 reserve1) 3891 func (_IUniswapV2Pair *IUniswapV2PairFilterer) FilterSync(opts *bind.FilterOpts) (*IUniswapV2PairSyncIterator, error) { 3892 3893 logs, sub, err := _IUniswapV2Pair.contract.FilterLogs(opts, "Sync") 3894 if err != nil { 3895 return nil, err 3896 } 3897 return &IUniswapV2PairSyncIterator{contract: _IUniswapV2Pair.contract, event: "Sync", logs: logs, sub: sub}, nil 3898 } 3899 3900 // WatchSync is a free log subscription operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. 3901 // 3902 // Solidity: event Sync(uint112 reserve0, uint112 reserve1) 3903 func (_IUniswapV2Pair *IUniswapV2PairFilterer) WatchSync(opts *bind.WatchOpts, sink chan<- *IUniswapV2PairSync) (event.Subscription, error) { 3904 3905 logs, sub, err := _IUniswapV2Pair.contract.WatchLogs(opts, "Sync") 3906 if err != nil { 3907 return nil, err 3908 } 3909 return event.NewSubscription(func(quit <-chan struct{}) error { 3910 defer sub.Unsubscribe() 3911 for { 3912 select { 3913 case log := <-logs: 3914 // New log arrived, parse the event and forward to the user 3915 event := new(IUniswapV2PairSync) 3916 if err := _IUniswapV2Pair.contract.UnpackLog(event, "Sync", log); err != nil { 3917 return err 3918 } 3919 event.Raw = log 3920 3921 select { 3922 case sink <- event: 3923 case err := <-sub.Err(): 3924 return err 3925 case <-quit: 3926 return nil 3927 } 3928 case err := <-sub.Err(): 3929 return err 3930 case <-quit: 3931 return nil 3932 } 3933 } 3934 }), nil 3935 } 3936 3937 // ParseSync is a log parse operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. 3938 // 3939 // Solidity: event Sync(uint112 reserve0, uint112 reserve1) 3940 func (_IUniswapV2Pair *IUniswapV2PairFilterer) ParseSync(log types.Log) (*IUniswapV2PairSync, error) { 3941 event := new(IUniswapV2PairSync) 3942 if err := _IUniswapV2Pair.contract.UnpackLog(event, "Sync", log); err != nil { 3943 return nil, err 3944 } 3945 return event, nil 3946 } 3947 3948 // IUniswapV2PairTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IUniswapV2Pair contract. 3949 type IUniswapV2PairTransferIterator struct { 3950 Event *IUniswapV2PairTransfer // Event containing the contract specifics and raw log 3951 3952 contract *bind.BoundContract // Generic contract to use for unpacking event data 3953 event string // Event name to use for unpacking event data 3954 3955 logs chan types.Log // Log channel receiving the found contract events 3956 sub ethereum.Subscription // Subscription for errors, completion and termination 3957 done bool // Whether the subscription completed delivering logs 3958 fail error // Occurred error to stop iteration 3959 } 3960 3961 // Next advances the iterator to the subsequent event, returning whether there 3962 // are any more events found. In case of a retrieval or parsing error, false is 3963 // returned and Error() can be queried for the exact failure. 3964 func (it *IUniswapV2PairTransferIterator) Next() bool { 3965 // If the iterator failed, stop iterating 3966 if it.fail != nil { 3967 return false 3968 } 3969 // If the iterator completed, deliver directly whatever's available 3970 if it.done { 3971 select { 3972 case log := <-it.logs: 3973 it.Event = new(IUniswapV2PairTransfer) 3974 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3975 it.fail = err 3976 return false 3977 } 3978 it.Event.Raw = log 3979 return true 3980 3981 default: 3982 return false 3983 } 3984 } 3985 // Iterator still in progress, wait for either a data or an error event 3986 select { 3987 case log := <-it.logs: 3988 it.Event = new(IUniswapV2PairTransfer) 3989 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 3990 it.fail = err 3991 return false 3992 } 3993 it.Event.Raw = log 3994 return true 3995 3996 case err := <-it.sub.Err(): 3997 it.done = true 3998 it.fail = err 3999 return it.Next() 4000 } 4001 } 4002 4003 // Error returns any retrieval or parsing error occurred during filtering. 4004 func (it *IUniswapV2PairTransferIterator) Error() error { 4005 return it.fail 4006 } 4007 4008 // Close terminates the iteration process, releasing any pending underlying 4009 // resources. 4010 func (it *IUniswapV2PairTransferIterator) Close() error { 4011 it.sub.Unsubscribe() 4012 return nil 4013 } 4014 4015 // IUniswapV2PairTransfer represents a Transfer event raised by the IUniswapV2Pair contract. 4016 type IUniswapV2PairTransfer struct { 4017 From common.Address 4018 To common.Address 4019 Value *big.Int 4020 Raw types.Log // Blockchain specific contextual infos 4021 } 4022 4023 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4024 // 4025 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 4026 func (_IUniswapV2Pair *IUniswapV2PairFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IUniswapV2PairTransferIterator, error) { 4027 4028 var fromRule []interface{} 4029 for _, fromItem := range from { 4030 fromRule = append(fromRule, fromItem) 4031 } 4032 var toRule []interface{} 4033 for _, toItem := range to { 4034 toRule = append(toRule, toItem) 4035 } 4036 4037 logs, sub, err := _IUniswapV2Pair.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 4038 if err != nil { 4039 return nil, err 4040 } 4041 return &IUniswapV2PairTransferIterator{contract: _IUniswapV2Pair.contract, event: "Transfer", logs: logs, sub: sub}, nil 4042 } 4043 4044 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4045 // 4046 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 4047 func (_IUniswapV2Pair *IUniswapV2PairFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IUniswapV2PairTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { 4048 4049 var fromRule []interface{} 4050 for _, fromItem := range from { 4051 fromRule = append(fromRule, fromItem) 4052 } 4053 var toRule []interface{} 4054 for _, toItem := range to { 4055 toRule = append(toRule, toItem) 4056 } 4057 4058 logs, sub, err := _IUniswapV2Pair.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 4059 if err != nil { 4060 return nil, err 4061 } 4062 return event.NewSubscription(func(quit <-chan struct{}) error { 4063 defer sub.Unsubscribe() 4064 for { 4065 select { 4066 case log := <-logs: 4067 // New log arrived, parse the event and forward to the user 4068 event := new(IUniswapV2PairTransfer) 4069 if err := _IUniswapV2Pair.contract.UnpackLog(event, "Transfer", log); err != nil { 4070 return err 4071 } 4072 event.Raw = log 4073 4074 select { 4075 case sink <- event: 4076 case err := <-sub.Err(): 4077 return err 4078 case <-quit: 4079 return nil 4080 } 4081 case err := <-sub.Err(): 4082 return err 4083 case <-quit: 4084 return nil 4085 } 4086 } 4087 }), nil 4088 } 4089 4090 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 4091 // 4092 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 4093 func (_IUniswapV2Pair *IUniswapV2PairFilterer) ParseTransfer(log types.Log) (*IUniswapV2PairTransfer, error) { 4094 event := new(IUniswapV2PairTransfer) 4095 if err := _IUniswapV2Pair.contract.UnpackLog(event, "Transfer", log); err != nil { 4096 return nil, err 4097 } 4098 return event, nil 4099 } 4100 4101 // MathABI is the input ABI used to generate the binding from. 4102 const MathABI = "[]" 4103 4104 // MathBin is the compiled bytecode used for deploying new contracts. 4105 var MathBin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582081e9ccd423fcc993f0e81d159cb672b6a490c6b351a9573a5320d62398367f1564736f6c63430005100032" 4106 4107 // DeployMath deploys a new Ethereum contract, binding an instance of Math to it. 4108 func DeployMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Math, error) { 4109 parsed, err := abi.JSON(strings.NewReader(MathABI)) 4110 if err != nil { 4111 return common.Address{}, nil, nil, err 4112 } 4113 4114 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(MathBin), backend) 4115 if err != nil { 4116 return common.Address{}, nil, nil, err 4117 } 4118 return address, tx, &Math{MathCaller: MathCaller{contract: contract}, MathTransactor: MathTransactor{contract: contract}, MathFilterer: MathFilterer{contract: contract}}, nil 4119 } 4120 4121 // Math is an auto generated Go binding around an Ethereum contract. 4122 type Math struct { 4123 MathCaller // Read-only binding to the contract 4124 MathTransactor // Write-only binding to the contract 4125 MathFilterer // Log filterer for contract events 4126 } 4127 4128 // MathCaller is an auto generated read-only Go binding around an Ethereum contract. 4129 type MathCaller struct { 4130 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4131 } 4132 4133 // MathTransactor is an auto generated write-only Go binding around an Ethereum contract. 4134 type MathTransactor struct { 4135 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4136 } 4137 4138 // MathFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 4139 type MathFilterer struct { 4140 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4141 } 4142 4143 // MathSession is an auto generated Go binding around an Ethereum contract, 4144 // with pre-set call and transact options. 4145 type MathSession struct { 4146 Contract *Math // Generic contract binding to set the session for 4147 CallOpts bind.CallOpts // Call options to use throughout this session 4148 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4149 } 4150 4151 // MathCallerSession is an auto generated read-only Go binding around an Ethereum contract, 4152 // with pre-set call options. 4153 type MathCallerSession struct { 4154 Contract *MathCaller // Generic contract caller binding to set the session for 4155 CallOpts bind.CallOpts // Call options to use throughout this session 4156 } 4157 4158 // MathTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 4159 // with pre-set transact options. 4160 type MathTransactorSession struct { 4161 Contract *MathTransactor // Generic contract transactor binding to set the session for 4162 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4163 } 4164 4165 // MathRaw is an auto generated low-level Go binding around an Ethereum contract. 4166 type MathRaw struct { 4167 Contract *Math // Generic contract binding to access the raw methods on 4168 } 4169 4170 // MathCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 4171 type MathCallerRaw struct { 4172 Contract *MathCaller // Generic read-only contract binding to access the raw methods on 4173 } 4174 4175 // MathTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 4176 type MathTransactorRaw struct { 4177 Contract *MathTransactor // Generic write-only contract binding to access the raw methods on 4178 } 4179 4180 // NewMath creates a new instance of Math, bound to a specific deployed contract. 4181 func NewMath(address common.Address, backend bind.ContractBackend) (*Math, error) { 4182 contract, err := bindMath(address, backend, backend, backend) 4183 if err != nil { 4184 return nil, err 4185 } 4186 return &Math{MathCaller: MathCaller{contract: contract}, MathTransactor: MathTransactor{contract: contract}, MathFilterer: MathFilterer{contract: contract}}, nil 4187 } 4188 4189 // NewMathCaller creates a new read-only instance of Math, bound to a specific deployed contract. 4190 func NewMathCaller(address common.Address, caller bind.ContractCaller) (*MathCaller, error) { 4191 contract, err := bindMath(address, caller, nil, nil) 4192 if err != nil { 4193 return nil, err 4194 } 4195 return &MathCaller{contract: contract}, nil 4196 } 4197 4198 // NewMathTransactor creates a new write-only instance of Math, bound to a specific deployed contract. 4199 func NewMathTransactor(address common.Address, transactor bind.ContractTransactor) (*MathTransactor, error) { 4200 contract, err := bindMath(address, nil, transactor, nil) 4201 if err != nil { 4202 return nil, err 4203 } 4204 return &MathTransactor{contract: contract}, nil 4205 } 4206 4207 // NewMathFilterer creates a new log filterer instance of Math, bound to a specific deployed contract. 4208 func NewMathFilterer(address common.Address, filterer bind.ContractFilterer) (*MathFilterer, error) { 4209 contract, err := bindMath(address, nil, nil, filterer) 4210 if err != nil { 4211 return nil, err 4212 } 4213 return &MathFilterer{contract: contract}, nil 4214 } 4215 4216 // bindMath binds a generic wrapper to an already deployed contract. 4217 func bindMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 4218 parsed, err := abi.JSON(strings.NewReader(MathABI)) 4219 if err != nil { 4220 return nil, err 4221 } 4222 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 4223 } 4224 4225 // Call invokes the (constant) contract method with params as input values and 4226 // sets the output to result. The result type might be a single field for simple 4227 // returns, a slice of interfaces for anonymous returns and a struct for named 4228 // returns. 4229 func (_Math *MathRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4230 return _Math.Contract.MathCaller.contract.Call(opts, result, method, params...) 4231 } 4232 4233 // Transfer initiates a plain transaction to move funds to the contract, calling 4234 // its default method if one is available. 4235 func (_Math *MathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4236 return _Math.Contract.MathTransactor.contract.Transfer(opts) 4237 } 4238 4239 // Transact invokes the (paid) contract method with params as input values. 4240 func (_Math *MathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4241 return _Math.Contract.MathTransactor.contract.Transact(opts, method, params...) 4242 } 4243 4244 // Call invokes the (constant) contract method with params as input values and 4245 // sets the output to result. The result type might be a single field for simple 4246 // returns, a slice of interfaces for anonymous returns and a struct for named 4247 // returns. 4248 func (_Math *MathCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4249 return _Math.Contract.contract.Call(opts, result, method, params...) 4250 } 4251 4252 // Transfer initiates a plain transaction to move funds to the contract, calling 4253 // its default method if one is available. 4254 func (_Math *MathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4255 return _Math.Contract.contract.Transfer(opts) 4256 } 4257 4258 // Transact invokes the (paid) contract method with params as input values. 4259 func (_Math *MathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4260 return _Math.Contract.contract.Transact(opts, method, params...) 4261 } 4262 4263 // SafeMathABI is the input ABI used to generate the binding from. 4264 const SafeMathABI = "[]" 4265 4266 // SafeMathBin is the compiled bytecode used for deploying new contracts. 4267 var SafeMathBin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158201b56d92138da4c727cf28d3f157c6cd2b756969e313f68004fe81129430604a164736f6c63430005100032" 4268 4269 // DeploySafeMath deploys a new Ethereum contract, binding an instance of SafeMath to it. 4270 func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) { 4271 parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) 4272 if err != nil { 4273 return common.Address{}, nil, nil, err 4274 } 4275 4276 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(SafeMathBin), backend) 4277 if err != nil { 4278 return common.Address{}, nil, nil, err 4279 } 4280 return address, tx, &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 4281 } 4282 4283 // SafeMath is an auto generated Go binding around an Ethereum contract. 4284 type SafeMath struct { 4285 SafeMathCaller // Read-only binding to the contract 4286 SafeMathTransactor // Write-only binding to the contract 4287 SafeMathFilterer // Log filterer for contract events 4288 } 4289 4290 // SafeMathCaller is an auto generated read-only Go binding around an Ethereum contract. 4291 type SafeMathCaller struct { 4292 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4293 } 4294 4295 // SafeMathTransactor is an auto generated write-only Go binding around an Ethereum contract. 4296 type SafeMathTransactor struct { 4297 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4298 } 4299 4300 // SafeMathFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 4301 type SafeMathFilterer struct { 4302 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4303 } 4304 4305 // SafeMathSession is an auto generated Go binding around an Ethereum contract, 4306 // with pre-set call and transact options. 4307 type SafeMathSession struct { 4308 Contract *SafeMath // Generic contract binding to set the session for 4309 CallOpts bind.CallOpts // Call options to use throughout this session 4310 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4311 } 4312 4313 // SafeMathCallerSession is an auto generated read-only Go binding around an Ethereum contract, 4314 // with pre-set call options. 4315 type SafeMathCallerSession struct { 4316 Contract *SafeMathCaller // Generic contract caller binding to set the session for 4317 CallOpts bind.CallOpts // Call options to use throughout this session 4318 } 4319 4320 // SafeMathTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 4321 // with pre-set transact options. 4322 type SafeMathTransactorSession struct { 4323 Contract *SafeMathTransactor // Generic contract transactor binding to set the session for 4324 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4325 } 4326 4327 // SafeMathRaw is an auto generated low-level Go binding around an Ethereum contract. 4328 type SafeMathRaw struct { 4329 Contract *SafeMath // Generic contract binding to access the raw methods on 4330 } 4331 4332 // SafeMathCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 4333 type SafeMathCallerRaw struct { 4334 Contract *SafeMathCaller // Generic read-only contract binding to access the raw methods on 4335 } 4336 4337 // SafeMathTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 4338 type SafeMathTransactorRaw struct { 4339 Contract *SafeMathTransactor // Generic write-only contract binding to access the raw methods on 4340 } 4341 4342 // NewSafeMath creates a new instance of SafeMath, bound to a specific deployed contract. 4343 func NewSafeMath(address common.Address, backend bind.ContractBackend) (*SafeMath, error) { 4344 contract, err := bindSafeMath(address, backend, backend, backend) 4345 if err != nil { 4346 return nil, err 4347 } 4348 return &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 4349 } 4350 4351 // NewSafeMathCaller creates a new read-only instance of SafeMath, bound to a specific deployed contract. 4352 func NewSafeMathCaller(address common.Address, caller bind.ContractCaller) (*SafeMathCaller, error) { 4353 contract, err := bindSafeMath(address, caller, nil, nil) 4354 if err != nil { 4355 return nil, err 4356 } 4357 return &SafeMathCaller{contract: contract}, nil 4358 } 4359 4360 // NewSafeMathTransactor creates a new write-only instance of SafeMath, bound to a specific deployed contract. 4361 func NewSafeMathTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeMathTransactor, error) { 4362 contract, err := bindSafeMath(address, nil, transactor, nil) 4363 if err != nil { 4364 return nil, err 4365 } 4366 return &SafeMathTransactor{contract: contract}, nil 4367 } 4368 4369 // NewSafeMathFilterer creates a new log filterer instance of SafeMath, bound to a specific deployed contract. 4370 func NewSafeMathFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeMathFilterer, error) { 4371 contract, err := bindSafeMath(address, nil, nil, filterer) 4372 if err != nil { 4373 return nil, err 4374 } 4375 return &SafeMathFilterer{contract: contract}, nil 4376 } 4377 4378 // bindSafeMath binds a generic wrapper to an already deployed contract. 4379 func bindSafeMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 4380 parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) 4381 if err != nil { 4382 return nil, err 4383 } 4384 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 4385 } 4386 4387 // Call invokes the (constant) contract method with params as input values and 4388 // sets the output to result. The result type might be a single field for simple 4389 // returns, a slice of interfaces for anonymous returns and a struct for named 4390 // returns. 4391 func (_SafeMath *SafeMathRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4392 return _SafeMath.Contract.SafeMathCaller.contract.Call(opts, result, method, params...) 4393 } 4394 4395 // Transfer initiates a plain transaction to move funds to the contract, calling 4396 // its default method if one is available. 4397 func (_SafeMath *SafeMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4398 return _SafeMath.Contract.SafeMathTransactor.contract.Transfer(opts) 4399 } 4400 4401 // Transact invokes the (paid) contract method with params as input values. 4402 func (_SafeMath *SafeMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4403 return _SafeMath.Contract.SafeMathTransactor.contract.Transact(opts, method, params...) 4404 } 4405 4406 // Call invokes the (constant) contract method with params as input values and 4407 // sets the output to result. The result type might be a single field for simple 4408 // returns, a slice of interfaces for anonymous returns and a struct for named 4409 // returns. 4410 func (_SafeMath *SafeMathCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4411 return _SafeMath.Contract.contract.Call(opts, result, method, params...) 4412 } 4413 4414 // Transfer initiates a plain transaction to move funds to the contract, calling 4415 // its default method if one is available. 4416 func (_SafeMath *SafeMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4417 return _SafeMath.Contract.contract.Transfer(opts) 4418 } 4419 4420 // Transact invokes the (paid) contract method with params as input values. 4421 func (_SafeMath *SafeMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4422 return _SafeMath.Contract.contract.Transact(opts, method, params...) 4423 } 4424 4425 // UQ112x112ABI is the input ABI used to generate the binding from. 4426 const UQ112x112ABI = "[]" 4427 4428 // UQ112x112Bin is the compiled bytecode used for deploying new contracts. 4429 var UQ112x112Bin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582092286a07eb4dc3dcc7db92fac7f6fd2accd5742e96546960fd1cfacbf1561f2864736f6c63430005100032" 4430 4431 // DeployUQ112x112 deploys a new Ethereum contract, binding an instance of UQ112x112 to it. 4432 func DeployUQ112x112(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *UQ112x112, error) { 4433 parsed, err := abi.JSON(strings.NewReader(UQ112x112ABI)) 4434 if err != nil { 4435 return common.Address{}, nil, nil, err 4436 } 4437 4438 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(UQ112x112Bin), backend) 4439 if err != nil { 4440 return common.Address{}, nil, nil, err 4441 } 4442 return address, tx, &UQ112x112{UQ112x112Caller: UQ112x112Caller{contract: contract}, UQ112x112Transactor: UQ112x112Transactor{contract: contract}, UQ112x112Filterer: UQ112x112Filterer{contract: contract}}, nil 4443 } 4444 4445 // UQ112x112 is an auto generated Go binding around an Ethereum contract. 4446 type UQ112x112 struct { 4447 UQ112x112Caller // Read-only binding to the contract 4448 UQ112x112Transactor // Write-only binding to the contract 4449 UQ112x112Filterer // Log filterer for contract events 4450 } 4451 4452 // UQ112x112Caller is an auto generated read-only Go binding around an Ethereum contract. 4453 type UQ112x112Caller struct { 4454 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4455 } 4456 4457 // UQ112x112Transactor is an auto generated write-only Go binding around an Ethereum contract. 4458 type UQ112x112Transactor struct { 4459 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4460 } 4461 4462 // UQ112x112Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 4463 type UQ112x112Filterer struct { 4464 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4465 } 4466 4467 // UQ112x112Session is an auto generated Go binding around an Ethereum contract, 4468 // with pre-set call and transact options. 4469 type UQ112x112Session struct { 4470 Contract *UQ112x112 // Generic contract binding to set the session for 4471 CallOpts bind.CallOpts // Call options to use throughout this session 4472 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4473 } 4474 4475 // UQ112x112CallerSession is an auto generated read-only Go binding around an Ethereum contract, 4476 // with pre-set call options. 4477 type UQ112x112CallerSession struct { 4478 Contract *UQ112x112Caller // Generic contract caller binding to set the session for 4479 CallOpts bind.CallOpts // Call options to use throughout this session 4480 } 4481 4482 // UQ112x112TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 4483 // with pre-set transact options. 4484 type UQ112x112TransactorSession struct { 4485 Contract *UQ112x112Transactor // Generic contract transactor binding to set the session for 4486 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4487 } 4488 4489 // UQ112x112Raw is an auto generated low-level Go binding around an Ethereum contract. 4490 type UQ112x112Raw struct { 4491 Contract *UQ112x112 // Generic contract binding to access the raw methods on 4492 } 4493 4494 // UQ112x112CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 4495 type UQ112x112CallerRaw struct { 4496 Contract *UQ112x112Caller // Generic read-only contract binding to access the raw methods on 4497 } 4498 4499 // UQ112x112TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 4500 type UQ112x112TransactorRaw struct { 4501 Contract *UQ112x112Transactor // Generic write-only contract binding to access the raw methods on 4502 } 4503 4504 // NewUQ112x112 creates a new instance of UQ112x112, bound to a specific deployed contract. 4505 func NewUQ112x112(address common.Address, backend bind.ContractBackend) (*UQ112x112, error) { 4506 contract, err := bindUQ112x112(address, backend, backend, backend) 4507 if err != nil { 4508 return nil, err 4509 } 4510 return &UQ112x112{UQ112x112Caller: UQ112x112Caller{contract: contract}, UQ112x112Transactor: UQ112x112Transactor{contract: contract}, UQ112x112Filterer: UQ112x112Filterer{contract: contract}}, nil 4511 } 4512 4513 // NewUQ112x112Caller creates a new read-only instance of UQ112x112, bound to a specific deployed contract. 4514 func NewUQ112x112Caller(address common.Address, caller bind.ContractCaller) (*UQ112x112Caller, error) { 4515 contract, err := bindUQ112x112(address, caller, nil, nil) 4516 if err != nil { 4517 return nil, err 4518 } 4519 return &UQ112x112Caller{contract: contract}, nil 4520 } 4521 4522 // NewUQ112x112Transactor creates a new write-only instance of UQ112x112, bound to a specific deployed contract. 4523 func NewUQ112x112Transactor(address common.Address, transactor bind.ContractTransactor) (*UQ112x112Transactor, error) { 4524 contract, err := bindUQ112x112(address, nil, transactor, nil) 4525 if err != nil { 4526 return nil, err 4527 } 4528 return &UQ112x112Transactor{contract: contract}, nil 4529 } 4530 4531 // NewUQ112x112Filterer creates a new log filterer instance of UQ112x112, bound to a specific deployed contract. 4532 func NewUQ112x112Filterer(address common.Address, filterer bind.ContractFilterer) (*UQ112x112Filterer, error) { 4533 contract, err := bindUQ112x112(address, nil, nil, filterer) 4534 if err != nil { 4535 return nil, err 4536 } 4537 return &UQ112x112Filterer{contract: contract}, nil 4538 } 4539 4540 // bindUQ112x112 binds a generic wrapper to an already deployed contract. 4541 func bindUQ112x112(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 4542 parsed, err := abi.JSON(strings.NewReader(UQ112x112ABI)) 4543 if err != nil { 4544 return nil, err 4545 } 4546 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 4547 } 4548 4549 // Call invokes the (constant) contract method with params as input values and 4550 // sets the output to result. The result type might be a single field for simple 4551 // returns, a slice of interfaces for anonymous returns and a struct for named 4552 // returns. 4553 func (_UQ112x112 *UQ112x112Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4554 return _UQ112x112.Contract.UQ112x112Caller.contract.Call(opts, result, method, params...) 4555 } 4556 4557 // Transfer initiates a plain transaction to move funds to the contract, calling 4558 // its default method if one is available. 4559 func (_UQ112x112 *UQ112x112Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4560 return _UQ112x112.Contract.UQ112x112Transactor.contract.Transfer(opts) 4561 } 4562 4563 // Transact invokes the (paid) contract method with params as input values. 4564 func (_UQ112x112 *UQ112x112Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4565 return _UQ112x112.Contract.UQ112x112Transactor.contract.Transact(opts, method, params...) 4566 } 4567 4568 // Call invokes the (constant) contract method with params as input values and 4569 // sets the output to result. The result type might be a single field for simple 4570 // returns, a slice of interfaces for anonymous returns and a struct for named 4571 // returns. 4572 func (_UQ112x112 *UQ112x112CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4573 return _UQ112x112.Contract.contract.Call(opts, result, method, params...) 4574 } 4575 4576 // Transfer initiates a plain transaction to move funds to the contract, calling 4577 // its default method if one is available. 4578 func (_UQ112x112 *UQ112x112TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4579 return _UQ112x112.Contract.contract.Transfer(opts) 4580 } 4581 4582 // Transact invokes the (paid) contract method with params as input values. 4583 func (_UQ112x112 *UQ112x112TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4584 return _UQ112x112.Contract.contract.Transact(opts, method, params...) 4585 } 4586 4587 // UniswapV2ERC20ABI is the input ABI used to generate the binding from. 4588 const UniswapV2ERC20ABI = "[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 4589 4590 // UniswapV2ERC20FuncSigs maps the 4-byte function signature to its string representation. 4591 var UniswapV2ERC20FuncSigs = map[string]string{ 4592 "3644e515": "DOMAIN_SEPARATOR()", 4593 "30adf81f": "PERMIT_TYPEHASH()", 4594 "dd62ed3e": "allowance(address,address)", 4595 "095ea7b3": "approve(address,uint256)", 4596 "70a08231": "balanceOf(address)", 4597 "313ce567": "decimals()", 4598 "06fdde03": "name()", 4599 "7ecebe00": "nonces(address)", 4600 "d505accf": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", 4601 "95d89b41": "symbol()", 4602 "18160ddd": "totalSupply()", 4603 "a9059cbb": "transfer(address,uint256)", 4604 "23b872dd": "transferFrom(address,address,uint256)", 4605 } 4606 4607 // UniswapV2ERC20Bin is the compiled bytecode used for deploying new contracts. 4608 var UniswapV2ERC20Bin = "0x608060405234801561001057600080fd5b50604051469080605261096c8239604080519182900360520182208282018252600a8352692ab734b9bbb0b8102b1960b11b6020938401528151808301835260018152603160f81b908401528151808401919091527fbfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015260808101949094523060a0808601919091528151808603909101815260c0909401905282519201919091206003555061087e806100ee6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b411461025b578063a9059cbb14610263578063d505accf1461028f578063dd62ed3e146102e2576100cf565b80633644e5151461020757806370a082311461020f5780637ecebe0014610235576100cf565b806306fdde03146100d4578063095ea7b31461015157806318160ddd1461019157806323b872dd146101ab57806330adf81f146101e1578063313ce567146101e9575b600080fd5b6100dc610310565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101165781810151838201526020016100fe565b50505050905090810190601f1680156101435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561016757600080fd5b506001600160a01b038135169060200135610336565b604080519115158252519081900360200190f35b61019961034d565b60408051918252519081900360200190f35b61017d600480360360608110156101c157600080fd5b506001600160a01b03813581169160208101359091169060400135610353565b6101996103ed565b6101f1610411565b6040805160ff9092168252519081900360200190f35b610199610416565b6101996004803603602081101561022557600080fd5b50356001600160a01b031661041c565b6101996004803603602081101561024b57600080fd5b50356001600160a01b031661042e565b6100dc610440565b61017d6004803603604081101561027957600080fd5b506001600160a01b038135169060200135610462565b6102e0600480360360e08110156102a557600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561046f565b005b610199600480360360408110156102f857600080fd5b506001600160a01b0381358116916020013516610671565b6040518060400160405280600a8152602001692ab734b9bbb0b8102b1960b11b81525081565b600061034333848461068e565b5060015b92915050565b60005481565b6001600160a01b0383166000908152600260209081526040808320338452909152812054600019146103d8576001600160a01b03841660009081526002602090815260408083203384529091529020546103b3908363ffffffff6106f016565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b6103e3848484610740565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60016020526000908152604090205481565b60046020526000908152604090205481565b604051806040016040528060068152602001652aa72496ab1960d11b81525081565b6000610343338484610740565b428410156104b9576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa1580156105d4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061060a5750886001600160a01b0316816001600160a01b0316145b61065b576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b61066689898961068e565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b80820382811115610347576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160a01b038316600090815260016020526040902054610769908263ffffffff6106f016565b6001600160a01b03808516600090815260016020526040808220939093559084168152205461079e908263ffffffff6107fa16565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b80820182811015610347576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfea265627a7a72315820a647d610a0f93ca152fea9a6ef958de39c95cf4e9e974a5a281889af9fae156564736f6c63430005100032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429" 4609 4610 // DeployUniswapV2ERC20 deploys a new Ethereum contract, binding an instance of UniswapV2ERC20 to it. 4611 func DeployUniswapV2ERC20(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *UniswapV2ERC20, error) { 4612 parsed, err := abi.JSON(strings.NewReader(UniswapV2ERC20ABI)) 4613 if err != nil { 4614 return common.Address{}, nil, nil, err 4615 } 4616 4617 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(UniswapV2ERC20Bin), backend) 4618 if err != nil { 4619 return common.Address{}, nil, nil, err 4620 } 4621 return address, tx, &UniswapV2ERC20{UniswapV2ERC20Caller: UniswapV2ERC20Caller{contract: contract}, UniswapV2ERC20Transactor: UniswapV2ERC20Transactor{contract: contract}, UniswapV2ERC20Filterer: UniswapV2ERC20Filterer{contract: contract}}, nil 4622 } 4623 4624 // UniswapV2ERC20 is an auto generated Go binding around an Ethereum contract. 4625 type UniswapV2ERC20 struct { 4626 UniswapV2ERC20Caller // Read-only binding to the contract 4627 UniswapV2ERC20Transactor // Write-only binding to the contract 4628 UniswapV2ERC20Filterer // Log filterer for contract events 4629 } 4630 4631 // UniswapV2ERC20Caller is an auto generated read-only Go binding around an Ethereum contract. 4632 type UniswapV2ERC20Caller struct { 4633 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4634 } 4635 4636 // UniswapV2ERC20Transactor is an auto generated write-only Go binding around an Ethereum contract. 4637 type UniswapV2ERC20Transactor struct { 4638 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4639 } 4640 4641 // UniswapV2ERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 4642 type UniswapV2ERC20Filterer struct { 4643 contract *bind.BoundContract // Generic contract wrapper for the low level calls 4644 } 4645 4646 // UniswapV2ERC20Session is an auto generated Go binding around an Ethereum contract, 4647 // with pre-set call and transact options. 4648 type UniswapV2ERC20Session struct { 4649 Contract *UniswapV2ERC20 // Generic contract binding to set the session for 4650 CallOpts bind.CallOpts // Call options to use throughout this session 4651 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4652 } 4653 4654 // UniswapV2ERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, 4655 // with pre-set call options. 4656 type UniswapV2ERC20CallerSession struct { 4657 Contract *UniswapV2ERC20Caller // Generic contract caller binding to set the session for 4658 CallOpts bind.CallOpts // Call options to use throughout this session 4659 } 4660 4661 // UniswapV2ERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 4662 // with pre-set transact options. 4663 type UniswapV2ERC20TransactorSession struct { 4664 Contract *UniswapV2ERC20Transactor // Generic contract transactor binding to set the session for 4665 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 4666 } 4667 4668 // UniswapV2ERC20Raw is an auto generated low-level Go binding around an Ethereum contract. 4669 type UniswapV2ERC20Raw struct { 4670 Contract *UniswapV2ERC20 // Generic contract binding to access the raw methods on 4671 } 4672 4673 // UniswapV2ERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 4674 type UniswapV2ERC20CallerRaw struct { 4675 Contract *UniswapV2ERC20Caller // Generic read-only contract binding to access the raw methods on 4676 } 4677 4678 // UniswapV2ERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 4679 type UniswapV2ERC20TransactorRaw struct { 4680 Contract *UniswapV2ERC20Transactor // Generic write-only contract binding to access the raw methods on 4681 } 4682 4683 // NewUniswapV2ERC20 creates a new instance of UniswapV2ERC20, bound to a specific deployed contract. 4684 func NewUniswapV2ERC20(address common.Address, backend bind.ContractBackend) (*UniswapV2ERC20, error) { 4685 contract, err := bindUniswapV2ERC20(address, backend, backend, backend) 4686 if err != nil { 4687 return nil, err 4688 } 4689 return &UniswapV2ERC20{UniswapV2ERC20Caller: UniswapV2ERC20Caller{contract: contract}, UniswapV2ERC20Transactor: UniswapV2ERC20Transactor{contract: contract}, UniswapV2ERC20Filterer: UniswapV2ERC20Filterer{contract: contract}}, nil 4690 } 4691 4692 // NewUniswapV2ERC20Caller creates a new read-only instance of UniswapV2ERC20, bound to a specific deployed contract. 4693 func NewUniswapV2ERC20Caller(address common.Address, caller bind.ContractCaller) (*UniswapV2ERC20Caller, error) { 4694 contract, err := bindUniswapV2ERC20(address, caller, nil, nil) 4695 if err != nil { 4696 return nil, err 4697 } 4698 return &UniswapV2ERC20Caller{contract: contract}, nil 4699 } 4700 4701 // NewUniswapV2ERC20Transactor creates a new write-only instance of UniswapV2ERC20, bound to a specific deployed contract. 4702 func NewUniswapV2ERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*UniswapV2ERC20Transactor, error) { 4703 contract, err := bindUniswapV2ERC20(address, nil, transactor, nil) 4704 if err != nil { 4705 return nil, err 4706 } 4707 return &UniswapV2ERC20Transactor{contract: contract}, nil 4708 } 4709 4710 // NewUniswapV2ERC20Filterer creates a new log filterer instance of UniswapV2ERC20, bound to a specific deployed contract. 4711 func NewUniswapV2ERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*UniswapV2ERC20Filterer, error) { 4712 contract, err := bindUniswapV2ERC20(address, nil, nil, filterer) 4713 if err != nil { 4714 return nil, err 4715 } 4716 return &UniswapV2ERC20Filterer{contract: contract}, nil 4717 } 4718 4719 // bindUniswapV2ERC20 binds a generic wrapper to an already deployed contract. 4720 func bindUniswapV2ERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 4721 parsed, err := abi.JSON(strings.NewReader(UniswapV2ERC20ABI)) 4722 if err != nil { 4723 return nil, err 4724 } 4725 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 4726 } 4727 4728 // Call invokes the (constant) contract method with params as input values and 4729 // sets the output to result. The result type might be a single field for simple 4730 // returns, a slice of interfaces for anonymous returns and a struct for named 4731 // returns. 4732 func (_UniswapV2ERC20 *UniswapV2ERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4733 return _UniswapV2ERC20.Contract.UniswapV2ERC20Caller.contract.Call(opts, result, method, params...) 4734 } 4735 4736 // Transfer initiates a plain transaction to move funds to the contract, calling 4737 // its default method if one is available. 4738 func (_UniswapV2ERC20 *UniswapV2ERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4739 return _UniswapV2ERC20.Contract.UniswapV2ERC20Transactor.contract.Transfer(opts) 4740 } 4741 4742 // Transact invokes the (paid) contract method with params as input values. 4743 func (_UniswapV2ERC20 *UniswapV2ERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4744 return _UniswapV2ERC20.Contract.UniswapV2ERC20Transactor.contract.Transact(opts, method, params...) 4745 } 4746 4747 // Call invokes the (constant) contract method with params as input values and 4748 // sets the output to result. The result type might be a single field for simple 4749 // returns, a slice of interfaces for anonymous returns and a struct for named 4750 // returns. 4751 func (_UniswapV2ERC20 *UniswapV2ERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 4752 return _UniswapV2ERC20.Contract.contract.Call(opts, result, method, params...) 4753 } 4754 4755 // Transfer initiates a plain transaction to move funds to the contract, calling 4756 // its default method if one is available. 4757 func (_UniswapV2ERC20 *UniswapV2ERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 4758 return _UniswapV2ERC20.Contract.contract.Transfer(opts) 4759 } 4760 4761 // Transact invokes the (paid) contract method with params as input values. 4762 func (_UniswapV2ERC20 *UniswapV2ERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 4763 return _UniswapV2ERC20.Contract.contract.Transact(opts, method, params...) 4764 } 4765 4766 // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. 4767 // 4768 // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) 4769 func (_UniswapV2ERC20 *UniswapV2ERC20Caller) DOMAINSEPARATOR(opts *bind.CallOpts) ([32]byte, error) { 4770 var out []interface{} 4771 err := _UniswapV2ERC20.contract.Call(opts, &out, "DOMAIN_SEPARATOR") 4772 4773 if err != nil { 4774 return *new([32]byte), err 4775 } 4776 4777 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 4778 4779 return out0, err 4780 4781 } 4782 4783 // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. 4784 // 4785 // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) 4786 func (_UniswapV2ERC20 *UniswapV2ERC20Session) DOMAINSEPARATOR() ([32]byte, error) { 4787 return _UniswapV2ERC20.Contract.DOMAINSEPARATOR(&_UniswapV2ERC20.CallOpts) 4788 } 4789 4790 // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. 4791 // 4792 // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) 4793 func (_UniswapV2ERC20 *UniswapV2ERC20CallerSession) DOMAINSEPARATOR() ([32]byte, error) { 4794 return _UniswapV2ERC20.Contract.DOMAINSEPARATOR(&_UniswapV2ERC20.CallOpts) 4795 } 4796 4797 // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. 4798 // 4799 // Solidity: function PERMIT_TYPEHASH() view returns(bytes32) 4800 func (_UniswapV2ERC20 *UniswapV2ERC20Caller) PERMITTYPEHASH(opts *bind.CallOpts) ([32]byte, error) { 4801 var out []interface{} 4802 err := _UniswapV2ERC20.contract.Call(opts, &out, "PERMIT_TYPEHASH") 4803 4804 if err != nil { 4805 return *new([32]byte), err 4806 } 4807 4808 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 4809 4810 return out0, err 4811 4812 } 4813 4814 // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. 4815 // 4816 // Solidity: function PERMIT_TYPEHASH() view returns(bytes32) 4817 func (_UniswapV2ERC20 *UniswapV2ERC20Session) PERMITTYPEHASH() ([32]byte, error) { 4818 return _UniswapV2ERC20.Contract.PERMITTYPEHASH(&_UniswapV2ERC20.CallOpts) 4819 } 4820 4821 // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. 4822 // 4823 // Solidity: function PERMIT_TYPEHASH() view returns(bytes32) 4824 func (_UniswapV2ERC20 *UniswapV2ERC20CallerSession) PERMITTYPEHASH() ([32]byte, error) { 4825 return _UniswapV2ERC20.Contract.PERMITTYPEHASH(&_UniswapV2ERC20.CallOpts) 4826 } 4827 4828 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 4829 // 4830 // Solidity: function allowance(address , address ) view returns(uint256) 4831 func (_UniswapV2ERC20 *UniswapV2ERC20Caller) Allowance(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (*big.Int, error) { 4832 var out []interface{} 4833 err := _UniswapV2ERC20.contract.Call(opts, &out, "allowance", arg0, arg1) 4834 4835 if err != nil { 4836 return *new(*big.Int), err 4837 } 4838 4839 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 4840 4841 return out0, err 4842 4843 } 4844 4845 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 4846 // 4847 // Solidity: function allowance(address , address ) view returns(uint256) 4848 func (_UniswapV2ERC20 *UniswapV2ERC20Session) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { 4849 return _UniswapV2ERC20.Contract.Allowance(&_UniswapV2ERC20.CallOpts, arg0, arg1) 4850 } 4851 4852 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 4853 // 4854 // Solidity: function allowance(address , address ) view returns(uint256) 4855 func (_UniswapV2ERC20 *UniswapV2ERC20CallerSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { 4856 return _UniswapV2ERC20.Contract.Allowance(&_UniswapV2ERC20.CallOpts, arg0, arg1) 4857 } 4858 4859 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4860 // 4861 // Solidity: function balanceOf(address ) view returns(uint256) 4862 func (_UniswapV2ERC20 *UniswapV2ERC20Caller) BalanceOf(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { 4863 var out []interface{} 4864 err := _UniswapV2ERC20.contract.Call(opts, &out, "balanceOf", arg0) 4865 4866 if err != nil { 4867 return *new(*big.Int), err 4868 } 4869 4870 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 4871 4872 return out0, err 4873 4874 } 4875 4876 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4877 // 4878 // Solidity: function balanceOf(address ) view returns(uint256) 4879 func (_UniswapV2ERC20 *UniswapV2ERC20Session) BalanceOf(arg0 common.Address) (*big.Int, error) { 4880 return _UniswapV2ERC20.Contract.BalanceOf(&_UniswapV2ERC20.CallOpts, arg0) 4881 } 4882 4883 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 4884 // 4885 // Solidity: function balanceOf(address ) view returns(uint256) 4886 func (_UniswapV2ERC20 *UniswapV2ERC20CallerSession) BalanceOf(arg0 common.Address) (*big.Int, error) { 4887 return _UniswapV2ERC20.Contract.BalanceOf(&_UniswapV2ERC20.CallOpts, arg0) 4888 } 4889 4890 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 4891 // 4892 // Solidity: function decimals() view returns(uint8) 4893 func (_UniswapV2ERC20 *UniswapV2ERC20Caller) Decimals(opts *bind.CallOpts) (uint8, error) { 4894 var out []interface{} 4895 err := _UniswapV2ERC20.contract.Call(opts, &out, "decimals") 4896 4897 if err != nil { 4898 return *new(uint8), err 4899 } 4900 4901 out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) 4902 4903 return out0, err 4904 4905 } 4906 4907 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 4908 // 4909 // Solidity: function decimals() view returns(uint8) 4910 func (_UniswapV2ERC20 *UniswapV2ERC20Session) Decimals() (uint8, error) { 4911 return _UniswapV2ERC20.Contract.Decimals(&_UniswapV2ERC20.CallOpts) 4912 } 4913 4914 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 4915 // 4916 // Solidity: function decimals() view returns(uint8) 4917 func (_UniswapV2ERC20 *UniswapV2ERC20CallerSession) Decimals() (uint8, error) { 4918 return _UniswapV2ERC20.Contract.Decimals(&_UniswapV2ERC20.CallOpts) 4919 } 4920 4921 // Name is a free data retrieval call binding the contract method 0x06fdde03. 4922 // 4923 // Solidity: function name() view returns(string) 4924 func (_UniswapV2ERC20 *UniswapV2ERC20Caller) Name(opts *bind.CallOpts) (string, error) { 4925 var out []interface{} 4926 err := _UniswapV2ERC20.contract.Call(opts, &out, "name") 4927 4928 if err != nil { 4929 return *new(string), err 4930 } 4931 4932 out0 := *abi.ConvertType(out[0], new(string)).(*string) 4933 4934 return out0, err 4935 4936 } 4937 4938 // Name is a free data retrieval call binding the contract method 0x06fdde03. 4939 // 4940 // Solidity: function name() view returns(string) 4941 func (_UniswapV2ERC20 *UniswapV2ERC20Session) Name() (string, error) { 4942 return _UniswapV2ERC20.Contract.Name(&_UniswapV2ERC20.CallOpts) 4943 } 4944 4945 // Name is a free data retrieval call binding the contract method 0x06fdde03. 4946 // 4947 // Solidity: function name() view returns(string) 4948 func (_UniswapV2ERC20 *UniswapV2ERC20CallerSession) Name() (string, error) { 4949 return _UniswapV2ERC20.Contract.Name(&_UniswapV2ERC20.CallOpts) 4950 } 4951 4952 // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. 4953 // 4954 // Solidity: function nonces(address ) view returns(uint256) 4955 func (_UniswapV2ERC20 *UniswapV2ERC20Caller) Nonces(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { 4956 var out []interface{} 4957 err := _UniswapV2ERC20.contract.Call(opts, &out, "nonces", arg0) 4958 4959 if err != nil { 4960 return *new(*big.Int), err 4961 } 4962 4963 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 4964 4965 return out0, err 4966 4967 } 4968 4969 // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. 4970 // 4971 // Solidity: function nonces(address ) view returns(uint256) 4972 func (_UniswapV2ERC20 *UniswapV2ERC20Session) Nonces(arg0 common.Address) (*big.Int, error) { 4973 return _UniswapV2ERC20.Contract.Nonces(&_UniswapV2ERC20.CallOpts, arg0) 4974 } 4975 4976 // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. 4977 // 4978 // Solidity: function nonces(address ) view returns(uint256) 4979 func (_UniswapV2ERC20 *UniswapV2ERC20CallerSession) Nonces(arg0 common.Address) (*big.Int, error) { 4980 return _UniswapV2ERC20.Contract.Nonces(&_UniswapV2ERC20.CallOpts, arg0) 4981 } 4982 4983 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 4984 // 4985 // Solidity: function symbol() view returns(string) 4986 func (_UniswapV2ERC20 *UniswapV2ERC20Caller) Symbol(opts *bind.CallOpts) (string, error) { 4987 var out []interface{} 4988 err := _UniswapV2ERC20.contract.Call(opts, &out, "symbol") 4989 4990 if err != nil { 4991 return *new(string), err 4992 } 4993 4994 out0 := *abi.ConvertType(out[0], new(string)).(*string) 4995 4996 return out0, err 4997 4998 } 4999 5000 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 5001 // 5002 // Solidity: function symbol() view returns(string) 5003 func (_UniswapV2ERC20 *UniswapV2ERC20Session) Symbol() (string, error) { 5004 return _UniswapV2ERC20.Contract.Symbol(&_UniswapV2ERC20.CallOpts) 5005 } 5006 5007 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 5008 // 5009 // Solidity: function symbol() view returns(string) 5010 func (_UniswapV2ERC20 *UniswapV2ERC20CallerSession) Symbol() (string, error) { 5011 return _UniswapV2ERC20.Contract.Symbol(&_UniswapV2ERC20.CallOpts) 5012 } 5013 5014 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 5015 // 5016 // Solidity: function totalSupply() view returns(uint256) 5017 func (_UniswapV2ERC20 *UniswapV2ERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 5018 var out []interface{} 5019 err := _UniswapV2ERC20.contract.Call(opts, &out, "totalSupply") 5020 5021 if err != nil { 5022 return *new(*big.Int), err 5023 } 5024 5025 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 5026 5027 return out0, err 5028 5029 } 5030 5031 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 5032 // 5033 // Solidity: function totalSupply() view returns(uint256) 5034 func (_UniswapV2ERC20 *UniswapV2ERC20Session) TotalSupply() (*big.Int, error) { 5035 return _UniswapV2ERC20.Contract.TotalSupply(&_UniswapV2ERC20.CallOpts) 5036 } 5037 5038 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 5039 // 5040 // Solidity: function totalSupply() view returns(uint256) 5041 func (_UniswapV2ERC20 *UniswapV2ERC20CallerSession) TotalSupply() (*big.Int, error) { 5042 return _UniswapV2ERC20.Contract.TotalSupply(&_UniswapV2ERC20.CallOpts) 5043 } 5044 5045 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5046 // 5047 // Solidity: function approve(address spender, uint256 value) returns(bool) 5048 func (_UniswapV2ERC20 *UniswapV2ERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { 5049 return _UniswapV2ERC20.contract.Transact(opts, "approve", spender, value) 5050 } 5051 5052 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5053 // 5054 // Solidity: function approve(address spender, uint256 value) returns(bool) 5055 func (_UniswapV2ERC20 *UniswapV2ERC20Session) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 5056 return _UniswapV2ERC20.Contract.Approve(&_UniswapV2ERC20.TransactOpts, spender, value) 5057 } 5058 5059 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 5060 // 5061 // Solidity: function approve(address spender, uint256 value) returns(bool) 5062 func (_UniswapV2ERC20 *UniswapV2ERC20TransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 5063 return _UniswapV2ERC20.Contract.Approve(&_UniswapV2ERC20.TransactOpts, spender, value) 5064 } 5065 5066 // Permit is a paid mutator transaction binding the contract method 0xd505accf. 5067 // 5068 // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() 5069 func (_UniswapV2ERC20 *UniswapV2ERC20Transactor) Permit(opts *bind.TransactOpts, owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { 5070 return _UniswapV2ERC20.contract.Transact(opts, "permit", owner, spender, value, deadline, v, r, s) 5071 } 5072 5073 // Permit is a paid mutator transaction binding the contract method 0xd505accf. 5074 // 5075 // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() 5076 func (_UniswapV2ERC20 *UniswapV2ERC20Session) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { 5077 return _UniswapV2ERC20.Contract.Permit(&_UniswapV2ERC20.TransactOpts, owner, spender, value, deadline, v, r, s) 5078 } 5079 5080 // Permit is a paid mutator transaction binding the contract method 0xd505accf. 5081 // 5082 // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() 5083 func (_UniswapV2ERC20 *UniswapV2ERC20TransactorSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { 5084 return _UniswapV2ERC20.Contract.Permit(&_UniswapV2ERC20.TransactOpts, owner, spender, value, deadline, v, r, s) 5085 } 5086 5087 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 5088 // 5089 // Solidity: function transfer(address to, uint256 value) returns(bool) 5090 func (_UniswapV2ERC20 *UniswapV2ERC20Transactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error) { 5091 return _UniswapV2ERC20.contract.Transact(opts, "transfer", to, value) 5092 } 5093 5094 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 5095 // 5096 // Solidity: function transfer(address to, uint256 value) returns(bool) 5097 func (_UniswapV2ERC20 *UniswapV2ERC20Session) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { 5098 return _UniswapV2ERC20.Contract.Transfer(&_UniswapV2ERC20.TransactOpts, to, value) 5099 } 5100 5101 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 5102 // 5103 // Solidity: function transfer(address to, uint256 value) returns(bool) 5104 func (_UniswapV2ERC20 *UniswapV2ERC20TransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { 5105 return _UniswapV2ERC20.Contract.Transfer(&_UniswapV2ERC20.TransactOpts, to, value) 5106 } 5107 5108 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5109 // 5110 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 5111 func (_UniswapV2ERC20 *UniswapV2ERC20Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 5112 return _UniswapV2ERC20.contract.Transact(opts, "transferFrom", from, to, value) 5113 } 5114 5115 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5116 // 5117 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 5118 func (_UniswapV2ERC20 *UniswapV2ERC20Session) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 5119 return _UniswapV2ERC20.Contract.TransferFrom(&_UniswapV2ERC20.TransactOpts, from, to, value) 5120 } 5121 5122 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 5123 // 5124 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 5125 func (_UniswapV2ERC20 *UniswapV2ERC20TransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 5126 return _UniswapV2ERC20.Contract.TransferFrom(&_UniswapV2ERC20.TransactOpts, from, to, value) 5127 } 5128 5129 // UniswapV2ERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the UniswapV2ERC20 contract. 5130 type UniswapV2ERC20ApprovalIterator struct { 5131 Event *UniswapV2ERC20Approval // Event containing the contract specifics and raw log 5132 5133 contract *bind.BoundContract // Generic contract to use for unpacking event data 5134 event string // Event name to use for unpacking event data 5135 5136 logs chan types.Log // Log channel receiving the found contract events 5137 sub ethereum.Subscription // Subscription for errors, completion and termination 5138 done bool // Whether the subscription completed delivering logs 5139 fail error // Occurred error to stop iteration 5140 } 5141 5142 // Next advances the iterator to the subsequent event, returning whether there 5143 // are any more events found. In case of a retrieval or parsing error, false is 5144 // returned and Error() can be queried for the exact failure. 5145 func (it *UniswapV2ERC20ApprovalIterator) Next() bool { 5146 // If the iterator failed, stop iterating 5147 if it.fail != nil { 5148 return false 5149 } 5150 // If the iterator completed, deliver directly whatever's available 5151 if it.done { 5152 select { 5153 case log := <-it.logs: 5154 it.Event = new(UniswapV2ERC20Approval) 5155 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5156 it.fail = err 5157 return false 5158 } 5159 it.Event.Raw = log 5160 return true 5161 5162 default: 5163 return false 5164 } 5165 } 5166 // Iterator still in progress, wait for either a data or an error event 5167 select { 5168 case log := <-it.logs: 5169 it.Event = new(UniswapV2ERC20Approval) 5170 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5171 it.fail = err 5172 return false 5173 } 5174 it.Event.Raw = log 5175 return true 5176 5177 case err := <-it.sub.Err(): 5178 it.done = true 5179 it.fail = err 5180 return it.Next() 5181 } 5182 } 5183 5184 // Error returns any retrieval or parsing error occurred during filtering. 5185 func (it *UniswapV2ERC20ApprovalIterator) Error() error { 5186 return it.fail 5187 } 5188 5189 // Close terminates the iteration process, releasing any pending underlying 5190 // resources. 5191 func (it *UniswapV2ERC20ApprovalIterator) Close() error { 5192 it.sub.Unsubscribe() 5193 return nil 5194 } 5195 5196 // UniswapV2ERC20Approval represents a Approval event raised by the UniswapV2ERC20 contract. 5197 type UniswapV2ERC20Approval struct { 5198 Owner common.Address 5199 Spender common.Address 5200 Value *big.Int 5201 Raw types.Log // Blockchain specific contextual infos 5202 } 5203 5204 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5205 // 5206 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 5207 func (_UniswapV2ERC20 *UniswapV2ERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*UniswapV2ERC20ApprovalIterator, error) { 5208 5209 var ownerRule []interface{} 5210 for _, ownerItem := range owner { 5211 ownerRule = append(ownerRule, ownerItem) 5212 } 5213 var spenderRule []interface{} 5214 for _, spenderItem := range spender { 5215 spenderRule = append(spenderRule, spenderItem) 5216 } 5217 5218 logs, sub, err := _UniswapV2ERC20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 5219 if err != nil { 5220 return nil, err 5221 } 5222 return &UniswapV2ERC20ApprovalIterator{contract: _UniswapV2ERC20.contract, event: "Approval", logs: logs, sub: sub}, nil 5223 } 5224 5225 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5226 // 5227 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 5228 func (_UniswapV2ERC20 *UniswapV2ERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *UniswapV2ERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 5229 5230 var ownerRule []interface{} 5231 for _, ownerItem := range owner { 5232 ownerRule = append(ownerRule, ownerItem) 5233 } 5234 var spenderRule []interface{} 5235 for _, spenderItem := range spender { 5236 spenderRule = append(spenderRule, spenderItem) 5237 } 5238 5239 logs, sub, err := _UniswapV2ERC20.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 5240 if err != nil { 5241 return nil, err 5242 } 5243 return event.NewSubscription(func(quit <-chan struct{}) error { 5244 defer sub.Unsubscribe() 5245 for { 5246 select { 5247 case log := <-logs: 5248 // New log arrived, parse the event and forward to the user 5249 event := new(UniswapV2ERC20Approval) 5250 if err := _UniswapV2ERC20.contract.UnpackLog(event, "Approval", log); err != nil { 5251 return err 5252 } 5253 event.Raw = log 5254 5255 select { 5256 case sink <- event: 5257 case err := <-sub.Err(): 5258 return err 5259 case <-quit: 5260 return nil 5261 } 5262 case err := <-sub.Err(): 5263 return err 5264 case <-quit: 5265 return nil 5266 } 5267 } 5268 }), nil 5269 } 5270 5271 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 5272 // 5273 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 5274 func (_UniswapV2ERC20 *UniswapV2ERC20Filterer) ParseApproval(log types.Log) (*UniswapV2ERC20Approval, error) { 5275 event := new(UniswapV2ERC20Approval) 5276 if err := _UniswapV2ERC20.contract.UnpackLog(event, "Approval", log); err != nil { 5277 return nil, err 5278 } 5279 return event, nil 5280 } 5281 5282 // UniswapV2ERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the UniswapV2ERC20 contract. 5283 type UniswapV2ERC20TransferIterator struct { 5284 Event *UniswapV2ERC20Transfer // Event containing the contract specifics and raw log 5285 5286 contract *bind.BoundContract // Generic contract to use for unpacking event data 5287 event string // Event name to use for unpacking event data 5288 5289 logs chan types.Log // Log channel receiving the found contract events 5290 sub ethereum.Subscription // Subscription for errors, completion and termination 5291 done bool // Whether the subscription completed delivering logs 5292 fail error // Occurred error to stop iteration 5293 } 5294 5295 // Next advances the iterator to the subsequent event, returning whether there 5296 // are any more events found. In case of a retrieval or parsing error, false is 5297 // returned and Error() can be queried for the exact failure. 5298 func (it *UniswapV2ERC20TransferIterator) Next() bool { 5299 // If the iterator failed, stop iterating 5300 if it.fail != nil { 5301 return false 5302 } 5303 // If the iterator completed, deliver directly whatever's available 5304 if it.done { 5305 select { 5306 case log := <-it.logs: 5307 it.Event = new(UniswapV2ERC20Transfer) 5308 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5309 it.fail = err 5310 return false 5311 } 5312 it.Event.Raw = log 5313 return true 5314 5315 default: 5316 return false 5317 } 5318 } 5319 // Iterator still in progress, wait for either a data or an error event 5320 select { 5321 case log := <-it.logs: 5322 it.Event = new(UniswapV2ERC20Transfer) 5323 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5324 it.fail = err 5325 return false 5326 } 5327 it.Event.Raw = log 5328 return true 5329 5330 case err := <-it.sub.Err(): 5331 it.done = true 5332 it.fail = err 5333 return it.Next() 5334 } 5335 } 5336 5337 // Error returns any retrieval or parsing error occurred during filtering. 5338 func (it *UniswapV2ERC20TransferIterator) Error() error { 5339 return it.fail 5340 } 5341 5342 // Close terminates the iteration process, releasing any pending underlying 5343 // resources. 5344 func (it *UniswapV2ERC20TransferIterator) Close() error { 5345 it.sub.Unsubscribe() 5346 return nil 5347 } 5348 5349 // UniswapV2ERC20Transfer represents a Transfer event raised by the UniswapV2ERC20 contract. 5350 type UniswapV2ERC20Transfer struct { 5351 From common.Address 5352 To common.Address 5353 Value *big.Int 5354 Raw types.Log // Blockchain specific contextual infos 5355 } 5356 5357 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5358 // 5359 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 5360 func (_UniswapV2ERC20 *UniswapV2ERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*UniswapV2ERC20TransferIterator, error) { 5361 5362 var fromRule []interface{} 5363 for _, fromItem := range from { 5364 fromRule = append(fromRule, fromItem) 5365 } 5366 var toRule []interface{} 5367 for _, toItem := range to { 5368 toRule = append(toRule, toItem) 5369 } 5370 5371 logs, sub, err := _UniswapV2ERC20.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 5372 if err != nil { 5373 return nil, err 5374 } 5375 return &UniswapV2ERC20TransferIterator{contract: _UniswapV2ERC20.contract, event: "Transfer", logs: logs, sub: sub}, nil 5376 } 5377 5378 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5379 // 5380 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 5381 func (_UniswapV2ERC20 *UniswapV2ERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *UniswapV2ERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error) { 5382 5383 var fromRule []interface{} 5384 for _, fromItem := range from { 5385 fromRule = append(fromRule, fromItem) 5386 } 5387 var toRule []interface{} 5388 for _, toItem := range to { 5389 toRule = append(toRule, toItem) 5390 } 5391 5392 logs, sub, err := _UniswapV2ERC20.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 5393 if err != nil { 5394 return nil, err 5395 } 5396 return event.NewSubscription(func(quit <-chan struct{}) error { 5397 defer sub.Unsubscribe() 5398 for { 5399 select { 5400 case log := <-logs: 5401 // New log arrived, parse the event and forward to the user 5402 event := new(UniswapV2ERC20Transfer) 5403 if err := _UniswapV2ERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 5404 return err 5405 } 5406 event.Raw = log 5407 5408 select { 5409 case sink <- event: 5410 case err := <-sub.Err(): 5411 return err 5412 case <-quit: 5413 return nil 5414 } 5415 case err := <-sub.Err(): 5416 return err 5417 case <-quit: 5418 return nil 5419 } 5420 } 5421 }), nil 5422 } 5423 5424 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 5425 // 5426 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 5427 func (_UniswapV2ERC20 *UniswapV2ERC20Filterer) ParseTransfer(log types.Log) (*UniswapV2ERC20Transfer, error) { 5428 event := new(UniswapV2ERC20Transfer) 5429 if err := _UniswapV2ERC20.contract.UnpackLog(event, "Transfer", log); err != nil { 5430 return nil, err 5431 } 5432 return event, nil 5433 } 5434 5435 // UniswapV2PairABI is the input ABI used to generate the binding from. 5436 const UniswapV2PairABI = "[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1In\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve0\",\"type\":\"uint112\"},{\"indexed\":false,\"internalType\":\"uint112\",\"name\":\"reserve1\",\"type\":\"uint112\"}],\"name\":\"Sync\",\"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\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MINIMUM_LIQUIDITY\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"uint112\",\"name\":\"_reserve0\",\"type\":\"uint112\"},{\"internalType\":\"uint112\",\"name\":\"_reserve1\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"_blockTimestampLast\",\"type\":\"uint32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token1\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"kLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"liquidity\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"price0CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"price1CumulativeLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"skim\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0Out\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Out\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"sync\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 5437 5438 // UniswapV2PairFuncSigs maps the 4-byte function signature to its string representation. 5439 var UniswapV2PairFuncSigs = map[string]string{ 5440 "3644e515": "DOMAIN_SEPARATOR()", 5441 "ba9a7a56": "MINIMUM_LIQUIDITY()", 5442 "30adf81f": "PERMIT_TYPEHASH()", 5443 "dd62ed3e": "allowance(address,address)", 5444 "095ea7b3": "approve(address,uint256)", 5445 "70a08231": "balanceOf(address)", 5446 "89afcb44": "burn(address)", 5447 "313ce567": "decimals()", 5448 "c45a0155": "factory()", 5449 "0902f1ac": "getReserves()", 5450 "485cc955": "initialize(address,address)", 5451 "7464fc3d": "kLast()", 5452 "6a627842": "mint(address)", 5453 "06fdde03": "name()", 5454 "7ecebe00": "nonces(address)", 5455 "d505accf": "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)", 5456 "5909c0d5": "price0CumulativeLast()", 5457 "5a3d5493": "price1CumulativeLast()", 5458 "bc25cf77": "skim(address)", 5459 "022c0d9f": "swap(uint256,uint256,address,bytes)", 5460 "95d89b41": "symbol()", 5461 "fff6cae9": "sync()", 5462 "0dfe1681": "token0()", 5463 "d21220a7": "token1()", 5464 "18160ddd": "totalSupply()", 5465 "a9059cbb": "transfer(address,uint256)", 5466 "23b872dd": "transferFrom(address,address,uint256)", 5467 } 5468 5469 // UniswapV2PairBin is the compiled bytecode used for deploying new contracts. 5470 var UniswapV2PairBin = "0x60806040526001600c5534801561001557600080fd5b5060405146908060526123868239604080519182900360520182208282018252600a8352692ab734b9bbb0b8102b1960b11b6020938401528151808301835260018152603160f81b908401528151808401919091527fbfcc8ef98ffbf7b6c3fec7bf5185b566b9863e35a9d83acd49ad6824b5969738818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015260808101949094523060a0808601919091528151808603909101815260c09094019052825192019190912060035550600580546001600160a01b03191633179055612281806101056000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610534578063d505accf1461053c578063dd62ed3e1461058d578063fff6cae9146105bb576101a9565b8063ba9a7a56146104fe578063bc25cf7714610506578063c45a01551461052c576101a9565b80637ecebe00116100d35780637ecebe001461046557806389afcb441461048b57806395d89b41146104ca578063a9059cbb146104d2576101a9565b80636a6278421461041157806370a08231146104375780637464fc3d1461045d576101a9565b806323b872dd116101665780633644e515116101405780633644e515146103cb578063485cc955146103d35780635909c0d5146104015780635a3d549314610409576101a9565b806323b872dd1461036f57806330adf81f146103a5578063313ce567146103ad576101a9565b8063022c0d9f146101ae57806306fdde031461023c5780630902f1ac146102b9578063095ea7b3146102f15780630dfe16811461033157806318160ddd14610355575b600080fd5b61023a600480360360808110156101c457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184600183028401116401000000008311171561022f57600080fd5b5090925090506105c3565b005b610244610afe565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c1610b24565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b61031d6004803603604081101561030757600080fd5b506001600160a01b038135169060200135610b4e565b604080519115158252519081900360200190f35b610339610b65565b604080516001600160a01b039092168252519081900360200190f35b61035d610b74565b60408051918252519081900360200190f35b61031d6004803603606081101561038557600080fd5b506001600160a01b03813581169160208101359091169060400135610b7a565b61035d610c14565b6103b5610c38565b6040805160ff9092168252519081900360200190f35b61035d610c3d565b61023a600480360360408110156103e957600080fd5b506001600160a01b0381358116916020013516610c43565b61035d610cc7565b61035d610ccd565b61035d6004803603602081101561042757600080fd5b50356001600160a01b0316610cd3565b61035d6004803603602081101561044d57600080fd5b50356001600160a01b0316610fd3565b61035d610fe5565b61035d6004803603602081101561047b57600080fd5b50356001600160a01b0316610feb565b6104b1600480360360208110156104a157600080fd5b50356001600160a01b0316610ffd565b6040805192835260208301919091528051918290030190f35b6102446113a3565b61031d600480360360408110156104e857600080fd5b506001600160a01b0381351690602001356113c5565b61035d6113d2565b61023a6004803603602081101561051c57600080fd5b50356001600160a01b03166113d8565b610339611543565b610339611552565b61023a600480360360e081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611561565b61035d600480360360408110156105a357600080fd5b506001600160a01b0381358116916020013516611763565b61023a611780565b600c5460011461060e576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55841515806106215750600084115b61065c5760405162461bcd60e51b81526004018080602001828103825260258152602001806121936025913960400191505060405180910390fd5b600080610667610b24565b5091509150816001600160701b03168710801561068c5750806001600160701b031686105b6106c75760405162461bcd60e51b81526004018080602001828103825260218152602001806121dc6021913960400191505060405180910390fd5b60065460075460009182916001600160a01b039182169190811690891682148015906107055750806001600160a01b0316896001600160a01b031614155b61074e576040805162461bcd60e51b8152602060048201526015602482015274556e697377617056323a20494e56414c49445f544f60581b604482015290519081900360640190fd5b8a1561075f5761075f828a8d6118e2565b891561077057610770818a8c6118e2565b861561082b57886001600160a01b03166310d1e85c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561081257600080fd5b505af1158015610826573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561087157600080fd5b505afa158015610885573d6000803e3d6000fd5b505050506040513d602081101561089b57600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b1580156108e757600080fd5b505afa1580156108fb573d6000803e3d6000fd5b505050506040513d602081101561091157600080fd5b5051925060009150506001600160701b0385168a90038311610934576000610943565b89856001600160701b03160383035b9050600089856001600160701b031603831161096057600061096f565b89856001600160701b03160383035b905060008211806109805750600081115b6109bb5760405162461bcd60e51b81526004018080602001828103825260248152602001806121b86024913960400191505060405180910390fd5b60006109ef6109d184600363ffffffff611a7c16565b6109e3876103e863ffffffff611a7c16565b9063ffffffff611adf16565b90506000610a076109d184600363ffffffff611a7c16565b9050610a38620f4240610a2c6001600160701b038b8116908b1663ffffffff611a7c16565b9063ffffffff611a7c16565b610a48838363ffffffff611a7c16565b1015610a8a576040805162461bcd60e51b815260206004820152600c60248201526b556e697377617056323a204b60a01b604482015290519081900360640190fd5b5050610a9884848888611b2f565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a8152602001692ab734b9bbb0b8102b1960b11b81525081565b6008546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6000610b5b338484611cf4565b5060015b92915050565b6006546001600160a01b031681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610bff576001600160a01b0384166000908152600260209081526040808320338452909152902054610bda908363ffffffff611adf16565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610c0a848484611d56565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b6005546001600160a01b03163314610c99576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c54600114610d20576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c81905580610d30610b24565b50600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610d8457600080fd5b505afa158015610d98573d6000803e3d6000fd5b505050506040513d6020811015610dae57600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610e0157600080fd5b505afa158015610e15573d6000803e3d6000fd5b505050506040513d6020811015610e2b57600080fd5b505190506000610e4a836001600160701b03871663ffffffff611adf16565b90506000610e67836001600160701b03871663ffffffff611adf16565b90506000610e758787611e10565b60005490915080610eb257610e9e6103e86109e3610e99878763ffffffff611a7c16565b611f6e565b9850610ead60006103e8611fc0565b610f01565b610efe6001600160701b038916610ecf868463ffffffff611a7c16565b81610ed657fe5b046001600160701b038916610ef1868563ffffffff611a7c16565b81610ef857fe5b04612056565b98505b60008911610f405760405162461bcd60e51b81526004018080602001828103825260288152602001806122256028913960400191505060405180910390fd5b610f4a8a8a611fc0565b610f5686868a8a611b2f565b8115610f8657600854610f82906001600160701b0380821691600160701b90041663ffffffff611a7c16565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461104b576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c8190558061105b610b24565b50600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b1580156110b757600080fd5b505afa1580156110cb573d6000803e3d6000fd5b505050506040513d60208110156110e157600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561112f57600080fd5b505afa158015611143573d6000803e3d6000fd5b505050506040513d602081101561115957600080fd5b5051306000908152600160205260408120549192506111788888611e10565b6000549091508061118f848763ffffffff611a7c16565b8161119657fe5b049a50806111aa848663ffffffff611a7c16565b816111b157fe5b04995060008b1180156111c4575060008a115b6111ff5760405162461bcd60e51b81526004018080602001828103825260288152602001806121fd6028913960400191505060405180910390fd5b611209308461206e565b611214878d8d6118e2565b61121f868d8c6118e2565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b15801561126557600080fd5b505afa158015611279573d6000803e3d6000fd5b505050506040513d602081101561128f57600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b1580156112db57600080fd5b505afa1580156112ef573d6000803e3d6000fd5b505050506040513d602081101561130557600080fd5b5051935061131585858b8b611b2f565b811561134557600854611341906001600160701b0380821691600160701b90041663ffffffff611a7c16565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b604051806040016040528060068152602001652aa72496ab1960d11b81525081565b6000610b5b338484611d56565b6103e881565b600c54600114611423576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b0394851694909316926114d292859287926114cd926001600160701b03169185916370a0823191602480820192602092909190829003018186803b15801561149557600080fd5b505afa1580156114a9573d6000803e3d6000fd5b505050506040513d60208110156114bf57600080fd5b50519063ffffffff611adf16565b6118e2565b600854604080516370a0823160e01b8152306004820152905161153992849287926114cd92600160701b90046001600160701b0316916001600160a01b038616916370a0823191602480820192602092909190829003018186803b15801561149557600080fd5b50506001600c5550565b6005546001600160a01b031681565b6007546001600160a01b031681565b428410156115ab576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa1580156116c6573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906116fc5750886001600160a01b0316816001600160a01b0316145b61174d576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611758898989611cf4565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c546001146117cb576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654604080516370a0823160e01b815230600482015290516118db926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561181c57600080fd5b505afa158015611830573d6000803e3d6000fd5b505050506040513d602081101561184657600080fd5b5051600754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561189357600080fd5b505afa1580156118a7573d6000803e3d6000fd5b505050506040513d60208110156118bd57600080fd5b50516008546001600160701b0380821691600160701b900416611b2f565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b6020831061198f5780518252601f199092019160209182019101611970565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146119f1576040519150601f19603f3d011682016040523d82523d6000602084013e6119f6565b606091505b5091509150818015611a24575080511580611a245750808060200190516020811015611a2157600080fd5b50515b611a75576040805162461bcd60e51b815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b6000811580611a9757505080820282828281611a9457fe5b04145b610b5f576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820382811115610b5f576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160701b038411801590611b4d57506001600160701b038311155b611b94576040805162461bcd60e51b8152602060048201526013602482015272556e697377617056323a204f564552464c4f5760681b604482015290519081900360640190fd5b60085463ffffffff42811691600160e01b90048116820390811615801590611bc457506001600160701b03841615155b8015611bd857506001600160701b03831615155b15611c49578063ffffffff16611c0685611bf18661210c565b6001600160e01b03169063ffffffff61211e16565b600980546001600160e01b03929092169290920201905563ffffffff8116611c3184611bf18761210c565b600a80546001600160e01b0392909216929092020190555b600880546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316600090815260016020526040902054611d7f908263ffffffff611adf16565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611db4908263ffffffff61214316565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6157600080fd5b505afa158015611e75573d6000803e3d6000fd5b505050506040513d6020811015611e8b57600080fd5b5051600b546001600160a01b038216158015945091925090611f5a578015611f55576000611ece610e996001600160701b0388811690881663ffffffff611a7c16565b90506000611edb83611f6e565b905080821115611f52576000611f09611efa848463ffffffff611adf16565b6000549063ffffffff611a7c16565b90506000611f2e83611f2286600563ffffffff611a7c16565b9063ffffffff61214316565b90506000818381611f3b57fe5b0490508015611f4e57611f4e8782611fc0565b5050505b50505b611f66565b8015611f66576000600b555b505092915050565b60006003821115611fb1575080600160028204015b81811015611fab57809150600281828581611f9a57fe5b040181611fa357fe5b049050611f83565b50611fbb565b8115611fbb575060015b919050565b600054611fd3908263ffffffff61214316565b60009081556001600160a01b038316815260016020526040902054611ffe908263ffffffff61214316565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106120655781612067565b825b9392505050565b6001600160a01b038216600090815260016020526040902054612097908263ffffffff611adf16565b6001600160a01b038316600090815260016020526040812091909155546120c4908263ffffffff611adf16565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161213b57fe5b049392505050565b80820182811015610b5f576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158203f68d6476c69f7c898a0d7766fdcebd7675e47c753a4d6278607786fbb1945df64736f6c63430005100032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429" 5471 5472 // DeployUniswapV2Pair deploys a new Ethereum contract, binding an instance of UniswapV2Pair to it. 5473 func DeployUniswapV2Pair(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *UniswapV2Pair, error) { 5474 parsed, err := abi.JSON(strings.NewReader(UniswapV2PairABI)) 5475 if err != nil { 5476 return common.Address{}, nil, nil, err 5477 } 5478 5479 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(UniswapV2PairBin), backend) 5480 if err != nil { 5481 return common.Address{}, nil, nil, err 5482 } 5483 return address, tx, &UniswapV2Pair{UniswapV2PairCaller: UniswapV2PairCaller{contract: contract}, UniswapV2PairTransactor: UniswapV2PairTransactor{contract: contract}, UniswapV2PairFilterer: UniswapV2PairFilterer{contract: contract}}, nil 5484 } 5485 5486 // UniswapV2Pair is an auto generated Go binding around an Ethereum contract. 5487 type UniswapV2Pair struct { 5488 UniswapV2PairCaller // Read-only binding to the contract 5489 UniswapV2PairTransactor // Write-only binding to the contract 5490 UniswapV2PairFilterer // Log filterer for contract events 5491 } 5492 5493 // UniswapV2PairCaller is an auto generated read-only Go binding around an Ethereum contract. 5494 type UniswapV2PairCaller struct { 5495 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5496 } 5497 5498 // UniswapV2PairTransactor is an auto generated write-only Go binding around an Ethereum contract. 5499 type UniswapV2PairTransactor struct { 5500 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5501 } 5502 5503 // UniswapV2PairFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 5504 type UniswapV2PairFilterer struct { 5505 contract *bind.BoundContract // Generic contract wrapper for the low level calls 5506 } 5507 5508 // UniswapV2PairSession is an auto generated Go binding around an Ethereum contract, 5509 // with pre-set call and transact options. 5510 type UniswapV2PairSession struct { 5511 Contract *UniswapV2Pair // Generic contract binding to set the session for 5512 CallOpts bind.CallOpts // Call options to use throughout this session 5513 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5514 } 5515 5516 // UniswapV2PairCallerSession is an auto generated read-only Go binding around an Ethereum contract, 5517 // with pre-set call options. 5518 type UniswapV2PairCallerSession struct { 5519 Contract *UniswapV2PairCaller // Generic contract caller binding to set the session for 5520 CallOpts bind.CallOpts // Call options to use throughout this session 5521 } 5522 5523 // UniswapV2PairTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 5524 // with pre-set transact options. 5525 type UniswapV2PairTransactorSession struct { 5526 Contract *UniswapV2PairTransactor // Generic contract transactor binding to set the session for 5527 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 5528 } 5529 5530 // UniswapV2PairRaw is an auto generated low-level Go binding around an Ethereum contract. 5531 type UniswapV2PairRaw struct { 5532 Contract *UniswapV2Pair // Generic contract binding to access the raw methods on 5533 } 5534 5535 // UniswapV2PairCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 5536 type UniswapV2PairCallerRaw struct { 5537 Contract *UniswapV2PairCaller // Generic read-only contract binding to access the raw methods on 5538 } 5539 5540 // UniswapV2PairTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 5541 type UniswapV2PairTransactorRaw struct { 5542 Contract *UniswapV2PairTransactor // Generic write-only contract binding to access the raw methods on 5543 } 5544 5545 // NewUniswapV2Pair creates a new instance of UniswapV2Pair, bound to a specific deployed contract. 5546 func NewUniswapV2Pair(address common.Address, backend bind.ContractBackend) (*UniswapV2Pair, error) { 5547 contract, err := bindUniswapV2Pair(address, backend, backend, backend) 5548 if err != nil { 5549 return nil, err 5550 } 5551 return &UniswapV2Pair{UniswapV2PairCaller: UniswapV2PairCaller{contract: contract}, UniswapV2PairTransactor: UniswapV2PairTransactor{contract: contract}, UniswapV2PairFilterer: UniswapV2PairFilterer{contract: contract}}, nil 5552 } 5553 5554 // NewUniswapV2PairCaller creates a new read-only instance of UniswapV2Pair, bound to a specific deployed contract. 5555 func NewUniswapV2PairCaller(address common.Address, caller bind.ContractCaller) (*UniswapV2PairCaller, error) { 5556 contract, err := bindUniswapV2Pair(address, caller, nil, nil) 5557 if err != nil { 5558 return nil, err 5559 } 5560 return &UniswapV2PairCaller{contract: contract}, nil 5561 } 5562 5563 // NewUniswapV2PairTransactor creates a new write-only instance of UniswapV2Pair, bound to a specific deployed contract. 5564 func NewUniswapV2PairTransactor(address common.Address, transactor bind.ContractTransactor) (*UniswapV2PairTransactor, error) { 5565 contract, err := bindUniswapV2Pair(address, nil, transactor, nil) 5566 if err != nil { 5567 return nil, err 5568 } 5569 return &UniswapV2PairTransactor{contract: contract}, nil 5570 } 5571 5572 // NewUniswapV2PairFilterer creates a new log filterer instance of UniswapV2Pair, bound to a specific deployed contract. 5573 func NewUniswapV2PairFilterer(address common.Address, filterer bind.ContractFilterer) (*UniswapV2PairFilterer, error) { 5574 contract, err := bindUniswapV2Pair(address, nil, nil, filterer) 5575 if err != nil { 5576 return nil, err 5577 } 5578 return &UniswapV2PairFilterer{contract: contract}, nil 5579 } 5580 5581 // bindUniswapV2Pair binds a generic wrapper to an already deployed contract. 5582 func bindUniswapV2Pair(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 5583 parsed, err := abi.JSON(strings.NewReader(UniswapV2PairABI)) 5584 if err != nil { 5585 return nil, err 5586 } 5587 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 5588 } 5589 5590 // Call invokes the (constant) contract method with params as input values and 5591 // sets the output to result. The result type might be a single field for simple 5592 // returns, a slice of interfaces for anonymous returns and a struct for named 5593 // returns. 5594 func (_UniswapV2Pair *UniswapV2PairRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5595 return _UniswapV2Pair.Contract.UniswapV2PairCaller.contract.Call(opts, result, method, params...) 5596 } 5597 5598 // Transfer initiates a plain transaction to move funds to the contract, calling 5599 // its default method if one is available. 5600 func (_UniswapV2Pair *UniswapV2PairRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5601 return _UniswapV2Pair.Contract.UniswapV2PairTransactor.contract.Transfer(opts) 5602 } 5603 5604 // Transact invokes the (paid) contract method with params as input values. 5605 func (_UniswapV2Pair *UniswapV2PairRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5606 return _UniswapV2Pair.Contract.UniswapV2PairTransactor.contract.Transact(opts, method, params...) 5607 } 5608 5609 // Call invokes the (constant) contract method with params as input values and 5610 // sets the output to result. The result type might be a single field for simple 5611 // returns, a slice of interfaces for anonymous returns and a struct for named 5612 // returns. 5613 func (_UniswapV2Pair *UniswapV2PairCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 5614 return _UniswapV2Pair.Contract.contract.Call(opts, result, method, params...) 5615 } 5616 5617 // Transfer initiates a plain transaction to move funds to the contract, calling 5618 // its default method if one is available. 5619 func (_UniswapV2Pair *UniswapV2PairTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 5620 return _UniswapV2Pair.Contract.contract.Transfer(opts) 5621 } 5622 5623 // Transact invokes the (paid) contract method with params as input values. 5624 func (_UniswapV2Pair *UniswapV2PairTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 5625 return _UniswapV2Pair.Contract.contract.Transact(opts, method, params...) 5626 } 5627 5628 // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. 5629 // 5630 // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) 5631 func (_UniswapV2Pair *UniswapV2PairCaller) DOMAINSEPARATOR(opts *bind.CallOpts) ([32]byte, error) { 5632 var out []interface{} 5633 err := _UniswapV2Pair.contract.Call(opts, &out, "DOMAIN_SEPARATOR") 5634 5635 if err != nil { 5636 return *new([32]byte), err 5637 } 5638 5639 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 5640 5641 return out0, err 5642 5643 } 5644 5645 // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. 5646 // 5647 // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) 5648 func (_UniswapV2Pair *UniswapV2PairSession) DOMAINSEPARATOR() ([32]byte, error) { 5649 return _UniswapV2Pair.Contract.DOMAINSEPARATOR(&_UniswapV2Pair.CallOpts) 5650 } 5651 5652 // DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. 5653 // 5654 // Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) 5655 func (_UniswapV2Pair *UniswapV2PairCallerSession) DOMAINSEPARATOR() ([32]byte, error) { 5656 return _UniswapV2Pair.Contract.DOMAINSEPARATOR(&_UniswapV2Pair.CallOpts) 5657 } 5658 5659 // MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. 5660 // 5661 // Solidity: function MINIMUM_LIQUIDITY() view returns(uint256) 5662 func (_UniswapV2Pair *UniswapV2PairCaller) MINIMUMLIQUIDITY(opts *bind.CallOpts) (*big.Int, error) { 5663 var out []interface{} 5664 err := _UniswapV2Pair.contract.Call(opts, &out, "MINIMUM_LIQUIDITY") 5665 5666 if err != nil { 5667 return *new(*big.Int), err 5668 } 5669 5670 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 5671 5672 return out0, err 5673 5674 } 5675 5676 // MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. 5677 // 5678 // Solidity: function MINIMUM_LIQUIDITY() view returns(uint256) 5679 func (_UniswapV2Pair *UniswapV2PairSession) MINIMUMLIQUIDITY() (*big.Int, error) { 5680 return _UniswapV2Pair.Contract.MINIMUMLIQUIDITY(&_UniswapV2Pair.CallOpts) 5681 } 5682 5683 // MINIMUMLIQUIDITY is a free data retrieval call binding the contract method 0xba9a7a56. 5684 // 5685 // Solidity: function MINIMUM_LIQUIDITY() view returns(uint256) 5686 func (_UniswapV2Pair *UniswapV2PairCallerSession) MINIMUMLIQUIDITY() (*big.Int, error) { 5687 return _UniswapV2Pair.Contract.MINIMUMLIQUIDITY(&_UniswapV2Pair.CallOpts) 5688 } 5689 5690 // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. 5691 // 5692 // Solidity: function PERMIT_TYPEHASH() view returns(bytes32) 5693 func (_UniswapV2Pair *UniswapV2PairCaller) PERMITTYPEHASH(opts *bind.CallOpts) ([32]byte, error) { 5694 var out []interface{} 5695 err := _UniswapV2Pair.contract.Call(opts, &out, "PERMIT_TYPEHASH") 5696 5697 if err != nil { 5698 return *new([32]byte), err 5699 } 5700 5701 out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) 5702 5703 return out0, err 5704 5705 } 5706 5707 // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. 5708 // 5709 // Solidity: function PERMIT_TYPEHASH() view returns(bytes32) 5710 func (_UniswapV2Pair *UniswapV2PairSession) PERMITTYPEHASH() ([32]byte, error) { 5711 return _UniswapV2Pair.Contract.PERMITTYPEHASH(&_UniswapV2Pair.CallOpts) 5712 } 5713 5714 // PERMITTYPEHASH is a free data retrieval call binding the contract method 0x30adf81f. 5715 // 5716 // Solidity: function PERMIT_TYPEHASH() view returns(bytes32) 5717 func (_UniswapV2Pair *UniswapV2PairCallerSession) PERMITTYPEHASH() ([32]byte, error) { 5718 return _UniswapV2Pair.Contract.PERMITTYPEHASH(&_UniswapV2Pair.CallOpts) 5719 } 5720 5721 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 5722 // 5723 // Solidity: function allowance(address , address ) view returns(uint256) 5724 func (_UniswapV2Pair *UniswapV2PairCaller) Allowance(opts *bind.CallOpts, arg0 common.Address, arg1 common.Address) (*big.Int, error) { 5725 var out []interface{} 5726 err := _UniswapV2Pair.contract.Call(opts, &out, "allowance", arg0, arg1) 5727 5728 if err != nil { 5729 return *new(*big.Int), err 5730 } 5731 5732 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 5733 5734 return out0, err 5735 5736 } 5737 5738 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 5739 // 5740 // Solidity: function allowance(address , address ) view returns(uint256) 5741 func (_UniswapV2Pair *UniswapV2PairSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { 5742 return _UniswapV2Pair.Contract.Allowance(&_UniswapV2Pair.CallOpts, arg0, arg1) 5743 } 5744 5745 // Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. 5746 // 5747 // Solidity: function allowance(address , address ) view returns(uint256) 5748 func (_UniswapV2Pair *UniswapV2PairCallerSession) Allowance(arg0 common.Address, arg1 common.Address) (*big.Int, error) { 5749 return _UniswapV2Pair.Contract.Allowance(&_UniswapV2Pair.CallOpts, arg0, arg1) 5750 } 5751 5752 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5753 // 5754 // Solidity: function balanceOf(address ) view returns(uint256) 5755 func (_UniswapV2Pair *UniswapV2PairCaller) BalanceOf(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { 5756 var out []interface{} 5757 err := _UniswapV2Pair.contract.Call(opts, &out, "balanceOf", arg0) 5758 5759 if err != nil { 5760 return *new(*big.Int), err 5761 } 5762 5763 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 5764 5765 return out0, err 5766 5767 } 5768 5769 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5770 // 5771 // Solidity: function balanceOf(address ) view returns(uint256) 5772 func (_UniswapV2Pair *UniswapV2PairSession) BalanceOf(arg0 common.Address) (*big.Int, error) { 5773 return _UniswapV2Pair.Contract.BalanceOf(&_UniswapV2Pair.CallOpts, arg0) 5774 } 5775 5776 // BalanceOf is a free data retrieval call binding the contract method 0x70a08231. 5777 // 5778 // Solidity: function balanceOf(address ) view returns(uint256) 5779 func (_UniswapV2Pair *UniswapV2PairCallerSession) BalanceOf(arg0 common.Address) (*big.Int, error) { 5780 return _UniswapV2Pair.Contract.BalanceOf(&_UniswapV2Pair.CallOpts, arg0) 5781 } 5782 5783 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 5784 // 5785 // Solidity: function decimals() view returns(uint8) 5786 func (_UniswapV2Pair *UniswapV2PairCaller) Decimals(opts *bind.CallOpts) (uint8, error) { 5787 var out []interface{} 5788 err := _UniswapV2Pair.contract.Call(opts, &out, "decimals") 5789 5790 if err != nil { 5791 return *new(uint8), err 5792 } 5793 5794 out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) 5795 5796 return out0, err 5797 5798 } 5799 5800 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 5801 // 5802 // Solidity: function decimals() view returns(uint8) 5803 func (_UniswapV2Pair *UniswapV2PairSession) Decimals() (uint8, error) { 5804 return _UniswapV2Pair.Contract.Decimals(&_UniswapV2Pair.CallOpts) 5805 } 5806 5807 // Decimals is a free data retrieval call binding the contract method 0x313ce567. 5808 // 5809 // Solidity: function decimals() view returns(uint8) 5810 func (_UniswapV2Pair *UniswapV2PairCallerSession) Decimals() (uint8, error) { 5811 return _UniswapV2Pair.Contract.Decimals(&_UniswapV2Pair.CallOpts) 5812 } 5813 5814 // Factory is a free data retrieval call binding the contract method 0xc45a0155. 5815 // 5816 // Solidity: function factory() view returns(address) 5817 func (_UniswapV2Pair *UniswapV2PairCaller) Factory(opts *bind.CallOpts) (common.Address, error) { 5818 var out []interface{} 5819 err := _UniswapV2Pair.contract.Call(opts, &out, "factory") 5820 5821 if err != nil { 5822 return *new(common.Address), err 5823 } 5824 5825 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 5826 5827 return out0, err 5828 5829 } 5830 5831 // Factory is a free data retrieval call binding the contract method 0xc45a0155. 5832 // 5833 // Solidity: function factory() view returns(address) 5834 func (_UniswapV2Pair *UniswapV2PairSession) Factory() (common.Address, error) { 5835 return _UniswapV2Pair.Contract.Factory(&_UniswapV2Pair.CallOpts) 5836 } 5837 5838 // Factory is a free data retrieval call binding the contract method 0xc45a0155. 5839 // 5840 // Solidity: function factory() view returns(address) 5841 func (_UniswapV2Pair *UniswapV2PairCallerSession) Factory() (common.Address, error) { 5842 return _UniswapV2Pair.Contract.Factory(&_UniswapV2Pair.CallOpts) 5843 } 5844 5845 // GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. 5846 // 5847 // Solidity: function getReserves() view returns(uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) 5848 func (_UniswapV2Pair *UniswapV2PairCaller) GetReserves(opts *bind.CallOpts) (struct { 5849 Reserve0 *big.Int 5850 Reserve1 *big.Int 5851 BlockTimestampLast uint32 5852 }, error) { 5853 var out []interface{} 5854 err := _UniswapV2Pair.contract.Call(opts, &out, "getReserves") 5855 5856 outstruct := new(struct { 5857 Reserve0 *big.Int 5858 Reserve1 *big.Int 5859 BlockTimestampLast uint32 5860 }) 5861 5862 outstruct.Reserve0 = out[0].(*big.Int) 5863 outstruct.Reserve1 = out[1].(*big.Int) 5864 outstruct.BlockTimestampLast = out[2].(uint32) 5865 5866 return *outstruct, err 5867 5868 } 5869 5870 // GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. 5871 // 5872 // Solidity: function getReserves() view returns(uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) 5873 func (_UniswapV2Pair *UniswapV2PairSession) GetReserves() (struct { 5874 Reserve0 *big.Int 5875 Reserve1 *big.Int 5876 BlockTimestampLast uint32 5877 }, error) { 5878 return _UniswapV2Pair.Contract.GetReserves(&_UniswapV2Pair.CallOpts) 5879 } 5880 5881 // GetReserves is a free data retrieval call binding the contract method 0x0902f1ac. 5882 // 5883 // Solidity: function getReserves() view returns(uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast) 5884 func (_UniswapV2Pair *UniswapV2PairCallerSession) GetReserves() (struct { 5885 Reserve0 *big.Int 5886 Reserve1 *big.Int 5887 BlockTimestampLast uint32 5888 }, error) { 5889 return _UniswapV2Pair.Contract.GetReserves(&_UniswapV2Pair.CallOpts) 5890 } 5891 5892 // KLast is a free data retrieval call binding the contract method 0x7464fc3d. 5893 // 5894 // Solidity: function kLast() view returns(uint256) 5895 func (_UniswapV2Pair *UniswapV2PairCaller) KLast(opts *bind.CallOpts) (*big.Int, error) { 5896 var out []interface{} 5897 err := _UniswapV2Pair.contract.Call(opts, &out, "kLast") 5898 5899 if err != nil { 5900 return *new(*big.Int), err 5901 } 5902 5903 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 5904 5905 return out0, err 5906 5907 } 5908 5909 // KLast is a free data retrieval call binding the contract method 0x7464fc3d. 5910 // 5911 // Solidity: function kLast() view returns(uint256) 5912 func (_UniswapV2Pair *UniswapV2PairSession) KLast() (*big.Int, error) { 5913 return _UniswapV2Pair.Contract.KLast(&_UniswapV2Pair.CallOpts) 5914 } 5915 5916 // KLast is a free data retrieval call binding the contract method 0x7464fc3d. 5917 // 5918 // Solidity: function kLast() view returns(uint256) 5919 func (_UniswapV2Pair *UniswapV2PairCallerSession) KLast() (*big.Int, error) { 5920 return _UniswapV2Pair.Contract.KLast(&_UniswapV2Pair.CallOpts) 5921 } 5922 5923 // Name is a free data retrieval call binding the contract method 0x06fdde03. 5924 // 5925 // Solidity: function name() view returns(string) 5926 func (_UniswapV2Pair *UniswapV2PairCaller) Name(opts *bind.CallOpts) (string, error) { 5927 var out []interface{} 5928 err := _UniswapV2Pair.contract.Call(opts, &out, "name") 5929 5930 if err != nil { 5931 return *new(string), err 5932 } 5933 5934 out0 := *abi.ConvertType(out[0], new(string)).(*string) 5935 5936 return out0, err 5937 5938 } 5939 5940 // Name is a free data retrieval call binding the contract method 0x06fdde03. 5941 // 5942 // Solidity: function name() view returns(string) 5943 func (_UniswapV2Pair *UniswapV2PairSession) Name() (string, error) { 5944 return _UniswapV2Pair.Contract.Name(&_UniswapV2Pair.CallOpts) 5945 } 5946 5947 // Name is a free data retrieval call binding the contract method 0x06fdde03. 5948 // 5949 // Solidity: function name() view returns(string) 5950 func (_UniswapV2Pair *UniswapV2PairCallerSession) Name() (string, error) { 5951 return _UniswapV2Pair.Contract.Name(&_UniswapV2Pair.CallOpts) 5952 } 5953 5954 // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. 5955 // 5956 // Solidity: function nonces(address ) view returns(uint256) 5957 func (_UniswapV2Pair *UniswapV2PairCaller) Nonces(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { 5958 var out []interface{} 5959 err := _UniswapV2Pair.contract.Call(opts, &out, "nonces", arg0) 5960 5961 if err != nil { 5962 return *new(*big.Int), err 5963 } 5964 5965 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 5966 5967 return out0, err 5968 5969 } 5970 5971 // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. 5972 // 5973 // Solidity: function nonces(address ) view returns(uint256) 5974 func (_UniswapV2Pair *UniswapV2PairSession) Nonces(arg0 common.Address) (*big.Int, error) { 5975 return _UniswapV2Pair.Contract.Nonces(&_UniswapV2Pair.CallOpts, arg0) 5976 } 5977 5978 // Nonces is a free data retrieval call binding the contract method 0x7ecebe00. 5979 // 5980 // Solidity: function nonces(address ) view returns(uint256) 5981 func (_UniswapV2Pair *UniswapV2PairCallerSession) Nonces(arg0 common.Address) (*big.Int, error) { 5982 return _UniswapV2Pair.Contract.Nonces(&_UniswapV2Pair.CallOpts, arg0) 5983 } 5984 5985 // Price0CumulativeLast is a free data retrieval call binding the contract method 0x5909c0d5. 5986 // 5987 // Solidity: function price0CumulativeLast() view returns(uint256) 5988 func (_UniswapV2Pair *UniswapV2PairCaller) Price0CumulativeLast(opts *bind.CallOpts) (*big.Int, error) { 5989 var out []interface{} 5990 err := _UniswapV2Pair.contract.Call(opts, &out, "price0CumulativeLast") 5991 5992 if err != nil { 5993 return *new(*big.Int), err 5994 } 5995 5996 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 5997 5998 return out0, err 5999 6000 } 6001 6002 // Price0CumulativeLast is a free data retrieval call binding the contract method 0x5909c0d5. 6003 // 6004 // Solidity: function price0CumulativeLast() view returns(uint256) 6005 func (_UniswapV2Pair *UniswapV2PairSession) Price0CumulativeLast() (*big.Int, error) { 6006 return _UniswapV2Pair.Contract.Price0CumulativeLast(&_UniswapV2Pair.CallOpts) 6007 } 6008 6009 // Price0CumulativeLast is a free data retrieval call binding the contract method 0x5909c0d5. 6010 // 6011 // Solidity: function price0CumulativeLast() view returns(uint256) 6012 func (_UniswapV2Pair *UniswapV2PairCallerSession) Price0CumulativeLast() (*big.Int, error) { 6013 return _UniswapV2Pair.Contract.Price0CumulativeLast(&_UniswapV2Pair.CallOpts) 6014 } 6015 6016 // Price1CumulativeLast is a free data retrieval call binding the contract method 0x5a3d5493. 6017 // 6018 // Solidity: function price1CumulativeLast() view returns(uint256) 6019 func (_UniswapV2Pair *UniswapV2PairCaller) Price1CumulativeLast(opts *bind.CallOpts) (*big.Int, error) { 6020 var out []interface{} 6021 err := _UniswapV2Pair.contract.Call(opts, &out, "price1CumulativeLast") 6022 6023 if err != nil { 6024 return *new(*big.Int), err 6025 } 6026 6027 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 6028 6029 return out0, err 6030 6031 } 6032 6033 // Price1CumulativeLast is a free data retrieval call binding the contract method 0x5a3d5493. 6034 // 6035 // Solidity: function price1CumulativeLast() view returns(uint256) 6036 func (_UniswapV2Pair *UniswapV2PairSession) Price1CumulativeLast() (*big.Int, error) { 6037 return _UniswapV2Pair.Contract.Price1CumulativeLast(&_UniswapV2Pair.CallOpts) 6038 } 6039 6040 // Price1CumulativeLast is a free data retrieval call binding the contract method 0x5a3d5493. 6041 // 6042 // Solidity: function price1CumulativeLast() view returns(uint256) 6043 func (_UniswapV2Pair *UniswapV2PairCallerSession) Price1CumulativeLast() (*big.Int, error) { 6044 return _UniswapV2Pair.Contract.Price1CumulativeLast(&_UniswapV2Pair.CallOpts) 6045 } 6046 6047 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 6048 // 6049 // Solidity: function symbol() view returns(string) 6050 func (_UniswapV2Pair *UniswapV2PairCaller) Symbol(opts *bind.CallOpts) (string, error) { 6051 var out []interface{} 6052 err := _UniswapV2Pair.contract.Call(opts, &out, "symbol") 6053 6054 if err != nil { 6055 return *new(string), err 6056 } 6057 6058 out0 := *abi.ConvertType(out[0], new(string)).(*string) 6059 6060 return out0, err 6061 6062 } 6063 6064 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 6065 // 6066 // Solidity: function symbol() view returns(string) 6067 func (_UniswapV2Pair *UniswapV2PairSession) Symbol() (string, error) { 6068 return _UniswapV2Pair.Contract.Symbol(&_UniswapV2Pair.CallOpts) 6069 } 6070 6071 // Symbol is a free data retrieval call binding the contract method 0x95d89b41. 6072 // 6073 // Solidity: function symbol() view returns(string) 6074 func (_UniswapV2Pair *UniswapV2PairCallerSession) Symbol() (string, error) { 6075 return _UniswapV2Pair.Contract.Symbol(&_UniswapV2Pair.CallOpts) 6076 } 6077 6078 // Token0 is a free data retrieval call binding the contract method 0x0dfe1681. 6079 // 6080 // Solidity: function token0() view returns(address) 6081 func (_UniswapV2Pair *UniswapV2PairCaller) Token0(opts *bind.CallOpts) (common.Address, error) { 6082 var out []interface{} 6083 err := _UniswapV2Pair.contract.Call(opts, &out, "token0") 6084 6085 if err != nil { 6086 return *new(common.Address), err 6087 } 6088 6089 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 6090 6091 return out0, err 6092 6093 } 6094 6095 // Token0 is a free data retrieval call binding the contract method 0x0dfe1681. 6096 // 6097 // Solidity: function token0() view returns(address) 6098 func (_UniswapV2Pair *UniswapV2PairSession) Token0() (common.Address, error) { 6099 return _UniswapV2Pair.Contract.Token0(&_UniswapV2Pair.CallOpts) 6100 } 6101 6102 // Token0 is a free data retrieval call binding the contract method 0x0dfe1681. 6103 // 6104 // Solidity: function token0() view returns(address) 6105 func (_UniswapV2Pair *UniswapV2PairCallerSession) Token0() (common.Address, error) { 6106 return _UniswapV2Pair.Contract.Token0(&_UniswapV2Pair.CallOpts) 6107 } 6108 6109 // Token1 is a free data retrieval call binding the contract method 0xd21220a7. 6110 // 6111 // Solidity: function token1() view returns(address) 6112 func (_UniswapV2Pair *UniswapV2PairCaller) Token1(opts *bind.CallOpts) (common.Address, error) { 6113 var out []interface{} 6114 err := _UniswapV2Pair.contract.Call(opts, &out, "token1") 6115 6116 if err != nil { 6117 return *new(common.Address), err 6118 } 6119 6120 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 6121 6122 return out0, err 6123 6124 } 6125 6126 // Token1 is a free data retrieval call binding the contract method 0xd21220a7. 6127 // 6128 // Solidity: function token1() view returns(address) 6129 func (_UniswapV2Pair *UniswapV2PairSession) Token1() (common.Address, error) { 6130 return _UniswapV2Pair.Contract.Token1(&_UniswapV2Pair.CallOpts) 6131 } 6132 6133 // Token1 is a free data retrieval call binding the contract method 0xd21220a7. 6134 // 6135 // Solidity: function token1() view returns(address) 6136 func (_UniswapV2Pair *UniswapV2PairCallerSession) Token1() (common.Address, error) { 6137 return _UniswapV2Pair.Contract.Token1(&_UniswapV2Pair.CallOpts) 6138 } 6139 6140 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 6141 // 6142 // Solidity: function totalSupply() view returns(uint256) 6143 func (_UniswapV2Pair *UniswapV2PairCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 6144 var out []interface{} 6145 err := _UniswapV2Pair.contract.Call(opts, &out, "totalSupply") 6146 6147 if err != nil { 6148 return *new(*big.Int), err 6149 } 6150 6151 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 6152 6153 return out0, err 6154 6155 } 6156 6157 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 6158 // 6159 // Solidity: function totalSupply() view returns(uint256) 6160 func (_UniswapV2Pair *UniswapV2PairSession) TotalSupply() (*big.Int, error) { 6161 return _UniswapV2Pair.Contract.TotalSupply(&_UniswapV2Pair.CallOpts) 6162 } 6163 6164 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 6165 // 6166 // Solidity: function totalSupply() view returns(uint256) 6167 func (_UniswapV2Pair *UniswapV2PairCallerSession) TotalSupply() (*big.Int, error) { 6168 return _UniswapV2Pair.Contract.TotalSupply(&_UniswapV2Pair.CallOpts) 6169 } 6170 6171 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 6172 // 6173 // Solidity: function approve(address spender, uint256 value) returns(bool) 6174 func (_UniswapV2Pair *UniswapV2PairTransactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error) { 6175 return _UniswapV2Pair.contract.Transact(opts, "approve", spender, value) 6176 } 6177 6178 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 6179 // 6180 // Solidity: function approve(address spender, uint256 value) returns(bool) 6181 func (_UniswapV2Pair *UniswapV2PairSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 6182 return _UniswapV2Pair.Contract.Approve(&_UniswapV2Pair.TransactOpts, spender, value) 6183 } 6184 6185 // Approve is a paid mutator transaction binding the contract method 0x095ea7b3. 6186 // 6187 // Solidity: function approve(address spender, uint256 value) returns(bool) 6188 func (_UniswapV2Pair *UniswapV2PairTransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error) { 6189 return _UniswapV2Pair.Contract.Approve(&_UniswapV2Pair.TransactOpts, spender, value) 6190 } 6191 6192 // Burn is a paid mutator transaction binding the contract method 0x89afcb44. 6193 // 6194 // Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) 6195 func (_UniswapV2Pair *UniswapV2PairTransactor) Burn(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { 6196 return _UniswapV2Pair.contract.Transact(opts, "burn", to) 6197 } 6198 6199 // Burn is a paid mutator transaction binding the contract method 0x89afcb44. 6200 // 6201 // Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) 6202 func (_UniswapV2Pair *UniswapV2PairSession) Burn(to common.Address) (*types.Transaction, error) { 6203 return _UniswapV2Pair.Contract.Burn(&_UniswapV2Pair.TransactOpts, to) 6204 } 6205 6206 // Burn is a paid mutator transaction binding the contract method 0x89afcb44. 6207 // 6208 // Solidity: function burn(address to) returns(uint256 amount0, uint256 amount1) 6209 func (_UniswapV2Pair *UniswapV2PairTransactorSession) Burn(to common.Address) (*types.Transaction, error) { 6210 return _UniswapV2Pair.Contract.Burn(&_UniswapV2Pair.TransactOpts, to) 6211 } 6212 6213 // Initialize is a paid mutator transaction binding the contract method 0x485cc955. 6214 // 6215 // Solidity: function initialize(address _token0, address _token1) returns() 6216 func (_UniswapV2Pair *UniswapV2PairTransactor) Initialize(opts *bind.TransactOpts, _token0 common.Address, _token1 common.Address) (*types.Transaction, error) { 6217 return _UniswapV2Pair.contract.Transact(opts, "initialize", _token0, _token1) 6218 } 6219 6220 // Initialize is a paid mutator transaction binding the contract method 0x485cc955. 6221 // 6222 // Solidity: function initialize(address _token0, address _token1) returns() 6223 func (_UniswapV2Pair *UniswapV2PairSession) Initialize(_token0 common.Address, _token1 common.Address) (*types.Transaction, error) { 6224 return _UniswapV2Pair.Contract.Initialize(&_UniswapV2Pair.TransactOpts, _token0, _token1) 6225 } 6226 6227 // Initialize is a paid mutator transaction binding the contract method 0x485cc955. 6228 // 6229 // Solidity: function initialize(address _token0, address _token1) returns() 6230 func (_UniswapV2Pair *UniswapV2PairTransactorSession) Initialize(_token0 common.Address, _token1 common.Address) (*types.Transaction, error) { 6231 return _UniswapV2Pair.Contract.Initialize(&_UniswapV2Pair.TransactOpts, _token0, _token1) 6232 } 6233 6234 // Mint is a paid mutator transaction binding the contract method 0x6a627842. 6235 // 6236 // Solidity: function mint(address to) returns(uint256 liquidity) 6237 func (_UniswapV2Pair *UniswapV2PairTransactor) Mint(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { 6238 return _UniswapV2Pair.contract.Transact(opts, "mint", to) 6239 } 6240 6241 // Mint is a paid mutator transaction binding the contract method 0x6a627842. 6242 // 6243 // Solidity: function mint(address to) returns(uint256 liquidity) 6244 func (_UniswapV2Pair *UniswapV2PairSession) Mint(to common.Address) (*types.Transaction, error) { 6245 return _UniswapV2Pair.Contract.Mint(&_UniswapV2Pair.TransactOpts, to) 6246 } 6247 6248 // Mint is a paid mutator transaction binding the contract method 0x6a627842. 6249 // 6250 // Solidity: function mint(address to) returns(uint256 liquidity) 6251 func (_UniswapV2Pair *UniswapV2PairTransactorSession) Mint(to common.Address) (*types.Transaction, error) { 6252 return _UniswapV2Pair.Contract.Mint(&_UniswapV2Pair.TransactOpts, to) 6253 } 6254 6255 // Permit is a paid mutator transaction binding the contract method 0xd505accf. 6256 // 6257 // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() 6258 func (_UniswapV2Pair *UniswapV2PairTransactor) Permit(opts *bind.TransactOpts, owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { 6259 return _UniswapV2Pair.contract.Transact(opts, "permit", owner, spender, value, deadline, v, r, s) 6260 } 6261 6262 // Permit is a paid mutator transaction binding the contract method 0xd505accf. 6263 // 6264 // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() 6265 func (_UniswapV2Pair *UniswapV2PairSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { 6266 return _UniswapV2Pair.Contract.Permit(&_UniswapV2Pair.TransactOpts, owner, spender, value, deadline, v, r, s) 6267 } 6268 6269 // Permit is a paid mutator transaction binding the contract method 0xd505accf. 6270 // 6271 // Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() 6272 func (_UniswapV2Pair *UniswapV2PairTransactorSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { 6273 return _UniswapV2Pair.Contract.Permit(&_UniswapV2Pair.TransactOpts, owner, spender, value, deadline, v, r, s) 6274 } 6275 6276 // Skim is a paid mutator transaction binding the contract method 0xbc25cf77. 6277 // 6278 // Solidity: function skim(address to) returns() 6279 func (_UniswapV2Pair *UniswapV2PairTransactor) Skim(opts *bind.TransactOpts, to common.Address) (*types.Transaction, error) { 6280 return _UniswapV2Pair.contract.Transact(opts, "skim", to) 6281 } 6282 6283 // Skim is a paid mutator transaction binding the contract method 0xbc25cf77. 6284 // 6285 // Solidity: function skim(address to) returns() 6286 func (_UniswapV2Pair *UniswapV2PairSession) Skim(to common.Address) (*types.Transaction, error) { 6287 return _UniswapV2Pair.Contract.Skim(&_UniswapV2Pair.TransactOpts, to) 6288 } 6289 6290 // Skim is a paid mutator transaction binding the contract method 0xbc25cf77. 6291 // 6292 // Solidity: function skim(address to) returns() 6293 func (_UniswapV2Pair *UniswapV2PairTransactorSession) Skim(to common.Address) (*types.Transaction, error) { 6294 return _UniswapV2Pair.Contract.Skim(&_UniswapV2Pair.TransactOpts, to) 6295 } 6296 6297 // Swap is a paid mutator transaction binding the contract method 0x022c0d9f. 6298 // 6299 // Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() 6300 func (_UniswapV2Pair *UniswapV2PairTransactor) Swap(opts *bind.TransactOpts, amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { 6301 return _UniswapV2Pair.contract.Transact(opts, "swap", amount0Out, amount1Out, to, data) 6302 } 6303 6304 // Swap is a paid mutator transaction binding the contract method 0x022c0d9f. 6305 // 6306 // Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() 6307 func (_UniswapV2Pair *UniswapV2PairSession) Swap(amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { 6308 return _UniswapV2Pair.Contract.Swap(&_UniswapV2Pair.TransactOpts, amount0Out, amount1Out, to, data) 6309 } 6310 6311 // Swap is a paid mutator transaction binding the contract method 0x022c0d9f. 6312 // 6313 // Solidity: function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes data) returns() 6314 func (_UniswapV2Pair *UniswapV2PairTransactorSession) Swap(amount0Out *big.Int, amount1Out *big.Int, to common.Address, data []byte) (*types.Transaction, error) { 6315 return _UniswapV2Pair.Contract.Swap(&_UniswapV2Pair.TransactOpts, amount0Out, amount1Out, to, data) 6316 } 6317 6318 // Sync is a paid mutator transaction binding the contract method 0xfff6cae9. 6319 // 6320 // Solidity: function sync() returns() 6321 func (_UniswapV2Pair *UniswapV2PairTransactor) Sync(opts *bind.TransactOpts) (*types.Transaction, error) { 6322 return _UniswapV2Pair.contract.Transact(opts, "sync") 6323 } 6324 6325 // Sync is a paid mutator transaction binding the contract method 0xfff6cae9. 6326 // 6327 // Solidity: function sync() returns() 6328 func (_UniswapV2Pair *UniswapV2PairSession) Sync() (*types.Transaction, error) { 6329 return _UniswapV2Pair.Contract.Sync(&_UniswapV2Pair.TransactOpts) 6330 } 6331 6332 // Sync is a paid mutator transaction binding the contract method 0xfff6cae9. 6333 // 6334 // Solidity: function sync() returns() 6335 func (_UniswapV2Pair *UniswapV2PairTransactorSession) Sync() (*types.Transaction, error) { 6336 return _UniswapV2Pair.Contract.Sync(&_UniswapV2Pair.TransactOpts) 6337 } 6338 6339 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 6340 // 6341 // Solidity: function transfer(address to, uint256 value) returns(bool) 6342 func (_UniswapV2Pair *UniswapV2PairTransactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error) { 6343 return _UniswapV2Pair.contract.Transact(opts, "transfer", to, value) 6344 } 6345 6346 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 6347 // 6348 // Solidity: function transfer(address to, uint256 value) returns(bool) 6349 func (_UniswapV2Pair *UniswapV2PairSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { 6350 return _UniswapV2Pair.Contract.Transfer(&_UniswapV2Pair.TransactOpts, to, value) 6351 } 6352 6353 // Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. 6354 // 6355 // Solidity: function transfer(address to, uint256 value) returns(bool) 6356 func (_UniswapV2Pair *UniswapV2PairTransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error) { 6357 return _UniswapV2Pair.Contract.Transfer(&_UniswapV2Pair.TransactOpts, to, value) 6358 } 6359 6360 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 6361 // 6362 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 6363 func (_UniswapV2Pair *UniswapV2PairTransactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 6364 return _UniswapV2Pair.contract.Transact(opts, "transferFrom", from, to, value) 6365 } 6366 6367 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 6368 // 6369 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 6370 func (_UniswapV2Pair *UniswapV2PairSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 6371 return _UniswapV2Pair.Contract.TransferFrom(&_UniswapV2Pair.TransactOpts, from, to, value) 6372 } 6373 6374 // TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. 6375 // 6376 // Solidity: function transferFrom(address from, address to, uint256 value) returns(bool) 6377 func (_UniswapV2Pair *UniswapV2PairTransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error) { 6378 return _UniswapV2Pair.Contract.TransferFrom(&_UniswapV2Pair.TransactOpts, from, to, value) 6379 } 6380 6381 // UniswapV2PairApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the UniswapV2Pair contract. 6382 type UniswapV2PairApprovalIterator struct { 6383 Event *UniswapV2PairApproval // Event containing the contract specifics and raw log 6384 6385 contract *bind.BoundContract // Generic contract to use for unpacking event data 6386 event string // Event name to use for unpacking event data 6387 6388 logs chan types.Log // Log channel receiving the found contract events 6389 sub ethereum.Subscription // Subscription for errors, completion and termination 6390 done bool // Whether the subscription completed delivering logs 6391 fail error // Occurred error to stop iteration 6392 } 6393 6394 // Next advances the iterator to the subsequent event, returning whether there 6395 // are any more events found. In case of a retrieval or parsing error, false is 6396 // returned and Error() can be queried for the exact failure. 6397 func (it *UniswapV2PairApprovalIterator) Next() bool { 6398 // If the iterator failed, stop iterating 6399 if it.fail != nil { 6400 return false 6401 } 6402 // If the iterator completed, deliver directly whatever's available 6403 if it.done { 6404 select { 6405 case log := <-it.logs: 6406 it.Event = new(UniswapV2PairApproval) 6407 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6408 it.fail = err 6409 return false 6410 } 6411 it.Event.Raw = log 6412 return true 6413 6414 default: 6415 return false 6416 } 6417 } 6418 // Iterator still in progress, wait for either a data or an error event 6419 select { 6420 case log := <-it.logs: 6421 it.Event = new(UniswapV2PairApproval) 6422 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6423 it.fail = err 6424 return false 6425 } 6426 it.Event.Raw = log 6427 return true 6428 6429 case err := <-it.sub.Err(): 6430 it.done = true 6431 it.fail = err 6432 return it.Next() 6433 } 6434 } 6435 6436 // Error returns any retrieval or parsing error occurred during filtering. 6437 func (it *UniswapV2PairApprovalIterator) Error() error { 6438 return it.fail 6439 } 6440 6441 // Close terminates the iteration process, releasing any pending underlying 6442 // resources. 6443 func (it *UniswapV2PairApprovalIterator) Close() error { 6444 it.sub.Unsubscribe() 6445 return nil 6446 } 6447 6448 // UniswapV2PairApproval represents a Approval event raised by the UniswapV2Pair contract. 6449 type UniswapV2PairApproval struct { 6450 Owner common.Address 6451 Spender common.Address 6452 Value *big.Int 6453 Raw types.Log // Blockchain specific contextual infos 6454 } 6455 6456 // FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6457 // 6458 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 6459 func (_UniswapV2Pair *UniswapV2PairFilterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*UniswapV2PairApprovalIterator, error) { 6460 6461 var ownerRule []interface{} 6462 for _, ownerItem := range owner { 6463 ownerRule = append(ownerRule, ownerItem) 6464 } 6465 var spenderRule []interface{} 6466 for _, spenderItem := range spender { 6467 spenderRule = append(spenderRule, spenderItem) 6468 } 6469 6470 logs, sub, err := _UniswapV2Pair.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) 6471 if err != nil { 6472 return nil, err 6473 } 6474 return &UniswapV2PairApprovalIterator{contract: _UniswapV2Pair.contract, event: "Approval", logs: logs, sub: sub}, nil 6475 } 6476 6477 // WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6478 // 6479 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 6480 func (_UniswapV2Pair *UniswapV2PairFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *UniswapV2PairApproval, owner []common.Address, spender []common.Address) (event.Subscription, error) { 6481 6482 var ownerRule []interface{} 6483 for _, ownerItem := range owner { 6484 ownerRule = append(ownerRule, ownerItem) 6485 } 6486 var spenderRule []interface{} 6487 for _, spenderItem := range spender { 6488 spenderRule = append(spenderRule, spenderItem) 6489 } 6490 6491 logs, sub, err := _UniswapV2Pair.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) 6492 if err != nil { 6493 return nil, err 6494 } 6495 return event.NewSubscription(func(quit <-chan struct{}) error { 6496 defer sub.Unsubscribe() 6497 for { 6498 select { 6499 case log := <-logs: 6500 // New log arrived, parse the event and forward to the user 6501 event := new(UniswapV2PairApproval) 6502 if err := _UniswapV2Pair.contract.UnpackLog(event, "Approval", log); err != nil { 6503 return err 6504 } 6505 event.Raw = log 6506 6507 select { 6508 case sink <- event: 6509 case err := <-sub.Err(): 6510 return err 6511 case <-quit: 6512 return nil 6513 } 6514 case err := <-sub.Err(): 6515 return err 6516 case <-quit: 6517 return nil 6518 } 6519 } 6520 }), nil 6521 } 6522 6523 // ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. 6524 // 6525 // Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) 6526 func (_UniswapV2Pair *UniswapV2PairFilterer) ParseApproval(log types.Log) (*UniswapV2PairApproval, error) { 6527 event := new(UniswapV2PairApproval) 6528 if err := _UniswapV2Pair.contract.UnpackLog(event, "Approval", log); err != nil { 6529 return nil, err 6530 } 6531 return event, nil 6532 } 6533 6534 // UniswapV2PairBurnIterator is returned from FilterBurn and is used to iterate over the raw logs and unpacked data for Burn events raised by the UniswapV2Pair contract. 6535 type UniswapV2PairBurnIterator struct { 6536 Event *UniswapV2PairBurn // Event containing the contract specifics and raw log 6537 6538 contract *bind.BoundContract // Generic contract to use for unpacking event data 6539 event string // Event name to use for unpacking event data 6540 6541 logs chan types.Log // Log channel receiving the found contract events 6542 sub ethereum.Subscription // Subscription for errors, completion and termination 6543 done bool // Whether the subscription completed delivering logs 6544 fail error // Occurred error to stop iteration 6545 } 6546 6547 // Next advances the iterator to the subsequent event, returning whether there 6548 // are any more events found. In case of a retrieval or parsing error, false is 6549 // returned and Error() can be queried for the exact failure. 6550 func (it *UniswapV2PairBurnIterator) Next() bool { 6551 // If the iterator failed, stop iterating 6552 if it.fail != nil { 6553 return false 6554 } 6555 // If the iterator completed, deliver directly whatever's available 6556 if it.done { 6557 select { 6558 case log := <-it.logs: 6559 it.Event = new(UniswapV2PairBurn) 6560 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6561 it.fail = err 6562 return false 6563 } 6564 it.Event.Raw = log 6565 return true 6566 6567 default: 6568 return false 6569 } 6570 } 6571 // Iterator still in progress, wait for either a data or an error event 6572 select { 6573 case log := <-it.logs: 6574 it.Event = new(UniswapV2PairBurn) 6575 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6576 it.fail = err 6577 return false 6578 } 6579 it.Event.Raw = log 6580 return true 6581 6582 case err := <-it.sub.Err(): 6583 it.done = true 6584 it.fail = err 6585 return it.Next() 6586 } 6587 } 6588 6589 // Error returns any retrieval or parsing error occurred during filtering. 6590 func (it *UniswapV2PairBurnIterator) Error() error { 6591 return it.fail 6592 } 6593 6594 // Close terminates the iteration process, releasing any pending underlying 6595 // resources. 6596 func (it *UniswapV2PairBurnIterator) Close() error { 6597 it.sub.Unsubscribe() 6598 return nil 6599 } 6600 6601 // UniswapV2PairBurn represents a Burn event raised by the UniswapV2Pair contract. 6602 type UniswapV2PairBurn struct { 6603 Sender common.Address 6604 Amount0 *big.Int 6605 Amount1 *big.Int 6606 To common.Address 6607 Raw types.Log // Blockchain specific contextual infos 6608 } 6609 6610 // FilterBurn is a free log retrieval operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. 6611 // 6612 // Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) 6613 func (_UniswapV2Pair *UniswapV2PairFilterer) FilterBurn(opts *bind.FilterOpts, sender []common.Address, to []common.Address) (*UniswapV2PairBurnIterator, error) { 6614 6615 var senderRule []interface{} 6616 for _, senderItem := range sender { 6617 senderRule = append(senderRule, senderItem) 6618 } 6619 6620 var toRule []interface{} 6621 for _, toItem := range to { 6622 toRule = append(toRule, toItem) 6623 } 6624 6625 logs, sub, err := _UniswapV2Pair.contract.FilterLogs(opts, "Burn", senderRule, toRule) 6626 if err != nil { 6627 return nil, err 6628 } 6629 return &UniswapV2PairBurnIterator{contract: _UniswapV2Pair.contract, event: "Burn", logs: logs, sub: sub}, nil 6630 } 6631 6632 // WatchBurn is a free log subscription operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. 6633 // 6634 // Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) 6635 func (_UniswapV2Pair *UniswapV2PairFilterer) WatchBurn(opts *bind.WatchOpts, sink chan<- *UniswapV2PairBurn, sender []common.Address, to []common.Address) (event.Subscription, error) { 6636 6637 var senderRule []interface{} 6638 for _, senderItem := range sender { 6639 senderRule = append(senderRule, senderItem) 6640 } 6641 6642 var toRule []interface{} 6643 for _, toItem := range to { 6644 toRule = append(toRule, toItem) 6645 } 6646 6647 logs, sub, err := _UniswapV2Pair.contract.WatchLogs(opts, "Burn", senderRule, toRule) 6648 if err != nil { 6649 return nil, err 6650 } 6651 return event.NewSubscription(func(quit <-chan struct{}) error { 6652 defer sub.Unsubscribe() 6653 for { 6654 select { 6655 case log := <-logs: 6656 // New log arrived, parse the event and forward to the user 6657 event := new(UniswapV2PairBurn) 6658 if err := _UniswapV2Pair.contract.UnpackLog(event, "Burn", log); err != nil { 6659 return err 6660 } 6661 event.Raw = log 6662 6663 select { 6664 case sink <- event: 6665 case err := <-sub.Err(): 6666 return err 6667 case <-quit: 6668 return nil 6669 } 6670 case err := <-sub.Err(): 6671 return err 6672 case <-quit: 6673 return nil 6674 } 6675 } 6676 }), nil 6677 } 6678 6679 // ParseBurn is a log parse operation binding the contract event 0xdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496. 6680 // 6681 // Solidity: event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to) 6682 func (_UniswapV2Pair *UniswapV2PairFilterer) ParseBurn(log types.Log) (*UniswapV2PairBurn, error) { 6683 event := new(UniswapV2PairBurn) 6684 if err := _UniswapV2Pair.contract.UnpackLog(event, "Burn", log); err != nil { 6685 return nil, err 6686 } 6687 return event, nil 6688 } 6689 6690 // UniswapV2PairMintIterator is returned from FilterMint and is used to iterate over the raw logs and unpacked data for Mint events raised by the UniswapV2Pair contract. 6691 type UniswapV2PairMintIterator struct { 6692 Event *UniswapV2PairMint // Event containing the contract specifics and raw log 6693 6694 contract *bind.BoundContract // Generic contract to use for unpacking event data 6695 event string // Event name to use for unpacking event data 6696 6697 logs chan types.Log // Log channel receiving the found contract events 6698 sub ethereum.Subscription // Subscription for errors, completion and termination 6699 done bool // Whether the subscription completed delivering logs 6700 fail error // Occurred error to stop iteration 6701 } 6702 6703 // Next advances the iterator to the subsequent event, returning whether there 6704 // are any more events found. In case of a retrieval or parsing error, false is 6705 // returned and Error() can be queried for the exact failure. 6706 func (it *UniswapV2PairMintIterator) Next() bool { 6707 // If the iterator failed, stop iterating 6708 if it.fail != nil { 6709 return false 6710 } 6711 // If the iterator completed, deliver directly whatever's available 6712 if it.done { 6713 select { 6714 case log := <-it.logs: 6715 it.Event = new(UniswapV2PairMint) 6716 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6717 it.fail = err 6718 return false 6719 } 6720 it.Event.Raw = log 6721 return true 6722 6723 default: 6724 return false 6725 } 6726 } 6727 // Iterator still in progress, wait for either a data or an error event 6728 select { 6729 case log := <-it.logs: 6730 it.Event = new(UniswapV2PairMint) 6731 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6732 it.fail = err 6733 return false 6734 } 6735 it.Event.Raw = log 6736 return true 6737 6738 case err := <-it.sub.Err(): 6739 it.done = true 6740 it.fail = err 6741 return it.Next() 6742 } 6743 } 6744 6745 // Error returns any retrieval or parsing error occurred during filtering. 6746 func (it *UniswapV2PairMintIterator) Error() error { 6747 return it.fail 6748 } 6749 6750 // Close terminates the iteration process, releasing any pending underlying 6751 // resources. 6752 func (it *UniswapV2PairMintIterator) Close() error { 6753 it.sub.Unsubscribe() 6754 return nil 6755 } 6756 6757 // UniswapV2PairMint represents a Mint event raised by the UniswapV2Pair contract. 6758 type UniswapV2PairMint struct { 6759 Sender common.Address 6760 Amount0 *big.Int 6761 Amount1 *big.Int 6762 Raw types.Log // Blockchain specific contextual infos 6763 } 6764 6765 // FilterMint is a free log retrieval operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. 6766 // 6767 // Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) 6768 func (_UniswapV2Pair *UniswapV2PairFilterer) FilterMint(opts *bind.FilterOpts, sender []common.Address) (*UniswapV2PairMintIterator, error) { 6769 6770 var senderRule []interface{} 6771 for _, senderItem := range sender { 6772 senderRule = append(senderRule, senderItem) 6773 } 6774 6775 logs, sub, err := _UniswapV2Pair.contract.FilterLogs(opts, "Mint", senderRule) 6776 if err != nil { 6777 return nil, err 6778 } 6779 return &UniswapV2PairMintIterator{contract: _UniswapV2Pair.contract, event: "Mint", logs: logs, sub: sub}, nil 6780 } 6781 6782 // WatchMint is a free log subscription operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. 6783 // 6784 // Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) 6785 func (_UniswapV2Pair *UniswapV2PairFilterer) WatchMint(opts *bind.WatchOpts, sink chan<- *UniswapV2PairMint, sender []common.Address) (event.Subscription, error) { 6786 6787 var senderRule []interface{} 6788 for _, senderItem := range sender { 6789 senderRule = append(senderRule, senderItem) 6790 } 6791 6792 logs, sub, err := _UniswapV2Pair.contract.WatchLogs(opts, "Mint", senderRule) 6793 if err != nil { 6794 return nil, err 6795 } 6796 return event.NewSubscription(func(quit <-chan struct{}) error { 6797 defer sub.Unsubscribe() 6798 for { 6799 select { 6800 case log := <-logs: 6801 // New log arrived, parse the event and forward to the user 6802 event := new(UniswapV2PairMint) 6803 if err := _UniswapV2Pair.contract.UnpackLog(event, "Mint", log); err != nil { 6804 return err 6805 } 6806 event.Raw = log 6807 6808 select { 6809 case sink <- event: 6810 case err := <-sub.Err(): 6811 return err 6812 case <-quit: 6813 return nil 6814 } 6815 case err := <-sub.Err(): 6816 return err 6817 case <-quit: 6818 return nil 6819 } 6820 } 6821 }), nil 6822 } 6823 6824 // ParseMint is a log parse operation binding the contract event 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f. 6825 // 6826 // Solidity: event Mint(address indexed sender, uint256 amount0, uint256 amount1) 6827 func (_UniswapV2Pair *UniswapV2PairFilterer) ParseMint(log types.Log) (*UniswapV2PairMint, error) { 6828 event := new(UniswapV2PairMint) 6829 if err := _UniswapV2Pair.contract.UnpackLog(event, "Mint", log); err != nil { 6830 return nil, err 6831 } 6832 return event, nil 6833 } 6834 6835 // UniswapV2PairSwapIterator is returned from FilterSwap and is used to iterate over the raw logs and unpacked data for Swap events raised by the UniswapV2Pair contract. 6836 type UniswapV2PairSwapIterator struct { 6837 Event *UniswapV2PairSwap // Event containing the contract specifics and raw log 6838 6839 contract *bind.BoundContract // Generic contract to use for unpacking event data 6840 event string // Event name to use for unpacking event data 6841 6842 logs chan types.Log // Log channel receiving the found contract events 6843 sub ethereum.Subscription // Subscription for errors, completion and termination 6844 done bool // Whether the subscription completed delivering logs 6845 fail error // Occurred error to stop iteration 6846 } 6847 6848 // Next advances the iterator to the subsequent event, returning whether there 6849 // are any more events found. In case of a retrieval or parsing error, false is 6850 // returned and Error() can be queried for the exact failure. 6851 func (it *UniswapV2PairSwapIterator) Next() bool { 6852 // If the iterator failed, stop iterating 6853 if it.fail != nil { 6854 return false 6855 } 6856 // If the iterator completed, deliver directly whatever's available 6857 if it.done { 6858 select { 6859 case log := <-it.logs: 6860 it.Event = new(UniswapV2PairSwap) 6861 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6862 it.fail = err 6863 return false 6864 } 6865 it.Event.Raw = log 6866 return true 6867 6868 default: 6869 return false 6870 } 6871 } 6872 // Iterator still in progress, wait for either a data or an error event 6873 select { 6874 case log := <-it.logs: 6875 it.Event = new(UniswapV2PairSwap) 6876 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6877 it.fail = err 6878 return false 6879 } 6880 it.Event.Raw = log 6881 return true 6882 6883 case err := <-it.sub.Err(): 6884 it.done = true 6885 it.fail = err 6886 return it.Next() 6887 } 6888 } 6889 6890 // Error returns any retrieval or parsing error occurred during filtering. 6891 func (it *UniswapV2PairSwapIterator) Error() error { 6892 return it.fail 6893 } 6894 6895 // Close terminates the iteration process, releasing any pending underlying 6896 // resources. 6897 func (it *UniswapV2PairSwapIterator) Close() error { 6898 it.sub.Unsubscribe() 6899 return nil 6900 } 6901 6902 // UniswapV2PairSwap represents a Swap event raised by the UniswapV2Pair contract. 6903 type UniswapV2PairSwap struct { 6904 Sender common.Address 6905 Amount0In *big.Int 6906 Amount1In *big.Int 6907 Amount0Out *big.Int 6908 Amount1Out *big.Int 6909 To common.Address 6910 Raw types.Log // Blockchain specific contextual infos 6911 } 6912 6913 // FilterSwap is a free log retrieval operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. 6914 // 6915 // Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) 6916 func (_UniswapV2Pair *UniswapV2PairFilterer) FilterSwap(opts *bind.FilterOpts, sender []common.Address, to []common.Address) (*UniswapV2PairSwapIterator, error) { 6917 6918 var senderRule []interface{} 6919 for _, senderItem := range sender { 6920 senderRule = append(senderRule, senderItem) 6921 } 6922 6923 var toRule []interface{} 6924 for _, toItem := range to { 6925 toRule = append(toRule, toItem) 6926 } 6927 6928 logs, sub, err := _UniswapV2Pair.contract.FilterLogs(opts, "Swap", senderRule, toRule) 6929 if err != nil { 6930 return nil, err 6931 } 6932 return &UniswapV2PairSwapIterator{contract: _UniswapV2Pair.contract, event: "Swap", logs: logs, sub: sub}, nil 6933 } 6934 6935 // WatchSwap is a free log subscription operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. 6936 // 6937 // Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) 6938 func (_UniswapV2Pair *UniswapV2PairFilterer) WatchSwap(opts *bind.WatchOpts, sink chan<- *UniswapV2PairSwap, sender []common.Address, to []common.Address) (event.Subscription, error) { 6939 6940 var senderRule []interface{} 6941 for _, senderItem := range sender { 6942 senderRule = append(senderRule, senderItem) 6943 } 6944 6945 var toRule []interface{} 6946 for _, toItem := range to { 6947 toRule = append(toRule, toItem) 6948 } 6949 6950 logs, sub, err := _UniswapV2Pair.contract.WatchLogs(opts, "Swap", senderRule, toRule) 6951 if err != nil { 6952 return nil, err 6953 } 6954 return event.NewSubscription(func(quit <-chan struct{}) error { 6955 defer sub.Unsubscribe() 6956 for { 6957 select { 6958 case log := <-logs: 6959 // New log arrived, parse the event and forward to the user 6960 event := new(UniswapV2PairSwap) 6961 if err := _UniswapV2Pair.contract.UnpackLog(event, "Swap", log); err != nil { 6962 return err 6963 } 6964 event.Raw = log 6965 6966 select { 6967 case sink <- event: 6968 case err := <-sub.Err(): 6969 return err 6970 case <-quit: 6971 return nil 6972 } 6973 case err := <-sub.Err(): 6974 return err 6975 case <-quit: 6976 return nil 6977 } 6978 } 6979 }), nil 6980 } 6981 6982 // ParseSwap is a log parse operation binding the contract event 0xd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822. 6983 // 6984 // Solidity: event Swap(address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to) 6985 func (_UniswapV2Pair *UniswapV2PairFilterer) ParseSwap(log types.Log) (*UniswapV2PairSwap, error) { 6986 event := new(UniswapV2PairSwap) 6987 if err := _UniswapV2Pair.contract.UnpackLog(event, "Swap", log); err != nil { 6988 return nil, err 6989 } 6990 return event, nil 6991 } 6992 6993 // UniswapV2PairSyncIterator is returned from FilterSync and is used to iterate over the raw logs and unpacked data for Sync events raised by the UniswapV2Pair contract. 6994 type UniswapV2PairSyncIterator struct { 6995 Event *UniswapV2PairSync // Event containing the contract specifics and raw log 6996 6997 contract *bind.BoundContract // Generic contract to use for unpacking event data 6998 event string // Event name to use for unpacking event data 6999 7000 logs chan types.Log // Log channel receiving the found contract events 7001 sub ethereum.Subscription // Subscription for errors, completion and termination 7002 done bool // Whether the subscription completed delivering logs 7003 fail error // Occurred error to stop iteration 7004 } 7005 7006 // Next advances the iterator to the subsequent event, returning whether there 7007 // are any more events found. In case of a retrieval or parsing error, false is 7008 // returned and Error() can be queried for the exact failure. 7009 func (it *UniswapV2PairSyncIterator) Next() bool { 7010 // If the iterator failed, stop iterating 7011 if it.fail != nil { 7012 return false 7013 } 7014 // If the iterator completed, deliver directly whatever's available 7015 if it.done { 7016 select { 7017 case log := <-it.logs: 7018 it.Event = new(UniswapV2PairSync) 7019 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7020 it.fail = err 7021 return false 7022 } 7023 it.Event.Raw = log 7024 return true 7025 7026 default: 7027 return false 7028 } 7029 } 7030 // Iterator still in progress, wait for either a data or an error event 7031 select { 7032 case log := <-it.logs: 7033 it.Event = new(UniswapV2PairSync) 7034 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7035 it.fail = err 7036 return false 7037 } 7038 it.Event.Raw = log 7039 return true 7040 7041 case err := <-it.sub.Err(): 7042 it.done = true 7043 it.fail = err 7044 return it.Next() 7045 } 7046 } 7047 7048 // Error returns any retrieval or parsing error occurred during filtering. 7049 func (it *UniswapV2PairSyncIterator) Error() error { 7050 return it.fail 7051 } 7052 7053 // Close terminates the iteration process, releasing any pending underlying 7054 // resources. 7055 func (it *UniswapV2PairSyncIterator) Close() error { 7056 it.sub.Unsubscribe() 7057 return nil 7058 } 7059 7060 // UniswapV2PairSync represents a Sync event raised by the UniswapV2Pair contract. 7061 type UniswapV2PairSync struct { 7062 Reserve0 *big.Int 7063 Reserve1 *big.Int 7064 Raw types.Log // Blockchain specific contextual infos 7065 } 7066 7067 // FilterSync is a free log retrieval operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. 7068 // 7069 // Solidity: event Sync(uint112 reserve0, uint112 reserve1) 7070 func (_UniswapV2Pair *UniswapV2PairFilterer) FilterSync(opts *bind.FilterOpts) (*UniswapV2PairSyncIterator, error) { 7071 7072 logs, sub, err := _UniswapV2Pair.contract.FilterLogs(opts, "Sync") 7073 if err != nil { 7074 return nil, err 7075 } 7076 return &UniswapV2PairSyncIterator{contract: _UniswapV2Pair.contract, event: "Sync", logs: logs, sub: sub}, nil 7077 } 7078 7079 // WatchSync is a free log subscription operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. 7080 // 7081 // Solidity: event Sync(uint112 reserve0, uint112 reserve1) 7082 func (_UniswapV2Pair *UniswapV2PairFilterer) WatchSync(opts *bind.WatchOpts, sink chan<- *UniswapV2PairSync) (event.Subscription, error) { 7083 7084 logs, sub, err := _UniswapV2Pair.contract.WatchLogs(opts, "Sync") 7085 if err != nil { 7086 return nil, err 7087 } 7088 return event.NewSubscription(func(quit <-chan struct{}) error { 7089 defer sub.Unsubscribe() 7090 for { 7091 select { 7092 case log := <-logs: 7093 // New log arrived, parse the event and forward to the user 7094 event := new(UniswapV2PairSync) 7095 if err := _UniswapV2Pair.contract.UnpackLog(event, "Sync", log); err != nil { 7096 return err 7097 } 7098 event.Raw = log 7099 7100 select { 7101 case sink <- event: 7102 case err := <-sub.Err(): 7103 return err 7104 case <-quit: 7105 return nil 7106 } 7107 case err := <-sub.Err(): 7108 return err 7109 case <-quit: 7110 return nil 7111 } 7112 } 7113 }), nil 7114 } 7115 7116 // ParseSync is a log parse operation binding the contract event 0x1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1. 7117 // 7118 // Solidity: event Sync(uint112 reserve0, uint112 reserve1) 7119 func (_UniswapV2Pair *UniswapV2PairFilterer) ParseSync(log types.Log) (*UniswapV2PairSync, error) { 7120 event := new(UniswapV2PairSync) 7121 if err := _UniswapV2Pair.contract.UnpackLog(event, "Sync", log); err != nil { 7122 return nil, err 7123 } 7124 return event, nil 7125 } 7126 7127 // UniswapV2PairTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the UniswapV2Pair contract. 7128 type UniswapV2PairTransferIterator struct { 7129 Event *UniswapV2PairTransfer // Event containing the contract specifics and raw log 7130 7131 contract *bind.BoundContract // Generic contract to use for unpacking event data 7132 event string // Event name to use for unpacking event data 7133 7134 logs chan types.Log // Log channel receiving the found contract events 7135 sub ethereum.Subscription // Subscription for errors, completion and termination 7136 done bool // Whether the subscription completed delivering logs 7137 fail error // Occurred error to stop iteration 7138 } 7139 7140 // Next advances the iterator to the subsequent event, returning whether there 7141 // are any more events found. In case of a retrieval or parsing error, false is 7142 // returned and Error() can be queried for the exact failure. 7143 func (it *UniswapV2PairTransferIterator) Next() bool { 7144 // If the iterator failed, stop iterating 7145 if it.fail != nil { 7146 return false 7147 } 7148 // If the iterator completed, deliver directly whatever's available 7149 if it.done { 7150 select { 7151 case log := <-it.logs: 7152 it.Event = new(UniswapV2PairTransfer) 7153 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7154 it.fail = err 7155 return false 7156 } 7157 it.Event.Raw = log 7158 return true 7159 7160 default: 7161 return false 7162 } 7163 } 7164 // Iterator still in progress, wait for either a data or an error event 7165 select { 7166 case log := <-it.logs: 7167 it.Event = new(UniswapV2PairTransfer) 7168 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 7169 it.fail = err 7170 return false 7171 } 7172 it.Event.Raw = log 7173 return true 7174 7175 case err := <-it.sub.Err(): 7176 it.done = true 7177 it.fail = err 7178 return it.Next() 7179 } 7180 } 7181 7182 // Error returns any retrieval or parsing error occurred during filtering. 7183 func (it *UniswapV2PairTransferIterator) Error() error { 7184 return it.fail 7185 } 7186 7187 // Close terminates the iteration process, releasing any pending underlying 7188 // resources. 7189 func (it *UniswapV2PairTransferIterator) Close() error { 7190 it.sub.Unsubscribe() 7191 return nil 7192 } 7193 7194 // UniswapV2PairTransfer represents a Transfer event raised by the UniswapV2Pair contract. 7195 type UniswapV2PairTransfer struct { 7196 From common.Address 7197 To common.Address 7198 Value *big.Int 7199 Raw types.Log // Blockchain specific contextual infos 7200 } 7201 7202 // FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 7203 // 7204 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 7205 func (_UniswapV2Pair *UniswapV2PairFilterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*UniswapV2PairTransferIterator, error) { 7206 7207 var fromRule []interface{} 7208 for _, fromItem := range from { 7209 fromRule = append(fromRule, fromItem) 7210 } 7211 var toRule []interface{} 7212 for _, toItem := range to { 7213 toRule = append(toRule, toItem) 7214 } 7215 7216 logs, sub, err := _UniswapV2Pair.contract.FilterLogs(opts, "Transfer", fromRule, toRule) 7217 if err != nil { 7218 return nil, err 7219 } 7220 return &UniswapV2PairTransferIterator{contract: _UniswapV2Pair.contract, event: "Transfer", logs: logs, sub: sub}, nil 7221 } 7222 7223 // WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 7224 // 7225 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 7226 func (_UniswapV2Pair *UniswapV2PairFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *UniswapV2PairTransfer, from []common.Address, to []common.Address) (event.Subscription, error) { 7227 7228 var fromRule []interface{} 7229 for _, fromItem := range from { 7230 fromRule = append(fromRule, fromItem) 7231 } 7232 var toRule []interface{} 7233 for _, toItem := range to { 7234 toRule = append(toRule, toItem) 7235 } 7236 7237 logs, sub, err := _UniswapV2Pair.contract.WatchLogs(opts, "Transfer", fromRule, toRule) 7238 if err != nil { 7239 return nil, err 7240 } 7241 return event.NewSubscription(func(quit <-chan struct{}) error { 7242 defer sub.Unsubscribe() 7243 for { 7244 select { 7245 case log := <-logs: 7246 // New log arrived, parse the event and forward to the user 7247 event := new(UniswapV2PairTransfer) 7248 if err := _UniswapV2Pair.contract.UnpackLog(event, "Transfer", log); err != nil { 7249 return err 7250 } 7251 event.Raw = log 7252 7253 select { 7254 case sink <- event: 7255 case err := <-sub.Err(): 7256 return err 7257 case <-quit: 7258 return nil 7259 } 7260 case err := <-sub.Err(): 7261 return err 7262 case <-quit: 7263 return nil 7264 } 7265 } 7266 }), nil 7267 } 7268 7269 // ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. 7270 // 7271 // Solidity: event Transfer(address indexed from, address indexed to, uint256 value) 7272 func (_UniswapV2Pair *UniswapV2PairFilterer) ParseTransfer(log types.Log) (*UniswapV2PairTransfer, error) { 7273 event := new(UniswapV2PairTransfer) 7274 if err := _UniswapV2Pair.contract.UnpackLog(event, "Transfer", log); err != nil { 7275 return nil, err 7276 } 7277 return event, nil 7278 }