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