github.com/0xPolygon/supernets2-node@v0.0.0-20230711153321-2fe574524eaa/test/contracts/bin/EmitLog2/EmitLog2.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 EmitLog2 5 6 import ( 7 "errors" 8 "math/big" 9 "strings" 10 11 ethereum "github.com/ethereum/go-ethereum" 12 "github.com/ethereum/go-ethereum/accounts/abi" 13 "github.com/ethereum/go-ethereum/accounts/abi/bind" 14 "github.com/ethereum/go-ethereum/common" 15 "github.com/ethereum/go-ethereum/core/types" 16 "github.com/ethereum/go-ethereum/event" 17 ) 18 19 // Reference imports to suppress errors if they are not otherwise used. 20 var ( 21 _ = errors.New 22 _ = big.NewInt 23 _ = strings.NewReader 24 _ = ethereum.NotFound 25 _ = bind.Bind 26 _ = common.Big1 27 _ = types.BloomLookup 28 _ = event.NewSubscription 29 _ = abi.ConvertType 30 ) 31 32 // EmitLog2MetaData contains all meta data concerning the EmitLog2 contract. 33 var EmitLog2MetaData = &bind.MetaData{ 34 ABI: "[{\"anonymous\":false,\"inputs\":[],\"name\":\"Log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"}],\"name\":\"LogA\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"c\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"d\",\"type\":\"uint256\"}],\"name\":\"LogABCD\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"emitLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", 35 Bin: "0x608060405234801561001057600080fd5b50610106806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80637966b4f614602d575b600080fd5b60336035565b005b60206000a06040517f5e7df75d54e493185612379c616118a4c9ac802de621b010c96f74d22df4b30a90600090a16040516001907f977224b24e70d33f3be87246a29c5636cfc8dd6853e175b54af01ff493ffac6290600090a26003600260017fe5562b12d9276c5c987df08afff7b1946f2d869236866ea2285c7e2e95685a64600460405160c691815260200190565b60405180910390a456fea2646970667358221220c82511092869da72fde6f1cec9478f4be47e0e13870c8d5af848ffddfeae937764736f6c634300080c0033", 36 } 37 38 // EmitLog2ABI is the input ABI used to generate the binding from. 39 // Deprecated: Use EmitLog2MetaData.ABI instead. 40 var EmitLog2ABI = EmitLog2MetaData.ABI 41 42 // EmitLog2Bin is the compiled bytecode used for deploying new contracts. 43 // Deprecated: Use EmitLog2MetaData.Bin instead. 44 var EmitLog2Bin = EmitLog2MetaData.Bin 45 46 // DeployEmitLog2 deploys a new Ethereum contract, binding an instance of EmitLog2 to it. 47 func DeployEmitLog2(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *EmitLog2, error) { 48 parsed, err := EmitLog2MetaData.GetAbi() 49 if err != nil { 50 return common.Address{}, nil, nil, err 51 } 52 if parsed == nil { 53 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 54 } 55 56 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(EmitLog2Bin), backend) 57 if err != nil { 58 return common.Address{}, nil, nil, err 59 } 60 return address, tx, &EmitLog2{EmitLog2Caller: EmitLog2Caller{contract: contract}, EmitLog2Transactor: EmitLog2Transactor{contract: contract}, EmitLog2Filterer: EmitLog2Filterer{contract: contract}}, nil 61 } 62 63 // EmitLog2 is an auto generated Go binding around an Ethereum contract. 64 type EmitLog2 struct { 65 EmitLog2Caller // Read-only binding to the contract 66 EmitLog2Transactor // Write-only binding to the contract 67 EmitLog2Filterer // Log filterer for contract events 68 } 69 70 // EmitLog2Caller is an auto generated read-only Go binding around an Ethereum contract. 71 type EmitLog2Caller struct { 72 contract *bind.BoundContract // Generic contract wrapper for the low level calls 73 } 74 75 // EmitLog2Transactor is an auto generated write-only Go binding around an Ethereum contract. 76 type EmitLog2Transactor struct { 77 contract *bind.BoundContract // Generic contract wrapper for the low level calls 78 } 79 80 // EmitLog2Filterer is an auto generated log filtering Go binding around an Ethereum contract events. 81 type EmitLog2Filterer struct { 82 contract *bind.BoundContract // Generic contract wrapper for the low level calls 83 } 84 85 // EmitLog2Session is an auto generated Go binding around an Ethereum contract, 86 // with pre-set call and transact options. 87 type EmitLog2Session struct { 88 Contract *EmitLog2 // Generic contract binding to set the session for 89 CallOpts bind.CallOpts // Call options to use throughout this session 90 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 91 } 92 93 // EmitLog2CallerSession is an auto generated read-only Go binding around an Ethereum contract, 94 // with pre-set call options. 95 type EmitLog2CallerSession struct { 96 Contract *EmitLog2Caller // Generic contract caller binding to set the session for 97 CallOpts bind.CallOpts // Call options to use throughout this session 98 } 99 100 // EmitLog2TransactorSession is an auto generated write-only Go binding around an Ethereum contract, 101 // with pre-set transact options. 102 type EmitLog2TransactorSession struct { 103 Contract *EmitLog2Transactor // Generic contract transactor binding to set the session for 104 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 105 } 106 107 // EmitLog2Raw is an auto generated low-level Go binding around an Ethereum contract. 108 type EmitLog2Raw struct { 109 Contract *EmitLog2 // Generic contract binding to access the raw methods on 110 } 111 112 // EmitLog2CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 113 type EmitLog2CallerRaw struct { 114 Contract *EmitLog2Caller // Generic read-only contract binding to access the raw methods on 115 } 116 117 // EmitLog2TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 118 type EmitLog2TransactorRaw struct { 119 Contract *EmitLog2Transactor // Generic write-only contract binding to access the raw methods on 120 } 121 122 // NewEmitLog2 creates a new instance of EmitLog2, bound to a specific deployed contract. 123 func NewEmitLog2(address common.Address, backend bind.ContractBackend) (*EmitLog2, error) { 124 contract, err := bindEmitLog2(address, backend, backend, backend) 125 if err != nil { 126 return nil, err 127 } 128 return &EmitLog2{EmitLog2Caller: EmitLog2Caller{contract: contract}, EmitLog2Transactor: EmitLog2Transactor{contract: contract}, EmitLog2Filterer: EmitLog2Filterer{contract: contract}}, nil 129 } 130 131 // NewEmitLog2Caller creates a new read-only instance of EmitLog2, bound to a specific deployed contract. 132 func NewEmitLog2Caller(address common.Address, caller bind.ContractCaller) (*EmitLog2Caller, error) { 133 contract, err := bindEmitLog2(address, caller, nil, nil) 134 if err != nil { 135 return nil, err 136 } 137 return &EmitLog2Caller{contract: contract}, nil 138 } 139 140 // NewEmitLog2Transactor creates a new write-only instance of EmitLog2, bound to a specific deployed contract. 141 func NewEmitLog2Transactor(address common.Address, transactor bind.ContractTransactor) (*EmitLog2Transactor, error) { 142 contract, err := bindEmitLog2(address, nil, transactor, nil) 143 if err != nil { 144 return nil, err 145 } 146 return &EmitLog2Transactor{contract: contract}, nil 147 } 148 149 // NewEmitLog2Filterer creates a new log filterer instance of EmitLog2, bound to a specific deployed contract. 150 func NewEmitLog2Filterer(address common.Address, filterer bind.ContractFilterer) (*EmitLog2Filterer, error) { 151 contract, err := bindEmitLog2(address, nil, nil, filterer) 152 if err != nil { 153 return nil, err 154 } 155 return &EmitLog2Filterer{contract: contract}, nil 156 } 157 158 // bindEmitLog2 binds a generic wrapper to an already deployed contract. 159 func bindEmitLog2(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 160 parsed, err := EmitLog2MetaData.GetAbi() 161 if err != nil { 162 return nil, err 163 } 164 return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil 165 } 166 167 // Call invokes the (constant) contract method with params as input values and 168 // sets the output to result. The result type might be a single field for simple 169 // returns, a slice of interfaces for anonymous returns and a struct for named 170 // returns. 171 func (_EmitLog2 *EmitLog2Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 172 return _EmitLog2.Contract.EmitLog2Caller.contract.Call(opts, result, method, params...) 173 } 174 175 // Transfer initiates a plain transaction to move funds to the contract, calling 176 // its default method if one is available. 177 func (_EmitLog2 *EmitLog2Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 178 return _EmitLog2.Contract.EmitLog2Transactor.contract.Transfer(opts) 179 } 180 181 // Transact invokes the (paid) contract method with params as input values. 182 func (_EmitLog2 *EmitLog2Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 183 return _EmitLog2.Contract.EmitLog2Transactor.contract.Transact(opts, method, params...) 184 } 185 186 // Call invokes the (constant) contract method with params as input values and 187 // sets the output to result. The result type might be a single field for simple 188 // returns, a slice of interfaces for anonymous returns and a struct for named 189 // returns. 190 func (_EmitLog2 *EmitLog2CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 191 return _EmitLog2.Contract.contract.Call(opts, result, method, params...) 192 } 193 194 // Transfer initiates a plain transaction to move funds to the contract, calling 195 // its default method if one is available. 196 func (_EmitLog2 *EmitLog2TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 197 return _EmitLog2.Contract.contract.Transfer(opts) 198 } 199 200 // Transact invokes the (paid) contract method with params as input values. 201 func (_EmitLog2 *EmitLog2TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 202 return _EmitLog2.Contract.contract.Transact(opts, method, params...) 203 } 204 205 // EmitLogs is a paid mutator transaction binding the contract method 0x7966b4f6. 206 // 207 // Solidity: function emitLogs() returns() 208 func (_EmitLog2 *EmitLog2Transactor) EmitLogs(opts *bind.TransactOpts) (*types.Transaction, error) { 209 return _EmitLog2.contract.Transact(opts, "emitLogs") 210 } 211 212 // EmitLogs is a paid mutator transaction binding the contract method 0x7966b4f6. 213 // 214 // Solidity: function emitLogs() returns() 215 func (_EmitLog2 *EmitLog2Session) EmitLogs() (*types.Transaction, error) { 216 return _EmitLog2.Contract.EmitLogs(&_EmitLog2.TransactOpts) 217 } 218 219 // EmitLogs is a paid mutator transaction binding the contract method 0x7966b4f6. 220 // 221 // Solidity: function emitLogs() returns() 222 func (_EmitLog2 *EmitLog2TransactorSession) EmitLogs() (*types.Transaction, error) { 223 return _EmitLog2.Contract.EmitLogs(&_EmitLog2.TransactOpts) 224 } 225 226 // EmitLog2LogIterator is returned from FilterLog and is used to iterate over the raw logs and unpacked data for Log events raised by the EmitLog2 contract. 227 type EmitLog2LogIterator struct { 228 Event *EmitLog2Log // Event containing the contract specifics and raw log 229 230 contract *bind.BoundContract // Generic contract to use for unpacking event data 231 event string // Event name to use for unpacking event data 232 233 logs chan types.Log // Log channel receiving the found contract events 234 sub ethereum.Subscription // Subscription for errors, completion and termination 235 done bool // Whether the subscription completed delivering logs 236 fail error // Occurred error to stop iteration 237 } 238 239 // Next advances the iterator to the subsequent event, returning whether there 240 // are any more events found. In case of a retrieval or parsing error, false is 241 // returned and Error() can be queried for the exact failure. 242 func (it *EmitLog2LogIterator) Next() bool { 243 // If the iterator failed, stop iterating 244 if it.fail != nil { 245 return false 246 } 247 // If the iterator completed, deliver directly whatever's available 248 if it.done { 249 select { 250 case log := <-it.logs: 251 it.Event = new(EmitLog2Log) 252 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 253 it.fail = err 254 return false 255 } 256 it.Event.Raw = log 257 return true 258 259 default: 260 return false 261 } 262 } 263 // Iterator still in progress, wait for either a data or an error event 264 select { 265 case log := <-it.logs: 266 it.Event = new(EmitLog2Log) 267 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 268 it.fail = err 269 return false 270 } 271 it.Event.Raw = log 272 return true 273 274 case err := <-it.sub.Err(): 275 it.done = true 276 it.fail = err 277 return it.Next() 278 } 279 } 280 281 // Error returns any retrieval or parsing error occurred during filtering. 282 func (it *EmitLog2LogIterator) Error() error { 283 return it.fail 284 } 285 286 // Close terminates the iteration process, releasing any pending underlying 287 // resources. 288 func (it *EmitLog2LogIterator) Close() error { 289 it.sub.Unsubscribe() 290 return nil 291 } 292 293 // EmitLog2Log represents a Log event raised by the EmitLog2 contract. 294 type EmitLog2Log struct { 295 Raw types.Log // Blockchain specific contextual infos 296 } 297 298 // FilterLog is a free log retrieval operation binding the contract event 0x5e7df75d54e493185612379c616118a4c9ac802de621b010c96f74d22df4b30a. 299 // 300 // Solidity: event Log() 301 func (_EmitLog2 *EmitLog2Filterer) FilterLog(opts *bind.FilterOpts) (*EmitLog2LogIterator, error) { 302 303 logs, sub, err := _EmitLog2.contract.FilterLogs(opts, "Log") 304 if err != nil { 305 return nil, err 306 } 307 return &EmitLog2LogIterator{contract: _EmitLog2.contract, event: "Log", logs: logs, sub: sub}, nil 308 } 309 310 // WatchLog is a free log subscription operation binding the contract event 0x5e7df75d54e493185612379c616118a4c9ac802de621b010c96f74d22df4b30a. 311 // 312 // Solidity: event Log() 313 func (_EmitLog2 *EmitLog2Filterer) WatchLog(opts *bind.WatchOpts, sink chan<- *EmitLog2Log) (event.Subscription, error) { 314 315 logs, sub, err := _EmitLog2.contract.WatchLogs(opts, "Log") 316 if err != nil { 317 return nil, err 318 } 319 return event.NewSubscription(func(quit <-chan struct{}) error { 320 defer sub.Unsubscribe() 321 for { 322 select { 323 case log := <-logs: 324 // New log arrived, parse the event and forward to the user 325 event := new(EmitLog2Log) 326 if err := _EmitLog2.contract.UnpackLog(event, "Log", log); err != nil { 327 return err 328 } 329 event.Raw = log 330 331 select { 332 case sink <- event: 333 case err := <-sub.Err(): 334 return err 335 case <-quit: 336 return nil 337 } 338 case err := <-sub.Err(): 339 return err 340 case <-quit: 341 return nil 342 } 343 } 344 }), nil 345 } 346 347 // ParseLog is a log parse operation binding the contract event 0x5e7df75d54e493185612379c616118a4c9ac802de621b010c96f74d22df4b30a. 348 // 349 // Solidity: event Log() 350 func (_EmitLog2 *EmitLog2Filterer) ParseLog(log types.Log) (*EmitLog2Log, error) { 351 event := new(EmitLog2Log) 352 if err := _EmitLog2.contract.UnpackLog(event, "Log", log); err != nil { 353 return nil, err 354 } 355 event.Raw = log 356 return event, nil 357 } 358 359 // EmitLog2LogAIterator is returned from FilterLogA and is used to iterate over the raw logs and unpacked data for LogA events raised by the EmitLog2 contract. 360 type EmitLog2LogAIterator struct { 361 Event *EmitLog2LogA // Event containing the contract specifics and raw log 362 363 contract *bind.BoundContract // Generic contract to use for unpacking event data 364 event string // Event name to use for unpacking event data 365 366 logs chan types.Log // Log channel receiving the found contract events 367 sub ethereum.Subscription // Subscription for errors, completion and termination 368 done bool // Whether the subscription completed delivering logs 369 fail error // Occurred error to stop iteration 370 } 371 372 // Next advances the iterator to the subsequent event, returning whether there 373 // are any more events found. In case of a retrieval or parsing error, false is 374 // returned and Error() can be queried for the exact failure. 375 func (it *EmitLog2LogAIterator) Next() bool { 376 // If the iterator failed, stop iterating 377 if it.fail != nil { 378 return false 379 } 380 // If the iterator completed, deliver directly whatever's available 381 if it.done { 382 select { 383 case log := <-it.logs: 384 it.Event = new(EmitLog2LogA) 385 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 386 it.fail = err 387 return false 388 } 389 it.Event.Raw = log 390 return true 391 392 default: 393 return false 394 } 395 } 396 // Iterator still in progress, wait for either a data or an error event 397 select { 398 case log := <-it.logs: 399 it.Event = new(EmitLog2LogA) 400 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 401 it.fail = err 402 return false 403 } 404 it.Event.Raw = log 405 return true 406 407 case err := <-it.sub.Err(): 408 it.done = true 409 it.fail = err 410 return it.Next() 411 } 412 } 413 414 // Error returns any retrieval or parsing error occurred during filtering. 415 func (it *EmitLog2LogAIterator) Error() error { 416 return it.fail 417 } 418 419 // Close terminates the iteration process, releasing any pending underlying 420 // resources. 421 func (it *EmitLog2LogAIterator) Close() error { 422 it.sub.Unsubscribe() 423 return nil 424 } 425 426 // EmitLog2LogA represents a LogA event raised by the EmitLog2 contract. 427 type EmitLog2LogA struct { 428 A *big.Int 429 Raw types.Log // Blockchain specific contextual infos 430 } 431 432 // FilterLogA is a free log retrieval operation binding the contract event 0x977224b24e70d33f3be87246a29c5636cfc8dd6853e175b54af01ff493ffac62. 433 // 434 // Solidity: event LogA(uint256 indexed a) 435 func (_EmitLog2 *EmitLog2Filterer) FilterLogA(opts *bind.FilterOpts, a []*big.Int) (*EmitLog2LogAIterator, error) { 436 437 var aRule []interface{} 438 for _, aItem := range a { 439 aRule = append(aRule, aItem) 440 } 441 442 logs, sub, err := _EmitLog2.contract.FilterLogs(opts, "LogA", aRule) 443 if err != nil { 444 return nil, err 445 } 446 return &EmitLog2LogAIterator{contract: _EmitLog2.contract, event: "LogA", logs: logs, sub: sub}, nil 447 } 448 449 // WatchLogA is a free log subscription operation binding the contract event 0x977224b24e70d33f3be87246a29c5636cfc8dd6853e175b54af01ff493ffac62. 450 // 451 // Solidity: event LogA(uint256 indexed a) 452 func (_EmitLog2 *EmitLog2Filterer) WatchLogA(opts *bind.WatchOpts, sink chan<- *EmitLog2LogA, a []*big.Int) (event.Subscription, error) { 453 454 var aRule []interface{} 455 for _, aItem := range a { 456 aRule = append(aRule, aItem) 457 } 458 459 logs, sub, err := _EmitLog2.contract.WatchLogs(opts, "LogA", aRule) 460 if err != nil { 461 return nil, err 462 } 463 return event.NewSubscription(func(quit <-chan struct{}) error { 464 defer sub.Unsubscribe() 465 for { 466 select { 467 case log := <-logs: 468 // New log arrived, parse the event and forward to the user 469 event := new(EmitLog2LogA) 470 if err := _EmitLog2.contract.UnpackLog(event, "LogA", log); err != nil { 471 return err 472 } 473 event.Raw = log 474 475 select { 476 case sink <- event: 477 case err := <-sub.Err(): 478 return err 479 case <-quit: 480 return nil 481 } 482 case err := <-sub.Err(): 483 return err 484 case <-quit: 485 return nil 486 } 487 } 488 }), nil 489 } 490 491 // ParseLogA is a log parse operation binding the contract event 0x977224b24e70d33f3be87246a29c5636cfc8dd6853e175b54af01ff493ffac62. 492 // 493 // Solidity: event LogA(uint256 indexed a) 494 func (_EmitLog2 *EmitLog2Filterer) ParseLogA(log types.Log) (*EmitLog2LogA, error) { 495 event := new(EmitLog2LogA) 496 if err := _EmitLog2.contract.UnpackLog(event, "LogA", log); err != nil { 497 return nil, err 498 } 499 event.Raw = log 500 return event, nil 501 } 502 503 // EmitLog2LogABCDIterator is returned from FilterLogABCD and is used to iterate over the raw logs and unpacked data for LogABCD events raised by the EmitLog2 contract. 504 type EmitLog2LogABCDIterator struct { 505 Event *EmitLog2LogABCD // Event containing the contract specifics and raw log 506 507 contract *bind.BoundContract // Generic contract to use for unpacking event data 508 event string // Event name to use for unpacking event data 509 510 logs chan types.Log // Log channel receiving the found contract events 511 sub ethereum.Subscription // Subscription for errors, completion and termination 512 done bool // Whether the subscription completed delivering logs 513 fail error // Occurred error to stop iteration 514 } 515 516 // Next advances the iterator to the subsequent event, returning whether there 517 // are any more events found. In case of a retrieval or parsing error, false is 518 // returned and Error() can be queried for the exact failure. 519 func (it *EmitLog2LogABCDIterator) Next() bool { 520 // If the iterator failed, stop iterating 521 if it.fail != nil { 522 return false 523 } 524 // If the iterator completed, deliver directly whatever's available 525 if it.done { 526 select { 527 case log := <-it.logs: 528 it.Event = new(EmitLog2LogABCD) 529 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 530 it.fail = err 531 return false 532 } 533 it.Event.Raw = log 534 return true 535 536 default: 537 return false 538 } 539 } 540 // Iterator still in progress, wait for either a data or an error event 541 select { 542 case log := <-it.logs: 543 it.Event = new(EmitLog2LogABCD) 544 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 545 it.fail = err 546 return false 547 } 548 it.Event.Raw = log 549 return true 550 551 case err := <-it.sub.Err(): 552 it.done = true 553 it.fail = err 554 return it.Next() 555 } 556 } 557 558 // Error returns any retrieval or parsing error occurred during filtering. 559 func (it *EmitLog2LogABCDIterator) Error() error { 560 return it.fail 561 } 562 563 // Close terminates the iteration process, releasing any pending underlying 564 // resources. 565 func (it *EmitLog2LogABCDIterator) Close() error { 566 it.sub.Unsubscribe() 567 return nil 568 } 569 570 // EmitLog2LogABCD represents a LogABCD event raised by the EmitLog2 contract. 571 type EmitLog2LogABCD struct { 572 A *big.Int 573 B *big.Int 574 C *big.Int 575 D *big.Int 576 Raw types.Log // Blockchain specific contextual infos 577 } 578 579 // FilterLogABCD is a free log retrieval operation binding the contract event 0xe5562b12d9276c5c987df08afff7b1946f2d869236866ea2285c7e2e95685a64. 580 // 581 // Solidity: event LogABCD(uint256 indexed a, uint256 indexed b, uint256 indexed c, uint256 d) 582 func (_EmitLog2 *EmitLog2Filterer) FilterLogABCD(opts *bind.FilterOpts, a []*big.Int, b []*big.Int, c []*big.Int) (*EmitLog2LogABCDIterator, error) { 583 584 var aRule []interface{} 585 for _, aItem := range a { 586 aRule = append(aRule, aItem) 587 } 588 var bRule []interface{} 589 for _, bItem := range b { 590 bRule = append(bRule, bItem) 591 } 592 var cRule []interface{} 593 for _, cItem := range c { 594 cRule = append(cRule, cItem) 595 } 596 597 logs, sub, err := _EmitLog2.contract.FilterLogs(opts, "LogABCD", aRule, bRule, cRule) 598 if err != nil { 599 return nil, err 600 } 601 return &EmitLog2LogABCDIterator{contract: _EmitLog2.contract, event: "LogABCD", logs: logs, sub: sub}, nil 602 } 603 604 // WatchLogABCD is a free log subscription operation binding the contract event 0xe5562b12d9276c5c987df08afff7b1946f2d869236866ea2285c7e2e95685a64. 605 // 606 // Solidity: event LogABCD(uint256 indexed a, uint256 indexed b, uint256 indexed c, uint256 d) 607 func (_EmitLog2 *EmitLog2Filterer) WatchLogABCD(opts *bind.WatchOpts, sink chan<- *EmitLog2LogABCD, a []*big.Int, b []*big.Int, c []*big.Int) (event.Subscription, error) { 608 609 var aRule []interface{} 610 for _, aItem := range a { 611 aRule = append(aRule, aItem) 612 } 613 var bRule []interface{} 614 for _, bItem := range b { 615 bRule = append(bRule, bItem) 616 } 617 var cRule []interface{} 618 for _, cItem := range c { 619 cRule = append(cRule, cItem) 620 } 621 622 logs, sub, err := _EmitLog2.contract.WatchLogs(opts, "LogABCD", aRule, bRule, cRule) 623 if err != nil { 624 return nil, err 625 } 626 return event.NewSubscription(func(quit <-chan struct{}) error { 627 defer sub.Unsubscribe() 628 for { 629 select { 630 case log := <-logs: 631 // New log arrived, parse the event and forward to the user 632 event := new(EmitLog2LogABCD) 633 if err := _EmitLog2.contract.UnpackLog(event, "LogABCD", log); err != nil { 634 return err 635 } 636 event.Raw = log 637 638 select { 639 case sink <- event: 640 case err := <-sub.Err(): 641 return err 642 case <-quit: 643 return nil 644 } 645 case err := <-sub.Err(): 646 return err 647 case <-quit: 648 return nil 649 } 650 } 651 }), nil 652 } 653 654 // ParseLogABCD is a log parse operation binding the contract event 0xe5562b12d9276c5c987df08afff7b1946f2d869236866ea2285c7e2e95685a64. 655 // 656 // Solidity: event LogABCD(uint256 indexed a, uint256 indexed b, uint256 indexed c, uint256 d) 657 func (_EmitLog2 *EmitLog2Filterer) ParseLogABCD(log types.Log) (*EmitLog2LogABCD, error) { 658 event := new(EmitLog2LogABCD) 659 if err := _EmitLog2.contract.UnpackLog(event, "LogABCD", log); err != nil { 660 return nil, err 661 } 662 event.Raw = log 663 return event, nil 664 }