github.com/Onther-Tech/plasma-evm@v0.0.0-rc7.7/contracts/plasma/rootchain/rootchain.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 rootchain 5 6 import ( 7 "math/big" 8 "strings" 9 10 "github.com/Onther-Tech/plasma-evm" 11 "github.com/Onther-Tech/plasma-evm/accounts/abi" 12 "github.com/Onther-Tech/plasma-evm/accounts/abi/bind" 13 "github.com/Onther-Tech/plasma-evm/common" 14 "github.com/Onther-Tech/plasma-evm/core/types" 15 "github.com/Onther-Tech/plasma-evm/event" 16 ) 17 18 // Reference imports to suppress errors if they are not otherwise used. 19 var ( 20 _ = big.NewInt 21 _ = strings.NewReader 22 _ = ethereum.NotFound 23 _ = abi.U256 24 _ = bind.Bind 25 _ = common.Big1 26 _ = types.BloomLookup 27 _ = event.NewSubscription 28 ) 29 30 // DataEpoch is an auto generated low-level Go binding around an user-defined struct. 31 type DataEpoch struct { 32 StartBlockNumber uint64 33 EndBlockNumber uint64 34 Timestamp uint64 35 IsEmpty bool 36 Initialized bool 37 IsRequest bool 38 UserActivated bool 39 Rebase bool 40 RE DataRequestEpochMeta 41 NRE DataNonRequestEpochMeta 42 } 43 44 // DataNonRequestEpochMeta is an auto generated low-level Go binding around an user-defined struct. 45 type DataNonRequestEpochMeta struct { 46 EpochStateRoot [32]byte 47 EpochTransactionsRoot [32]byte 48 EpochReceiptsRoot [32]byte 49 SubmittedAt uint64 50 FinalizedAt uint64 51 Finalized bool 52 Challenging bool 53 Challenged bool 54 } 55 56 // DataPlasmaBlock is an auto generated low-level Go binding around an user-defined struct. 57 type DataPlasmaBlock struct { 58 EpochNumber uint64 59 RequestBlockId uint64 60 Timestamp uint64 61 FinalizedAt uint64 62 ReferenceBlock uint64 63 StatesRoot [32]byte 64 TransactionsRoot [32]byte 65 ReceiptsRoot [32]byte 66 IsRequest bool 67 UserActivated bool 68 Challenged bool 69 Challenging bool 70 Finalized bool 71 } 72 73 // DataRequestEpochMeta is an auto generated low-level Go binding around an user-defined struct. 74 type DataRequestEpochMeta struct { 75 RequestStart uint64 76 RequestEnd uint64 77 FirstRequestBlockId uint64 78 NumEnter uint64 79 NextEnterEpoch uint64 80 NextEpoch uint64 81 } 82 83 // AddressABI is the input ABI used to generate the binding from. 84 const AddressABI = "[]" 85 86 // AddressBin is the compiled bytecode used for deploying new contracts. 87 var AddressBin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820451b843ffb424b86bcba31db5f97373aa893055a6c8333b114cc3f724489f96264736f6c634300050c0032" 88 89 // DeployAddress deploys a new Ethereum contract, binding an instance of Address to it. 90 func DeployAddress(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Address, error) { 91 parsed, err := abi.JSON(strings.NewReader(AddressABI)) 92 if err != nil { 93 return common.Address{}, nil, nil, err 94 } 95 96 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(AddressBin), backend) 97 if err != nil { 98 return common.Address{}, nil, nil, err 99 } 100 return address, tx, &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 101 } 102 103 // Address is an auto generated Go binding around an Ethereum contract. 104 type Address struct { 105 AddressCaller // Read-only binding to the contract 106 AddressTransactor // Write-only binding to the contract 107 AddressFilterer // Log filterer for contract events 108 } 109 110 // AddressCaller is an auto generated read-only Go binding around an Ethereum contract. 111 type AddressCaller struct { 112 contract *bind.BoundContract // Generic contract wrapper for the low level calls 113 } 114 115 // AddressTransactor is an auto generated write-only Go binding around an Ethereum contract. 116 type AddressTransactor struct { 117 contract *bind.BoundContract // Generic contract wrapper for the low level calls 118 } 119 120 // AddressFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 121 type AddressFilterer struct { 122 contract *bind.BoundContract // Generic contract wrapper for the low level calls 123 } 124 125 // AddressSession is an auto generated Go binding around an Ethereum contract, 126 // with pre-set call and transact options. 127 type AddressSession struct { 128 Contract *Address // Generic contract binding to set the session for 129 CallOpts bind.CallOpts // Call options to use throughout this session 130 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 131 } 132 133 // AddressCallerSession is an auto generated read-only Go binding around an Ethereum contract, 134 // with pre-set call options. 135 type AddressCallerSession struct { 136 Contract *AddressCaller // Generic contract caller binding to set the session for 137 CallOpts bind.CallOpts // Call options to use throughout this session 138 } 139 140 // AddressTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 141 // with pre-set transact options. 142 type AddressTransactorSession struct { 143 Contract *AddressTransactor // Generic contract transactor binding to set the session for 144 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 145 } 146 147 // AddressRaw is an auto generated low-level Go binding around an Ethereum contract. 148 type AddressRaw struct { 149 Contract *Address // Generic contract binding to access the raw methods on 150 } 151 152 // AddressCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 153 type AddressCallerRaw struct { 154 Contract *AddressCaller // Generic read-only contract binding to access the raw methods on 155 } 156 157 // AddressTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 158 type AddressTransactorRaw struct { 159 Contract *AddressTransactor // Generic write-only contract binding to access the raw methods on 160 } 161 162 // NewAddress creates a new instance of Address, bound to a specific deployed contract. 163 func NewAddress(address common.Address, backend bind.ContractBackend) (*Address, error) { 164 contract, err := bindAddress(address, backend, backend, backend) 165 if err != nil { 166 return nil, err 167 } 168 return &Address{AddressCaller: AddressCaller{contract: contract}, AddressTransactor: AddressTransactor{contract: contract}, AddressFilterer: AddressFilterer{contract: contract}}, nil 169 } 170 171 // NewAddressCaller creates a new read-only instance of Address, bound to a specific deployed contract. 172 func NewAddressCaller(address common.Address, caller bind.ContractCaller) (*AddressCaller, error) { 173 contract, err := bindAddress(address, caller, nil, nil) 174 if err != nil { 175 return nil, err 176 } 177 return &AddressCaller{contract: contract}, nil 178 } 179 180 // NewAddressTransactor creates a new write-only instance of Address, bound to a specific deployed contract. 181 func NewAddressTransactor(address common.Address, transactor bind.ContractTransactor) (*AddressTransactor, error) { 182 contract, err := bindAddress(address, nil, transactor, nil) 183 if err != nil { 184 return nil, err 185 } 186 return &AddressTransactor{contract: contract}, nil 187 } 188 189 // NewAddressFilterer creates a new log filterer instance of Address, bound to a specific deployed contract. 190 func NewAddressFilterer(address common.Address, filterer bind.ContractFilterer) (*AddressFilterer, error) { 191 contract, err := bindAddress(address, nil, nil, filterer) 192 if err != nil { 193 return nil, err 194 } 195 return &AddressFilterer{contract: contract}, nil 196 } 197 198 // bindAddress binds a generic wrapper to an already deployed contract. 199 func bindAddress(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 200 parsed, err := abi.JSON(strings.NewReader(AddressABI)) 201 if err != nil { 202 return nil, err 203 } 204 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 205 } 206 207 // Call invokes the (constant) contract method with params as input values and 208 // sets the output to result. The result type might be a single field for simple 209 // returns, a slice of interfaces for anonymous returns and a struct for named 210 // returns. 211 func (_Address *AddressRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 212 return _Address.Contract.AddressCaller.contract.Call(opts, result, method, params...) 213 } 214 215 // Transfer initiates a plain transaction to move funds to the contract, calling 216 // its default method if one is available. 217 func (_Address *AddressRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 218 return _Address.Contract.AddressTransactor.contract.Transfer(opts) 219 } 220 221 // Transact invokes the (paid) contract method with params as input values. 222 func (_Address *AddressRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 223 return _Address.Contract.AddressTransactor.contract.Transact(opts, method, params...) 224 } 225 226 // Call invokes the (constant) contract method with params as input values and 227 // sets the output to result. The result type might be a single field for simple 228 // returns, a slice of interfaces for anonymous returns and a struct for named 229 // returns. 230 func (_Address *AddressCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 231 return _Address.Contract.contract.Call(opts, result, method, params...) 232 } 233 234 // Transfer initiates a plain transaction to move funds to the contract, calling 235 // its default method if one is available. 236 func (_Address *AddressTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 237 return _Address.Contract.contract.Transfer(opts) 238 } 239 240 // Transact invokes the (paid) contract method with params as input values. 241 func (_Address *AddressTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 242 return _Address.Contract.contract.Transact(opts, method, params...) 243 } 244 245 // BMTABI is the input ABI used to generate the binding from. 246 const BMTABI = "[]" 247 248 // BMTBin is the compiled bytecode used for deploying new contracts. 249 var BMTBin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820e40cfcc115c891081c9c49cf067c463d7e9814fa3ea29c4a8d949bc82adcafb264736f6c634300050c0032" 250 251 // DeployBMT deploys a new Ethereum contract, binding an instance of BMT to it. 252 func DeployBMT(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *BMT, error) { 253 parsed, err := abi.JSON(strings.NewReader(BMTABI)) 254 if err != nil { 255 return common.Address{}, nil, nil, err 256 } 257 258 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(BMTBin), backend) 259 if err != nil { 260 return common.Address{}, nil, nil, err 261 } 262 return address, tx, &BMT{BMTCaller: BMTCaller{contract: contract}, BMTTransactor: BMTTransactor{contract: contract}, BMTFilterer: BMTFilterer{contract: contract}}, nil 263 } 264 265 // BMT is an auto generated Go binding around an Ethereum contract. 266 type BMT struct { 267 BMTCaller // Read-only binding to the contract 268 BMTTransactor // Write-only binding to the contract 269 BMTFilterer // Log filterer for contract events 270 } 271 272 // BMTCaller is an auto generated read-only Go binding around an Ethereum contract. 273 type BMTCaller struct { 274 contract *bind.BoundContract // Generic contract wrapper for the low level calls 275 } 276 277 // BMTTransactor is an auto generated write-only Go binding around an Ethereum contract. 278 type BMTTransactor struct { 279 contract *bind.BoundContract // Generic contract wrapper for the low level calls 280 } 281 282 // BMTFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 283 type BMTFilterer struct { 284 contract *bind.BoundContract // Generic contract wrapper for the low level calls 285 } 286 287 // BMTSession is an auto generated Go binding around an Ethereum contract, 288 // with pre-set call and transact options. 289 type BMTSession struct { 290 Contract *BMT // Generic contract binding to set the session for 291 CallOpts bind.CallOpts // Call options to use throughout this session 292 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 293 } 294 295 // BMTCallerSession is an auto generated read-only Go binding around an Ethereum contract, 296 // with pre-set call options. 297 type BMTCallerSession struct { 298 Contract *BMTCaller // Generic contract caller binding to set the session for 299 CallOpts bind.CallOpts // Call options to use throughout this session 300 } 301 302 // BMTTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 303 // with pre-set transact options. 304 type BMTTransactorSession struct { 305 Contract *BMTTransactor // Generic contract transactor binding to set the session for 306 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 307 } 308 309 // BMTRaw is an auto generated low-level Go binding around an Ethereum contract. 310 type BMTRaw struct { 311 Contract *BMT // Generic contract binding to access the raw methods on 312 } 313 314 // BMTCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 315 type BMTCallerRaw struct { 316 Contract *BMTCaller // Generic read-only contract binding to access the raw methods on 317 } 318 319 // BMTTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 320 type BMTTransactorRaw struct { 321 Contract *BMTTransactor // Generic write-only contract binding to access the raw methods on 322 } 323 324 // NewBMT creates a new instance of BMT, bound to a specific deployed contract. 325 func NewBMT(address common.Address, backend bind.ContractBackend) (*BMT, error) { 326 contract, err := bindBMT(address, backend, backend, backend) 327 if err != nil { 328 return nil, err 329 } 330 return &BMT{BMTCaller: BMTCaller{contract: contract}, BMTTransactor: BMTTransactor{contract: contract}, BMTFilterer: BMTFilterer{contract: contract}}, nil 331 } 332 333 // NewBMTCaller creates a new read-only instance of BMT, bound to a specific deployed contract. 334 func NewBMTCaller(address common.Address, caller bind.ContractCaller) (*BMTCaller, error) { 335 contract, err := bindBMT(address, caller, nil, nil) 336 if err != nil { 337 return nil, err 338 } 339 return &BMTCaller{contract: contract}, nil 340 } 341 342 // NewBMTTransactor creates a new write-only instance of BMT, bound to a specific deployed contract. 343 func NewBMTTransactor(address common.Address, transactor bind.ContractTransactor) (*BMTTransactor, error) { 344 contract, err := bindBMT(address, nil, transactor, nil) 345 if err != nil { 346 return nil, err 347 } 348 return &BMTTransactor{contract: contract}, nil 349 } 350 351 // NewBMTFilterer creates a new log filterer instance of BMT, bound to a specific deployed contract. 352 func NewBMTFilterer(address common.Address, filterer bind.ContractFilterer) (*BMTFilterer, error) { 353 contract, err := bindBMT(address, nil, nil, filterer) 354 if err != nil { 355 return nil, err 356 } 357 return &BMTFilterer{contract: contract}, nil 358 } 359 360 // bindBMT binds a generic wrapper to an already deployed contract. 361 func bindBMT(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 362 parsed, err := abi.JSON(strings.NewReader(BMTABI)) 363 if err != nil { 364 return nil, err 365 } 366 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 367 } 368 369 // Call invokes the (constant) contract method with params as input values and 370 // sets the output to result. The result type might be a single field for simple 371 // returns, a slice of interfaces for anonymous returns and a struct for named 372 // returns. 373 func (_BMT *BMTRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 374 return _BMT.Contract.BMTCaller.contract.Call(opts, result, method, params...) 375 } 376 377 // Transfer initiates a plain transaction to move funds to the contract, calling 378 // its default method if one is available. 379 func (_BMT *BMTRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 380 return _BMT.Contract.BMTTransactor.contract.Transfer(opts) 381 } 382 383 // Transact invokes the (paid) contract method with params as input values. 384 func (_BMT *BMTRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 385 return _BMT.Contract.BMTTransactor.contract.Transact(opts, method, params...) 386 } 387 388 // Call invokes the (constant) contract method with params as input values and 389 // sets the output to result. The result type might be a single field for simple 390 // returns, a slice of interfaces for anonymous returns and a struct for named 391 // returns. 392 func (_BMT *BMTCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 393 return _BMT.Contract.contract.Call(opts, result, method, params...) 394 } 395 396 // Transfer initiates a plain transaction to move funds to the contract, calling 397 // its default method if one is available. 398 func (_BMT *BMTTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 399 return _BMT.Contract.contract.Transfer(opts) 400 } 401 402 // Transact invokes the (paid) contract method with params as input values. 403 func (_BMT *BMTTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 404 return _BMT.Contract.contract.Transact(opts, method, params...) 405 } 406 407 // DataABI is the input ABI used to generate the binding from. 408 const DataABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"APPLY_IN_CHILDCHAIN_SIGNATURE\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"APPLY_IN_ROOTCHAIN_SIGNATURE\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"NA\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"NA_TX_GAS_LIMIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"NA_TX_GAS_PRICE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 409 410 // DataFuncSigs maps the 4-byte function signature to its string representation. 411 var DataFuncSigs = map[string]string{ 412 "a89ca766": "APPLY_IN_CHILDCHAIN_SIGNATURE()", 413 "a7b6ae28": "APPLY_IN_ROOTCHAIN_SIGNATURE()", 414 "ab73ff05": "NA()", 415 "90e84f56": "NA_TX_GAS_LIMIT()", 416 "1927ac58": "NA_TX_GAS_PRICE()", 417 } 418 419 // DataBin is the compiled bytecode used for deploying new contracts. 420 var DataBin = "0x6101cf610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c80631927ac581461006657806390e84f5614610080578063a7b6ae2814610088578063a89ca766146100ad578063ab73ff05146100b5575b600080fd5b61006e6100d9565b60408051918252519081900360200190f35b61006e6100e1565b6100906100e8565b604080516001600160e01b03199092168252519081900360200190f35b610090610103565b6100bd61011e565b604080516001600160a01b039092168252519081900360200190f35b633b9aca0081565b620186a081565b60405180603b6101608239603b019050604051809103902081565b60405180603c6101248239603c019050604051809103902081565b60008156fe6170706c7952657175657374496e4368696c64436861696e28626f6f6c2c75696e743235362c616464726573732c627974657333322c6279746573296170706c7952657175657374496e526f6f74436861696e28626f6f6c2c75696e743235362c616464726573732c627974657333322c627974657329a265627a7a723158204c9301a5408d81b999d438ab1834526edc3015412601cd9e2f1a4da5000c968364736f6c634300050c0032" 421 422 // DeployData deploys a new Ethereum contract, binding an instance of Data to it. 423 func DeployData(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Data, error) { 424 parsed, err := abi.JSON(strings.NewReader(DataABI)) 425 if err != nil { 426 return common.Address{}, nil, nil, err 427 } 428 429 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(DataBin), backend) 430 if err != nil { 431 return common.Address{}, nil, nil, err 432 } 433 return address, tx, &Data{DataCaller: DataCaller{contract: contract}, DataTransactor: DataTransactor{contract: contract}, DataFilterer: DataFilterer{contract: contract}}, nil 434 } 435 436 // Data is an auto generated Go binding around an Ethereum contract. 437 type Data struct { 438 DataCaller // Read-only binding to the contract 439 DataTransactor // Write-only binding to the contract 440 DataFilterer // Log filterer for contract events 441 } 442 443 // DataCaller is an auto generated read-only Go binding around an Ethereum contract. 444 type DataCaller struct { 445 contract *bind.BoundContract // Generic contract wrapper for the low level calls 446 } 447 448 // DataTransactor is an auto generated write-only Go binding around an Ethereum contract. 449 type DataTransactor struct { 450 contract *bind.BoundContract // Generic contract wrapper for the low level calls 451 } 452 453 // DataFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 454 type DataFilterer struct { 455 contract *bind.BoundContract // Generic contract wrapper for the low level calls 456 } 457 458 // DataSession is an auto generated Go binding around an Ethereum contract, 459 // with pre-set call and transact options. 460 type DataSession struct { 461 Contract *Data // Generic contract binding to set the session for 462 CallOpts bind.CallOpts // Call options to use throughout this session 463 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 464 } 465 466 // DataCallerSession is an auto generated read-only Go binding around an Ethereum contract, 467 // with pre-set call options. 468 type DataCallerSession struct { 469 Contract *DataCaller // Generic contract caller binding to set the session for 470 CallOpts bind.CallOpts // Call options to use throughout this session 471 } 472 473 // DataTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 474 // with pre-set transact options. 475 type DataTransactorSession struct { 476 Contract *DataTransactor // Generic contract transactor binding to set the session for 477 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 478 } 479 480 // DataRaw is an auto generated low-level Go binding around an Ethereum contract. 481 type DataRaw struct { 482 Contract *Data // Generic contract binding to access the raw methods on 483 } 484 485 // DataCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 486 type DataCallerRaw struct { 487 Contract *DataCaller // Generic read-only contract binding to access the raw methods on 488 } 489 490 // DataTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 491 type DataTransactorRaw struct { 492 Contract *DataTransactor // Generic write-only contract binding to access the raw methods on 493 } 494 495 // NewData creates a new instance of Data, bound to a specific deployed contract. 496 func NewData(address common.Address, backend bind.ContractBackend) (*Data, error) { 497 contract, err := bindData(address, backend, backend, backend) 498 if err != nil { 499 return nil, err 500 } 501 return &Data{DataCaller: DataCaller{contract: contract}, DataTransactor: DataTransactor{contract: contract}, DataFilterer: DataFilterer{contract: contract}}, nil 502 } 503 504 // NewDataCaller creates a new read-only instance of Data, bound to a specific deployed contract. 505 func NewDataCaller(address common.Address, caller bind.ContractCaller) (*DataCaller, error) { 506 contract, err := bindData(address, caller, nil, nil) 507 if err != nil { 508 return nil, err 509 } 510 return &DataCaller{contract: contract}, nil 511 } 512 513 // NewDataTransactor creates a new write-only instance of Data, bound to a specific deployed contract. 514 func NewDataTransactor(address common.Address, transactor bind.ContractTransactor) (*DataTransactor, error) { 515 contract, err := bindData(address, nil, transactor, nil) 516 if err != nil { 517 return nil, err 518 } 519 return &DataTransactor{contract: contract}, nil 520 } 521 522 // NewDataFilterer creates a new log filterer instance of Data, bound to a specific deployed contract. 523 func NewDataFilterer(address common.Address, filterer bind.ContractFilterer) (*DataFilterer, error) { 524 contract, err := bindData(address, nil, nil, filterer) 525 if err != nil { 526 return nil, err 527 } 528 return &DataFilterer{contract: contract}, nil 529 } 530 531 // bindData binds a generic wrapper to an already deployed contract. 532 func bindData(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 533 parsed, err := abi.JSON(strings.NewReader(DataABI)) 534 if err != nil { 535 return nil, err 536 } 537 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 538 } 539 540 // Call invokes the (constant) contract method with params as input values and 541 // sets the output to result. The result type might be a single field for simple 542 // returns, a slice of interfaces for anonymous returns and a struct for named 543 // returns. 544 func (_Data *DataRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 545 return _Data.Contract.DataCaller.contract.Call(opts, result, method, params...) 546 } 547 548 // Transfer initiates a plain transaction to move funds to the contract, calling 549 // its default method if one is available. 550 func (_Data *DataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 551 return _Data.Contract.DataTransactor.contract.Transfer(opts) 552 } 553 554 // Transact invokes the (paid) contract method with params as input values. 555 func (_Data *DataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 556 return _Data.Contract.DataTransactor.contract.Transact(opts, method, params...) 557 } 558 559 // Call invokes the (constant) contract method with params as input values and 560 // sets the output to result. The result type might be a single field for simple 561 // returns, a slice of interfaces for anonymous returns and a struct for named 562 // returns. 563 func (_Data *DataCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 564 return _Data.Contract.contract.Call(opts, result, method, params...) 565 } 566 567 // Transfer initiates a plain transaction to move funds to the contract, calling 568 // its default method if one is available. 569 func (_Data *DataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 570 return _Data.Contract.contract.Transfer(opts) 571 } 572 573 // Transact invokes the (paid) contract method with params as input values. 574 func (_Data *DataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 575 return _Data.Contract.contract.Transact(opts, method, params...) 576 } 577 578 // APPLYINCHILDCHAINSIGNATURE is a free data retrieval call binding the contract method 0xa89ca766. 579 // 580 // Solidity: function APPLY_IN_CHILDCHAIN_SIGNATURE() constant returns(bytes4) 581 func (_Data *DataCaller) APPLYINCHILDCHAINSIGNATURE(opts *bind.CallOpts) ([4]byte, error) { 582 var ( 583 ret0 = new([4]byte) 584 ) 585 out := ret0 586 err := _Data.contract.Call(opts, out, "APPLY_IN_CHILDCHAIN_SIGNATURE") 587 return *ret0, err 588 } 589 590 // APPLYINCHILDCHAINSIGNATURE is a free data retrieval call binding the contract method 0xa89ca766. 591 // 592 // Solidity: function APPLY_IN_CHILDCHAIN_SIGNATURE() constant returns(bytes4) 593 func (_Data *DataSession) APPLYINCHILDCHAINSIGNATURE() ([4]byte, error) { 594 return _Data.Contract.APPLYINCHILDCHAINSIGNATURE(&_Data.CallOpts) 595 } 596 597 // APPLYINCHILDCHAINSIGNATURE is a free data retrieval call binding the contract method 0xa89ca766. 598 // 599 // Solidity: function APPLY_IN_CHILDCHAIN_SIGNATURE() constant returns(bytes4) 600 func (_Data *DataCallerSession) APPLYINCHILDCHAINSIGNATURE() ([4]byte, error) { 601 return _Data.Contract.APPLYINCHILDCHAINSIGNATURE(&_Data.CallOpts) 602 } 603 604 // APPLYINROOTCHAINSIGNATURE is a free data retrieval call binding the contract method 0xa7b6ae28. 605 // 606 // Solidity: function APPLY_IN_ROOTCHAIN_SIGNATURE() constant returns(bytes4) 607 func (_Data *DataCaller) APPLYINROOTCHAINSIGNATURE(opts *bind.CallOpts) ([4]byte, error) { 608 var ( 609 ret0 = new([4]byte) 610 ) 611 out := ret0 612 err := _Data.contract.Call(opts, out, "APPLY_IN_ROOTCHAIN_SIGNATURE") 613 return *ret0, err 614 } 615 616 // APPLYINROOTCHAINSIGNATURE is a free data retrieval call binding the contract method 0xa7b6ae28. 617 // 618 // Solidity: function APPLY_IN_ROOTCHAIN_SIGNATURE() constant returns(bytes4) 619 func (_Data *DataSession) APPLYINROOTCHAINSIGNATURE() ([4]byte, error) { 620 return _Data.Contract.APPLYINROOTCHAINSIGNATURE(&_Data.CallOpts) 621 } 622 623 // APPLYINROOTCHAINSIGNATURE is a free data retrieval call binding the contract method 0xa7b6ae28. 624 // 625 // Solidity: function APPLY_IN_ROOTCHAIN_SIGNATURE() constant returns(bytes4) 626 func (_Data *DataCallerSession) APPLYINROOTCHAINSIGNATURE() ([4]byte, error) { 627 return _Data.Contract.APPLYINROOTCHAINSIGNATURE(&_Data.CallOpts) 628 } 629 630 // NA is a free data retrieval call binding the contract method 0xab73ff05. 631 // 632 // Solidity: function NA() constant returns(address) 633 func (_Data *DataCaller) NA(opts *bind.CallOpts) (common.Address, error) { 634 var ( 635 ret0 = new(common.Address) 636 ) 637 out := ret0 638 err := _Data.contract.Call(opts, out, "NA") 639 return *ret0, err 640 } 641 642 // NA is a free data retrieval call binding the contract method 0xab73ff05. 643 // 644 // Solidity: function NA() constant returns(address) 645 func (_Data *DataSession) NA() (common.Address, error) { 646 return _Data.Contract.NA(&_Data.CallOpts) 647 } 648 649 // NA is a free data retrieval call binding the contract method 0xab73ff05. 650 // 651 // Solidity: function NA() constant returns(address) 652 func (_Data *DataCallerSession) NA() (common.Address, error) { 653 return _Data.Contract.NA(&_Data.CallOpts) 654 } 655 656 // NATXGASLIMIT is a free data retrieval call binding the contract method 0x90e84f56. 657 // 658 // Solidity: function NA_TX_GAS_LIMIT() constant returns(uint256) 659 func (_Data *DataCaller) NATXGASLIMIT(opts *bind.CallOpts) (*big.Int, error) { 660 var ( 661 ret0 = new(*big.Int) 662 ) 663 out := ret0 664 err := _Data.contract.Call(opts, out, "NA_TX_GAS_LIMIT") 665 return *ret0, err 666 } 667 668 // NATXGASLIMIT is a free data retrieval call binding the contract method 0x90e84f56. 669 // 670 // Solidity: function NA_TX_GAS_LIMIT() constant returns(uint256) 671 func (_Data *DataSession) NATXGASLIMIT() (*big.Int, error) { 672 return _Data.Contract.NATXGASLIMIT(&_Data.CallOpts) 673 } 674 675 // NATXGASLIMIT is a free data retrieval call binding the contract method 0x90e84f56. 676 // 677 // Solidity: function NA_TX_GAS_LIMIT() constant returns(uint256) 678 func (_Data *DataCallerSession) NATXGASLIMIT() (*big.Int, error) { 679 return _Data.Contract.NATXGASLIMIT(&_Data.CallOpts) 680 } 681 682 // NATXGASPRICE is a free data retrieval call binding the contract method 0x1927ac58. 683 // 684 // Solidity: function NA_TX_GAS_PRICE() constant returns(uint256) 685 func (_Data *DataCaller) NATXGASPRICE(opts *bind.CallOpts) (*big.Int, error) { 686 var ( 687 ret0 = new(*big.Int) 688 ) 689 out := ret0 690 err := _Data.contract.Call(opts, out, "NA_TX_GAS_PRICE") 691 return *ret0, err 692 } 693 694 // NATXGASPRICE is a free data retrieval call binding the contract method 0x1927ac58. 695 // 696 // Solidity: function NA_TX_GAS_PRICE() constant returns(uint256) 697 func (_Data *DataSession) NATXGASPRICE() (*big.Int, error) { 698 return _Data.Contract.NATXGASPRICE(&_Data.CallOpts) 699 } 700 701 // NATXGASPRICE is a free data retrieval call binding the contract method 0x1927ac58. 702 // 703 // Solidity: function NA_TX_GAS_PRICE() constant returns(uint256) 704 func (_Data *DataCallerSession) NATXGASPRICE() (*big.Int, error) { 705 return _Data.Contract.NATXGASPRICE(&_Data.CallOpts) 706 } 707 708 // MapperRoleABI is the input ABI used to generate the binding from. 709 const MapperRoleABI = "[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MapperAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MapperRemoved\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMapper\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMapper\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMapper\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 710 711 // MapperRoleFuncSigs maps the 4-byte function signature to its string representation. 712 var MapperRoleFuncSigs = map[string]string{ 713 "80e3e81d": "addMapper(address)", 714 "c0c49c2a": "isMapper(address)", 715 "3565fb0d": "renounceMapper()", 716 } 717 718 // MapperRole is an auto generated Go binding around an Ethereum contract. 719 type MapperRole struct { 720 MapperRoleCaller // Read-only binding to the contract 721 MapperRoleTransactor // Write-only binding to the contract 722 MapperRoleFilterer // Log filterer for contract events 723 } 724 725 // MapperRoleCaller is an auto generated read-only Go binding around an Ethereum contract. 726 type MapperRoleCaller struct { 727 contract *bind.BoundContract // Generic contract wrapper for the low level calls 728 } 729 730 // MapperRoleTransactor is an auto generated write-only Go binding around an Ethereum contract. 731 type MapperRoleTransactor struct { 732 contract *bind.BoundContract // Generic contract wrapper for the low level calls 733 } 734 735 // MapperRoleFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 736 type MapperRoleFilterer struct { 737 contract *bind.BoundContract // Generic contract wrapper for the low level calls 738 } 739 740 // MapperRoleSession is an auto generated Go binding around an Ethereum contract, 741 // with pre-set call and transact options. 742 type MapperRoleSession struct { 743 Contract *MapperRole // Generic contract binding to set the session for 744 CallOpts bind.CallOpts // Call options to use throughout this session 745 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 746 } 747 748 // MapperRoleCallerSession is an auto generated read-only Go binding around an Ethereum contract, 749 // with pre-set call options. 750 type MapperRoleCallerSession struct { 751 Contract *MapperRoleCaller // Generic contract caller binding to set the session for 752 CallOpts bind.CallOpts // Call options to use throughout this session 753 } 754 755 // MapperRoleTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 756 // with pre-set transact options. 757 type MapperRoleTransactorSession struct { 758 Contract *MapperRoleTransactor // Generic contract transactor binding to set the session for 759 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 760 } 761 762 // MapperRoleRaw is an auto generated low-level Go binding around an Ethereum contract. 763 type MapperRoleRaw struct { 764 Contract *MapperRole // Generic contract binding to access the raw methods on 765 } 766 767 // MapperRoleCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 768 type MapperRoleCallerRaw struct { 769 Contract *MapperRoleCaller // Generic read-only contract binding to access the raw methods on 770 } 771 772 // MapperRoleTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 773 type MapperRoleTransactorRaw struct { 774 Contract *MapperRoleTransactor // Generic write-only contract binding to access the raw methods on 775 } 776 777 // NewMapperRole creates a new instance of MapperRole, bound to a specific deployed contract. 778 func NewMapperRole(address common.Address, backend bind.ContractBackend) (*MapperRole, error) { 779 contract, err := bindMapperRole(address, backend, backend, backend) 780 if err != nil { 781 return nil, err 782 } 783 return &MapperRole{MapperRoleCaller: MapperRoleCaller{contract: contract}, MapperRoleTransactor: MapperRoleTransactor{contract: contract}, MapperRoleFilterer: MapperRoleFilterer{contract: contract}}, nil 784 } 785 786 // NewMapperRoleCaller creates a new read-only instance of MapperRole, bound to a specific deployed contract. 787 func NewMapperRoleCaller(address common.Address, caller bind.ContractCaller) (*MapperRoleCaller, error) { 788 contract, err := bindMapperRole(address, caller, nil, nil) 789 if err != nil { 790 return nil, err 791 } 792 return &MapperRoleCaller{contract: contract}, nil 793 } 794 795 // NewMapperRoleTransactor creates a new write-only instance of MapperRole, bound to a specific deployed contract. 796 func NewMapperRoleTransactor(address common.Address, transactor bind.ContractTransactor) (*MapperRoleTransactor, error) { 797 contract, err := bindMapperRole(address, nil, transactor, nil) 798 if err != nil { 799 return nil, err 800 } 801 return &MapperRoleTransactor{contract: contract}, nil 802 } 803 804 // NewMapperRoleFilterer creates a new log filterer instance of MapperRole, bound to a specific deployed contract. 805 func NewMapperRoleFilterer(address common.Address, filterer bind.ContractFilterer) (*MapperRoleFilterer, error) { 806 contract, err := bindMapperRole(address, nil, nil, filterer) 807 if err != nil { 808 return nil, err 809 } 810 return &MapperRoleFilterer{contract: contract}, nil 811 } 812 813 // bindMapperRole binds a generic wrapper to an already deployed contract. 814 func bindMapperRole(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 815 parsed, err := abi.JSON(strings.NewReader(MapperRoleABI)) 816 if err != nil { 817 return nil, err 818 } 819 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 820 } 821 822 // Call invokes the (constant) contract method with params as input values and 823 // sets the output to result. The result type might be a single field for simple 824 // returns, a slice of interfaces for anonymous returns and a struct for named 825 // returns. 826 func (_MapperRole *MapperRoleRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 827 return _MapperRole.Contract.MapperRoleCaller.contract.Call(opts, result, method, params...) 828 } 829 830 // Transfer initiates a plain transaction to move funds to the contract, calling 831 // its default method if one is available. 832 func (_MapperRole *MapperRoleRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 833 return _MapperRole.Contract.MapperRoleTransactor.contract.Transfer(opts) 834 } 835 836 // Transact invokes the (paid) contract method with params as input values. 837 func (_MapperRole *MapperRoleRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 838 return _MapperRole.Contract.MapperRoleTransactor.contract.Transact(opts, method, params...) 839 } 840 841 // Call invokes the (constant) contract method with params as input values and 842 // sets the output to result. The result type might be a single field for simple 843 // returns, a slice of interfaces for anonymous returns and a struct for named 844 // returns. 845 func (_MapperRole *MapperRoleCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 846 return _MapperRole.Contract.contract.Call(opts, result, method, params...) 847 } 848 849 // Transfer initiates a plain transaction to move funds to the contract, calling 850 // its default method if one is available. 851 func (_MapperRole *MapperRoleTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 852 return _MapperRole.Contract.contract.Transfer(opts) 853 } 854 855 // Transact invokes the (paid) contract method with params as input values. 856 func (_MapperRole *MapperRoleTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 857 return _MapperRole.Contract.contract.Transact(opts, method, params...) 858 } 859 860 // IsMapper is a free data retrieval call binding the contract method 0xc0c49c2a. 861 // 862 // Solidity: function isMapper(address account) constant returns(bool) 863 func (_MapperRole *MapperRoleCaller) IsMapper(opts *bind.CallOpts, account common.Address) (bool, error) { 864 var ( 865 ret0 = new(bool) 866 ) 867 out := ret0 868 err := _MapperRole.contract.Call(opts, out, "isMapper", account) 869 return *ret0, err 870 } 871 872 // IsMapper is a free data retrieval call binding the contract method 0xc0c49c2a. 873 // 874 // Solidity: function isMapper(address account) constant returns(bool) 875 func (_MapperRole *MapperRoleSession) IsMapper(account common.Address) (bool, error) { 876 return _MapperRole.Contract.IsMapper(&_MapperRole.CallOpts, account) 877 } 878 879 // IsMapper is a free data retrieval call binding the contract method 0xc0c49c2a. 880 // 881 // Solidity: function isMapper(address account) constant returns(bool) 882 func (_MapperRole *MapperRoleCallerSession) IsMapper(account common.Address) (bool, error) { 883 return _MapperRole.Contract.IsMapper(&_MapperRole.CallOpts, account) 884 } 885 886 // AddMapper is a paid mutator transaction binding the contract method 0x80e3e81d. 887 // 888 // Solidity: function addMapper(address account) returns() 889 func (_MapperRole *MapperRoleTransactor) AddMapper(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 890 return _MapperRole.contract.Transact(opts, "addMapper", account) 891 } 892 893 // AddMapper is a paid mutator transaction binding the contract method 0x80e3e81d. 894 // 895 // Solidity: function addMapper(address account) returns() 896 func (_MapperRole *MapperRoleSession) AddMapper(account common.Address) (*types.Transaction, error) { 897 return _MapperRole.Contract.AddMapper(&_MapperRole.TransactOpts, account) 898 } 899 900 // AddMapper is a paid mutator transaction binding the contract method 0x80e3e81d. 901 // 902 // Solidity: function addMapper(address account) returns() 903 func (_MapperRole *MapperRoleTransactorSession) AddMapper(account common.Address) (*types.Transaction, error) { 904 return _MapperRole.Contract.AddMapper(&_MapperRole.TransactOpts, account) 905 } 906 907 // RenounceMapper is a paid mutator transaction binding the contract method 0x3565fb0d. 908 // 909 // Solidity: function renounceMapper() returns() 910 func (_MapperRole *MapperRoleTransactor) RenounceMapper(opts *bind.TransactOpts) (*types.Transaction, error) { 911 return _MapperRole.contract.Transact(opts, "renounceMapper") 912 } 913 914 // RenounceMapper is a paid mutator transaction binding the contract method 0x3565fb0d. 915 // 916 // Solidity: function renounceMapper() returns() 917 func (_MapperRole *MapperRoleSession) RenounceMapper() (*types.Transaction, error) { 918 return _MapperRole.Contract.RenounceMapper(&_MapperRole.TransactOpts) 919 } 920 921 // RenounceMapper is a paid mutator transaction binding the contract method 0x3565fb0d. 922 // 923 // Solidity: function renounceMapper() returns() 924 func (_MapperRole *MapperRoleTransactorSession) RenounceMapper() (*types.Transaction, error) { 925 return _MapperRole.Contract.RenounceMapper(&_MapperRole.TransactOpts) 926 } 927 928 // MapperRoleMapperAddedIterator is returned from FilterMapperAdded and is used to iterate over the raw logs and unpacked data for MapperAdded events raised by the MapperRole contract. 929 type MapperRoleMapperAddedIterator struct { 930 Event *MapperRoleMapperAdded // Event containing the contract specifics and raw log 931 932 contract *bind.BoundContract // Generic contract to use for unpacking event data 933 event string // Event name to use for unpacking event data 934 935 logs chan types.Log // Log channel receiving the found contract events 936 sub ethereum.Subscription // Subscription for errors, completion and termination 937 done bool // Whether the subscription completed delivering logs 938 fail error // Occurred error to stop iteration 939 } 940 941 // Next advances the iterator to the subsequent event, returning whether there 942 // are any more events found. In case of a retrieval or parsing error, false is 943 // returned and Error() can be queried for the exact failure. 944 func (it *MapperRoleMapperAddedIterator) Next() bool { 945 // If the iterator failed, stop iterating 946 if it.fail != nil { 947 return false 948 } 949 // If the iterator completed, deliver directly whatever's available 950 if it.done { 951 select { 952 case log := <-it.logs: 953 it.Event = new(MapperRoleMapperAdded) 954 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 955 it.fail = err 956 return false 957 } 958 it.Event.Raw = log 959 return true 960 961 default: 962 return false 963 } 964 } 965 // Iterator still in progress, wait for either a data or an error event 966 select { 967 case log := <-it.logs: 968 it.Event = new(MapperRoleMapperAdded) 969 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 970 it.fail = err 971 return false 972 } 973 it.Event.Raw = log 974 return true 975 976 case err := <-it.sub.Err(): 977 it.done = true 978 it.fail = err 979 return it.Next() 980 } 981 } 982 983 // Error returns any retrieval or parsing error occurred during filtering. 984 func (it *MapperRoleMapperAddedIterator) Error() error { 985 return it.fail 986 } 987 988 // Close terminates the iteration process, releasing any pending underlying 989 // resources. 990 func (it *MapperRoleMapperAddedIterator) Close() error { 991 it.sub.Unsubscribe() 992 return nil 993 } 994 995 // MapperRoleMapperAdded represents a MapperAdded event raised by the MapperRole contract. 996 type MapperRoleMapperAdded struct { 997 Account common.Address 998 Raw types.Log // Blockchain specific contextual infos 999 } 1000 1001 // FilterMapperAdded is a free log retrieval operation binding the contract event 0xa199526a01dbcba68aa3ab9d7d06c6692c83fb1a8bcf2184e6d94ad34f5aaf95. 1002 // 1003 // Solidity: event MapperAdded(address indexed account) 1004 func (_MapperRole *MapperRoleFilterer) FilterMapperAdded(opts *bind.FilterOpts, account []common.Address) (*MapperRoleMapperAddedIterator, error) { 1005 1006 var accountRule []interface{} 1007 for _, accountItem := range account { 1008 accountRule = append(accountRule, accountItem) 1009 } 1010 1011 logs, sub, err := _MapperRole.contract.FilterLogs(opts, "MapperAdded", accountRule) 1012 if err != nil { 1013 return nil, err 1014 } 1015 return &MapperRoleMapperAddedIterator{contract: _MapperRole.contract, event: "MapperAdded", logs: logs, sub: sub}, nil 1016 } 1017 1018 // WatchMapperAdded is a free log subscription operation binding the contract event 0xa199526a01dbcba68aa3ab9d7d06c6692c83fb1a8bcf2184e6d94ad34f5aaf95. 1019 // 1020 // Solidity: event MapperAdded(address indexed account) 1021 func (_MapperRole *MapperRoleFilterer) WatchMapperAdded(opts *bind.WatchOpts, sink chan<- *MapperRoleMapperAdded, account []common.Address) (event.Subscription, error) { 1022 1023 var accountRule []interface{} 1024 for _, accountItem := range account { 1025 accountRule = append(accountRule, accountItem) 1026 } 1027 1028 logs, sub, err := _MapperRole.contract.WatchLogs(opts, "MapperAdded", accountRule) 1029 if err != nil { 1030 return nil, err 1031 } 1032 return event.NewSubscription(func(quit <-chan struct{}) error { 1033 defer sub.Unsubscribe() 1034 for { 1035 select { 1036 case log := <-logs: 1037 // New log arrived, parse the event and forward to the user 1038 event := new(MapperRoleMapperAdded) 1039 if err := _MapperRole.contract.UnpackLog(event, "MapperAdded", log); err != nil { 1040 return err 1041 } 1042 event.Raw = log 1043 1044 select { 1045 case sink <- event: 1046 case err := <-sub.Err(): 1047 return err 1048 case <-quit: 1049 return nil 1050 } 1051 case err := <-sub.Err(): 1052 return err 1053 case <-quit: 1054 return nil 1055 } 1056 } 1057 }), nil 1058 } 1059 1060 // ParseMapperAdded is a log parse operation binding the contract event 0xa199526a01dbcba68aa3ab9d7d06c6692c83fb1a8bcf2184e6d94ad34f5aaf95. 1061 // 1062 // Solidity: event MapperAdded(address indexed account) 1063 func (_MapperRole *MapperRoleFilterer) ParseMapperAdded(log types.Log) (*MapperRoleMapperAdded, error) { 1064 event := new(MapperRoleMapperAdded) 1065 if err := _MapperRole.contract.UnpackLog(event, "MapperAdded", log); err != nil { 1066 return nil, err 1067 } 1068 return event, nil 1069 } 1070 1071 // MapperRoleMapperRemovedIterator is returned from FilterMapperRemoved and is used to iterate over the raw logs and unpacked data for MapperRemoved events raised by the MapperRole contract. 1072 type MapperRoleMapperRemovedIterator struct { 1073 Event *MapperRoleMapperRemoved // Event containing the contract specifics and raw log 1074 1075 contract *bind.BoundContract // Generic contract to use for unpacking event data 1076 event string // Event name to use for unpacking event data 1077 1078 logs chan types.Log // Log channel receiving the found contract events 1079 sub ethereum.Subscription // Subscription for errors, completion and termination 1080 done bool // Whether the subscription completed delivering logs 1081 fail error // Occurred error to stop iteration 1082 } 1083 1084 // Next advances the iterator to the subsequent event, returning whether there 1085 // are any more events found. In case of a retrieval or parsing error, false is 1086 // returned and Error() can be queried for the exact failure. 1087 func (it *MapperRoleMapperRemovedIterator) Next() bool { 1088 // If the iterator failed, stop iterating 1089 if it.fail != nil { 1090 return false 1091 } 1092 // If the iterator completed, deliver directly whatever's available 1093 if it.done { 1094 select { 1095 case log := <-it.logs: 1096 it.Event = new(MapperRoleMapperRemoved) 1097 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1098 it.fail = err 1099 return false 1100 } 1101 it.Event.Raw = log 1102 return true 1103 1104 default: 1105 return false 1106 } 1107 } 1108 // Iterator still in progress, wait for either a data or an error event 1109 select { 1110 case log := <-it.logs: 1111 it.Event = new(MapperRoleMapperRemoved) 1112 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1113 it.fail = err 1114 return false 1115 } 1116 it.Event.Raw = log 1117 return true 1118 1119 case err := <-it.sub.Err(): 1120 it.done = true 1121 it.fail = err 1122 return it.Next() 1123 } 1124 } 1125 1126 // Error returns any retrieval or parsing error occurred during filtering. 1127 func (it *MapperRoleMapperRemovedIterator) Error() error { 1128 return it.fail 1129 } 1130 1131 // Close terminates the iteration process, releasing any pending underlying 1132 // resources. 1133 func (it *MapperRoleMapperRemovedIterator) Close() error { 1134 it.sub.Unsubscribe() 1135 return nil 1136 } 1137 1138 // MapperRoleMapperRemoved represents a MapperRemoved event raised by the MapperRole contract. 1139 type MapperRoleMapperRemoved struct { 1140 Account common.Address 1141 Raw types.Log // Blockchain specific contextual infos 1142 } 1143 1144 // FilterMapperRemoved is a free log retrieval operation binding the contract event 0xf012269e1b6bb33c7800e7e54167ddd74f0ae7244108030b6876821d3779822f. 1145 // 1146 // Solidity: event MapperRemoved(address indexed account) 1147 func (_MapperRole *MapperRoleFilterer) FilterMapperRemoved(opts *bind.FilterOpts, account []common.Address) (*MapperRoleMapperRemovedIterator, error) { 1148 1149 var accountRule []interface{} 1150 for _, accountItem := range account { 1151 accountRule = append(accountRule, accountItem) 1152 } 1153 1154 logs, sub, err := _MapperRole.contract.FilterLogs(opts, "MapperRemoved", accountRule) 1155 if err != nil { 1156 return nil, err 1157 } 1158 return &MapperRoleMapperRemovedIterator{contract: _MapperRole.contract, event: "MapperRemoved", logs: logs, sub: sub}, nil 1159 } 1160 1161 // WatchMapperRemoved is a free log subscription operation binding the contract event 0xf012269e1b6bb33c7800e7e54167ddd74f0ae7244108030b6876821d3779822f. 1162 // 1163 // Solidity: event MapperRemoved(address indexed account) 1164 func (_MapperRole *MapperRoleFilterer) WatchMapperRemoved(opts *bind.WatchOpts, sink chan<- *MapperRoleMapperRemoved, account []common.Address) (event.Subscription, error) { 1165 1166 var accountRule []interface{} 1167 for _, accountItem := range account { 1168 accountRule = append(accountRule, accountItem) 1169 } 1170 1171 logs, sub, err := _MapperRole.contract.WatchLogs(opts, "MapperRemoved", accountRule) 1172 if err != nil { 1173 return nil, err 1174 } 1175 return event.NewSubscription(func(quit <-chan struct{}) error { 1176 defer sub.Unsubscribe() 1177 for { 1178 select { 1179 case log := <-logs: 1180 // New log arrived, parse the event and forward to the user 1181 event := new(MapperRoleMapperRemoved) 1182 if err := _MapperRole.contract.UnpackLog(event, "MapperRemoved", log); err != nil { 1183 return err 1184 } 1185 event.Raw = log 1186 1187 select { 1188 case sink <- event: 1189 case err := <-sub.Err(): 1190 return err 1191 case <-quit: 1192 return nil 1193 } 1194 case err := <-sub.Err(): 1195 return err 1196 case <-quit: 1197 return nil 1198 } 1199 } 1200 }), nil 1201 } 1202 1203 // ParseMapperRemoved is a log parse operation binding the contract event 0xf012269e1b6bb33c7800e7e54167ddd74f0ae7244108030b6876821d3779822f. 1204 // 1205 // Solidity: event MapperRemoved(address indexed account) 1206 func (_MapperRole *MapperRoleFilterer) ParseMapperRemoved(log types.Log) (*MapperRoleMapperRemoved, error) { 1207 event := new(MapperRoleMapperRemoved) 1208 if err := _MapperRole.contract.UnpackLog(event, "MapperRemoved", log); err != nil { 1209 return nil, err 1210 } 1211 return event, nil 1212 } 1213 1214 // MathABI is the input ABI used to generate the binding from. 1215 const MathABI = "[]" 1216 1217 // MathBin is the compiled bytecode used for deploying new contracts. 1218 var MathBin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582059f5b6656555777713940676f444002442a3eab637cd25b4c9bb08f94083d96b64736f6c634300050c0032" 1219 1220 // DeployMath deploys a new Ethereum contract, binding an instance of Math to it. 1221 func DeployMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Math, error) { 1222 parsed, err := abi.JSON(strings.NewReader(MathABI)) 1223 if err != nil { 1224 return common.Address{}, nil, nil, err 1225 } 1226 1227 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(MathBin), backend) 1228 if err != nil { 1229 return common.Address{}, nil, nil, err 1230 } 1231 return address, tx, &Math{MathCaller: MathCaller{contract: contract}, MathTransactor: MathTransactor{contract: contract}, MathFilterer: MathFilterer{contract: contract}}, nil 1232 } 1233 1234 // Math is an auto generated Go binding around an Ethereum contract. 1235 type Math struct { 1236 MathCaller // Read-only binding to the contract 1237 MathTransactor // Write-only binding to the contract 1238 MathFilterer // Log filterer for contract events 1239 } 1240 1241 // MathCaller is an auto generated read-only Go binding around an Ethereum contract. 1242 type MathCaller struct { 1243 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1244 } 1245 1246 // MathTransactor is an auto generated write-only Go binding around an Ethereum contract. 1247 type MathTransactor struct { 1248 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1249 } 1250 1251 // MathFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 1252 type MathFilterer struct { 1253 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1254 } 1255 1256 // MathSession is an auto generated Go binding around an Ethereum contract, 1257 // with pre-set call and transact options. 1258 type MathSession struct { 1259 Contract *Math // Generic contract binding to set the session for 1260 CallOpts bind.CallOpts // Call options to use throughout this session 1261 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1262 } 1263 1264 // MathCallerSession is an auto generated read-only Go binding around an Ethereum contract, 1265 // with pre-set call options. 1266 type MathCallerSession struct { 1267 Contract *MathCaller // Generic contract caller binding to set the session for 1268 CallOpts bind.CallOpts // Call options to use throughout this session 1269 } 1270 1271 // MathTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1272 // with pre-set transact options. 1273 type MathTransactorSession struct { 1274 Contract *MathTransactor // Generic contract transactor binding to set the session for 1275 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1276 } 1277 1278 // MathRaw is an auto generated low-level Go binding around an Ethereum contract. 1279 type MathRaw struct { 1280 Contract *Math // Generic contract binding to access the raw methods on 1281 } 1282 1283 // MathCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1284 type MathCallerRaw struct { 1285 Contract *MathCaller // Generic read-only contract binding to access the raw methods on 1286 } 1287 1288 // MathTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1289 type MathTransactorRaw struct { 1290 Contract *MathTransactor // Generic write-only contract binding to access the raw methods on 1291 } 1292 1293 // NewMath creates a new instance of Math, bound to a specific deployed contract. 1294 func NewMath(address common.Address, backend bind.ContractBackend) (*Math, error) { 1295 contract, err := bindMath(address, backend, backend, backend) 1296 if err != nil { 1297 return nil, err 1298 } 1299 return &Math{MathCaller: MathCaller{contract: contract}, MathTransactor: MathTransactor{contract: contract}, MathFilterer: MathFilterer{contract: contract}}, nil 1300 } 1301 1302 // NewMathCaller creates a new read-only instance of Math, bound to a specific deployed contract. 1303 func NewMathCaller(address common.Address, caller bind.ContractCaller) (*MathCaller, error) { 1304 contract, err := bindMath(address, caller, nil, nil) 1305 if err != nil { 1306 return nil, err 1307 } 1308 return &MathCaller{contract: contract}, nil 1309 } 1310 1311 // NewMathTransactor creates a new write-only instance of Math, bound to a specific deployed contract. 1312 func NewMathTransactor(address common.Address, transactor bind.ContractTransactor) (*MathTransactor, error) { 1313 contract, err := bindMath(address, nil, transactor, nil) 1314 if err != nil { 1315 return nil, err 1316 } 1317 return &MathTransactor{contract: contract}, nil 1318 } 1319 1320 // NewMathFilterer creates a new log filterer instance of Math, bound to a specific deployed contract. 1321 func NewMathFilterer(address common.Address, filterer bind.ContractFilterer) (*MathFilterer, error) { 1322 contract, err := bindMath(address, nil, nil, filterer) 1323 if err != nil { 1324 return nil, err 1325 } 1326 return &MathFilterer{contract: contract}, nil 1327 } 1328 1329 // bindMath binds a generic wrapper to an already deployed contract. 1330 func bindMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1331 parsed, err := abi.JSON(strings.NewReader(MathABI)) 1332 if err != nil { 1333 return nil, err 1334 } 1335 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1336 } 1337 1338 // Call invokes the (constant) contract method with params as input values and 1339 // sets the output to result. The result type might be a single field for simple 1340 // returns, a slice of interfaces for anonymous returns and a struct for named 1341 // returns. 1342 func (_Math *MathRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1343 return _Math.Contract.MathCaller.contract.Call(opts, result, method, params...) 1344 } 1345 1346 // Transfer initiates a plain transaction to move funds to the contract, calling 1347 // its default method if one is available. 1348 func (_Math *MathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1349 return _Math.Contract.MathTransactor.contract.Transfer(opts) 1350 } 1351 1352 // Transact invokes the (paid) contract method with params as input values. 1353 func (_Math *MathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1354 return _Math.Contract.MathTransactor.contract.Transact(opts, method, params...) 1355 } 1356 1357 // Call invokes the (constant) contract method with params as input values and 1358 // sets the output to result. The result type might be a single field for simple 1359 // returns, a slice of interfaces for anonymous returns and a struct for named 1360 // returns. 1361 func (_Math *MathCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1362 return _Math.Contract.contract.Call(opts, result, method, params...) 1363 } 1364 1365 // Transfer initiates a plain transaction to move funds to the contract, calling 1366 // its default method if one is available. 1367 func (_Math *MathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1368 return _Math.Contract.contract.Transfer(opts) 1369 } 1370 1371 // Transact invokes the (paid) contract method with params as input values. 1372 func (_Math *MathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1373 return _Math.Contract.contract.Transact(opts, method, params...) 1374 } 1375 1376 // RLPABI is the input ABI used to generate the binding from. 1377 const RLPABI = "[]" 1378 1379 // RLPBin is the compiled bytecode used for deploying new contracts. 1380 var RLPBin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158200e62f7dc00fc4c8eac04f8d672dc03a017efe72ff7483585fb6978cb1b070d1264736f6c634300050c0032" 1381 1382 // DeployRLP deploys a new Ethereum contract, binding an instance of RLP to it. 1383 func DeployRLP(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *RLP, error) { 1384 parsed, err := abi.JSON(strings.NewReader(RLPABI)) 1385 if err != nil { 1386 return common.Address{}, nil, nil, err 1387 } 1388 1389 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RLPBin), backend) 1390 if err != nil { 1391 return common.Address{}, nil, nil, err 1392 } 1393 return address, tx, &RLP{RLPCaller: RLPCaller{contract: contract}, RLPTransactor: RLPTransactor{contract: contract}, RLPFilterer: RLPFilterer{contract: contract}}, nil 1394 } 1395 1396 // RLP is an auto generated Go binding around an Ethereum contract. 1397 type RLP struct { 1398 RLPCaller // Read-only binding to the contract 1399 RLPTransactor // Write-only binding to the contract 1400 RLPFilterer // Log filterer for contract events 1401 } 1402 1403 // RLPCaller is an auto generated read-only Go binding around an Ethereum contract. 1404 type RLPCaller struct { 1405 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1406 } 1407 1408 // RLPTransactor is an auto generated write-only Go binding around an Ethereum contract. 1409 type RLPTransactor struct { 1410 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1411 } 1412 1413 // RLPFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 1414 type RLPFilterer struct { 1415 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1416 } 1417 1418 // RLPSession is an auto generated Go binding around an Ethereum contract, 1419 // with pre-set call and transact options. 1420 type RLPSession struct { 1421 Contract *RLP // Generic contract binding to set the session for 1422 CallOpts bind.CallOpts // Call options to use throughout this session 1423 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1424 } 1425 1426 // RLPCallerSession is an auto generated read-only Go binding around an Ethereum contract, 1427 // with pre-set call options. 1428 type RLPCallerSession struct { 1429 Contract *RLPCaller // Generic contract caller binding to set the session for 1430 CallOpts bind.CallOpts // Call options to use throughout this session 1431 } 1432 1433 // RLPTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1434 // with pre-set transact options. 1435 type RLPTransactorSession struct { 1436 Contract *RLPTransactor // Generic contract transactor binding to set the session for 1437 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1438 } 1439 1440 // RLPRaw is an auto generated low-level Go binding around an Ethereum contract. 1441 type RLPRaw struct { 1442 Contract *RLP // Generic contract binding to access the raw methods on 1443 } 1444 1445 // RLPCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1446 type RLPCallerRaw struct { 1447 Contract *RLPCaller // Generic read-only contract binding to access the raw methods on 1448 } 1449 1450 // RLPTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1451 type RLPTransactorRaw struct { 1452 Contract *RLPTransactor // Generic write-only contract binding to access the raw methods on 1453 } 1454 1455 // NewRLP creates a new instance of RLP, bound to a specific deployed contract. 1456 func NewRLP(address common.Address, backend bind.ContractBackend) (*RLP, error) { 1457 contract, err := bindRLP(address, backend, backend, backend) 1458 if err != nil { 1459 return nil, err 1460 } 1461 return &RLP{RLPCaller: RLPCaller{contract: contract}, RLPTransactor: RLPTransactor{contract: contract}, RLPFilterer: RLPFilterer{contract: contract}}, nil 1462 } 1463 1464 // NewRLPCaller creates a new read-only instance of RLP, bound to a specific deployed contract. 1465 func NewRLPCaller(address common.Address, caller bind.ContractCaller) (*RLPCaller, error) { 1466 contract, err := bindRLP(address, caller, nil, nil) 1467 if err != nil { 1468 return nil, err 1469 } 1470 return &RLPCaller{contract: contract}, nil 1471 } 1472 1473 // NewRLPTransactor creates a new write-only instance of RLP, bound to a specific deployed contract. 1474 func NewRLPTransactor(address common.Address, transactor bind.ContractTransactor) (*RLPTransactor, error) { 1475 contract, err := bindRLP(address, nil, transactor, nil) 1476 if err != nil { 1477 return nil, err 1478 } 1479 return &RLPTransactor{contract: contract}, nil 1480 } 1481 1482 // NewRLPFilterer creates a new log filterer instance of RLP, bound to a specific deployed contract. 1483 func NewRLPFilterer(address common.Address, filterer bind.ContractFilterer) (*RLPFilterer, error) { 1484 contract, err := bindRLP(address, nil, nil, filterer) 1485 if err != nil { 1486 return nil, err 1487 } 1488 return &RLPFilterer{contract: contract}, nil 1489 } 1490 1491 // bindRLP binds a generic wrapper to an already deployed contract. 1492 func bindRLP(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1493 parsed, err := abi.JSON(strings.NewReader(RLPABI)) 1494 if err != nil { 1495 return nil, err 1496 } 1497 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1498 } 1499 1500 // Call invokes the (constant) contract method with params as input values and 1501 // sets the output to result. The result type might be a single field for simple 1502 // returns, a slice of interfaces for anonymous returns and a struct for named 1503 // returns. 1504 func (_RLP *RLPRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1505 return _RLP.Contract.RLPCaller.contract.Call(opts, result, method, params...) 1506 } 1507 1508 // Transfer initiates a plain transaction to move funds to the contract, calling 1509 // its default method if one is available. 1510 func (_RLP *RLPRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1511 return _RLP.Contract.RLPTransactor.contract.Transfer(opts) 1512 } 1513 1514 // Transact invokes the (paid) contract method with params as input values. 1515 func (_RLP *RLPRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1516 return _RLP.Contract.RLPTransactor.contract.Transact(opts, method, params...) 1517 } 1518 1519 // Call invokes the (constant) contract method with params as input values and 1520 // sets the output to result. The result type might be a single field for simple 1521 // returns, a slice of interfaces for anonymous returns and a struct for named 1522 // returns. 1523 func (_RLP *RLPCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1524 return _RLP.Contract.contract.Call(opts, result, method, params...) 1525 } 1526 1527 // Transfer initiates a plain transaction to move funds to the contract, calling 1528 // its default method if one is available. 1529 func (_RLP *RLPTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1530 return _RLP.Contract.contract.Transfer(opts) 1531 } 1532 1533 // Transact invokes the (paid) contract method with params as input values. 1534 func (_RLP *RLPTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1535 return _RLP.Contract.contract.Transact(opts, method, params...) 1536 } 1537 1538 // RLPEncodeABI is the input ABI used to generate the binding from. 1539 const RLPEncodeABI = "[]" 1540 1541 // RLPEncodeBin is the compiled bytecode used for deploying new contracts. 1542 var RLPEncodeBin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158205da3446f8619339802867bf627e0a042d4f4176598fe1e096c50366e6bfe24a164736f6c634300050c0032" 1543 1544 // DeployRLPEncode deploys a new Ethereum contract, binding an instance of RLPEncode to it. 1545 func DeployRLPEncode(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *RLPEncode, error) { 1546 parsed, err := abi.JSON(strings.NewReader(RLPEncodeABI)) 1547 if err != nil { 1548 return common.Address{}, nil, nil, err 1549 } 1550 1551 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RLPEncodeBin), backend) 1552 if err != nil { 1553 return common.Address{}, nil, nil, err 1554 } 1555 return address, tx, &RLPEncode{RLPEncodeCaller: RLPEncodeCaller{contract: contract}, RLPEncodeTransactor: RLPEncodeTransactor{contract: contract}, RLPEncodeFilterer: RLPEncodeFilterer{contract: contract}}, nil 1556 } 1557 1558 // RLPEncode is an auto generated Go binding around an Ethereum contract. 1559 type RLPEncode struct { 1560 RLPEncodeCaller // Read-only binding to the contract 1561 RLPEncodeTransactor // Write-only binding to the contract 1562 RLPEncodeFilterer // Log filterer for contract events 1563 } 1564 1565 // RLPEncodeCaller is an auto generated read-only Go binding around an Ethereum contract. 1566 type RLPEncodeCaller struct { 1567 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1568 } 1569 1570 // RLPEncodeTransactor is an auto generated write-only Go binding around an Ethereum contract. 1571 type RLPEncodeTransactor struct { 1572 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1573 } 1574 1575 // RLPEncodeFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 1576 type RLPEncodeFilterer struct { 1577 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1578 } 1579 1580 // RLPEncodeSession is an auto generated Go binding around an Ethereum contract, 1581 // with pre-set call and transact options. 1582 type RLPEncodeSession struct { 1583 Contract *RLPEncode // Generic contract binding to set the session for 1584 CallOpts bind.CallOpts // Call options to use throughout this session 1585 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1586 } 1587 1588 // RLPEncodeCallerSession is an auto generated read-only Go binding around an Ethereum contract, 1589 // with pre-set call options. 1590 type RLPEncodeCallerSession struct { 1591 Contract *RLPEncodeCaller // Generic contract caller binding to set the session for 1592 CallOpts bind.CallOpts // Call options to use throughout this session 1593 } 1594 1595 // RLPEncodeTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1596 // with pre-set transact options. 1597 type RLPEncodeTransactorSession struct { 1598 Contract *RLPEncodeTransactor // Generic contract transactor binding to set the session for 1599 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1600 } 1601 1602 // RLPEncodeRaw is an auto generated low-level Go binding around an Ethereum contract. 1603 type RLPEncodeRaw struct { 1604 Contract *RLPEncode // Generic contract binding to access the raw methods on 1605 } 1606 1607 // RLPEncodeCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1608 type RLPEncodeCallerRaw struct { 1609 Contract *RLPEncodeCaller // Generic read-only contract binding to access the raw methods on 1610 } 1611 1612 // RLPEncodeTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1613 type RLPEncodeTransactorRaw struct { 1614 Contract *RLPEncodeTransactor // Generic write-only contract binding to access the raw methods on 1615 } 1616 1617 // NewRLPEncode creates a new instance of RLPEncode, bound to a specific deployed contract. 1618 func NewRLPEncode(address common.Address, backend bind.ContractBackend) (*RLPEncode, error) { 1619 contract, err := bindRLPEncode(address, backend, backend, backend) 1620 if err != nil { 1621 return nil, err 1622 } 1623 return &RLPEncode{RLPEncodeCaller: RLPEncodeCaller{contract: contract}, RLPEncodeTransactor: RLPEncodeTransactor{contract: contract}, RLPEncodeFilterer: RLPEncodeFilterer{contract: contract}}, nil 1624 } 1625 1626 // NewRLPEncodeCaller creates a new read-only instance of RLPEncode, bound to a specific deployed contract. 1627 func NewRLPEncodeCaller(address common.Address, caller bind.ContractCaller) (*RLPEncodeCaller, error) { 1628 contract, err := bindRLPEncode(address, caller, nil, nil) 1629 if err != nil { 1630 return nil, err 1631 } 1632 return &RLPEncodeCaller{contract: contract}, nil 1633 } 1634 1635 // NewRLPEncodeTransactor creates a new write-only instance of RLPEncode, bound to a specific deployed contract. 1636 func NewRLPEncodeTransactor(address common.Address, transactor bind.ContractTransactor) (*RLPEncodeTransactor, error) { 1637 contract, err := bindRLPEncode(address, nil, transactor, nil) 1638 if err != nil { 1639 return nil, err 1640 } 1641 return &RLPEncodeTransactor{contract: contract}, nil 1642 } 1643 1644 // NewRLPEncodeFilterer creates a new log filterer instance of RLPEncode, bound to a specific deployed contract. 1645 func NewRLPEncodeFilterer(address common.Address, filterer bind.ContractFilterer) (*RLPEncodeFilterer, error) { 1646 contract, err := bindRLPEncode(address, nil, nil, filterer) 1647 if err != nil { 1648 return nil, err 1649 } 1650 return &RLPEncodeFilterer{contract: contract}, nil 1651 } 1652 1653 // bindRLPEncode binds a generic wrapper to an already deployed contract. 1654 func bindRLPEncode(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1655 parsed, err := abi.JSON(strings.NewReader(RLPEncodeABI)) 1656 if err != nil { 1657 return nil, err 1658 } 1659 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1660 } 1661 1662 // Call invokes the (constant) contract method with params as input values and 1663 // sets the output to result. The result type might be a single field for simple 1664 // returns, a slice of interfaces for anonymous returns and a struct for named 1665 // returns. 1666 func (_RLPEncode *RLPEncodeRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1667 return _RLPEncode.Contract.RLPEncodeCaller.contract.Call(opts, result, method, params...) 1668 } 1669 1670 // Transfer initiates a plain transaction to move funds to the contract, calling 1671 // its default method if one is available. 1672 func (_RLPEncode *RLPEncodeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1673 return _RLPEncode.Contract.RLPEncodeTransactor.contract.Transfer(opts) 1674 } 1675 1676 // Transact invokes the (paid) contract method with params as input values. 1677 func (_RLPEncode *RLPEncodeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1678 return _RLPEncode.Contract.RLPEncodeTransactor.contract.Transact(opts, method, params...) 1679 } 1680 1681 // Call invokes the (constant) contract method with params as input values and 1682 // sets the output to result. The result type might be a single field for simple 1683 // returns, a slice of interfaces for anonymous returns and a struct for named 1684 // returns. 1685 func (_RLPEncode *RLPEncodeCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1686 return _RLPEncode.Contract.contract.Call(opts, result, method, params...) 1687 } 1688 1689 // Transfer initiates a plain transaction to move funds to the contract, calling 1690 // its default method if one is available. 1691 func (_RLPEncode *RLPEncodeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1692 return _RLPEncode.Contract.contract.Transfer(opts) 1693 } 1694 1695 // Transact invokes the (paid) contract method with params as input values. 1696 func (_RLPEncode *RLPEncodeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1697 return _RLPEncode.Contract.contract.Transact(opts, method, params...) 1698 } 1699 1700 // RequestableIABI is the input ABI used to generate the binding from. 1701 const RequestableIABI = "[{\"constant\":false,\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isExit\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"requestor\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"trieKey\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"trieValue\",\"type\":\"bytes\"}],\"name\":\"applyRequestInChildChain\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bool\",\"name\":\"isExit\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"requestor\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"trieKey\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"trieValue\",\"type\":\"bytes\"}],\"name\":\"applyRequestInRootChain\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 1702 1703 // RequestableIFuncSigs maps the 4-byte function signature to its string representation. 1704 var RequestableIFuncSigs = map[string]string{ 1705 "141ecf46": "applyRequestInChildChain(bool,uint256,address,bytes32,bytes)", 1706 "a9f79308": "applyRequestInRootChain(bool,uint256,address,bytes32,bytes)", 1707 } 1708 1709 // RequestableI is an auto generated Go binding around an Ethereum contract. 1710 type RequestableI struct { 1711 RequestableICaller // Read-only binding to the contract 1712 RequestableITransactor // Write-only binding to the contract 1713 RequestableIFilterer // Log filterer for contract events 1714 } 1715 1716 // RequestableICaller is an auto generated read-only Go binding around an Ethereum contract. 1717 type RequestableICaller struct { 1718 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1719 } 1720 1721 // RequestableITransactor is an auto generated write-only Go binding around an Ethereum contract. 1722 type RequestableITransactor struct { 1723 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1724 } 1725 1726 // RequestableIFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 1727 type RequestableIFilterer struct { 1728 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1729 } 1730 1731 // RequestableISession is an auto generated Go binding around an Ethereum contract, 1732 // with pre-set call and transact options. 1733 type RequestableISession struct { 1734 Contract *RequestableI // Generic contract binding to set the session for 1735 CallOpts bind.CallOpts // Call options to use throughout this session 1736 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1737 } 1738 1739 // RequestableICallerSession is an auto generated read-only Go binding around an Ethereum contract, 1740 // with pre-set call options. 1741 type RequestableICallerSession struct { 1742 Contract *RequestableICaller // Generic contract caller binding to set the session for 1743 CallOpts bind.CallOpts // Call options to use throughout this session 1744 } 1745 1746 // RequestableITransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1747 // with pre-set transact options. 1748 type RequestableITransactorSession struct { 1749 Contract *RequestableITransactor // Generic contract transactor binding to set the session for 1750 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1751 } 1752 1753 // RequestableIRaw is an auto generated low-level Go binding around an Ethereum contract. 1754 type RequestableIRaw struct { 1755 Contract *RequestableI // Generic contract binding to access the raw methods on 1756 } 1757 1758 // RequestableICallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1759 type RequestableICallerRaw struct { 1760 Contract *RequestableICaller // Generic read-only contract binding to access the raw methods on 1761 } 1762 1763 // RequestableITransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1764 type RequestableITransactorRaw struct { 1765 Contract *RequestableITransactor // Generic write-only contract binding to access the raw methods on 1766 } 1767 1768 // NewRequestableI creates a new instance of RequestableI, bound to a specific deployed contract. 1769 func NewRequestableI(address common.Address, backend bind.ContractBackend) (*RequestableI, error) { 1770 contract, err := bindRequestableI(address, backend, backend, backend) 1771 if err != nil { 1772 return nil, err 1773 } 1774 return &RequestableI{RequestableICaller: RequestableICaller{contract: contract}, RequestableITransactor: RequestableITransactor{contract: contract}, RequestableIFilterer: RequestableIFilterer{contract: contract}}, nil 1775 } 1776 1777 // NewRequestableICaller creates a new read-only instance of RequestableI, bound to a specific deployed contract. 1778 func NewRequestableICaller(address common.Address, caller bind.ContractCaller) (*RequestableICaller, error) { 1779 contract, err := bindRequestableI(address, caller, nil, nil) 1780 if err != nil { 1781 return nil, err 1782 } 1783 return &RequestableICaller{contract: contract}, nil 1784 } 1785 1786 // NewRequestableITransactor creates a new write-only instance of RequestableI, bound to a specific deployed contract. 1787 func NewRequestableITransactor(address common.Address, transactor bind.ContractTransactor) (*RequestableITransactor, error) { 1788 contract, err := bindRequestableI(address, nil, transactor, nil) 1789 if err != nil { 1790 return nil, err 1791 } 1792 return &RequestableITransactor{contract: contract}, nil 1793 } 1794 1795 // NewRequestableIFilterer creates a new log filterer instance of RequestableI, bound to a specific deployed contract. 1796 func NewRequestableIFilterer(address common.Address, filterer bind.ContractFilterer) (*RequestableIFilterer, error) { 1797 contract, err := bindRequestableI(address, nil, nil, filterer) 1798 if err != nil { 1799 return nil, err 1800 } 1801 return &RequestableIFilterer{contract: contract}, nil 1802 } 1803 1804 // bindRequestableI binds a generic wrapper to an already deployed contract. 1805 func bindRequestableI(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 1806 parsed, err := abi.JSON(strings.NewReader(RequestableIABI)) 1807 if err != nil { 1808 return nil, err 1809 } 1810 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 1811 } 1812 1813 // Call invokes the (constant) contract method with params as input values and 1814 // sets the output to result. The result type might be a single field for simple 1815 // returns, a slice of interfaces for anonymous returns and a struct for named 1816 // returns. 1817 func (_RequestableI *RequestableIRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1818 return _RequestableI.Contract.RequestableICaller.contract.Call(opts, result, method, params...) 1819 } 1820 1821 // Transfer initiates a plain transaction to move funds to the contract, calling 1822 // its default method if one is available. 1823 func (_RequestableI *RequestableIRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1824 return _RequestableI.Contract.RequestableITransactor.contract.Transfer(opts) 1825 } 1826 1827 // Transact invokes the (paid) contract method with params as input values. 1828 func (_RequestableI *RequestableIRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1829 return _RequestableI.Contract.RequestableITransactor.contract.Transact(opts, method, params...) 1830 } 1831 1832 // Call invokes the (constant) contract method with params as input values and 1833 // sets the output to result. The result type might be a single field for simple 1834 // returns, a slice of interfaces for anonymous returns and a struct for named 1835 // returns. 1836 func (_RequestableI *RequestableICallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 1837 return _RequestableI.Contract.contract.Call(opts, result, method, params...) 1838 } 1839 1840 // Transfer initiates a plain transaction to move funds to the contract, calling 1841 // its default method if one is available. 1842 func (_RequestableI *RequestableITransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 1843 return _RequestableI.Contract.contract.Transfer(opts) 1844 } 1845 1846 // Transact invokes the (paid) contract method with params as input values. 1847 func (_RequestableI *RequestableITransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 1848 return _RequestableI.Contract.contract.Transact(opts, method, params...) 1849 } 1850 1851 // ApplyRequestInChildChain is a paid mutator transaction binding the contract method 0x141ecf46. 1852 // 1853 // Solidity: function applyRequestInChildChain(bool isExit, uint256 requestId, address requestor, bytes32 trieKey, bytes trieValue) returns(bool success) 1854 func (_RequestableI *RequestableITransactor) ApplyRequestInChildChain(opts *bind.TransactOpts, isExit bool, requestId *big.Int, requestor common.Address, trieKey [32]byte, trieValue []byte) (*types.Transaction, error) { 1855 return _RequestableI.contract.Transact(opts, "applyRequestInChildChain", isExit, requestId, requestor, trieKey, trieValue) 1856 } 1857 1858 // ApplyRequestInChildChain is a paid mutator transaction binding the contract method 0x141ecf46. 1859 // 1860 // Solidity: function applyRequestInChildChain(bool isExit, uint256 requestId, address requestor, bytes32 trieKey, bytes trieValue) returns(bool success) 1861 func (_RequestableI *RequestableISession) ApplyRequestInChildChain(isExit bool, requestId *big.Int, requestor common.Address, trieKey [32]byte, trieValue []byte) (*types.Transaction, error) { 1862 return _RequestableI.Contract.ApplyRequestInChildChain(&_RequestableI.TransactOpts, isExit, requestId, requestor, trieKey, trieValue) 1863 } 1864 1865 // ApplyRequestInChildChain is a paid mutator transaction binding the contract method 0x141ecf46. 1866 // 1867 // Solidity: function applyRequestInChildChain(bool isExit, uint256 requestId, address requestor, bytes32 trieKey, bytes trieValue) returns(bool success) 1868 func (_RequestableI *RequestableITransactorSession) ApplyRequestInChildChain(isExit bool, requestId *big.Int, requestor common.Address, trieKey [32]byte, trieValue []byte) (*types.Transaction, error) { 1869 return _RequestableI.Contract.ApplyRequestInChildChain(&_RequestableI.TransactOpts, isExit, requestId, requestor, trieKey, trieValue) 1870 } 1871 1872 // ApplyRequestInRootChain is a paid mutator transaction binding the contract method 0xa9f79308. 1873 // 1874 // Solidity: function applyRequestInRootChain(bool isExit, uint256 requestId, address requestor, bytes32 trieKey, bytes trieValue) returns(bool success) 1875 func (_RequestableI *RequestableITransactor) ApplyRequestInRootChain(opts *bind.TransactOpts, isExit bool, requestId *big.Int, requestor common.Address, trieKey [32]byte, trieValue []byte) (*types.Transaction, error) { 1876 return _RequestableI.contract.Transact(opts, "applyRequestInRootChain", isExit, requestId, requestor, trieKey, trieValue) 1877 } 1878 1879 // ApplyRequestInRootChain is a paid mutator transaction binding the contract method 0xa9f79308. 1880 // 1881 // Solidity: function applyRequestInRootChain(bool isExit, uint256 requestId, address requestor, bytes32 trieKey, bytes trieValue) returns(bool success) 1882 func (_RequestableI *RequestableISession) ApplyRequestInRootChain(isExit bool, requestId *big.Int, requestor common.Address, trieKey [32]byte, trieValue []byte) (*types.Transaction, error) { 1883 return _RequestableI.Contract.ApplyRequestInRootChain(&_RequestableI.TransactOpts, isExit, requestId, requestor, trieKey, trieValue) 1884 } 1885 1886 // ApplyRequestInRootChain is a paid mutator transaction binding the contract method 0xa9f79308. 1887 // 1888 // Solidity: function applyRequestInRootChain(bool isExit, uint256 requestId, address requestor, bytes32 trieKey, bytes trieValue) returns(bool success) 1889 func (_RequestableI *RequestableITransactorSession) ApplyRequestInRootChain(isExit bool, requestId *big.Int, requestor common.Address, trieKey [32]byte, trieValue []byte) (*types.Transaction, error) { 1890 return _RequestableI.Contract.ApplyRequestInRootChain(&_RequestableI.TransactOpts, isExit, requestId, requestor, trieKey, trieValue) 1891 } 1892 1893 // RolesABI is the input ABI used to generate the binding from. 1894 const RolesABI = "[]" 1895 1896 // RolesBin is the compiled bytecode used for deploying new contracts. 1897 var RolesBin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158201aa75146c2e109912d51a929e368d1efc36fee31e25f784cae25ad0120ec320564736f6c634300050c0032" 1898 1899 // DeployRoles deploys a new Ethereum contract, binding an instance of Roles to it. 1900 func DeployRoles(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Roles, error) { 1901 parsed, err := abi.JSON(strings.NewReader(RolesABI)) 1902 if err != nil { 1903 return common.Address{}, nil, nil, err 1904 } 1905 1906 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RolesBin), backend) 1907 if err != nil { 1908 return common.Address{}, nil, nil, err 1909 } 1910 return address, tx, &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil 1911 } 1912 1913 // Roles is an auto generated Go binding around an Ethereum contract. 1914 type Roles struct { 1915 RolesCaller // Read-only binding to the contract 1916 RolesTransactor // Write-only binding to the contract 1917 RolesFilterer // Log filterer for contract events 1918 } 1919 1920 // RolesCaller is an auto generated read-only Go binding around an Ethereum contract. 1921 type RolesCaller struct { 1922 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1923 } 1924 1925 // RolesTransactor is an auto generated write-only Go binding around an Ethereum contract. 1926 type RolesTransactor struct { 1927 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1928 } 1929 1930 // RolesFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 1931 type RolesFilterer struct { 1932 contract *bind.BoundContract // Generic contract wrapper for the low level calls 1933 } 1934 1935 // RolesSession is an auto generated Go binding around an Ethereum contract, 1936 // with pre-set call and transact options. 1937 type RolesSession struct { 1938 Contract *Roles // Generic contract binding to set the session for 1939 CallOpts bind.CallOpts // Call options to use throughout this session 1940 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1941 } 1942 1943 // RolesCallerSession is an auto generated read-only Go binding around an Ethereum contract, 1944 // with pre-set call options. 1945 type RolesCallerSession struct { 1946 Contract *RolesCaller // Generic contract caller binding to set the session for 1947 CallOpts bind.CallOpts // Call options to use throughout this session 1948 } 1949 1950 // RolesTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 1951 // with pre-set transact options. 1952 type RolesTransactorSession struct { 1953 Contract *RolesTransactor // Generic contract transactor binding to set the session for 1954 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 1955 } 1956 1957 // RolesRaw is an auto generated low-level Go binding around an Ethereum contract. 1958 type RolesRaw struct { 1959 Contract *Roles // Generic contract binding to access the raw methods on 1960 } 1961 1962 // RolesCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 1963 type RolesCallerRaw struct { 1964 Contract *RolesCaller // Generic read-only contract binding to access the raw methods on 1965 } 1966 1967 // RolesTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 1968 type RolesTransactorRaw struct { 1969 Contract *RolesTransactor // Generic write-only contract binding to access the raw methods on 1970 } 1971 1972 // NewRoles creates a new instance of Roles, bound to a specific deployed contract. 1973 func NewRoles(address common.Address, backend bind.ContractBackend) (*Roles, error) { 1974 contract, err := bindRoles(address, backend, backend, backend) 1975 if err != nil { 1976 return nil, err 1977 } 1978 return &Roles{RolesCaller: RolesCaller{contract: contract}, RolesTransactor: RolesTransactor{contract: contract}, RolesFilterer: RolesFilterer{contract: contract}}, nil 1979 } 1980 1981 // NewRolesCaller creates a new read-only instance of Roles, bound to a specific deployed contract. 1982 func NewRolesCaller(address common.Address, caller bind.ContractCaller) (*RolesCaller, error) { 1983 contract, err := bindRoles(address, caller, nil, nil) 1984 if err != nil { 1985 return nil, err 1986 } 1987 return &RolesCaller{contract: contract}, nil 1988 } 1989 1990 // NewRolesTransactor creates a new write-only instance of Roles, bound to a specific deployed contract. 1991 func NewRolesTransactor(address common.Address, transactor bind.ContractTransactor) (*RolesTransactor, error) { 1992 contract, err := bindRoles(address, nil, transactor, nil) 1993 if err != nil { 1994 return nil, err 1995 } 1996 return &RolesTransactor{contract: contract}, nil 1997 } 1998 1999 // NewRolesFilterer creates a new log filterer instance of Roles, bound to a specific deployed contract. 2000 func NewRolesFilterer(address common.Address, filterer bind.ContractFilterer) (*RolesFilterer, error) { 2001 contract, err := bindRoles(address, nil, nil, filterer) 2002 if err != nil { 2003 return nil, err 2004 } 2005 return &RolesFilterer{contract: contract}, nil 2006 } 2007 2008 // bindRoles binds a generic wrapper to an already deployed contract. 2009 func bindRoles(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2010 parsed, err := abi.JSON(strings.NewReader(RolesABI)) 2011 if err != nil { 2012 return nil, err 2013 } 2014 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 2015 } 2016 2017 // Call invokes the (constant) contract method with params as input values and 2018 // sets the output to result. The result type might be a single field for simple 2019 // returns, a slice of interfaces for anonymous returns and a struct for named 2020 // returns. 2021 func (_Roles *RolesRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 2022 return _Roles.Contract.RolesCaller.contract.Call(opts, result, method, params...) 2023 } 2024 2025 // Transfer initiates a plain transaction to move funds to the contract, calling 2026 // its default method if one is available. 2027 func (_Roles *RolesRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2028 return _Roles.Contract.RolesTransactor.contract.Transfer(opts) 2029 } 2030 2031 // Transact invokes the (paid) contract method with params as input values. 2032 func (_Roles *RolesRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2033 return _Roles.Contract.RolesTransactor.contract.Transact(opts, method, params...) 2034 } 2035 2036 // Call invokes the (constant) contract method with params as input values and 2037 // sets the output to result. The result type might be a single field for simple 2038 // returns, a slice of interfaces for anonymous returns and a struct for named 2039 // returns. 2040 func (_Roles *RolesCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 2041 return _Roles.Contract.contract.Call(opts, result, method, params...) 2042 } 2043 2044 // Transfer initiates a plain transaction to move funds to the contract, calling 2045 // its default method if one is available. 2046 func (_Roles *RolesTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2047 return _Roles.Contract.contract.Transfer(opts) 2048 } 2049 2050 // Transact invokes the (paid) contract method with params as input values. 2051 func (_Roles *RolesTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2052 return _Roles.Contract.contract.Transact(opts, method, params...) 2053 } 2054 2055 // RootChainABI is the input ABI used to generate the binding from. 2056 const RootChainABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_epochHandler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_submitHandler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_etherToken\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_development\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"_NRELength\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_statesRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_transactionsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_receiptsRoot\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"BlockFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fork\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isRequest\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"BlockSubmitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"requestor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"trieKey\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"trieValue\",\"type\":\"bytes32\"}],\"name\":\"ERUCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"}],\"name\":\"EpochFilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"}],\"name\":\"EpochFilling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlockNumber\",\"type\":\"uint256\"}],\"name\":\"EpochFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"epochIsEmpty\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isRequest\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"rebase\",\"type\":\"bool\"}],\"name\":\"EpochPrepared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"epochIsEmpty\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isRequest\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"EpochRebased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newFork\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkedBlockNumber\",\"type\":\"uint256\"}],\"name\":\"Forked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MapperAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MapperRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"OperatorChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"RequestApplied\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"RequestChallenged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"requestor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weiAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"trieKey\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"trieValue\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isExit\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"RequestCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"RequestFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractInRootchain\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractInChildchain\",\"type\":\"address\"}],\"name\":\"RequestableContractMapped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"SessionTimeout\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"SubmitterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"SubmitterRemoved\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_ERO\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_ERU\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_NRB\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_ORB\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_URB\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_URB_PREPARE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"CP_COMPUTATION\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"CP_EXIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"CP_WITHHOLDING\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"EROIdToFinalize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"EROs\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isExit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isTransfer\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"finalized\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challenged\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"value\",\"type\":\"uint128\"},{\"internalType\":\"addresspayable\",\"name\":\"requestor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"trieKey\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"trieValue\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ERUIdToFinalize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"ERUs\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isExit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isTransfer\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"finalized\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challenged\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"value\",\"type\":\"uint128\"},{\"internalType\":\"addresspayable\",\"name\":\"requestor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"trieKey\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"trieValue\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"MAX_REQUESTS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxRequests\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"NRELength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"NULL_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"ORBs\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"submitted\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"numEnter\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"epochNumber\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestEnd\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"trie\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"PREPARE_TIMEOUT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"REQUEST_GAS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"URBs\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"submitted\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"numEnter\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"epochNumber\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestEnd\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"trie\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMapper\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSubmitter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_forkNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_receiptData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"challengeExit\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_key\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_txByte\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_branchMask\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"_siblings\",\"type\":\"bytes32[]\"}],\"name\":\"challengeNullAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"changeOperator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"development\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"epochHandler\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"etherToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finalizeBlock\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"finalizeRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"}],\"name\":\"finalizeRequests\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"firstFilledORENumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"firstNonEmptyRequestEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_forkNumber\",\"type\":\"uint256\"}],\"name\":\"forked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"forks\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"forkedBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"firstEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"firstBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastFinalizedEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastFinalizedBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"firstEnterEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastEnterEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextBlockToRebase\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"rebased\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlock\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"epochNumber\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalizedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"referenceBlock\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"statesRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"transactionsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"receiptsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isRequest\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challenged\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challenging\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"finalized\",\"type\":\"bool\"}],\"internalType\":\"structData.PlasmaBlock\",\"name\":\"\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockFinalizedAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestId\",\"type\":\"uint256\"}],\"name\":\"getEROBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"out\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"}],\"name\":\"getEpoch\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"startBlockNumber\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endBlockNumber\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isEmpty\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRequest\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"rebase\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"requestStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestEnd\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"firstRequestBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numEnter\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEnterEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEpoch\",\"type\":\"uint64\"}],\"internalType\":\"structData.RequestEpochMeta\",\"name\":\"RE\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"epochStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"epochTransactionsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"epochReceiptsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"submittedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalizedAt\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"finalized\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challenging\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challenged\",\"type\":\"bool\"}],\"internalType\":\"structData.NonRequestEpochMeta\",\"name\":\"NRE\",\"type\":\"tuple\"}],\"internalType\":\"structData.Epoch\",\"name\":\"epoch\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getLastEpoch\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"startBlockNumber\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endBlockNumber\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isEmpty\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRequest\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"rebase\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"requestStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestEnd\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"firstRequestBlockId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"numEnter\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEnterEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextEpoch\",\"type\":\"uint64\"}],\"internalType\":\"structData.RequestEpochMeta\",\"name\":\"RE\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"epochStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"epochTransactionsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"epochReceiptsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"submittedAt\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"finalizedAt\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"finalized\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challenging\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challenged\",\"type\":\"bool\"}],\"internalType\":\"structData.NonRequestEpochMeta\",\"name\":\"NRE\",\"type\":\"tuple\"}],\"internalType\":\"structData.Epoch\",\"name\":\"\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"}],\"name\":\"getLastFinalizedBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"}],\"name\":\"getLastFinalizedEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNumEROs\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNumORBs\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_userActivated\",\"type\":\"bool\"}],\"name\":\"getRequestFinalized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"finalized\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMapper\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isRootChain\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSubmitter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastAppliedBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastAppliedEpochNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastAppliedForkNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"}],\"name\":\"lastBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lastBlock\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"}],\"name\":\"lastEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lastBlock\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lastNonEmptyRequestEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_trieKey\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_trieValue\",\"type\":\"bytes\"}],\"name\":\"makeERU\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rootchain\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_childchain\",\"type\":\"address\"}],\"name\":\"mapRequestableContractByOperator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numEnterForORB\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"prepareToSubmitURB\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMapper\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSubmitter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"requestableContracts\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"seigManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"setSeigManager\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_trieKey\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_trieValue\",\"type\":\"bytes\"}],\"name\":\"startEnter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_trieKey\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_trieValue\",\"type\":\"bytes\"}],\"name\":\"startExit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"submitHandler\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pos1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_pos2\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_epochStateRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_epochTransactionsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_epochReceiptsRoot\",\"type\":\"bytes32\"}],\"name\":\"submitNRE\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pos\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_statesRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_transactionsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_receiptsRoot\",\"type\":\"bytes32\"}],\"name\":\"submitORB\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pos\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_statesRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_transactionsRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_receiptsRoot\",\"type\":\"bytes32\"}],\"name\":\"submitURB\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"}]" 2057 2058 // RootChainFuncSigs maps the 4-byte function signature to its string representation. 2059 var RootChainFuncSigs = map[string]string{ 2060 "d691acd8": "COST_ERO()", 2061 "8b5172d0": "COST_ERU()", 2062 "94be3aa5": "COST_NRB()", 2063 "b2ae9ba8": "COST_ORB()", 2064 "192adc5b": "COST_URB()", 2065 "033cfbed": "COST_URB_PREPARE()", 2066 "08c4fff0": "CP_COMPUTATION()", 2067 "8155717d": "CP_EXIT()", 2068 "b17fa6e9": "CP_WITHHOLDING()", 2069 "2dc6bb7b": "EROIdToFinalize()", 2070 "b443f3cc": "EROs(uint256)", 2071 "c54626cc": "ERUIdToFinalize()", 2072 "f4f31de4": "ERUs(uint256)", 2073 "93521222": "MAX_REQUESTS()", 2074 "ab96da2d": "NRELength()", 2075 "de0ce17d": "NULL_ADDRESS()", 2076 "ea7f22a8": "ORBs(uint256)", 2077 "c2bc88fa": "PREPARE_TIMEOUT()", 2078 "8eb288ca": "REQUEST_GAS()", 2079 "c0e86064": "URBs(uint256)", 2080 "80e3e81d": "addMapper(address)", 2081 "072900f9": "addSubmitter(address)", 2082 "404f7d66": "challengeExit(uint256,uint256,uint256,bytes,bytes)", 2083 "6299fb24": "challengeNullAddress(uint256,bytes,bytes,uint256,bytes32[])", 2084 "06394c9b": "changeOperator(address)", 2085 "183d2d1c": "currentFork()", 2086 "7b929c27": "development()", 2087 "e7b88b80": "epochHandler()", 2088 "b8066bcb": "etherToken()", 2089 "75395a58": "finalizeBlock()", 2090 "99bd3600": "finalizeRequest()", 2091 "54768571": "finalizeRequests(uint256)", 2092 "72ecb9a8": "firstFilledORENumber(uint256)", 2093 "ca6f6380": "firstNonEmptyRequestEpoch(uint256)", 2094 "ce8a2bc2": "forked(uint256)", 2095 "4ba3a126": "forks(uint256)", 2096 "4a44bdb8": "getBlock(uint256,uint256)", 2097 "5b884682": "getBlockFinalizedAt(uint256,uint256)", 2098 "d1723a96": "getEROBytes(uint256)", 2099 "2b25a38b": "getEpoch(uint256,uint256)", 2100 "398bac63": "getLastEpoch()", 2101 "d636857e": "getLastFinalizedBlock(uint256)", 2102 "019dc099": "getLastFinalizedEpoch(uint256)", 2103 "b540adba": "getNumEROs()", 2104 "ea0c73f6": "getNumORBs()", 2105 "f28a7afa": "getRequestFinalized(uint256,bool)", 2106 "c0c49c2a": "isMapper(address)", 2107 "420bb4b8": "isRootChain()", 2108 "a926fdbc": "isSubmitter(address)", 2109 "fb788a27": "lastAppliedBlockNumber()", 2110 "c8ad329f": "lastAppliedEpochNumber()", 2111 "164bc2ae": "lastAppliedForkNumber()", 2112 "1ec2042b": "lastBlock(uint256)", 2113 "11e4c914": "lastEpoch(uint256)", 2114 "b6715647": "lastNonEmptyRequestEpoch(uint256)", 2115 "78fe705f": "makeERU(address,bytes32,bytes)", 2116 "cb5d742f": "mapRequestableContractByOperator(address,address)", 2117 "23691566": "numEnterForORB()", 2118 "570ca735": "operator()", 2119 "e6925d08": "prepareToSubmitURB()", 2120 "3565fb0d": "renounceMapper()", 2121 "5e0ca71b": "renounceSubmitter()", 2122 "da0185f8": "requestableContracts(address)", 2123 "6fb7f558": "seigManager()", 2124 "7657f20a": "setSeigManager(address)", 2125 "2aa196c8": "startEnter(address,bytes32,bytes)", 2126 "e7f96505": "startExit(address,bytes32,bytes)", 2127 "e259faf7": "submitHandler()", 2128 "0eaf45a8": "submitNRE(uint256,uint256,bytes32,bytes32,bytes32)", 2129 "a820c067": "submitORB(uint256,bytes32,bytes32,bytes32)", 2130 "6f3e4b90": "submitURB(uint256,bytes32,bytes32,bytes32)", 2131 } 2132 2133 // RootChainBin is the compiled bytecode used for deploying new contracts. 2134 var RootChainBin = "0x60806040523480156200001157600080fd5b5060405162005f9438038062005f9483398101604081905262000034916200063e565b62000048336001600160e01b036200026316565b6200005c336001600160e01b03620002b516565b6200007b886001600160a01b03166200030760201b620035731760201c565b6200008557600080fd5b620000a4876001600160a01b03166200030760201b620035731760201c565b620000ae57600080fd5b620000cd866001600160a01b03166200030760201b620035731760201c565b620000d757600080fd5b600180546001600160a01b03199081166001600160a01b038b8116919091179092556002805482168a8416178155600380549092169289169290921781556000805460ff191688151517610100600160a81b031916610100330217815560058790556006548152600860209081526040808320838052600480820184528285208088018b90558087018a90559081018890559481019092528083208054790100000000000000000000000000000000000000000000000000600160801b600160c01b0319909116700100000000000000000000000000000000426001600160401b0316021760ff60c81b191617905593825292812080547a010000000000000000000000000000000000000000000000000000780100000000000000000000000000000000000000000000000060ff60c01b199092169190911760ff60d01b19161790556200022a90839083906200030d565b620002408260006001600160e01b03620003f316565b620002536001600160e01b03620004c916565b50505050505050505050620008b8565b6200027e8160166200059860201b620038421790919060201c565b6040516001600160a01b038216907fa199526a01dbcba68aa3ab9d7d06c6692c83fb1a8bcf2184e6d94ad34f5aaf9590600090a250565b620002d08160176200059860201b620038421790919060201c565b6040516001600160a01b038216907fb079bc2cbde1f186e0b351d4a87c4597e3ed098f571548617449e73506428d8b90600090a250565b3b151590565b60058201805464010000000060ff60201b1990911617905581546001600160c01b03167801000000000000000000000000000000000000000000000000426001600160401b0390811691909102919091178355600184018054600160801b600160c01b03191670010000000000000000000000000000000084841602178082558454600160401b600160801b0319909116921668010000000000000000029190911790556006546040517ffb96205e4b3633fd57aa805b26b51ecf528714a10241a4af015929dce86768d991620003e6918490620007ad565b60405180910390a1505050565b6000818152600383016020526040908190206006808201805470010000000000000000000000000000000060ff60801b199091168117600160401b600160801b031990811668010000000000000000426001600160401b03908116820292909217909455855460018a018054600160801b600160c01b0319169186900483169094021790911681881684021790915591548354945193947f70801d4d63b3da6c19ba7349911f45bed5a99ccdfb51b8138c105872529bebd594620003e6949293889383811693919091041690620007cc565b5050565b6001546040516000916060916001600160a01b0390911690620004ec90620007a0565b60408051918290038220600483526024830182526020830180516001600160e01b03167fffffffff00000000000000000000000000000000000000000000000000000000909216919091179052516200054691906200078b565b600060405180830381855af49150503d806000811462000583576040519150601f19603f3d011682016040523d82523d6000602084013e62000588565b606091505b509150915081620004c557600080fd5b620005ad82826001600160e01b03620005dd16565b15620005b857600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b038216620005f357600080fd5b506001600160a01b03811660009081526020839052604090205460ff165b92915050565b8051620006118162000888565b80516200061181620008a2565b80516200061181620008ad565b600080600080600080600080610100898b0312156200065c57600080fd5b60006200066a8b8b62000617565b98505060206200067d8b828c0162000617565b9750506040620006908b828c0162000617565b9650506060620006a38b828c0162000624565b9550506080620006b68b828c0162000631565b94505060a0620006c98b828c0162000631565b93505060c0620006dc8b828c0162000631565b92505060e0620006ef8b828c0162000631565b9150509295985092959890939650565b60006200070c8262000812565b62000718818562000816565b93506200072a81856020860162000855565b9290920192915050565b600062000743600c8362000816565b7f707265706172654e5245282900000000000000000000000000000000000000008152600c0192915050565b6200077a816200082d565b82525050565b6200077a8162000848565b6000620007998284620006ff565b9392505050565b6000620006118262000734565b60408101620007bd82856200076f565b6200079960208301846200076f565b60808101620007dc82876200076f565b620007eb60208301866200076f565b620007fa604083018562000780565b62000809606083018462000780565b95945050505050565b5190565b919050565b6000620006118262000830565b151590565b90565b6001600160a01b031690565b6001600160401b031690565b600062000611826200083c565b60005b838110156200087257818101518382015260200162000858565b8381111562000882576000848401525b50505050565b62000893816200081b565b81146200089f57600080fd5b50565b620008938162000828565b62000893816200082d565b6156cc80620008c86000396000f3fe6080604052600436106104105760003560e01c80638b5172d01161021e578063c8ad329f11610123578063e259faf7116100ab578063ea0c73f61161007a578063ea0c73f614610ab5578063ea7f22a814610aca578063f28a7afa14610aea578063f4f31de414610b0a578063fb788a2714610b2a57610410565b8063e259faf714610a70578063e6925d0814610a85578063e7b88b8014610a8d578063e7f9650514610aa257610410565b8063d1723a96116100f2578063d1723a96146109ee578063d636857e14610a1b578063d691acd81461044b578063da0185f814610a3b578063de0ce17d14610a5b57610410565b8063c8ad329f14610979578063ca6f63801461098e578063cb5d742f146109ae578063ce8a2bc2146109ce57610410565b8063b2ae9ba8116101a6578063b8066bcb11610175578063b8066bcb146108e8578063c0c49c2a146108fd578063c0e860641461091d578063c2bc88fa1461094f578063c54626cc1461096457610410565b8063b2ae9ba81461044b578063b443f3cc1461087c578063b540adba146108b3578063b6715647146108c857610410565b806399bd3600116101ed57806399bd36001461080a578063a820c0671461081f578063a926fdbc14610832578063ab96da2d14610852578063b17fa6e91461086757610410565b80638b5172d01461044b5780638eb288ca146107e057806393521222146107f557806394be3aa51461044b57610410565b8063404f7d66116103245780636f3e4b90116102ac5780637657f20a1161027b5780637657f20a1461076357806378fe705f146107835780637b929c271461079657806380e3e81d146107ab5780638155717d146107cb57610410565b80636f3e4b90146107065780636fb7f5581461071957806372ecb9a81461072e57806375395a581461074e57610410565b806354768571116102f3578063547685711461066f578063570ca7351461068f5780635b884682146106b15780635e0ca71b146106d15780636299fb24146106e657610410565b8063404f7d66146105d5578063420bb4b8146105f55780634a44bdb81461060a5780634ba3a1261461063757610410565b8063183d2d1c116103a75780632aa196c8116103765780632aa196c8146105565780632b25a38b146105695780632dc6bb7b146105965780633565fb0d146105ab578063398bac63146105c057610410565b8063183d2d1c1461050c578063192adc5b1461044b5780631ec2042b14610521578063236915661461054157610410565b806308c4fff0116103e357806308c4fff0146104a25780630eaf45a8146104b757806311e4c914146104d7578063164bc2ae146104f757610410565b8063019dc09914610415578063033cfbed1461044b57806306394c9b14610460578063072900f914610482575b600080fd5b34801561042157600080fd5b506104356104303660046148cd565b610b3f565b604051610442919061526a565b60405180910390f35b34801561045757600080fd5b50610435610b67565b34801561046c57600080fd5b5061048061047b3660046147eb565b610b6c565b005b34801561048e57600080fd5b5061048061049d3660046147eb565b610be3565b3480156104ae57600080fd5b50610435610c0b565b6104ca6104c5366004614a73565b610c10565b604051610442919061515f565b3480156104e357600080fd5b506104356104f23660046148cd565b610c51565b34801561050357600080fd5b50610435610c73565b34801561051857600080fd5b50610435610c79565b34801561052d57600080fd5b5061043561053c3660046148cd565b610c7f565b34801561054d57600080fd5b50610435610c9d565b6104ca61056436600461484b565b610ca3565b34801561057557600080fd5b50610589610584366004614a43565b610d65565b604051610442919061524c565b3480156105a257600080fd5b506104356110cd565b3480156105b757600080fd5b506104806110d3565b3480156105cc57600080fd5b506105896110de565b3480156105e157600080fd5b506104806105f0366004614ae8565b611479565b34801561060157600080fd5b506104ca611705565b34801561061657600080fd5b5061062a610625366004614a43565b61170a565b604051610442919061525b565b34801561064357600080fd5b506106576106523660046148cd565b6117fa565b6040516104429c9b9a999897969594939291906154b8565b34801561067b57600080fd5b506104ca61068a3660046148cd565b611871565b34801561069b57600080fd5b506106a461189f565b6040516104429190615136565b3480156106bd57600080fd5b506104356106cc366004614a43565b6118b3565b3480156106dd57600080fd5b506104806118e4565b3480156106f257600080fd5b5061048061070136600461497c565b6118ed565b6104ca61071436600461491b565b611950565b34801561072557600080fd5b506106a4611958565b34801561073a57600080fd5b506104356107493660046148cd565b611967565b34801561075a57600080fd5b506104ca611979565b34801561076f57600080fd5b5061048061077e3660046147eb565b611992565b6104ca61079136600461484b565b6119d0565b3480156107a257600080fd5b506104ca611a3e565b3480156107b757600080fd5b506104806107c63660046147eb565b611a47565b3480156107d757600080fd5b50610435611a6c565b3480156107ec57600080fd5b50610435611a71565b34801561080157600080fd5b50610435611a78565b34801561081657600080fd5b506104ca611a87565b6104ca61082d36600461491b565b612327565b34801561083e57600080fd5b506104ca61084d3660046147eb565b612366565b34801561085e57600080fd5b50610435612379565b34801561087357600080fd5b5061043561237f565b34801561088857600080fd5b5061089c6108973660046148cd565b612384565b6040516104429b9a9998979695949392919061540e565b3480156108bf57600080fd5b506104356124a5565b3480156108d457600080fd5b506104356108e33660046148cd565b6124ab565b3480156108f457600080fd5b506106a46124bd565b34801561090957600080fd5b506104ca6109183660046147eb565b6124cc565b34801561092957600080fd5b5061093d6109383660046148cd565b6124df565b604051610442969594939291906151b4565b34801561095b57600080fd5b50610435612546565b34801561097057600080fd5b5061043561254b565b34801561098557600080fd5b50610435612551565b34801561099a57600080fd5b506104356109a93660046148cd565b612557565b3480156109ba57600080fd5b506104ca6109c9366004614811565b612569565b3480156109da57600080fd5b506104ca6109e93660046148cd565b61262f565b3480156109fa57600080fd5b50610a0e610a093660046148cd565b612637565b604051610442919061522b565b348015610a2757600080fd5b50610435610a363660046148cd565b6127e0565b348015610a4757600080fd5b506106a4610a563660046147eb565b612805565b348015610a6757600080fd5b506106a4610b67565b348015610a7c57600080fd5b506106a4612820565b61048061282f565b348015610a9957600080fd5b506106a4612836565b6104ca610ab036600461484b565b612845565b348015610ac157600080fd5b506104356128a1565b348015610ad657600080fd5b5061093d610ae53660046148cd565b6128a7565b348015610af657600080fd5b506104ca610b053660046148eb565b6128b4565b348015610b1657600080fd5b5061089c610b253660046148cd565b6128fd565b348015610b3657600080fd5b5061043561290a565b600081815260086020526040902060010154600160401b90046001600160401b03165b919050565b600081565b60005461010090046001600160a01b03163314610b8857600080fd5b60008054610100600160a81b0319166101006001600160a01b038416021790556040517f4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e5490610bd8908390615136565b60405180910390a150565b60005461010090046001600160a01b03163314610bff57600080fd5b610c0881612910565b50565b600f81565b6000610c1b33612366565b610c2457600080fd5b6000805460ff16610c3957610c37612958565b505b610c468787878787612ace565b979650505050505050565b600090815260086020526040902054600160801b90046001600160401b031690565b60105481565b60065481565b6000908152600860205260409020600101546001600160401b031690565b600d5481565b60008034610cb96009600b888489898880612bad565b600d805460010190556006546000908152600860205260408082209051929450917f6940a01870e576ceb735867e13863646d517ce10e66c0133186a4ebdfe9388c291610d089186919061532c565b60405180910390a17f879922cf5fcada9ebaf8bd7424dc62877f4b220cae07fb6695cc1e8f94c52b4d833389858a8a600080604051610d4e9897969594939291906152f6565b60405180910390a1600193505050505b9392505050565b610d6d6142cd565b600860008481526020019081526020016000206003016000838152602001908152602001600020604051806101400160405290816000820160009054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160089054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160109054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160189054906101000a900460ff161515151581526020016000820160199054906101000a900460ff1615151515815260200160008201601a9054906101000a900460ff1615151515815260200160008201601b9054906101000a900460ff1615151515815260200160008201601c9054906101000a900460ff16151515158152602001600182016040518060c00160405290816000820160009054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160089054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160109054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160189054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016001820160009054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016001820160089054906101000a90046001600160401b03166001600160401b03166001600160401b031681525050815260200160038201604051806101000160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016003820160089054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016003820160109054906101000a900460ff161515151581526020016003820160119054906101000a900460ff161515151581526020016003820160129054906101000a900460ff1615151515815250508152505090505b92915050565b60135481565b6110dc336131cf565b565b6110e66142cd565b600860006006548152602001908152602001600020600301600060086000600654815260200190815260200160002060000160109054906101000a90046001600160401b03166001600160401b03168152602001908152602001600020604051806101400160405290816000820160009054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160089054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160109054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160189054906101000a900460ff161515151581526020016000820160199054906101000a900460ff1615151515815260200160008201601a9054906101000a900460ff1615151515815260200160008201601b9054906101000a900460ff1615151515815260200160008201601c9054906101000a900460ff16151515158152602001600182016040518060c00160405290816000820160009054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160089054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160109054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016000820160189054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016001820160009054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016001820160089054906101000a90046001600160401b03166001600160401b03166001600160401b031681525050815260200160038201604051806101000160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016003820160089054906101000a90046001600160401b03166001600160401b03166001600160401b031681526020016003820160109054906101000a900460ff161515151581526020016003820160119054906101000a900460ff161515151581526020016003820160129054906101000a900460ff1615151515815250508152505090505b90565b600087815260086020908152604080832089845260048101909252909120600581015460ff166114a857600080fd5b6005810154640100000000900460ff166114c157600080fd5b6005810154600090610100900460ff1680156115cd5761159a83600c8560000160089054906101000a90046001600160401b03166001600160401b03168154811061150857fe5b9060005260206000209060020201600a8c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061321792505050565b60405190925033906108fc9060009081818181818888f193505050501580156115c7573d6000803e3d6000fd5b506116bf565b61169083600b8560000160089054906101000a90046001600160401b03166001600160401b0316815481106115fe57fe5b906000526020600020906002020160098c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061321792505050565b60405190925033906108fc9060009081818181818888f193505050501580156116bd573d6000803e3d6000fd5b505b7fc8135db115644ed4ae193313c4c801235ef740d2a57a8d5e6fe26ab66635698a82826040516116f092919061532c565b60405180910390a15050505050505050505050565b600181565b61171261432d565b506000918252600860209081526040808420928452600492830182529283902083516101a08101855281546001600160401b038082168352600160401b8204811694830194909452600160801b8104841695820195909552600160c01b9094048216606085015260018101549091166080840152600281015460a0840152600381015460c08401529081015460e08301526005015460ff80821615156101008085019190915282048116151561012084015262010000820481161515610140840152630100000082048116151561016084015264010000000090910416151561018082015290565b6008602052600090815260409020805460018201546002909201546001600160401b0380831693600160401b808504831694600160801b808204851695600160c01b92839004861695858116958581048216958482048316959182900483169484841694918204841693908204169160ff9104168c565b6000805b8281101561189657611885611a87565b61188e57600080fd5b600101611875565b50600192915050565b60005461010090046001600160a01b031681565b600091825260086020908152604080842092845260049092019052902054600160c01b90046001600160401b031690565b6110dc33613322565b60065460009081526008602090815260408083208b845260048101909252909120600581015460ff161561192057600080fd5b8054426001600160401b03600160801b90920491909116600f011161194457600080fd5b50505050505050505050565b600080610410565b6004546001600160a01b031681565b60076020526000908152604090205481565b6000611983612958565b61198c57600080fd5b50600190565b60005461010090046001600160a01b031633146119ae57600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60008060006119e9600a600c8860008989600180612bad565b90507f879922cf5fcada9ebaf8bd7424dc62877f4b220cae07fb6695cc1e8f94c52b4d81338860008989600180604051611a2a989796959493929190615278565b60405180910390a150600195945050505050565b60005460ff1681565b60005461010090046001600160a01b03163314611a6357600080fd5b610c088161336a565b600a81565b620186a081565b6000611a826133b2565b905090565b60105460009081526008602052604081206011546001820154601254849392916001600160401b03161015611abb57600080fd5b601254600090815260048301602090815260408083208484526003860190925290912083546001600160401b031615801590611b05575083546012546001600160401b0390911611155b15611b705750506010805460010190819055600090815260086020908152604080832080546001600160401b03600160401b82048116808752600384018652848720600160c01b90930490911660128190556011829055865260048301909452919093209294509092505b600582015460ff16611c025782611b9a576010546000908152600f60205260409020549250611bc1565b600092835260038401602052604090922060020154600160401b90046001600160401b0316915b82611bcb57600080fd5b50506000818152600383016020908152604080832080546001600160401b0316601281905584526004860190925290912090611c22565b5080546001600160401b0316600081815260038501602052604090209092505b60118390558054600160c01b900460ff1615611c3d57600080fd5b8054600160d01b900460ff16611c5257600080fd5b600582015460ff16611c6357600080fd5b6005820154640100000000900460ff16611c7c57600080fd5b8154426001600160401b03600160c01b90920491909116600a011115611ca157600080fd5b6005820154610100900460ff161561201557601454600a549095508510611cc757600080fd5b6000600a8681548110611cd657fe5b906000526020600020906006020190506000600c8460000160089054906101000a90046001600160401b03166001600160401b031681548110611d1557fe5b600091825260209091206002909102018054909150600160881b90046001600160401b03168710801590611d56575060018101546001600160401b03168711155b611d5f57600080fd5b60018101546001600160401b0316871415611dba5785546001600160401b031615801590611da1575085546012546000196001600160401b0392831601909116145b15611db0576010805460010190555b6012805460010190555b600187016014558154600160401b900460ff168015611de257508154600160581b900460ff16155b15611fb957604080516101608101825283546001600160401b0381168252600160401b810460ff9081161515602080850191909152600160481b83048216151584860152600160501b8304821615156060850152600160581b830490911615156080840152600160601b9091046001600160801b031660a08301526001808601546001600160a01b0390811660c085015260028088015490911660e085015260038701546101008086019190915260048801546101208601526005880180548751948116159092026000190190911691909104601f8101849004840283018401909552848252611f43948c9493889361014086019390929091830182828015611f2c5780601f10611f0157610100808354040283529160200191611f2c565b820191906000526020600020905b815481529060010190602001808311611f0f57829003601f168201915b5050505050815250506133b790919063ffffffff16565b5060018201546040516001600160a01b03909116906108fc9060009081818181818888f19350505050158015611f7d573d6000803e3d6000fd5b507f6940a01870e576ceb735867e13863646d517ce10e66c0133186a4ebdfe9388c2876001604051611fb092919061532c565b60405180910390a15b815460ff60501b1916600160501b1782556040517f134017cf3262b18f892ee95dde3b0aec9a80cc70a7c96f09c64bd237aceb047390611ffd90899060019061532c565b60405180910390a16001975050505050505050611476565b601354600954909550851061202957600080fd5b8154600b8054600092600160401b90046001600160401b031690811061204b57fe5b600091825260209091206002909102018054909150600160881b90046001600160401b0316861080159061208c575060018101546001600160401b03168611155b61209557600080fd5b60018101546001600160401b03168614156120f05784546001600160401b0316158015906120d7575084546012546000196001600160401b0392831601909116145b156120e6576010805460010190555b6012805460010190555b6000600987815481106120ff57fe5b6000918252602090912060018901601355600690910201805460ff60501b1916600160501b17808255909150600160401b900460ff16801561214a57508054600160581b900460ff16155b156122df57604080516101608101825282546001600160401b0381168252600160401b810460ff9081161515602080850191909152600160481b83048216151584860152600160501b8304821615156060850152600160581b830490911615156080840152600160601b9091046001600160801b031660a08301526001808501546001600160a01b0390811660c085015260028087015490911660e085015260038601546101008086019190915260048701546101208601526005870180548751948116159092026000190190911691909104601f8101849004840283018401909552848252612269948c9493879361014086019390929091830182828015611f2c5780601f10611f0157610100808354040283529160200191611f2c565b5060018101546040516001600160a01b03909116906108fc9060009081818181818888f193505050501580156122a3573d6000803e3d6000fd5b507f6940a01870e576ceb735867e13863646d517ce10e66c0133186a4ebdfe9388c28760006040516122d692919061532c565b60405180910390a15b7f134017cf3262b18f892ee95dde3b0aec9a80cc70a7c96f09c64bd237aceb047387600060405161231192919061532c565b60405180910390a1600197505050505050505090565b600061233233612366565b61233b57600080fd5b6000805460ff166123505761234e612958565b505b61235c86868686613464565b9695505050505050565b60006110c760178363ffffffff61353e16565b60055481565b601481565b6009818154811061239157fe5b6000918252602091829020600691909102018054600180830154600280850154600386015460048701546005880180546040805161010099831615999099026000190190911695909504601f81018b90048b0288018b019095528487526001600160401b0388169a50600160401b880460ff9081169a600160481b8a0482169a600160501b8b0483169a600160581b810490931699600160601b9093046001600160801b0316986001600160a01b039081169897169690939183018282801561249b5780601f106124705761010080835404028352916020019161249b565b820191906000526020600020905b81548152906001019060200180831161247e57829003601f168201915b505050505090508b565b60095490565b600e6020526000908152604090205481565b6003546001600160a01b031681565b60006110c760168363ffffffff61353e16565b600c81815481106124ec57fe5b60009182526020909120600290910201805460019091015460ff821692506001600160401b036101008304811692600160481b8104821692600160881b9091048216918116906001600160a01b03600160401b9091041686565b603c81565b60145481565b60115481565b600f6020526000908152604090205481565b6000612574336124cc565b61257d57600080fd5b61258f836001600160a01b0316613573565b61259857600080fd5b6001600160a01b0383811660009081526015602052604090205416156125bd57600080fd5b6001600160a01b038381166000908152601560205260409081902080546001600160a01b03191692851692909217909155517fc5ec2ed49686197edd2ed642c7e6096893cc81e6658cde2527030316037715d09061261e9085908590615144565b60405180910390a150600192915050565b600654141590565b606060006009838154811061264857fe5b600091825260208083206002600690930201828101546001600160a01b039081168086526015845260408087205481516101608101835285546001600160401b038116825260ff600160401b820481161515838a0152600160481b82048116151583860152600160501b8204811615156060840152600160581b820416151560808301526001600160801b03600160601b9091041660a0820152600180870154861660c083015260e082019490945260038601546101008281019190915260048701546101208301526005870180548551601f60001998831615909402979097011699909904908101889004880285018801909352828452949850610d5e976127db978c9791966127ce96939093169492938b93610140860193909291908301828280156127b75780601f1061278c576101008083540402835291602001916127b7565b820191906000526020600020905b81548152906001019060200180831161279a57829003601f168201915b50505050508152505061357990919063ffffffff16565b919063ffffffff61364716565b61369f565b600090815260086020526040902060010154600160801b90046001600160401b031690565b6015602052600090815260409020546001600160a01b031681565b6002546001600160a01b031681565b6000610410565b6001546001600160a01b031681565b600080600061285f6009600b886000898960016000612bad565b90507f879922cf5fcada9ebaf8bd7424dc62877f4b220cae07fb6695cc1e8f94c52b4d8133886000898960016000604051611a2a989796959493929190615278565b600b5490565b600b81815481106124ec57fe5b600081156128ce57600a83815481106128c957fe5b506000525b600983815481106128db57fe5b6000918252602090912060069091020154600160501b900460ff169392505050565b600a818154811061239157fe5b60125481565b61292160178263ffffffff61384216565b6040516001600160a01b038216907fb079bc2cbde1f186e0b351d4a87c4597e3ed098f571548617449e73506428d8b90600090a250565b600654600090815260086020526040812080546001600160401b031615612983576000915050611476565b80546001808301546000926129b5926001600160401b03600160c01b909204821692600160801b90048216011661387b565b60018301549091506001600160401b03168111156129d857600092505050611476565b6000818152600483016020526040902060058101546301000000900460ff1615612a085760009350505050611476565b600581015460ff1615612a58578054426001600160401b03600160801b90920491909116600f011115612a415760009350505050611476565b612a4c838284613892565b60019350505050611476565b6001808401546001600160401b03600160401b9091048116909101165b6000818152600385016020526040902054600160d01b900460ff1615612a9d57600101612a75565b612aa78482613952565b15612ac357612ab68482613a0c565b6001945050505050611476565b600094505050505090565b60025460405160009182916060916001600160a01b031690612aef9061510a565b60405180910390208989898989604051602401612b10959493929190615397565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051612b4e91906150fe565b600060405180830381855af49150503d8060008114612b89576040519150601f19603f3d011682016040523d82523d6000602084013e612b8e565b606091505b509150915081612b9d57600080fd5b6001925050505b95945050505050565b600061040084511115612bbf57600080fd5b6003546001600160a01b03888116911614808015612bdb575083155b80612bff57506001600160a01b038881166000908152601560205260409020541615155b612c0857600080fd5b8954612c178b60018301614399565b915060008a8381548110612c2757fe5b600091825260209182902060069190910201600181018054336001600160a01b0319918216179091556002820180549091166001600160a01b038d16179055805467ffffffffffffffff1916426001600160401b03161768ff00000000000000001916600160401b881515021769ff0000000000000000001916600160481b85151502176fffffffffffffffffffffffffffffffff60601b1916600160601b6001600160801b038c1602178155600381018990558751909250612cf2916005840191908901906143ca565b5084612e1b57604080516101608101825282546001600160401b0381168252600160401b810460ff9081161515602080850191909152600160481b83048216151584860152600160501b8304821615156060850152600160581b830490911615156080840152600160601b9091046001600160801b031660a08301526001808501546001600160a01b0390811660c085015260028087015490911660e085015260038601546101008086019190915260048701546101208601526005870180548751948116159092026000190190911691909104601f8101849004840283018401909552848252612e1294889493879361014086019390929091830182828015611f2c5780601f10611f0157610100808354040283529160200191611f2c565b612e1b57600080fd5b895460009015612e30578a5460001901612e3f565b8a54612e3f8c60018301614448565b905060008b8281548110612e4f57fe5b60009182526020909120600290910201805490915060ff1680612e975750612e756133b2565b81546001808401546001600160401b03600160881b9093048316908316030116145b15612efa57805460ff1916600190811782558c548d91612eba9083908301614448565b81548110612ec457fe5b60009182526020909120600290910201805467ffffffffffffffff60881b1916600160881b6001600160401b0388160217815590505b612f0381610c08565b60018101805467ffffffffffffffff19166001600160401b03871617905586612f515780546001600160401b0361010080830482166001019091160268ffffffffffffffff00199091161781555b838015612f5c575086155b1561309357604080516101608101825284546001600160401b0381168252600160401b810460ff9081161515602080850191909152600160481b83048216151584860152600160501b8304821615156060850152600160581b830490911615156080840152600160601b9091046001600160801b031660a08301526001808701546001600160a01b0390811660c085015260028089015490911660e085015260038801546101008086019190915260048901546101208601526005890180548751948116159092026000190190911691909104601f810184900484028301840190955284825261308e94889461307f94339491938793610140860193928301828280156127b75780601f1061278c576101008083540402835291602001916127b7565b8391908863ffffffff613acc16565b6131bf565b6001600160a01b038b81166000908152601560209081526040918290205482516101608101845287546001600160401b0381168252600160401b810460ff908116151583860152600160481b82048116151583870152600160501b8204811615156060840152600160581b82041615156080830152600160601b90046001600160801b031660a0820152600180890154861660c08301526002808a0154871660e084015260038a01546101008085019190915260048b015461012085015260058b0180548851948116159092026000190190911691909104601f81018690048602830186019096528582526131bf968a9661307f9695909116948793610140860193909290918301828280156127b75780601f1061278c576101008083540402835291602001916127b7565b5050505098975050505050505050565b6131e060168263ffffffff613aee16565b6040516001600160a01b038216907ff012269e1b6bb33c7800e7e54167ddd74f0ae7244108030b6876821d3779822f90600090a250565b845460018601546001600160401b03600160881b90920482168501911681111561324057600080fd5b600085828154811061324e57fe5b6000918252602090912089546006909202019150426001600160401b03600160c01b90920491909116600a011161328457600080fd5b6005880154640100000000900460ff1661329d57600080fd5b8054600160581b900460ff16156132b357600080fd5b8054600160501b900460ff16156132c957600080fd5b835160208501206132d985613b23565b156132e357600080fd5b60005460ff16613306576132fd81878b6004015487613b60565b61330657600080fd5b50805460ff60581b1916600160581b1790559695505050505050565b61333360178263ffffffff613aee16565b6040516001600160a01b038216907ff84a004e1673d2f349a7c93c72b3794b8eba6d2f9338044d8c8cd260e51a57a190600090a250565b61337b60168263ffffffff61384216565b6040516001600160a01b038216907fa199526a01dbcba68aa3ab9d7d06c6692c83fb1a8bcf2184e6d94ad34f5aaf9590600090a250565b601490565b600062019a285a116133c857600080fd5b8260e001516001600160a01b031663a9f793088460200151848660c001518761010001518861014001516040518663ffffffff1660e01b815260040161341295949392919061516d565b602060405180830381600087803b15801561342c57600080fd5b505af1158015613440573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d5e91908101906148af565b60025460405160009182916060916001600160a01b03169061348590615120565b6040518091039020888888886040516024016134a49493929190615347565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516134e291906150fe565b600060405180830381855af49150503d806000811461351d576040519150601f19603f3d011682016040523d82523d6000602084013e613522565b606091505b50915091508161353157600080fd5b5060019695505050505050565b60006001600160a01b03821661355357600080fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b3b151590565b613581614474565b6020808401805115159183019190915260408085015115159083015260c0808501516001600160a01b031690830152511580156135bf575082604001515b156136095760c08301516001600160a01b031660e082015261014083015160208101516001600160801b0381166135f557600080fd5b6001600160801b031660a0830152506110c7565b6001600160a01b03821660e082015260a0808401516001600160801b0316908201526101008084015190820152610140808401519082015292915050565b61364f6144d2565b633b9aca006020820152620186a0604082015260e08401516001600160a01b0316606082015260a08401516001600160801b03166080820152613693848484613c2b565b60a08201529392505050565b6040805160098082526101408201909252606091829190816020015b60608152602001906001900390816136bb57505083519091506136e6906001600160401b0316613d01565b816000815181106136f357fe5b602002602001018190525061370b8360200151613d01565b8160018151811061371857fe5b602002602001018190525061373983604001516001600160401b0316613d01565b8160028151811061374657fe5b602002602001018190525061376783606001516001600160a01b0316613d14565b8160038151811061377457fe5b602002602001018190525061378c8360800151613d01565b8160048151811061379957fe5b60200260200101819052506137b18360a00151613d33565b816005815181106137be57fe5b60200260200101819052506137d68360c00151613d01565b816006815181106137e357fe5b60200260200101819052506137fb8360e00151613d01565b8160078151811061380857fe5b6020026020010181905250613821836101000151613d01565b8160088151811061382e57fe5b6020026020010181905250610d5e81613d89565b61384c828261353e565b1561385657600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60008183101561388b5781610d5e565b5090919050565b60058201805464010000000064ff000000001990911617905581546001600160c01b0316600160c01b426001600160401b039081169190910291909117835560018401805467ffffffffffffffff60801b1916600160801b8484160217808255845467ffffffffffffffff60401b199091169216600160401b029190911790556006546040517ffb96205e4b3633fd57aa805b26b51ecf528714a10241a4af015929dce86768d99161394591849061537c565b60405180910390a1505050565b8154600090600160801b90046001600160401b0316821115613976575060006110c7565b600082815260038401602052604090208054600160c81b900460ff166139a05760009150506110c7565b8054600160d01b900460ff16156139bb5760009150506110c7565b6006810154600160881b900460ff16806139e057506006810154600160901b900460ff165b156139ef5760009150506110c7565b60060154426001600160401b039091166014011115905092915050565b60008181526003830160205260409081902060068082018054600160801b60ff60801b19909116811767ffffffffffffffff60401b19908116600160401b426001600160401b03908116820292909217909455855460018a01805467ffffffffffffffff60801b19169186900483169094021790911681881684021790915591548354945193947f70801d4d63b3da6c19ba7349911f45bed5a99ccdfb51b8138c105872529bebd5946139459492938893838116939190910416906153d9565b613ae0613adb83836000613647565b613de6565b836004018190555050505050565b613af8828261353e565b613b0157600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b60006060613b416004613b3585613e02565b9063ffffffff613e2516565b9050610d5e81600081518110613b5357fe5b6020026020010151613eb2565b60006020825181613b6d57fe5b0615613b7857600080fd5b60006020835181613b8557fe5b04905060108110613b9557600080fd5b60008660205b836020028111613c1d5785810151925060028806613be3578183604051602001613bc69291906150bc565b604051602081830303815290604052805190602001209150613c0f565b8282604051602001613bf69291906150bc565b6040516020818303038152906040528051906020012091505b600288049750602001613b9b565b509094149695505050505050565b606083604001518015613c4057508360200151155b15613c4a57610d5e565b600082613c6a57604051613c5d90615115565b6040518091039020613c7f565b604051613c769061512b565b60405180910390205b9050808560200151613c92576000613c95565b60015b60ff1660001b858760c001516001600160a01b0316886101000151896101400151604051602001613cca959493929190615203565b60408051601f1981840301815290829052613ce892916020016150e2565b6040516020818303038152906040529150509392505050565b60606110c7613d0f83613ed6565b613d33565b60408051600560a21b8318601482015260348101909152606090610d5e815b606081516001148015613d655750607f60f81b82600081518110613d5357fe5b01602001516001600160f81b03191611155b15613d71575080610b62565b6110c7613d838351608060ff16613fcf565b83614098565b604080516000808252602082019092526060915b8351811015613dcd57613dc382858381518110613db657fe5b6020026020010151614098565b9150600101613d9d565b50610d5e613de0825160c060ff16613fcf565b82614098565b60006060613df38361369f565b80516020909101209392505050565b613e0a614539565b50805160408051808201909152602092830181529182015290565b606081604051908082528060200260200182016040528015613e6157816020015b613e4e614539565b815260200190600190039081613e465790505b509050613e6c614553565b613e758461417d565b905060005b83811015613eaa57613e8b826141a2565b838281518110613e9757fe5b6020908102919091010152600101613e7a565b505092915050565b6000806000613ec0846141d4565b90516020919091036101000a9004949350505050565b6040805160208082528183019092526060916000918391602082018180388339019050509050836020820152600091505b6020821015613f4057808281518110613f1c57fe5b01602001516001600160f81b03191615613f3557613f40565b600190910190613f07565b6060826020036040519080825280601f01601f191660200182016040528015613f70576020820181803883390190505b50905060005b8151811015613fc6578251600185019484918110613f9057fe5b602001015160f81c60f81b828281518110613fa757fe5b60200101906001600160f81b031916908160001a905350600101613f76565b50949350505050565b6060600160401b8310613ffd5760405162461bcd60e51b8152600401613ff49061523c565b60405180910390fd5b604080516001808252818301909252606091602082018180388339019050509050603784116140575782840160f81b8160008151811061403957fe5b60200101906001600160f81b031916908160001a90535090506110c7565b606061406285613ed6565b90508381510160370160f81b8260008151811061407b57fe5b60200101906001600160f81b031916908160001a905350612ba482825b60608082518451016040519080825280601f01601f1916602001820160405280156140ca576020820181803883390190505b5090506000805b8551811015614120578581815181106140e657fe5b602001015160f81c60f81b8383815181106140fd57fe5b60200101906001600160f81b031916908160001a905350600191820191016140d1565b5060005b84518110156141735784818151811061413957fe5b602001015160f81c60f81b83838151811061415057fe5b60200101906001600160f81b031916908160001a90535060019182019101614124565b5090949350505050565b614185614553565b600061419083614233565b83519383529092016020820152919050565b6141aa614539565b602082015160006141ba8261429d565b828452602080850182905292019390910192909252919050565b805180516000918291821a9060808210156141f65792506001915061422e9050565b60b8821015614214576001856020015103925080600101935061422b565b602085015182820160b51901945082900360b60192505b50505b915091565b8051805160009190821a90608082101561425257600092505050610b62565b60b882108061426d575060c0821015801561426d575060f882105b1561427d57600192505050610b62565b60c0821015614292575060b519019050610b62565b5060f5190192915050565b8051600090811a60808110156142b657600191506142c7565b60b88110156142c757607e19810191505b50919050565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810191909152610100810161431b614573565b81526020016143286145a8565b905290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081019190915290565b8154818355818111156143c5576006028160060283600052602060002091820191016143c591906145ec565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061440b57805160ff1916838001178555614438565b82800160010185558215614438579182015b8281111561443857825182559160200191906001019061441d565b5061444492915061464e565b5090565b8154818355818111156143c5576002028160020283600052602060002091820191016143c59190614668565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e08201839052610100820183905261012082019290925261014081019190915290565b60405180610120016040528060006001600160401b031681526020016000815260200160006001600160401b0316815260200160006001600160a01b0316815260200160008152602001606081526020016000815260200160008152602001600081525090565b604051806040016040528060008152602001600081525090565b6040518060400160405280614566614539565b8152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915290565b61147691905b808211156144445780546001600160e01b03191681556001810180546001600160a01b0319908116909155600282018054909116905560006003820181905560048201819055614645600583018261469e565b506006016145f2565b61147691905b808211156144445760008155600101614654565b61147691905b808211156144445780546001600160c81b03191681556001810180546001600160e01b031916905560020161466e565b50805460018160011615610100020316600290046000825580601f106146c45750610c08565b601f016020900490600052602060002090810190610c08919061464e565b80356110c781615663565b60008083601f8401126146ff57600080fd5b5081356001600160401b0381111561471657600080fd5b60208301915083602082028301111561472e57600080fd5b9250929050565b80356110c781615677565b80516110c781615677565b80356110c781615680565b60008083601f84011261476857600080fd5b5081356001600160401b0381111561477f57600080fd5b60208301915083600182028301111561472e57600080fd5b600082601f8301126147a857600080fd5b81356147bb6147b682615580565b61555a565b915080825260208301602083018583830111156147d757600080fd5b6147e2838284615621565b50505092915050565b6000602082840312156147fd57600080fd5b600061480984846146e2565b949350505050565b6000806040838503121561482457600080fd5b600061483085856146e2565b9250506020614841858286016146e2565b9150509250929050565b60008060006060848603121561486057600080fd5b600061486c86866146e2565b935050602061487d8682870161474b565b92505060408401356001600160401b0381111561489957600080fd5b6148a586828701614797565b9150509250925092565b6000602082840312156148c157600080fd5b60006148098484614740565b6000602082840312156148df57600080fd5b6000614809848461474b565b600080604083850312156148fe57600080fd5b600061490a858561474b565b925050602061484185828601614735565b6000806000806080858703121561493157600080fd5b600061493d878761474b565b945050602061494e8782880161474b565b935050604061495f8782880161474b565b92505060606149708782880161474b565b91505092959194509250565b60008060008060008060008060a0898b03121561499857600080fd5b60006149a48b8b61474b565b98505060208901356001600160401b038111156149c057600080fd5b6149cc8b828c01614756565b975097505060408901356001600160401b038111156149ea57600080fd5b6149f68b828c01614756565b95509550506060614a098b828c0161474b565b93505060808901356001600160401b03811115614a2557600080fd5b614a318b828c016146ed565b92509250509295985092959890939650565b60008060408385031215614a5657600080fd5b6000614a62858561474b565b92505060206148418582860161474b565b600080600080600060a08688031215614a8b57600080fd5b6000614a97888861474b565b9550506020614aa88882890161474b565b9450506040614ab98882890161474b565b9350506060614aca8882890161474b565b9250506080614adb8882890161474b565b9150509295509295909350565b600080600080600080600060a0888a031215614b0357600080fd5b6000614b0f8a8a61474b565b9750506020614b208a828b0161474b565b9650506040614b318a828b0161474b565b95505060608801356001600160401b03811115614b4d57600080fd5b614b598a828b01614756565b945094505060808801356001600160401b03811115614b7757600080fd5b614b838a828b01614756565b925092505092959891949750929550565b614b9d816155f5565b82525050565b614b9d816155b4565b614b9d816155bf565b614b9d81611476565b614b9d614bca82611476565b611476565b614b9d614bca826155c4565b6000614be6826155a7565b614bf081856155ab565b9350614c0081856020860161562d565b614c0981615659565b9093019392505050565b6000614c1e826155a7565b614c288185610b62565b9350614c3881856020860161562d565b9290920192915050565b614b9d81615600565b6000614c58603283610b62565b7f7375626d69744e52452875696e743235362c75696e743235362c627974657333815271322c627974657333322c627974657333322960701b602082015260320192915050565b6000614cac603c83610b62565b7f6170706c7952657175657374496e4368696c64436861696e28626f6f6c2c756981527f6e743235362c616464726573732c627974657333322c627974657329000000006020820152603c0192915050565b6000614d0b600e836155ab565b6d696e70757420746f6f206c6f6e6760901b815260200192915050565b6000614d35602a83610b62565b7f7375626d69744f52422875696e743235362c627974657333322c627974657333815269322c627974657333322960b01b6020820152602a0192915050565b6000614d81603b83610b62565b7f6170706c7952657175657374496e526f6f74436861696e28626f6f6c2c75696e81527f743235362c616464726573732c627974657333322c62797465732900000000006020820152603b0192915050565b80516102c0830190614de584826150b3565b506020820151614df860208501826150b3565b506040820151614e0b60408501826150b3565b506060820151614e1e6060850182614bac565b506080820151614e316080850182614bac565b5060a0820151614e4460a0850182614bac565b5060c0820151614e5760c0850182614bac565b5060e0820151614e6a60e0850182614bac565b50610100820151614e7f610100850182615031565b50610120820151614e946101c0850182614e9a565b50505050565b8051610100830190614eac8482614bb5565b506020820151614ebf6020850182614bb5565b506040820151614ed26040850182614bb5565b506060820151614ee560608501826150b3565b506080820151614ef860808501826150b3565b5060a0820151614f0b60a0850182614bac565b5060c0820151614f1e60c0850182614bac565b5060e0820151614e9460e0850182614bac565b80516101a0830190614f4384826150b3565b506020820151614f5660208501826150b3565b506040820151614f6960408501826150b3565b506060820151614f7c60608501826150b3565b506080820151614f8f60808501826150b3565b5060a0820151614fa260a0850182614bb5565b5060c0820151614fb560c0850182614bb5565b5060e0820151614fc860e0850182614bb5565b50610100820151614fdd610100850182614bac565b50610120820151614ff2610120850182614bac565b50610140820151615007610140850182614bac565b5061016082015161501c610160850182614bac565b50610180820151614e94610180850182614bac565b805160c083019061504284826150b3565b50602082015161505560208501826150b3565b50604082015161506860408501826150b3565b50606082015161507b60608501826150b3565b50608082015161508e60808501826150b3565b5060a0820151614e9460a08501826150b3565b614b9d816155d1565b614b9d81615616565b614b9d816155e9565b60006150c88285614bbe565b6020820191506150d88284614bbe565b5060200192915050565b60006150ee8285614bcf565b6004820191506148098284614c13565b6000610d5e8284614c13565b60006110c782614c4b565b60006110c782614c9f565b60006110c782614d28565b60006110c782614d74565b602081016110c78284614ba3565b604081016151528285614ba3565b610d5e6020830184614ba3565b602081016110c78284614bac565b60a0810161517b8288614bac565b6151886020830187614bb5565b6151956040830186614b94565b6151a26060830185614bb5565b8181036080830152610c468184614bdb565b60c081016151c28289614bac565b6151cf60208301886150b3565b6151dc60408301876150b3565b6151e960608301866150b3565b6151f660808301856150b3565b610c4660a0830184614ba3565b60a081016152118288614bb5565b61521e6020830187614bb5565b6151956040830186614bb5565b60208082528101610d5e8184614bdb565b602080825281016110c781614cfe565b6102c081016110c78284614dd3565b6101a081016110c78284614f31565b602081016110c78284614bb5565b6101008101615287828b614bb5565b615294602083018a614b94565b6152a16040830189614ba3565b6152ae6060830188614c42565b6152bb6080830187614bb5565b81810360a08301526152cd8186614bdb565b90506152dc60c0830185614bac565b6152e960e0830184614bac565b9998505050505050505050565b6101008101615305828b614bb5565b615312602083018a614b94565b61531f6040830189614ba3565b6152ae6060830188614bb5565b6040810161533a8285614bb5565b610d5e6020830184614bac565b608081016153558287614bb5565b6153626020830186614bb5565b61536f6040830185614bb5565b612ba46060830184614bb5565b6040810161538a8285614bb5565b610d5e6020830184614bb5565b60a081016153a58288614bb5565b6153b26020830187614bb5565b6153bf6040830186614bb5565b6153cc6060830185614bb5565b61235c6080830184614bb5565b608081016153e78287614bb5565b6153f46020830186614bb5565b61540160408301856150aa565b612ba460608301846150aa565b610160810161541d828e6150b3565b61542a602083018d614bac565b615437604083018c614bac565b615444606083018b614bac565b615451608083018a614bac565b61545e60a08301896150a1565b61546b60c0830188614ba3565b61547860e0830187614ba3565b615486610100830186614bb5565b615494610120830185614bb5565b8181036101408301526154a78184614bdb565b9d9c50505050505050505050505050565b61018081016154c7828f6150b3565b6154d4602083018e6150b3565b6154e1604083018d6150b3565b6154ee606083018c6150b3565b6154fb608083018b6150b3565b61550860a083018a6150b3565b61551560c08301896150b3565b61552260e08301886150b3565b6155306101008301876150b3565b61553e6101208301866150b3565b61554c6101408301856150b3565b6154a7610160830184614bac565b6040518181016001600160401b038111828210171561557857600080fd5b604052919050565b60006001600160401b0382111561559657600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b60006110c7826155dd565b151590565b6001600160e01b03191690565b6001600160801b031690565b6001600160a01b031690565b6001600160401b031690565b60006110c78261560b565b60006110c782611476565b60006110c7826155b4565b60006110c7826155e9565b82818337506000910152565b60005b83811015615648578181015183820152602001615630565b83811115614e945750506000910152565b601f01601f191690565b61566c816155b4565b8114610c0857600080fd5b61566c816155bf565b61566c8161147656fea365627a7a723158206eecf876ed164303d30cc733813ff412105ba8be23583e9e6eed2b5ae04b06016c6578706572696d656e74616cf564736f6c634300050c0040" 2135 2136 // DeployRootChain deploys a new Ethereum contract, binding an instance of RootChain to it. 2137 func DeployRootChain(auth *bind.TransactOpts, backend bind.ContractBackend, _epochHandler common.Address, _submitHandler common.Address, _etherToken common.Address, _development bool, _NRELength *big.Int, _statesRoot [32]byte, _transactionsRoot [32]byte, _receiptsRoot [32]byte) (common.Address, *types.Transaction, *RootChain, error) { 2138 parsed, err := abi.JSON(strings.NewReader(RootChainABI)) 2139 if err != nil { 2140 return common.Address{}, nil, nil, err 2141 } 2142 2143 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RootChainBin), backend, _epochHandler, _submitHandler, _etherToken, _development, _NRELength, _statesRoot, _transactionsRoot, _receiptsRoot) 2144 if err != nil { 2145 return common.Address{}, nil, nil, err 2146 } 2147 return address, tx, &RootChain{RootChainCaller: RootChainCaller{contract: contract}, RootChainTransactor: RootChainTransactor{contract: contract}, RootChainFilterer: RootChainFilterer{contract: contract}}, nil 2148 } 2149 2150 // RootChain is an auto generated Go binding around an Ethereum contract. 2151 type RootChain struct { 2152 RootChainCaller // Read-only binding to the contract 2153 RootChainTransactor // Write-only binding to the contract 2154 RootChainFilterer // Log filterer for contract events 2155 } 2156 2157 // RootChainCaller is an auto generated read-only Go binding around an Ethereum contract. 2158 type RootChainCaller struct { 2159 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2160 } 2161 2162 // RootChainTransactor is an auto generated write-only Go binding around an Ethereum contract. 2163 type RootChainTransactor struct { 2164 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2165 } 2166 2167 // RootChainFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 2168 type RootChainFilterer struct { 2169 contract *bind.BoundContract // Generic contract wrapper for the low level calls 2170 } 2171 2172 // RootChainSession is an auto generated Go binding around an Ethereum contract, 2173 // with pre-set call and transact options. 2174 type RootChainSession struct { 2175 Contract *RootChain // Generic contract binding to set the session for 2176 CallOpts bind.CallOpts // Call options to use throughout this session 2177 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2178 } 2179 2180 // RootChainCallerSession is an auto generated read-only Go binding around an Ethereum contract, 2181 // with pre-set call options. 2182 type RootChainCallerSession struct { 2183 Contract *RootChainCaller // Generic contract caller binding to set the session for 2184 CallOpts bind.CallOpts // Call options to use throughout this session 2185 } 2186 2187 // RootChainTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 2188 // with pre-set transact options. 2189 type RootChainTransactorSession struct { 2190 Contract *RootChainTransactor // Generic contract transactor binding to set the session for 2191 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 2192 } 2193 2194 // RootChainRaw is an auto generated low-level Go binding around an Ethereum contract. 2195 type RootChainRaw struct { 2196 Contract *RootChain // Generic contract binding to access the raw methods on 2197 } 2198 2199 // RootChainCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 2200 type RootChainCallerRaw struct { 2201 Contract *RootChainCaller // Generic read-only contract binding to access the raw methods on 2202 } 2203 2204 // RootChainTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 2205 type RootChainTransactorRaw struct { 2206 Contract *RootChainTransactor // Generic write-only contract binding to access the raw methods on 2207 } 2208 2209 // NewRootChain creates a new instance of RootChain, bound to a specific deployed contract. 2210 func NewRootChain(address common.Address, backend bind.ContractBackend) (*RootChain, error) { 2211 contract, err := bindRootChain(address, backend, backend, backend) 2212 if err != nil { 2213 return nil, err 2214 } 2215 return &RootChain{RootChainCaller: RootChainCaller{contract: contract}, RootChainTransactor: RootChainTransactor{contract: contract}, RootChainFilterer: RootChainFilterer{contract: contract}}, nil 2216 } 2217 2218 // NewRootChainCaller creates a new read-only instance of RootChain, bound to a specific deployed contract. 2219 func NewRootChainCaller(address common.Address, caller bind.ContractCaller) (*RootChainCaller, error) { 2220 contract, err := bindRootChain(address, caller, nil, nil) 2221 if err != nil { 2222 return nil, err 2223 } 2224 return &RootChainCaller{contract: contract}, nil 2225 } 2226 2227 // NewRootChainTransactor creates a new write-only instance of RootChain, bound to a specific deployed contract. 2228 func NewRootChainTransactor(address common.Address, transactor bind.ContractTransactor) (*RootChainTransactor, error) { 2229 contract, err := bindRootChain(address, nil, transactor, nil) 2230 if err != nil { 2231 return nil, err 2232 } 2233 return &RootChainTransactor{contract: contract}, nil 2234 } 2235 2236 // NewRootChainFilterer creates a new log filterer instance of RootChain, bound to a specific deployed contract. 2237 func NewRootChainFilterer(address common.Address, filterer bind.ContractFilterer) (*RootChainFilterer, error) { 2238 contract, err := bindRootChain(address, nil, nil, filterer) 2239 if err != nil { 2240 return nil, err 2241 } 2242 return &RootChainFilterer{contract: contract}, nil 2243 } 2244 2245 // bindRootChain binds a generic wrapper to an already deployed contract. 2246 func bindRootChain(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 2247 parsed, err := abi.JSON(strings.NewReader(RootChainABI)) 2248 if err != nil { 2249 return nil, err 2250 } 2251 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 2252 } 2253 2254 // Call invokes the (constant) contract method with params as input values and 2255 // sets the output to result. The result type might be a single field for simple 2256 // returns, a slice of interfaces for anonymous returns and a struct for named 2257 // returns. 2258 func (_RootChain *RootChainRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 2259 return _RootChain.Contract.RootChainCaller.contract.Call(opts, result, method, params...) 2260 } 2261 2262 // Transfer initiates a plain transaction to move funds to the contract, calling 2263 // its default method if one is available. 2264 func (_RootChain *RootChainRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2265 return _RootChain.Contract.RootChainTransactor.contract.Transfer(opts) 2266 } 2267 2268 // Transact invokes the (paid) contract method with params as input values. 2269 func (_RootChain *RootChainRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2270 return _RootChain.Contract.RootChainTransactor.contract.Transact(opts, method, params...) 2271 } 2272 2273 // Call invokes the (constant) contract method with params as input values and 2274 // sets the output to result. The result type might be a single field for simple 2275 // returns, a slice of interfaces for anonymous returns and a struct for named 2276 // returns. 2277 func (_RootChain *RootChainCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 2278 return _RootChain.Contract.contract.Call(opts, result, method, params...) 2279 } 2280 2281 // Transfer initiates a plain transaction to move funds to the contract, calling 2282 // its default method if one is available. 2283 func (_RootChain *RootChainTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 2284 return _RootChain.Contract.contract.Transfer(opts) 2285 } 2286 2287 // Transact invokes the (paid) contract method with params as input values. 2288 func (_RootChain *RootChainTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 2289 return _RootChain.Contract.contract.Transact(opts, method, params...) 2290 } 2291 2292 // COSTERO is a free data retrieval call binding the contract method 0xd691acd8. 2293 // 2294 // Solidity: function COST_ERO() constant returns(uint256) 2295 func (_RootChain *RootChainCaller) COSTERO(opts *bind.CallOpts) (*big.Int, error) { 2296 var ( 2297 ret0 = new(*big.Int) 2298 ) 2299 out := ret0 2300 err := _RootChain.contract.Call(opts, out, "COST_ERO") 2301 return *ret0, err 2302 } 2303 2304 // COSTERO is a free data retrieval call binding the contract method 0xd691acd8. 2305 // 2306 // Solidity: function COST_ERO() constant returns(uint256) 2307 func (_RootChain *RootChainSession) COSTERO() (*big.Int, error) { 2308 return _RootChain.Contract.COSTERO(&_RootChain.CallOpts) 2309 } 2310 2311 // COSTERO is a free data retrieval call binding the contract method 0xd691acd8. 2312 // 2313 // Solidity: function COST_ERO() constant returns(uint256) 2314 func (_RootChain *RootChainCallerSession) COSTERO() (*big.Int, error) { 2315 return _RootChain.Contract.COSTERO(&_RootChain.CallOpts) 2316 } 2317 2318 // COSTERU is a free data retrieval call binding the contract method 0x8b5172d0. 2319 // 2320 // Solidity: function COST_ERU() constant returns(uint256) 2321 func (_RootChain *RootChainCaller) COSTERU(opts *bind.CallOpts) (*big.Int, error) { 2322 var ( 2323 ret0 = new(*big.Int) 2324 ) 2325 out := ret0 2326 err := _RootChain.contract.Call(opts, out, "COST_ERU") 2327 return *ret0, err 2328 } 2329 2330 // COSTERU is a free data retrieval call binding the contract method 0x8b5172d0. 2331 // 2332 // Solidity: function COST_ERU() constant returns(uint256) 2333 func (_RootChain *RootChainSession) COSTERU() (*big.Int, error) { 2334 return _RootChain.Contract.COSTERU(&_RootChain.CallOpts) 2335 } 2336 2337 // COSTERU is a free data retrieval call binding the contract method 0x8b5172d0. 2338 // 2339 // Solidity: function COST_ERU() constant returns(uint256) 2340 func (_RootChain *RootChainCallerSession) COSTERU() (*big.Int, error) { 2341 return _RootChain.Contract.COSTERU(&_RootChain.CallOpts) 2342 } 2343 2344 // COSTNRB is a free data retrieval call binding the contract method 0x94be3aa5. 2345 // 2346 // Solidity: function COST_NRB() constant returns(uint256) 2347 func (_RootChain *RootChainCaller) COSTNRB(opts *bind.CallOpts) (*big.Int, error) { 2348 var ( 2349 ret0 = new(*big.Int) 2350 ) 2351 out := ret0 2352 err := _RootChain.contract.Call(opts, out, "COST_NRB") 2353 return *ret0, err 2354 } 2355 2356 // COSTNRB is a free data retrieval call binding the contract method 0x94be3aa5. 2357 // 2358 // Solidity: function COST_NRB() constant returns(uint256) 2359 func (_RootChain *RootChainSession) COSTNRB() (*big.Int, error) { 2360 return _RootChain.Contract.COSTNRB(&_RootChain.CallOpts) 2361 } 2362 2363 // COSTNRB is a free data retrieval call binding the contract method 0x94be3aa5. 2364 // 2365 // Solidity: function COST_NRB() constant returns(uint256) 2366 func (_RootChain *RootChainCallerSession) COSTNRB() (*big.Int, error) { 2367 return _RootChain.Contract.COSTNRB(&_RootChain.CallOpts) 2368 } 2369 2370 // COSTORB is a free data retrieval call binding the contract method 0xb2ae9ba8. 2371 // 2372 // Solidity: function COST_ORB() constant returns(uint256) 2373 func (_RootChain *RootChainCaller) COSTORB(opts *bind.CallOpts) (*big.Int, error) { 2374 var ( 2375 ret0 = new(*big.Int) 2376 ) 2377 out := ret0 2378 err := _RootChain.contract.Call(opts, out, "COST_ORB") 2379 return *ret0, err 2380 } 2381 2382 // COSTORB is a free data retrieval call binding the contract method 0xb2ae9ba8. 2383 // 2384 // Solidity: function COST_ORB() constant returns(uint256) 2385 func (_RootChain *RootChainSession) COSTORB() (*big.Int, error) { 2386 return _RootChain.Contract.COSTORB(&_RootChain.CallOpts) 2387 } 2388 2389 // COSTORB is a free data retrieval call binding the contract method 0xb2ae9ba8. 2390 // 2391 // Solidity: function COST_ORB() constant returns(uint256) 2392 func (_RootChain *RootChainCallerSession) COSTORB() (*big.Int, error) { 2393 return _RootChain.Contract.COSTORB(&_RootChain.CallOpts) 2394 } 2395 2396 // COSTURB is a free data retrieval call binding the contract method 0x192adc5b. 2397 // 2398 // Solidity: function COST_URB() constant returns(uint256) 2399 func (_RootChain *RootChainCaller) COSTURB(opts *bind.CallOpts) (*big.Int, error) { 2400 var ( 2401 ret0 = new(*big.Int) 2402 ) 2403 out := ret0 2404 err := _RootChain.contract.Call(opts, out, "COST_URB") 2405 return *ret0, err 2406 } 2407 2408 // COSTURB is a free data retrieval call binding the contract method 0x192adc5b. 2409 // 2410 // Solidity: function COST_URB() constant returns(uint256) 2411 func (_RootChain *RootChainSession) COSTURB() (*big.Int, error) { 2412 return _RootChain.Contract.COSTURB(&_RootChain.CallOpts) 2413 } 2414 2415 // COSTURB is a free data retrieval call binding the contract method 0x192adc5b. 2416 // 2417 // Solidity: function COST_URB() constant returns(uint256) 2418 func (_RootChain *RootChainCallerSession) COSTURB() (*big.Int, error) { 2419 return _RootChain.Contract.COSTURB(&_RootChain.CallOpts) 2420 } 2421 2422 // COSTURBPREPARE is a free data retrieval call binding the contract method 0x033cfbed. 2423 // 2424 // Solidity: function COST_URB_PREPARE() constant returns(uint256) 2425 func (_RootChain *RootChainCaller) COSTURBPREPARE(opts *bind.CallOpts) (*big.Int, error) { 2426 var ( 2427 ret0 = new(*big.Int) 2428 ) 2429 out := ret0 2430 err := _RootChain.contract.Call(opts, out, "COST_URB_PREPARE") 2431 return *ret0, err 2432 } 2433 2434 // COSTURBPREPARE is a free data retrieval call binding the contract method 0x033cfbed. 2435 // 2436 // Solidity: function COST_URB_PREPARE() constant returns(uint256) 2437 func (_RootChain *RootChainSession) COSTURBPREPARE() (*big.Int, error) { 2438 return _RootChain.Contract.COSTURBPREPARE(&_RootChain.CallOpts) 2439 } 2440 2441 // COSTURBPREPARE is a free data retrieval call binding the contract method 0x033cfbed. 2442 // 2443 // Solidity: function COST_URB_PREPARE() constant returns(uint256) 2444 func (_RootChain *RootChainCallerSession) COSTURBPREPARE() (*big.Int, error) { 2445 return _RootChain.Contract.COSTURBPREPARE(&_RootChain.CallOpts) 2446 } 2447 2448 // CPCOMPUTATION is a free data retrieval call binding the contract method 0x08c4fff0. 2449 // 2450 // Solidity: function CP_COMPUTATION() constant returns(uint256) 2451 func (_RootChain *RootChainCaller) CPCOMPUTATION(opts *bind.CallOpts) (*big.Int, error) { 2452 var ( 2453 ret0 = new(*big.Int) 2454 ) 2455 out := ret0 2456 err := _RootChain.contract.Call(opts, out, "CP_COMPUTATION") 2457 return *ret0, err 2458 } 2459 2460 // CPCOMPUTATION is a free data retrieval call binding the contract method 0x08c4fff0. 2461 // 2462 // Solidity: function CP_COMPUTATION() constant returns(uint256) 2463 func (_RootChain *RootChainSession) CPCOMPUTATION() (*big.Int, error) { 2464 return _RootChain.Contract.CPCOMPUTATION(&_RootChain.CallOpts) 2465 } 2466 2467 // CPCOMPUTATION is a free data retrieval call binding the contract method 0x08c4fff0. 2468 // 2469 // Solidity: function CP_COMPUTATION() constant returns(uint256) 2470 func (_RootChain *RootChainCallerSession) CPCOMPUTATION() (*big.Int, error) { 2471 return _RootChain.Contract.CPCOMPUTATION(&_RootChain.CallOpts) 2472 } 2473 2474 // CPEXIT is a free data retrieval call binding the contract method 0x8155717d. 2475 // 2476 // Solidity: function CP_EXIT() constant returns(uint256) 2477 func (_RootChain *RootChainCaller) CPEXIT(opts *bind.CallOpts) (*big.Int, error) { 2478 var ( 2479 ret0 = new(*big.Int) 2480 ) 2481 out := ret0 2482 err := _RootChain.contract.Call(opts, out, "CP_EXIT") 2483 return *ret0, err 2484 } 2485 2486 // CPEXIT is a free data retrieval call binding the contract method 0x8155717d. 2487 // 2488 // Solidity: function CP_EXIT() constant returns(uint256) 2489 func (_RootChain *RootChainSession) CPEXIT() (*big.Int, error) { 2490 return _RootChain.Contract.CPEXIT(&_RootChain.CallOpts) 2491 } 2492 2493 // CPEXIT is a free data retrieval call binding the contract method 0x8155717d. 2494 // 2495 // Solidity: function CP_EXIT() constant returns(uint256) 2496 func (_RootChain *RootChainCallerSession) CPEXIT() (*big.Int, error) { 2497 return _RootChain.Contract.CPEXIT(&_RootChain.CallOpts) 2498 } 2499 2500 // CPWITHHOLDING is a free data retrieval call binding the contract method 0xb17fa6e9. 2501 // 2502 // Solidity: function CP_WITHHOLDING() constant returns(uint256) 2503 func (_RootChain *RootChainCaller) CPWITHHOLDING(opts *bind.CallOpts) (*big.Int, error) { 2504 var ( 2505 ret0 = new(*big.Int) 2506 ) 2507 out := ret0 2508 err := _RootChain.contract.Call(opts, out, "CP_WITHHOLDING") 2509 return *ret0, err 2510 } 2511 2512 // CPWITHHOLDING is a free data retrieval call binding the contract method 0xb17fa6e9. 2513 // 2514 // Solidity: function CP_WITHHOLDING() constant returns(uint256) 2515 func (_RootChain *RootChainSession) CPWITHHOLDING() (*big.Int, error) { 2516 return _RootChain.Contract.CPWITHHOLDING(&_RootChain.CallOpts) 2517 } 2518 2519 // CPWITHHOLDING is a free data retrieval call binding the contract method 0xb17fa6e9. 2520 // 2521 // Solidity: function CP_WITHHOLDING() constant returns(uint256) 2522 func (_RootChain *RootChainCallerSession) CPWITHHOLDING() (*big.Int, error) { 2523 return _RootChain.Contract.CPWITHHOLDING(&_RootChain.CallOpts) 2524 } 2525 2526 // EROIdToFinalize is a free data retrieval call binding the contract method 0x2dc6bb7b. 2527 // 2528 // Solidity: function EROIdToFinalize() constant returns(uint256) 2529 func (_RootChain *RootChainCaller) EROIdToFinalize(opts *bind.CallOpts) (*big.Int, error) { 2530 var ( 2531 ret0 = new(*big.Int) 2532 ) 2533 out := ret0 2534 err := _RootChain.contract.Call(opts, out, "EROIdToFinalize") 2535 return *ret0, err 2536 } 2537 2538 // EROIdToFinalize is a free data retrieval call binding the contract method 0x2dc6bb7b. 2539 // 2540 // Solidity: function EROIdToFinalize() constant returns(uint256) 2541 func (_RootChain *RootChainSession) EROIdToFinalize() (*big.Int, error) { 2542 return _RootChain.Contract.EROIdToFinalize(&_RootChain.CallOpts) 2543 } 2544 2545 // EROIdToFinalize is a free data retrieval call binding the contract method 0x2dc6bb7b. 2546 // 2547 // Solidity: function EROIdToFinalize() constant returns(uint256) 2548 func (_RootChain *RootChainCallerSession) EROIdToFinalize() (*big.Int, error) { 2549 return _RootChain.Contract.EROIdToFinalize(&_RootChain.CallOpts) 2550 } 2551 2552 // EROs is a free data retrieval call binding the contract method 0xb443f3cc. 2553 // 2554 // Solidity: function EROs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 2555 func (_RootChain *RootChainCaller) EROs(opts *bind.CallOpts, arg0 *big.Int) (struct { 2556 Timestamp uint64 2557 IsExit bool 2558 IsTransfer bool 2559 Finalized bool 2560 Challenged bool 2561 Value *big.Int 2562 Requestor common.Address 2563 To common.Address 2564 TrieKey [32]byte 2565 Hash [32]byte 2566 TrieValue []byte 2567 }, error) { 2568 ret := new(struct { 2569 Timestamp uint64 2570 IsExit bool 2571 IsTransfer bool 2572 Finalized bool 2573 Challenged bool 2574 Value *big.Int 2575 Requestor common.Address 2576 To common.Address 2577 TrieKey [32]byte 2578 Hash [32]byte 2579 TrieValue []byte 2580 }) 2581 out := ret 2582 err := _RootChain.contract.Call(opts, out, "EROs", arg0) 2583 return *ret, err 2584 } 2585 2586 // EROs is a free data retrieval call binding the contract method 0xb443f3cc. 2587 // 2588 // Solidity: function EROs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 2589 func (_RootChain *RootChainSession) EROs(arg0 *big.Int) (struct { 2590 Timestamp uint64 2591 IsExit bool 2592 IsTransfer bool 2593 Finalized bool 2594 Challenged bool 2595 Value *big.Int 2596 Requestor common.Address 2597 To common.Address 2598 TrieKey [32]byte 2599 Hash [32]byte 2600 TrieValue []byte 2601 }, error) { 2602 return _RootChain.Contract.EROs(&_RootChain.CallOpts, arg0) 2603 } 2604 2605 // EROs is a free data retrieval call binding the contract method 0xb443f3cc. 2606 // 2607 // Solidity: function EROs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 2608 func (_RootChain *RootChainCallerSession) EROs(arg0 *big.Int) (struct { 2609 Timestamp uint64 2610 IsExit bool 2611 IsTransfer bool 2612 Finalized bool 2613 Challenged bool 2614 Value *big.Int 2615 Requestor common.Address 2616 To common.Address 2617 TrieKey [32]byte 2618 Hash [32]byte 2619 TrieValue []byte 2620 }, error) { 2621 return _RootChain.Contract.EROs(&_RootChain.CallOpts, arg0) 2622 } 2623 2624 // ERUIdToFinalize is a free data retrieval call binding the contract method 0xc54626cc. 2625 // 2626 // Solidity: function ERUIdToFinalize() constant returns(uint256) 2627 func (_RootChain *RootChainCaller) ERUIdToFinalize(opts *bind.CallOpts) (*big.Int, error) { 2628 var ( 2629 ret0 = new(*big.Int) 2630 ) 2631 out := ret0 2632 err := _RootChain.contract.Call(opts, out, "ERUIdToFinalize") 2633 return *ret0, err 2634 } 2635 2636 // ERUIdToFinalize is a free data retrieval call binding the contract method 0xc54626cc. 2637 // 2638 // Solidity: function ERUIdToFinalize() constant returns(uint256) 2639 func (_RootChain *RootChainSession) ERUIdToFinalize() (*big.Int, error) { 2640 return _RootChain.Contract.ERUIdToFinalize(&_RootChain.CallOpts) 2641 } 2642 2643 // ERUIdToFinalize is a free data retrieval call binding the contract method 0xc54626cc. 2644 // 2645 // Solidity: function ERUIdToFinalize() constant returns(uint256) 2646 func (_RootChain *RootChainCallerSession) ERUIdToFinalize() (*big.Int, error) { 2647 return _RootChain.Contract.ERUIdToFinalize(&_RootChain.CallOpts) 2648 } 2649 2650 // ERUs is a free data retrieval call binding the contract method 0xf4f31de4. 2651 // 2652 // Solidity: function ERUs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 2653 func (_RootChain *RootChainCaller) ERUs(opts *bind.CallOpts, arg0 *big.Int) (struct { 2654 Timestamp uint64 2655 IsExit bool 2656 IsTransfer bool 2657 Finalized bool 2658 Challenged bool 2659 Value *big.Int 2660 Requestor common.Address 2661 To common.Address 2662 TrieKey [32]byte 2663 Hash [32]byte 2664 TrieValue []byte 2665 }, error) { 2666 ret := new(struct { 2667 Timestamp uint64 2668 IsExit bool 2669 IsTransfer bool 2670 Finalized bool 2671 Challenged bool 2672 Value *big.Int 2673 Requestor common.Address 2674 To common.Address 2675 TrieKey [32]byte 2676 Hash [32]byte 2677 TrieValue []byte 2678 }) 2679 out := ret 2680 err := _RootChain.contract.Call(opts, out, "ERUs", arg0) 2681 return *ret, err 2682 } 2683 2684 // ERUs is a free data retrieval call binding the contract method 0xf4f31de4. 2685 // 2686 // Solidity: function ERUs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 2687 func (_RootChain *RootChainSession) ERUs(arg0 *big.Int) (struct { 2688 Timestamp uint64 2689 IsExit bool 2690 IsTransfer bool 2691 Finalized bool 2692 Challenged bool 2693 Value *big.Int 2694 Requestor common.Address 2695 To common.Address 2696 TrieKey [32]byte 2697 Hash [32]byte 2698 TrieValue []byte 2699 }, error) { 2700 return _RootChain.Contract.ERUs(&_RootChain.CallOpts, arg0) 2701 } 2702 2703 // ERUs is a free data retrieval call binding the contract method 0xf4f31de4. 2704 // 2705 // Solidity: function ERUs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 2706 func (_RootChain *RootChainCallerSession) ERUs(arg0 *big.Int) (struct { 2707 Timestamp uint64 2708 IsExit bool 2709 IsTransfer bool 2710 Finalized bool 2711 Challenged bool 2712 Value *big.Int 2713 Requestor common.Address 2714 To common.Address 2715 TrieKey [32]byte 2716 Hash [32]byte 2717 TrieValue []byte 2718 }, error) { 2719 return _RootChain.Contract.ERUs(&_RootChain.CallOpts, arg0) 2720 } 2721 2722 // MAXREQUESTS is a free data retrieval call binding the contract method 0x93521222. 2723 // 2724 // Solidity: function MAX_REQUESTS() constant returns(uint256 maxRequests) 2725 func (_RootChain *RootChainCaller) MAXREQUESTS(opts *bind.CallOpts) (*big.Int, error) { 2726 var ( 2727 ret0 = new(*big.Int) 2728 ) 2729 out := ret0 2730 err := _RootChain.contract.Call(opts, out, "MAX_REQUESTS") 2731 return *ret0, err 2732 } 2733 2734 // MAXREQUESTS is a free data retrieval call binding the contract method 0x93521222. 2735 // 2736 // Solidity: function MAX_REQUESTS() constant returns(uint256 maxRequests) 2737 func (_RootChain *RootChainSession) MAXREQUESTS() (*big.Int, error) { 2738 return _RootChain.Contract.MAXREQUESTS(&_RootChain.CallOpts) 2739 } 2740 2741 // MAXREQUESTS is a free data retrieval call binding the contract method 0x93521222. 2742 // 2743 // Solidity: function MAX_REQUESTS() constant returns(uint256 maxRequests) 2744 func (_RootChain *RootChainCallerSession) MAXREQUESTS() (*big.Int, error) { 2745 return _RootChain.Contract.MAXREQUESTS(&_RootChain.CallOpts) 2746 } 2747 2748 // NRELength is a free data retrieval call binding the contract method 0xab96da2d. 2749 // 2750 // Solidity: function NRELength() constant returns(uint256) 2751 func (_RootChain *RootChainCaller) NRELength(opts *bind.CallOpts) (*big.Int, error) { 2752 var ( 2753 ret0 = new(*big.Int) 2754 ) 2755 out := ret0 2756 err := _RootChain.contract.Call(opts, out, "NRELength") 2757 return *ret0, err 2758 } 2759 2760 // NRELength is a free data retrieval call binding the contract method 0xab96da2d. 2761 // 2762 // Solidity: function NRELength() constant returns(uint256) 2763 func (_RootChain *RootChainSession) NRELength() (*big.Int, error) { 2764 return _RootChain.Contract.NRELength(&_RootChain.CallOpts) 2765 } 2766 2767 // NRELength is a free data retrieval call binding the contract method 0xab96da2d. 2768 // 2769 // Solidity: function NRELength() constant returns(uint256) 2770 func (_RootChain *RootChainCallerSession) NRELength() (*big.Int, error) { 2771 return _RootChain.Contract.NRELength(&_RootChain.CallOpts) 2772 } 2773 2774 // NULLADDRESS is a free data retrieval call binding the contract method 0xde0ce17d. 2775 // 2776 // Solidity: function NULL_ADDRESS() constant returns(address) 2777 func (_RootChain *RootChainCaller) NULLADDRESS(opts *bind.CallOpts) (common.Address, error) { 2778 var ( 2779 ret0 = new(common.Address) 2780 ) 2781 out := ret0 2782 err := _RootChain.contract.Call(opts, out, "NULL_ADDRESS") 2783 return *ret0, err 2784 } 2785 2786 // NULLADDRESS is a free data retrieval call binding the contract method 0xde0ce17d. 2787 // 2788 // Solidity: function NULL_ADDRESS() constant returns(address) 2789 func (_RootChain *RootChainSession) NULLADDRESS() (common.Address, error) { 2790 return _RootChain.Contract.NULLADDRESS(&_RootChain.CallOpts) 2791 } 2792 2793 // NULLADDRESS is a free data retrieval call binding the contract method 0xde0ce17d. 2794 // 2795 // Solidity: function NULL_ADDRESS() constant returns(address) 2796 func (_RootChain *RootChainCallerSession) NULLADDRESS() (common.Address, error) { 2797 return _RootChain.Contract.NULLADDRESS(&_RootChain.CallOpts) 2798 } 2799 2800 // ORBs is a free data retrieval call binding the contract method 0xea7f22a8. 2801 // 2802 // Solidity: function ORBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 2803 func (_RootChain *RootChainCaller) ORBs(opts *bind.CallOpts, arg0 *big.Int) (struct { 2804 Submitted bool 2805 NumEnter uint64 2806 EpochNumber uint64 2807 RequestStart uint64 2808 RequestEnd uint64 2809 Trie common.Address 2810 }, error) { 2811 ret := new(struct { 2812 Submitted bool 2813 NumEnter uint64 2814 EpochNumber uint64 2815 RequestStart uint64 2816 RequestEnd uint64 2817 Trie common.Address 2818 }) 2819 out := ret 2820 err := _RootChain.contract.Call(opts, out, "ORBs", arg0) 2821 return *ret, err 2822 } 2823 2824 // ORBs is a free data retrieval call binding the contract method 0xea7f22a8. 2825 // 2826 // Solidity: function ORBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 2827 func (_RootChain *RootChainSession) ORBs(arg0 *big.Int) (struct { 2828 Submitted bool 2829 NumEnter uint64 2830 EpochNumber uint64 2831 RequestStart uint64 2832 RequestEnd uint64 2833 Trie common.Address 2834 }, error) { 2835 return _RootChain.Contract.ORBs(&_RootChain.CallOpts, arg0) 2836 } 2837 2838 // ORBs is a free data retrieval call binding the contract method 0xea7f22a8. 2839 // 2840 // Solidity: function ORBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 2841 func (_RootChain *RootChainCallerSession) ORBs(arg0 *big.Int) (struct { 2842 Submitted bool 2843 NumEnter uint64 2844 EpochNumber uint64 2845 RequestStart uint64 2846 RequestEnd uint64 2847 Trie common.Address 2848 }, error) { 2849 return _RootChain.Contract.ORBs(&_RootChain.CallOpts, arg0) 2850 } 2851 2852 // PREPARETIMEOUT is a free data retrieval call binding the contract method 0xc2bc88fa. 2853 // 2854 // Solidity: function PREPARE_TIMEOUT() constant returns(uint256) 2855 func (_RootChain *RootChainCaller) PREPARETIMEOUT(opts *bind.CallOpts) (*big.Int, error) { 2856 var ( 2857 ret0 = new(*big.Int) 2858 ) 2859 out := ret0 2860 err := _RootChain.contract.Call(opts, out, "PREPARE_TIMEOUT") 2861 return *ret0, err 2862 } 2863 2864 // PREPARETIMEOUT is a free data retrieval call binding the contract method 0xc2bc88fa. 2865 // 2866 // Solidity: function PREPARE_TIMEOUT() constant returns(uint256) 2867 func (_RootChain *RootChainSession) PREPARETIMEOUT() (*big.Int, error) { 2868 return _RootChain.Contract.PREPARETIMEOUT(&_RootChain.CallOpts) 2869 } 2870 2871 // PREPARETIMEOUT is a free data retrieval call binding the contract method 0xc2bc88fa. 2872 // 2873 // Solidity: function PREPARE_TIMEOUT() constant returns(uint256) 2874 func (_RootChain *RootChainCallerSession) PREPARETIMEOUT() (*big.Int, error) { 2875 return _RootChain.Contract.PREPARETIMEOUT(&_RootChain.CallOpts) 2876 } 2877 2878 // REQUESTGAS is a free data retrieval call binding the contract method 0x8eb288ca. 2879 // 2880 // Solidity: function REQUEST_GAS() constant returns(uint256) 2881 func (_RootChain *RootChainCaller) REQUESTGAS(opts *bind.CallOpts) (*big.Int, error) { 2882 var ( 2883 ret0 = new(*big.Int) 2884 ) 2885 out := ret0 2886 err := _RootChain.contract.Call(opts, out, "REQUEST_GAS") 2887 return *ret0, err 2888 } 2889 2890 // REQUESTGAS is a free data retrieval call binding the contract method 0x8eb288ca. 2891 // 2892 // Solidity: function REQUEST_GAS() constant returns(uint256) 2893 func (_RootChain *RootChainSession) REQUESTGAS() (*big.Int, error) { 2894 return _RootChain.Contract.REQUESTGAS(&_RootChain.CallOpts) 2895 } 2896 2897 // REQUESTGAS is a free data retrieval call binding the contract method 0x8eb288ca. 2898 // 2899 // Solidity: function REQUEST_GAS() constant returns(uint256) 2900 func (_RootChain *RootChainCallerSession) REQUESTGAS() (*big.Int, error) { 2901 return _RootChain.Contract.REQUESTGAS(&_RootChain.CallOpts) 2902 } 2903 2904 // URBs is a free data retrieval call binding the contract method 0xc0e86064. 2905 // 2906 // Solidity: function URBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 2907 func (_RootChain *RootChainCaller) URBs(opts *bind.CallOpts, arg0 *big.Int) (struct { 2908 Submitted bool 2909 NumEnter uint64 2910 EpochNumber uint64 2911 RequestStart uint64 2912 RequestEnd uint64 2913 Trie common.Address 2914 }, error) { 2915 ret := new(struct { 2916 Submitted bool 2917 NumEnter uint64 2918 EpochNumber uint64 2919 RequestStart uint64 2920 RequestEnd uint64 2921 Trie common.Address 2922 }) 2923 out := ret 2924 err := _RootChain.contract.Call(opts, out, "URBs", arg0) 2925 return *ret, err 2926 } 2927 2928 // URBs is a free data retrieval call binding the contract method 0xc0e86064. 2929 // 2930 // Solidity: function URBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 2931 func (_RootChain *RootChainSession) URBs(arg0 *big.Int) (struct { 2932 Submitted bool 2933 NumEnter uint64 2934 EpochNumber uint64 2935 RequestStart uint64 2936 RequestEnd uint64 2937 Trie common.Address 2938 }, error) { 2939 return _RootChain.Contract.URBs(&_RootChain.CallOpts, arg0) 2940 } 2941 2942 // URBs is a free data retrieval call binding the contract method 0xc0e86064. 2943 // 2944 // Solidity: function URBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 2945 func (_RootChain *RootChainCallerSession) URBs(arg0 *big.Int) (struct { 2946 Submitted bool 2947 NumEnter uint64 2948 EpochNumber uint64 2949 RequestStart uint64 2950 RequestEnd uint64 2951 Trie common.Address 2952 }, error) { 2953 return _RootChain.Contract.URBs(&_RootChain.CallOpts, arg0) 2954 } 2955 2956 // CurrentFork is a free data retrieval call binding the contract method 0x183d2d1c. 2957 // 2958 // Solidity: function currentFork() constant returns(uint256) 2959 func (_RootChain *RootChainCaller) CurrentFork(opts *bind.CallOpts) (*big.Int, error) { 2960 var ( 2961 ret0 = new(*big.Int) 2962 ) 2963 out := ret0 2964 err := _RootChain.contract.Call(opts, out, "currentFork") 2965 return *ret0, err 2966 } 2967 2968 // CurrentFork is a free data retrieval call binding the contract method 0x183d2d1c. 2969 // 2970 // Solidity: function currentFork() constant returns(uint256) 2971 func (_RootChain *RootChainSession) CurrentFork() (*big.Int, error) { 2972 return _RootChain.Contract.CurrentFork(&_RootChain.CallOpts) 2973 } 2974 2975 // CurrentFork is a free data retrieval call binding the contract method 0x183d2d1c. 2976 // 2977 // Solidity: function currentFork() constant returns(uint256) 2978 func (_RootChain *RootChainCallerSession) CurrentFork() (*big.Int, error) { 2979 return _RootChain.Contract.CurrentFork(&_RootChain.CallOpts) 2980 } 2981 2982 // Development is a free data retrieval call binding the contract method 0x7b929c27. 2983 // 2984 // Solidity: function development() constant returns(bool) 2985 func (_RootChain *RootChainCaller) Development(opts *bind.CallOpts) (bool, error) { 2986 var ( 2987 ret0 = new(bool) 2988 ) 2989 out := ret0 2990 err := _RootChain.contract.Call(opts, out, "development") 2991 return *ret0, err 2992 } 2993 2994 // Development is a free data retrieval call binding the contract method 0x7b929c27. 2995 // 2996 // Solidity: function development() constant returns(bool) 2997 func (_RootChain *RootChainSession) Development() (bool, error) { 2998 return _RootChain.Contract.Development(&_RootChain.CallOpts) 2999 } 3000 3001 // Development is a free data retrieval call binding the contract method 0x7b929c27. 3002 // 3003 // Solidity: function development() constant returns(bool) 3004 func (_RootChain *RootChainCallerSession) Development() (bool, error) { 3005 return _RootChain.Contract.Development(&_RootChain.CallOpts) 3006 } 3007 3008 // EpochHandler is a free data retrieval call binding the contract method 0xe7b88b80. 3009 // 3010 // Solidity: function epochHandler() constant returns(address) 3011 func (_RootChain *RootChainCaller) EpochHandler(opts *bind.CallOpts) (common.Address, error) { 3012 var ( 3013 ret0 = new(common.Address) 3014 ) 3015 out := ret0 3016 err := _RootChain.contract.Call(opts, out, "epochHandler") 3017 return *ret0, err 3018 } 3019 3020 // EpochHandler is a free data retrieval call binding the contract method 0xe7b88b80. 3021 // 3022 // Solidity: function epochHandler() constant returns(address) 3023 func (_RootChain *RootChainSession) EpochHandler() (common.Address, error) { 3024 return _RootChain.Contract.EpochHandler(&_RootChain.CallOpts) 3025 } 3026 3027 // EpochHandler is a free data retrieval call binding the contract method 0xe7b88b80. 3028 // 3029 // Solidity: function epochHandler() constant returns(address) 3030 func (_RootChain *RootChainCallerSession) EpochHandler() (common.Address, error) { 3031 return _RootChain.Contract.EpochHandler(&_RootChain.CallOpts) 3032 } 3033 3034 // EtherToken is a free data retrieval call binding the contract method 0xb8066bcb. 3035 // 3036 // Solidity: function etherToken() constant returns(address) 3037 func (_RootChain *RootChainCaller) EtherToken(opts *bind.CallOpts) (common.Address, error) { 3038 var ( 3039 ret0 = new(common.Address) 3040 ) 3041 out := ret0 3042 err := _RootChain.contract.Call(opts, out, "etherToken") 3043 return *ret0, err 3044 } 3045 3046 // EtherToken is a free data retrieval call binding the contract method 0xb8066bcb. 3047 // 3048 // Solidity: function etherToken() constant returns(address) 3049 func (_RootChain *RootChainSession) EtherToken() (common.Address, error) { 3050 return _RootChain.Contract.EtherToken(&_RootChain.CallOpts) 3051 } 3052 3053 // EtherToken is a free data retrieval call binding the contract method 0xb8066bcb. 3054 // 3055 // Solidity: function etherToken() constant returns(address) 3056 func (_RootChain *RootChainCallerSession) EtherToken() (common.Address, error) { 3057 return _RootChain.Contract.EtherToken(&_RootChain.CallOpts) 3058 } 3059 3060 // FirstFilledORENumber is a free data retrieval call binding the contract method 0x72ecb9a8. 3061 // 3062 // Solidity: function firstFilledORENumber(uint256 ) constant returns(uint256) 3063 func (_RootChain *RootChainCaller) FirstFilledORENumber(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { 3064 var ( 3065 ret0 = new(*big.Int) 3066 ) 3067 out := ret0 3068 err := _RootChain.contract.Call(opts, out, "firstFilledORENumber", arg0) 3069 return *ret0, err 3070 } 3071 3072 // FirstFilledORENumber is a free data retrieval call binding the contract method 0x72ecb9a8. 3073 // 3074 // Solidity: function firstFilledORENumber(uint256 ) constant returns(uint256) 3075 func (_RootChain *RootChainSession) FirstFilledORENumber(arg0 *big.Int) (*big.Int, error) { 3076 return _RootChain.Contract.FirstFilledORENumber(&_RootChain.CallOpts, arg0) 3077 } 3078 3079 // FirstFilledORENumber is a free data retrieval call binding the contract method 0x72ecb9a8. 3080 // 3081 // Solidity: function firstFilledORENumber(uint256 ) constant returns(uint256) 3082 func (_RootChain *RootChainCallerSession) FirstFilledORENumber(arg0 *big.Int) (*big.Int, error) { 3083 return _RootChain.Contract.FirstFilledORENumber(&_RootChain.CallOpts, arg0) 3084 } 3085 3086 // FirstNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xca6f6380. 3087 // 3088 // Solidity: function firstNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 3089 func (_RootChain *RootChainCaller) FirstNonEmptyRequestEpoch(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { 3090 var ( 3091 ret0 = new(*big.Int) 3092 ) 3093 out := ret0 3094 err := _RootChain.contract.Call(opts, out, "firstNonEmptyRequestEpoch", arg0) 3095 return *ret0, err 3096 } 3097 3098 // FirstNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xca6f6380. 3099 // 3100 // Solidity: function firstNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 3101 func (_RootChain *RootChainSession) FirstNonEmptyRequestEpoch(arg0 *big.Int) (*big.Int, error) { 3102 return _RootChain.Contract.FirstNonEmptyRequestEpoch(&_RootChain.CallOpts, arg0) 3103 } 3104 3105 // FirstNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xca6f6380. 3106 // 3107 // Solidity: function firstNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 3108 func (_RootChain *RootChainCallerSession) FirstNonEmptyRequestEpoch(arg0 *big.Int) (*big.Int, error) { 3109 return _RootChain.Contract.FirstNonEmptyRequestEpoch(&_RootChain.CallOpts, arg0) 3110 } 3111 3112 // Forked is a free data retrieval call binding the contract method 0xce8a2bc2. 3113 // 3114 // Solidity: function forked(uint256 _forkNumber) constant returns(bool result) 3115 func (_RootChain *RootChainCaller) Forked(opts *bind.CallOpts, _forkNumber *big.Int) (bool, error) { 3116 var ( 3117 ret0 = new(bool) 3118 ) 3119 out := ret0 3120 err := _RootChain.contract.Call(opts, out, "forked", _forkNumber) 3121 return *ret0, err 3122 } 3123 3124 // Forked is a free data retrieval call binding the contract method 0xce8a2bc2. 3125 // 3126 // Solidity: function forked(uint256 _forkNumber) constant returns(bool result) 3127 func (_RootChain *RootChainSession) Forked(_forkNumber *big.Int) (bool, error) { 3128 return _RootChain.Contract.Forked(&_RootChain.CallOpts, _forkNumber) 3129 } 3130 3131 // Forked is a free data retrieval call binding the contract method 0xce8a2bc2. 3132 // 3133 // Solidity: function forked(uint256 _forkNumber) constant returns(bool result) 3134 func (_RootChain *RootChainCallerSession) Forked(_forkNumber *big.Int) (bool, error) { 3135 return _RootChain.Contract.Forked(&_RootChain.CallOpts, _forkNumber) 3136 } 3137 3138 // Forks is a free data retrieval call binding the contract method 0x4ba3a126. 3139 // 3140 // Solidity: function forks(uint256 ) constant returns(uint64 forkedBlock, uint64 firstEpoch, uint64 lastEpoch, uint64 firstBlock, uint64 lastBlock, uint64 lastFinalizedEpoch, uint64 lastFinalizedBlock, uint64 timestamp, uint64 firstEnterEpoch, uint64 lastEnterEpoch, uint64 nextBlockToRebase, bool rebased) 3141 func (_RootChain *RootChainCaller) Forks(opts *bind.CallOpts, arg0 *big.Int) (struct { 3142 ForkedBlock uint64 3143 FirstEpoch uint64 3144 LastEpoch uint64 3145 FirstBlock uint64 3146 LastBlock uint64 3147 LastFinalizedEpoch uint64 3148 LastFinalizedBlock uint64 3149 Timestamp uint64 3150 FirstEnterEpoch uint64 3151 LastEnterEpoch uint64 3152 NextBlockToRebase uint64 3153 Rebased bool 3154 }, error) { 3155 ret := new(struct { 3156 ForkedBlock uint64 3157 FirstEpoch uint64 3158 LastEpoch uint64 3159 FirstBlock uint64 3160 LastBlock uint64 3161 LastFinalizedEpoch uint64 3162 LastFinalizedBlock uint64 3163 Timestamp uint64 3164 FirstEnterEpoch uint64 3165 LastEnterEpoch uint64 3166 NextBlockToRebase uint64 3167 Rebased bool 3168 }) 3169 out := ret 3170 err := _RootChain.contract.Call(opts, out, "forks", arg0) 3171 return *ret, err 3172 } 3173 3174 // Forks is a free data retrieval call binding the contract method 0x4ba3a126. 3175 // 3176 // Solidity: function forks(uint256 ) constant returns(uint64 forkedBlock, uint64 firstEpoch, uint64 lastEpoch, uint64 firstBlock, uint64 lastBlock, uint64 lastFinalizedEpoch, uint64 lastFinalizedBlock, uint64 timestamp, uint64 firstEnterEpoch, uint64 lastEnterEpoch, uint64 nextBlockToRebase, bool rebased) 3177 func (_RootChain *RootChainSession) Forks(arg0 *big.Int) (struct { 3178 ForkedBlock uint64 3179 FirstEpoch uint64 3180 LastEpoch uint64 3181 FirstBlock uint64 3182 LastBlock uint64 3183 LastFinalizedEpoch uint64 3184 LastFinalizedBlock uint64 3185 Timestamp uint64 3186 FirstEnterEpoch uint64 3187 LastEnterEpoch uint64 3188 NextBlockToRebase uint64 3189 Rebased bool 3190 }, error) { 3191 return _RootChain.Contract.Forks(&_RootChain.CallOpts, arg0) 3192 } 3193 3194 // Forks is a free data retrieval call binding the contract method 0x4ba3a126. 3195 // 3196 // Solidity: function forks(uint256 ) constant returns(uint64 forkedBlock, uint64 firstEpoch, uint64 lastEpoch, uint64 firstBlock, uint64 lastBlock, uint64 lastFinalizedEpoch, uint64 lastFinalizedBlock, uint64 timestamp, uint64 firstEnterEpoch, uint64 lastEnterEpoch, uint64 nextBlockToRebase, bool rebased) 3197 func (_RootChain *RootChainCallerSession) Forks(arg0 *big.Int) (struct { 3198 ForkedBlock uint64 3199 FirstEpoch uint64 3200 LastEpoch uint64 3201 FirstBlock uint64 3202 LastBlock uint64 3203 LastFinalizedEpoch uint64 3204 LastFinalizedBlock uint64 3205 Timestamp uint64 3206 FirstEnterEpoch uint64 3207 LastEnterEpoch uint64 3208 NextBlockToRebase uint64 3209 Rebased bool 3210 }, error) { 3211 return _RootChain.Contract.Forks(&_RootChain.CallOpts, arg0) 3212 } 3213 3214 // GetBlock is a free data retrieval call binding the contract method 0x4a44bdb8. 3215 // 3216 // Solidity: function getBlock(uint256 forkNumber, uint256 blockNumber) constant returns(DataPlasmaBlock) 3217 func (_RootChain *RootChainCaller) GetBlock(opts *bind.CallOpts, forkNumber *big.Int, blockNumber *big.Int) (DataPlasmaBlock, error) { 3218 var ( 3219 ret0 = new(DataPlasmaBlock) 3220 ) 3221 out := ret0 3222 err := _RootChain.contract.Call(opts, out, "getBlock", forkNumber, blockNumber) 3223 return *ret0, err 3224 } 3225 3226 // GetBlock is a free data retrieval call binding the contract method 0x4a44bdb8. 3227 // 3228 // Solidity: function getBlock(uint256 forkNumber, uint256 blockNumber) constant returns(DataPlasmaBlock) 3229 func (_RootChain *RootChainSession) GetBlock(forkNumber *big.Int, blockNumber *big.Int) (DataPlasmaBlock, error) { 3230 return _RootChain.Contract.GetBlock(&_RootChain.CallOpts, forkNumber, blockNumber) 3231 } 3232 3233 // GetBlock is a free data retrieval call binding the contract method 0x4a44bdb8. 3234 // 3235 // Solidity: function getBlock(uint256 forkNumber, uint256 blockNumber) constant returns(DataPlasmaBlock) 3236 func (_RootChain *RootChainCallerSession) GetBlock(forkNumber *big.Int, blockNumber *big.Int) (DataPlasmaBlock, error) { 3237 return _RootChain.Contract.GetBlock(&_RootChain.CallOpts, forkNumber, blockNumber) 3238 } 3239 3240 // GetBlockFinalizedAt is a free data retrieval call binding the contract method 0x5b884682. 3241 // 3242 // Solidity: function getBlockFinalizedAt(uint256 forkNumber, uint256 blockNumber) constant returns(uint256) 3243 func (_RootChain *RootChainCaller) GetBlockFinalizedAt(opts *bind.CallOpts, forkNumber *big.Int, blockNumber *big.Int) (*big.Int, error) { 3244 var ( 3245 ret0 = new(*big.Int) 3246 ) 3247 out := ret0 3248 err := _RootChain.contract.Call(opts, out, "getBlockFinalizedAt", forkNumber, blockNumber) 3249 return *ret0, err 3250 } 3251 3252 // GetBlockFinalizedAt is a free data retrieval call binding the contract method 0x5b884682. 3253 // 3254 // Solidity: function getBlockFinalizedAt(uint256 forkNumber, uint256 blockNumber) constant returns(uint256) 3255 func (_RootChain *RootChainSession) GetBlockFinalizedAt(forkNumber *big.Int, blockNumber *big.Int) (*big.Int, error) { 3256 return _RootChain.Contract.GetBlockFinalizedAt(&_RootChain.CallOpts, forkNumber, blockNumber) 3257 } 3258 3259 // GetBlockFinalizedAt is a free data retrieval call binding the contract method 0x5b884682. 3260 // 3261 // Solidity: function getBlockFinalizedAt(uint256 forkNumber, uint256 blockNumber) constant returns(uint256) 3262 func (_RootChain *RootChainCallerSession) GetBlockFinalizedAt(forkNumber *big.Int, blockNumber *big.Int) (*big.Int, error) { 3263 return _RootChain.Contract.GetBlockFinalizedAt(&_RootChain.CallOpts, forkNumber, blockNumber) 3264 } 3265 3266 // GetEROBytes is a free data retrieval call binding the contract method 0xd1723a96. 3267 // 3268 // Solidity: function getEROBytes(uint256 _requestId) constant returns(bytes out) 3269 func (_RootChain *RootChainCaller) GetEROBytes(opts *bind.CallOpts, _requestId *big.Int) ([]byte, error) { 3270 var ( 3271 ret0 = new([]byte) 3272 ) 3273 out := ret0 3274 err := _RootChain.contract.Call(opts, out, "getEROBytes", _requestId) 3275 return *ret0, err 3276 } 3277 3278 // GetEROBytes is a free data retrieval call binding the contract method 0xd1723a96. 3279 // 3280 // Solidity: function getEROBytes(uint256 _requestId) constant returns(bytes out) 3281 func (_RootChain *RootChainSession) GetEROBytes(_requestId *big.Int) ([]byte, error) { 3282 return _RootChain.Contract.GetEROBytes(&_RootChain.CallOpts, _requestId) 3283 } 3284 3285 // GetEROBytes is a free data retrieval call binding the contract method 0xd1723a96. 3286 // 3287 // Solidity: function getEROBytes(uint256 _requestId) constant returns(bytes out) 3288 func (_RootChain *RootChainCallerSession) GetEROBytes(_requestId *big.Int) ([]byte, error) { 3289 return _RootChain.Contract.GetEROBytes(&_RootChain.CallOpts, _requestId) 3290 } 3291 3292 // GetEpoch is a free data retrieval call binding the contract method 0x2b25a38b. 3293 // 3294 // Solidity: function getEpoch(uint256 forkNumber, uint256 epochNumber) constant returns(DataEpoch epoch) 3295 func (_RootChain *RootChainCaller) GetEpoch(opts *bind.CallOpts, forkNumber *big.Int, epochNumber *big.Int) (DataEpoch, error) { 3296 var ( 3297 ret0 = new(DataEpoch) 3298 ) 3299 out := ret0 3300 err := _RootChain.contract.Call(opts, out, "getEpoch", forkNumber, epochNumber) 3301 return *ret0, err 3302 } 3303 3304 // GetEpoch is a free data retrieval call binding the contract method 0x2b25a38b. 3305 // 3306 // Solidity: function getEpoch(uint256 forkNumber, uint256 epochNumber) constant returns(DataEpoch epoch) 3307 func (_RootChain *RootChainSession) GetEpoch(forkNumber *big.Int, epochNumber *big.Int) (DataEpoch, error) { 3308 return _RootChain.Contract.GetEpoch(&_RootChain.CallOpts, forkNumber, epochNumber) 3309 } 3310 3311 // GetEpoch is a free data retrieval call binding the contract method 0x2b25a38b. 3312 // 3313 // Solidity: function getEpoch(uint256 forkNumber, uint256 epochNumber) constant returns(DataEpoch epoch) 3314 func (_RootChain *RootChainCallerSession) GetEpoch(forkNumber *big.Int, epochNumber *big.Int) (DataEpoch, error) { 3315 return _RootChain.Contract.GetEpoch(&_RootChain.CallOpts, forkNumber, epochNumber) 3316 } 3317 3318 // GetLastEpoch is a free data retrieval call binding the contract method 0x398bac63. 3319 // 3320 // Solidity: function getLastEpoch() constant returns(DataEpoch) 3321 func (_RootChain *RootChainCaller) GetLastEpoch(opts *bind.CallOpts) (DataEpoch, error) { 3322 var ( 3323 ret0 = new(DataEpoch) 3324 ) 3325 out := ret0 3326 err := _RootChain.contract.Call(opts, out, "getLastEpoch") 3327 return *ret0, err 3328 } 3329 3330 // GetLastEpoch is a free data retrieval call binding the contract method 0x398bac63. 3331 // 3332 // Solidity: function getLastEpoch() constant returns(DataEpoch) 3333 func (_RootChain *RootChainSession) GetLastEpoch() (DataEpoch, error) { 3334 return _RootChain.Contract.GetLastEpoch(&_RootChain.CallOpts) 3335 } 3336 3337 // GetLastEpoch is a free data retrieval call binding the contract method 0x398bac63. 3338 // 3339 // Solidity: function getLastEpoch() constant returns(DataEpoch) 3340 func (_RootChain *RootChainCallerSession) GetLastEpoch() (DataEpoch, error) { 3341 return _RootChain.Contract.GetLastEpoch(&_RootChain.CallOpts) 3342 } 3343 3344 // GetLastFinalizedBlock is a free data retrieval call binding the contract method 0xd636857e. 3345 // 3346 // Solidity: function getLastFinalizedBlock(uint256 forkNumber) constant returns(uint256) 3347 func (_RootChain *RootChainCaller) GetLastFinalizedBlock(opts *bind.CallOpts, forkNumber *big.Int) (*big.Int, error) { 3348 var ( 3349 ret0 = new(*big.Int) 3350 ) 3351 out := ret0 3352 err := _RootChain.contract.Call(opts, out, "getLastFinalizedBlock", forkNumber) 3353 return *ret0, err 3354 } 3355 3356 // GetLastFinalizedBlock is a free data retrieval call binding the contract method 0xd636857e. 3357 // 3358 // Solidity: function getLastFinalizedBlock(uint256 forkNumber) constant returns(uint256) 3359 func (_RootChain *RootChainSession) GetLastFinalizedBlock(forkNumber *big.Int) (*big.Int, error) { 3360 return _RootChain.Contract.GetLastFinalizedBlock(&_RootChain.CallOpts, forkNumber) 3361 } 3362 3363 // GetLastFinalizedBlock is a free data retrieval call binding the contract method 0xd636857e. 3364 // 3365 // Solidity: function getLastFinalizedBlock(uint256 forkNumber) constant returns(uint256) 3366 func (_RootChain *RootChainCallerSession) GetLastFinalizedBlock(forkNumber *big.Int) (*big.Int, error) { 3367 return _RootChain.Contract.GetLastFinalizedBlock(&_RootChain.CallOpts, forkNumber) 3368 } 3369 3370 // GetLastFinalizedEpoch is a free data retrieval call binding the contract method 0x019dc099. 3371 // 3372 // Solidity: function getLastFinalizedEpoch(uint256 forkNumber) constant returns(uint256) 3373 func (_RootChain *RootChainCaller) GetLastFinalizedEpoch(opts *bind.CallOpts, forkNumber *big.Int) (*big.Int, error) { 3374 var ( 3375 ret0 = new(*big.Int) 3376 ) 3377 out := ret0 3378 err := _RootChain.contract.Call(opts, out, "getLastFinalizedEpoch", forkNumber) 3379 return *ret0, err 3380 } 3381 3382 // GetLastFinalizedEpoch is a free data retrieval call binding the contract method 0x019dc099. 3383 // 3384 // Solidity: function getLastFinalizedEpoch(uint256 forkNumber) constant returns(uint256) 3385 func (_RootChain *RootChainSession) GetLastFinalizedEpoch(forkNumber *big.Int) (*big.Int, error) { 3386 return _RootChain.Contract.GetLastFinalizedEpoch(&_RootChain.CallOpts, forkNumber) 3387 } 3388 3389 // GetLastFinalizedEpoch is a free data retrieval call binding the contract method 0x019dc099. 3390 // 3391 // Solidity: function getLastFinalizedEpoch(uint256 forkNumber) constant returns(uint256) 3392 func (_RootChain *RootChainCallerSession) GetLastFinalizedEpoch(forkNumber *big.Int) (*big.Int, error) { 3393 return _RootChain.Contract.GetLastFinalizedEpoch(&_RootChain.CallOpts, forkNumber) 3394 } 3395 3396 // GetNumEROs is a free data retrieval call binding the contract method 0xb540adba. 3397 // 3398 // Solidity: function getNumEROs() constant returns(uint256) 3399 func (_RootChain *RootChainCaller) GetNumEROs(opts *bind.CallOpts) (*big.Int, error) { 3400 var ( 3401 ret0 = new(*big.Int) 3402 ) 3403 out := ret0 3404 err := _RootChain.contract.Call(opts, out, "getNumEROs") 3405 return *ret0, err 3406 } 3407 3408 // GetNumEROs is a free data retrieval call binding the contract method 0xb540adba. 3409 // 3410 // Solidity: function getNumEROs() constant returns(uint256) 3411 func (_RootChain *RootChainSession) GetNumEROs() (*big.Int, error) { 3412 return _RootChain.Contract.GetNumEROs(&_RootChain.CallOpts) 3413 } 3414 3415 // GetNumEROs is a free data retrieval call binding the contract method 0xb540adba. 3416 // 3417 // Solidity: function getNumEROs() constant returns(uint256) 3418 func (_RootChain *RootChainCallerSession) GetNumEROs() (*big.Int, error) { 3419 return _RootChain.Contract.GetNumEROs(&_RootChain.CallOpts) 3420 } 3421 3422 // GetNumORBs is a free data retrieval call binding the contract method 0xea0c73f6. 3423 // 3424 // Solidity: function getNumORBs() constant returns(uint256) 3425 func (_RootChain *RootChainCaller) GetNumORBs(opts *bind.CallOpts) (*big.Int, error) { 3426 var ( 3427 ret0 = new(*big.Int) 3428 ) 3429 out := ret0 3430 err := _RootChain.contract.Call(opts, out, "getNumORBs") 3431 return *ret0, err 3432 } 3433 3434 // GetNumORBs is a free data retrieval call binding the contract method 0xea0c73f6. 3435 // 3436 // Solidity: function getNumORBs() constant returns(uint256) 3437 func (_RootChain *RootChainSession) GetNumORBs() (*big.Int, error) { 3438 return _RootChain.Contract.GetNumORBs(&_RootChain.CallOpts) 3439 } 3440 3441 // GetNumORBs is a free data retrieval call binding the contract method 0xea0c73f6. 3442 // 3443 // Solidity: function getNumORBs() constant returns(uint256) 3444 func (_RootChain *RootChainCallerSession) GetNumORBs() (*big.Int, error) { 3445 return _RootChain.Contract.GetNumORBs(&_RootChain.CallOpts) 3446 } 3447 3448 // GetRequestFinalized is a free data retrieval call binding the contract method 0xf28a7afa. 3449 // 3450 // Solidity: function getRequestFinalized(uint256 _requestId, bool _userActivated) constant returns(bool finalized) 3451 func (_RootChain *RootChainCaller) GetRequestFinalized(opts *bind.CallOpts, _requestId *big.Int, _userActivated bool) (bool, error) { 3452 var ( 3453 ret0 = new(bool) 3454 ) 3455 out := ret0 3456 err := _RootChain.contract.Call(opts, out, "getRequestFinalized", _requestId, _userActivated) 3457 return *ret0, err 3458 } 3459 3460 // GetRequestFinalized is a free data retrieval call binding the contract method 0xf28a7afa. 3461 // 3462 // Solidity: function getRequestFinalized(uint256 _requestId, bool _userActivated) constant returns(bool finalized) 3463 func (_RootChain *RootChainSession) GetRequestFinalized(_requestId *big.Int, _userActivated bool) (bool, error) { 3464 return _RootChain.Contract.GetRequestFinalized(&_RootChain.CallOpts, _requestId, _userActivated) 3465 } 3466 3467 // GetRequestFinalized is a free data retrieval call binding the contract method 0xf28a7afa. 3468 // 3469 // Solidity: function getRequestFinalized(uint256 _requestId, bool _userActivated) constant returns(bool finalized) 3470 func (_RootChain *RootChainCallerSession) GetRequestFinalized(_requestId *big.Int, _userActivated bool) (bool, error) { 3471 return _RootChain.Contract.GetRequestFinalized(&_RootChain.CallOpts, _requestId, _userActivated) 3472 } 3473 3474 // IsMapper is a free data retrieval call binding the contract method 0xc0c49c2a. 3475 // 3476 // Solidity: function isMapper(address account) constant returns(bool) 3477 func (_RootChain *RootChainCaller) IsMapper(opts *bind.CallOpts, account common.Address) (bool, error) { 3478 var ( 3479 ret0 = new(bool) 3480 ) 3481 out := ret0 3482 err := _RootChain.contract.Call(opts, out, "isMapper", account) 3483 return *ret0, err 3484 } 3485 3486 // IsMapper is a free data retrieval call binding the contract method 0xc0c49c2a. 3487 // 3488 // Solidity: function isMapper(address account) constant returns(bool) 3489 func (_RootChain *RootChainSession) IsMapper(account common.Address) (bool, error) { 3490 return _RootChain.Contract.IsMapper(&_RootChain.CallOpts, account) 3491 } 3492 3493 // IsMapper is a free data retrieval call binding the contract method 0xc0c49c2a. 3494 // 3495 // Solidity: function isMapper(address account) constant returns(bool) 3496 func (_RootChain *RootChainCallerSession) IsMapper(account common.Address) (bool, error) { 3497 return _RootChain.Contract.IsMapper(&_RootChain.CallOpts, account) 3498 } 3499 3500 // IsRootChain is a free data retrieval call binding the contract method 0x420bb4b8. 3501 // 3502 // Solidity: function isRootChain() constant returns(bool) 3503 func (_RootChain *RootChainCaller) IsRootChain(opts *bind.CallOpts) (bool, error) { 3504 var ( 3505 ret0 = new(bool) 3506 ) 3507 out := ret0 3508 err := _RootChain.contract.Call(opts, out, "isRootChain") 3509 return *ret0, err 3510 } 3511 3512 // IsRootChain is a free data retrieval call binding the contract method 0x420bb4b8. 3513 // 3514 // Solidity: function isRootChain() constant returns(bool) 3515 func (_RootChain *RootChainSession) IsRootChain() (bool, error) { 3516 return _RootChain.Contract.IsRootChain(&_RootChain.CallOpts) 3517 } 3518 3519 // IsRootChain is a free data retrieval call binding the contract method 0x420bb4b8. 3520 // 3521 // Solidity: function isRootChain() constant returns(bool) 3522 func (_RootChain *RootChainCallerSession) IsRootChain() (bool, error) { 3523 return _RootChain.Contract.IsRootChain(&_RootChain.CallOpts) 3524 } 3525 3526 // IsSubmitter is a free data retrieval call binding the contract method 0xa926fdbc. 3527 // 3528 // Solidity: function isSubmitter(address account) constant returns(bool) 3529 func (_RootChain *RootChainCaller) IsSubmitter(opts *bind.CallOpts, account common.Address) (bool, error) { 3530 var ( 3531 ret0 = new(bool) 3532 ) 3533 out := ret0 3534 err := _RootChain.contract.Call(opts, out, "isSubmitter", account) 3535 return *ret0, err 3536 } 3537 3538 // IsSubmitter is a free data retrieval call binding the contract method 0xa926fdbc. 3539 // 3540 // Solidity: function isSubmitter(address account) constant returns(bool) 3541 func (_RootChain *RootChainSession) IsSubmitter(account common.Address) (bool, error) { 3542 return _RootChain.Contract.IsSubmitter(&_RootChain.CallOpts, account) 3543 } 3544 3545 // IsSubmitter is a free data retrieval call binding the contract method 0xa926fdbc. 3546 // 3547 // Solidity: function isSubmitter(address account) constant returns(bool) 3548 func (_RootChain *RootChainCallerSession) IsSubmitter(account common.Address) (bool, error) { 3549 return _RootChain.Contract.IsSubmitter(&_RootChain.CallOpts, account) 3550 } 3551 3552 // LastAppliedBlockNumber is a free data retrieval call binding the contract method 0xfb788a27. 3553 // 3554 // Solidity: function lastAppliedBlockNumber() constant returns(uint256) 3555 func (_RootChain *RootChainCaller) LastAppliedBlockNumber(opts *bind.CallOpts) (*big.Int, error) { 3556 var ( 3557 ret0 = new(*big.Int) 3558 ) 3559 out := ret0 3560 err := _RootChain.contract.Call(opts, out, "lastAppliedBlockNumber") 3561 return *ret0, err 3562 } 3563 3564 // LastAppliedBlockNumber is a free data retrieval call binding the contract method 0xfb788a27. 3565 // 3566 // Solidity: function lastAppliedBlockNumber() constant returns(uint256) 3567 func (_RootChain *RootChainSession) LastAppliedBlockNumber() (*big.Int, error) { 3568 return _RootChain.Contract.LastAppliedBlockNumber(&_RootChain.CallOpts) 3569 } 3570 3571 // LastAppliedBlockNumber is a free data retrieval call binding the contract method 0xfb788a27. 3572 // 3573 // Solidity: function lastAppliedBlockNumber() constant returns(uint256) 3574 func (_RootChain *RootChainCallerSession) LastAppliedBlockNumber() (*big.Int, error) { 3575 return _RootChain.Contract.LastAppliedBlockNumber(&_RootChain.CallOpts) 3576 } 3577 3578 // LastAppliedEpochNumber is a free data retrieval call binding the contract method 0xc8ad329f. 3579 // 3580 // Solidity: function lastAppliedEpochNumber() constant returns(uint256) 3581 func (_RootChain *RootChainCaller) LastAppliedEpochNumber(opts *bind.CallOpts) (*big.Int, error) { 3582 var ( 3583 ret0 = new(*big.Int) 3584 ) 3585 out := ret0 3586 err := _RootChain.contract.Call(opts, out, "lastAppliedEpochNumber") 3587 return *ret0, err 3588 } 3589 3590 // LastAppliedEpochNumber is a free data retrieval call binding the contract method 0xc8ad329f. 3591 // 3592 // Solidity: function lastAppliedEpochNumber() constant returns(uint256) 3593 func (_RootChain *RootChainSession) LastAppliedEpochNumber() (*big.Int, error) { 3594 return _RootChain.Contract.LastAppliedEpochNumber(&_RootChain.CallOpts) 3595 } 3596 3597 // LastAppliedEpochNumber is a free data retrieval call binding the contract method 0xc8ad329f. 3598 // 3599 // Solidity: function lastAppliedEpochNumber() constant returns(uint256) 3600 func (_RootChain *RootChainCallerSession) LastAppliedEpochNumber() (*big.Int, error) { 3601 return _RootChain.Contract.LastAppliedEpochNumber(&_RootChain.CallOpts) 3602 } 3603 3604 // LastAppliedForkNumber is a free data retrieval call binding the contract method 0x164bc2ae. 3605 // 3606 // Solidity: function lastAppliedForkNumber() constant returns(uint256) 3607 func (_RootChain *RootChainCaller) LastAppliedForkNumber(opts *bind.CallOpts) (*big.Int, error) { 3608 var ( 3609 ret0 = new(*big.Int) 3610 ) 3611 out := ret0 3612 err := _RootChain.contract.Call(opts, out, "lastAppliedForkNumber") 3613 return *ret0, err 3614 } 3615 3616 // LastAppliedForkNumber is a free data retrieval call binding the contract method 0x164bc2ae. 3617 // 3618 // Solidity: function lastAppliedForkNumber() constant returns(uint256) 3619 func (_RootChain *RootChainSession) LastAppliedForkNumber() (*big.Int, error) { 3620 return _RootChain.Contract.LastAppliedForkNumber(&_RootChain.CallOpts) 3621 } 3622 3623 // LastAppliedForkNumber is a free data retrieval call binding the contract method 0x164bc2ae. 3624 // 3625 // Solidity: function lastAppliedForkNumber() constant returns(uint256) 3626 func (_RootChain *RootChainCallerSession) LastAppliedForkNumber() (*big.Int, error) { 3627 return _RootChain.Contract.LastAppliedForkNumber(&_RootChain.CallOpts) 3628 } 3629 3630 // LastBlock is a free data retrieval call binding the contract method 0x1ec2042b. 3631 // 3632 // Solidity: function lastBlock(uint256 forkNumber) constant returns(uint256 lastBlock) 3633 func (_RootChain *RootChainCaller) LastBlock(opts *bind.CallOpts, forkNumber *big.Int) (*big.Int, error) { 3634 var ( 3635 ret0 = new(*big.Int) 3636 ) 3637 out := ret0 3638 err := _RootChain.contract.Call(opts, out, "lastBlock", forkNumber) 3639 return *ret0, err 3640 } 3641 3642 // LastBlock is a free data retrieval call binding the contract method 0x1ec2042b. 3643 // 3644 // Solidity: function lastBlock(uint256 forkNumber) constant returns(uint256 lastBlock) 3645 func (_RootChain *RootChainSession) LastBlock(forkNumber *big.Int) (*big.Int, error) { 3646 return _RootChain.Contract.LastBlock(&_RootChain.CallOpts, forkNumber) 3647 } 3648 3649 // LastBlock is a free data retrieval call binding the contract method 0x1ec2042b. 3650 // 3651 // Solidity: function lastBlock(uint256 forkNumber) constant returns(uint256 lastBlock) 3652 func (_RootChain *RootChainCallerSession) LastBlock(forkNumber *big.Int) (*big.Int, error) { 3653 return _RootChain.Contract.LastBlock(&_RootChain.CallOpts, forkNumber) 3654 } 3655 3656 // LastEpoch is a free data retrieval call binding the contract method 0x11e4c914. 3657 // 3658 // Solidity: function lastEpoch(uint256 forkNumber) constant returns(uint256 lastBlock) 3659 func (_RootChain *RootChainCaller) LastEpoch(opts *bind.CallOpts, forkNumber *big.Int) (*big.Int, error) { 3660 var ( 3661 ret0 = new(*big.Int) 3662 ) 3663 out := ret0 3664 err := _RootChain.contract.Call(opts, out, "lastEpoch", forkNumber) 3665 return *ret0, err 3666 } 3667 3668 // LastEpoch is a free data retrieval call binding the contract method 0x11e4c914. 3669 // 3670 // Solidity: function lastEpoch(uint256 forkNumber) constant returns(uint256 lastBlock) 3671 func (_RootChain *RootChainSession) LastEpoch(forkNumber *big.Int) (*big.Int, error) { 3672 return _RootChain.Contract.LastEpoch(&_RootChain.CallOpts, forkNumber) 3673 } 3674 3675 // LastEpoch is a free data retrieval call binding the contract method 0x11e4c914. 3676 // 3677 // Solidity: function lastEpoch(uint256 forkNumber) constant returns(uint256 lastBlock) 3678 func (_RootChain *RootChainCallerSession) LastEpoch(forkNumber *big.Int) (*big.Int, error) { 3679 return _RootChain.Contract.LastEpoch(&_RootChain.CallOpts, forkNumber) 3680 } 3681 3682 // LastNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xb6715647. 3683 // 3684 // Solidity: function lastNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 3685 func (_RootChain *RootChainCaller) LastNonEmptyRequestEpoch(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { 3686 var ( 3687 ret0 = new(*big.Int) 3688 ) 3689 out := ret0 3690 err := _RootChain.contract.Call(opts, out, "lastNonEmptyRequestEpoch", arg0) 3691 return *ret0, err 3692 } 3693 3694 // LastNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xb6715647. 3695 // 3696 // Solidity: function lastNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 3697 func (_RootChain *RootChainSession) LastNonEmptyRequestEpoch(arg0 *big.Int) (*big.Int, error) { 3698 return _RootChain.Contract.LastNonEmptyRequestEpoch(&_RootChain.CallOpts, arg0) 3699 } 3700 3701 // LastNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xb6715647. 3702 // 3703 // Solidity: function lastNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 3704 func (_RootChain *RootChainCallerSession) LastNonEmptyRequestEpoch(arg0 *big.Int) (*big.Int, error) { 3705 return _RootChain.Contract.LastNonEmptyRequestEpoch(&_RootChain.CallOpts, arg0) 3706 } 3707 3708 // NumEnterForORB is a free data retrieval call binding the contract method 0x23691566. 3709 // 3710 // Solidity: function numEnterForORB() constant returns(uint256) 3711 func (_RootChain *RootChainCaller) NumEnterForORB(opts *bind.CallOpts) (*big.Int, error) { 3712 var ( 3713 ret0 = new(*big.Int) 3714 ) 3715 out := ret0 3716 err := _RootChain.contract.Call(opts, out, "numEnterForORB") 3717 return *ret0, err 3718 } 3719 3720 // NumEnterForORB is a free data retrieval call binding the contract method 0x23691566. 3721 // 3722 // Solidity: function numEnterForORB() constant returns(uint256) 3723 func (_RootChain *RootChainSession) NumEnterForORB() (*big.Int, error) { 3724 return _RootChain.Contract.NumEnterForORB(&_RootChain.CallOpts) 3725 } 3726 3727 // NumEnterForORB is a free data retrieval call binding the contract method 0x23691566. 3728 // 3729 // Solidity: function numEnterForORB() constant returns(uint256) 3730 func (_RootChain *RootChainCallerSession) NumEnterForORB() (*big.Int, error) { 3731 return _RootChain.Contract.NumEnterForORB(&_RootChain.CallOpts) 3732 } 3733 3734 // Operator is a free data retrieval call binding the contract method 0x570ca735. 3735 // 3736 // Solidity: function operator() constant returns(address) 3737 func (_RootChain *RootChainCaller) Operator(opts *bind.CallOpts) (common.Address, error) { 3738 var ( 3739 ret0 = new(common.Address) 3740 ) 3741 out := ret0 3742 err := _RootChain.contract.Call(opts, out, "operator") 3743 return *ret0, err 3744 } 3745 3746 // Operator is a free data retrieval call binding the contract method 0x570ca735. 3747 // 3748 // Solidity: function operator() constant returns(address) 3749 func (_RootChain *RootChainSession) Operator() (common.Address, error) { 3750 return _RootChain.Contract.Operator(&_RootChain.CallOpts) 3751 } 3752 3753 // Operator is a free data retrieval call binding the contract method 0x570ca735. 3754 // 3755 // Solidity: function operator() constant returns(address) 3756 func (_RootChain *RootChainCallerSession) Operator() (common.Address, error) { 3757 return _RootChain.Contract.Operator(&_RootChain.CallOpts) 3758 } 3759 3760 // RequestableContracts is a free data retrieval call binding the contract method 0xda0185f8. 3761 // 3762 // Solidity: function requestableContracts(address ) constant returns(address) 3763 func (_RootChain *RootChainCaller) RequestableContracts(opts *bind.CallOpts, arg0 common.Address) (common.Address, error) { 3764 var ( 3765 ret0 = new(common.Address) 3766 ) 3767 out := ret0 3768 err := _RootChain.contract.Call(opts, out, "requestableContracts", arg0) 3769 return *ret0, err 3770 } 3771 3772 // RequestableContracts is a free data retrieval call binding the contract method 0xda0185f8. 3773 // 3774 // Solidity: function requestableContracts(address ) constant returns(address) 3775 func (_RootChain *RootChainSession) RequestableContracts(arg0 common.Address) (common.Address, error) { 3776 return _RootChain.Contract.RequestableContracts(&_RootChain.CallOpts, arg0) 3777 } 3778 3779 // RequestableContracts is a free data retrieval call binding the contract method 0xda0185f8. 3780 // 3781 // Solidity: function requestableContracts(address ) constant returns(address) 3782 func (_RootChain *RootChainCallerSession) RequestableContracts(arg0 common.Address) (common.Address, error) { 3783 return _RootChain.Contract.RequestableContracts(&_RootChain.CallOpts, arg0) 3784 } 3785 3786 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 3787 // 3788 // Solidity: function seigManager() constant returns(address) 3789 func (_RootChain *RootChainCaller) SeigManager(opts *bind.CallOpts) (common.Address, error) { 3790 var ( 3791 ret0 = new(common.Address) 3792 ) 3793 out := ret0 3794 err := _RootChain.contract.Call(opts, out, "seigManager") 3795 return *ret0, err 3796 } 3797 3798 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 3799 // 3800 // Solidity: function seigManager() constant returns(address) 3801 func (_RootChain *RootChainSession) SeigManager() (common.Address, error) { 3802 return _RootChain.Contract.SeigManager(&_RootChain.CallOpts) 3803 } 3804 3805 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 3806 // 3807 // Solidity: function seigManager() constant returns(address) 3808 func (_RootChain *RootChainCallerSession) SeigManager() (common.Address, error) { 3809 return _RootChain.Contract.SeigManager(&_RootChain.CallOpts) 3810 } 3811 3812 // SubmitHandler is a free data retrieval call binding the contract method 0xe259faf7. 3813 // 3814 // Solidity: function submitHandler() constant returns(address) 3815 func (_RootChain *RootChainCaller) SubmitHandler(opts *bind.CallOpts) (common.Address, error) { 3816 var ( 3817 ret0 = new(common.Address) 3818 ) 3819 out := ret0 3820 err := _RootChain.contract.Call(opts, out, "submitHandler") 3821 return *ret0, err 3822 } 3823 3824 // SubmitHandler is a free data retrieval call binding the contract method 0xe259faf7. 3825 // 3826 // Solidity: function submitHandler() constant returns(address) 3827 func (_RootChain *RootChainSession) SubmitHandler() (common.Address, error) { 3828 return _RootChain.Contract.SubmitHandler(&_RootChain.CallOpts) 3829 } 3830 3831 // SubmitHandler is a free data retrieval call binding the contract method 0xe259faf7. 3832 // 3833 // Solidity: function submitHandler() constant returns(address) 3834 func (_RootChain *RootChainCallerSession) SubmitHandler() (common.Address, error) { 3835 return _RootChain.Contract.SubmitHandler(&_RootChain.CallOpts) 3836 } 3837 3838 // AddMapper is a paid mutator transaction binding the contract method 0x80e3e81d. 3839 // 3840 // Solidity: function addMapper(address account) returns() 3841 func (_RootChain *RootChainTransactor) AddMapper(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 3842 return _RootChain.contract.Transact(opts, "addMapper", account) 3843 } 3844 3845 // AddMapper is a paid mutator transaction binding the contract method 0x80e3e81d. 3846 // 3847 // Solidity: function addMapper(address account) returns() 3848 func (_RootChain *RootChainSession) AddMapper(account common.Address) (*types.Transaction, error) { 3849 return _RootChain.Contract.AddMapper(&_RootChain.TransactOpts, account) 3850 } 3851 3852 // AddMapper is a paid mutator transaction binding the contract method 0x80e3e81d. 3853 // 3854 // Solidity: function addMapper(address account) returns() 3855 func (_RootChain *RootChainTransactorSession) AddMapper(account common.Address) (*types.Transaction, error) { 3856 return _RootChain.Contract.AddMapper(&_RootChain.TransactOpts, account) 3857 } 3858 3859 // AddSubmitter is a paid mutator transaction binding the contract method 0x072900f9. 3860 // 3861 // Solidity: function addSubmitter(address account) returns() 3862 func (_RootChain *RootChainTransactor) AddSubmitter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 3863 return _RootChain.contract.Transact(opts, "addSubmitter", account) 3864 } 3865 3866 // AddSubmitter is a paid mutator transaction binding the contract method 0x072900f9. 3867 // 3868 // Solidity: function addSubmitter(address account) returns() 3869 func (_RootChain *RootChainSession) AddSubmitter(account common.Address) (*types.Transaction, error) { 3870 return _RootChain.Contract.AddSubmitter(&_RootChain.TransactOpts, account) 3871 } 3872 3873 // AddSubmitter is a paid mutator transaction binding the contract method 0x072900f9. 3874 // 3875 // Solidity: function addSubmitter(address account) returns() 3876 func (_RootChain *RootChainTransactorSession) AddSubmitter(account common.Address) (*types.Transaction, error) { 3877 return _RootChain.Contract.AddSubmitter(&_RootChain.TransactOpts, account) 3878 } 3879 3880 // ChallengeExit is a paid mutator transaction binding the contract method 0x404f7d66. 3881 // 3882 // Solidity: function challengeExit(uint256 _forkNumber, uint256 _blockNumber, uint256 _index, bytes _receiptData, bytes _proof) returns() 3883 func (_RootChain *RootChainTransactor) ChallengeExit(opts *bind.TransactOpts, _forkNumber *big.Int, _blockNumber *big.Int, _index *big.Int, _receiptData []byte, _proof []byte) (*types.Transaction, error) { 3884 return _RootChain.contract.Transact(opts, "challengeExit", _forkNumber, _blockNumber, _index, _receiptData, _proof) 3885 } 3886 3887 // ChallengeExit is a paid mutator transaction binding the contract method 0x404f7d66. 3888 // 3889 // Solidity: function challengeExit(uint256 _forkNumber, uint256 _blockNumber, uint256 _index, bytes _receiptData, bytes _proof) returns() 3890 func (_RootChain *RootChainSession) ChallengeExit(_forkNumber *big.Int, _blockNumber *big.Int, _index *big.Int, _receiptData []byte, _proof []byte) (*types.Transaction, error) { 3891 return _RootChain.Contract.ChallengeExit(&_RootChain.TransactOpts, _forkNumber, _blockNumber, _index, _receiptData, _proof) 3892 } 3893 3894 // ChallengeExit is a paid mutator transaction binding the contract method 0x404f7d66. 3895 // 3896 // Solidity: function challengeExit(uint256 _forkNumber, uint256 _blockNumber, uint256 _index, bytes _receiptData, bytes _proof) returns() 3897 func (_RootChain *RootChainTransactorSession) ChallengeExit(_forkNumber *big.Int, _blockNumber *big.Int, _index *big.Int, _receiptData []byte, _proof []byte) (*types.Transaction, error) { 3898 return _RootChain.Contract.ChallengeExit(&_RootChain.TransactOpts, _forkNumber, _blockNumber, _index, _receiptData, _proof) 3899 } 3900 3901 // ChallengeNullAddress is a paid mutator transaction binding the contract method 0x6299fb24. 3902 // 3903 // Solidity: function challengeNullAddress(uint256 _blockNumber, bytes _key, bytes _txByte, uint256 _branchMask, bytes32[] _siblings) returns() 3904 func (_RootChain *RootChainTransactor) ChallengeNullAddress(opts *bind.TransactOpts, _blockNumber *big.Int, _key []byte, _txByte []byte, _branchMask *big.Int, _siblings [][32]byte) (*types.Transaction, error) { 3905 return _RootChain.contract.Transact(opts, "challengeNullAddress", _blockNumber, _key, _txByte, _branchMask, _siblings) 3906 } 3907 3908 // ChallengeNullAddress is a paid mutator transaction binding the contract method 0x6299fb24. 3909 // 3910 // Solidity: function challengeNullAddress(uint256 _blockNumber, bytes _key, bytes _txByte, uint256 _branchMask, bytes32[] _siblings) returns() 3911 func (_RootChain *RootChainSession) ChallengeNullAddress(_blockNumber *big.Int, _key []byte, _txByte []byte, _branchMask *big.Int, _siblings [][32]byte) (*types.Transaction, error) { 3912 return _RootChain.Contract.ChallengeNullAddress(&_RootChain.TransactOpts, _blockNumber, _key, _txByte, _branchMask, _siblings) 3913 } 3914 3915 // ChallengeNullAddress is a paid mutator transaction binding the contract method 0x6299fb24. 3916 // 3917 // Solidity: function challengeNullAddress(uint256 _blockNumber, bytes _key, bytes _txByte, uint256 _branchMask, bytes32[] _siblings) returns() 3918 func (_RootChain *RootChainTransactorSession) ChallengeNullAddress(_blockNumber *big.Int, _key []byte, _txByte []byte, _branchMask *big.Int, _siblings [][32]byte) (*types.Transaction, error) { 3919 return _RootChain.Contract.ChallengeNullAddress(&_RootChain.TransactOpts, _blockNumber, _key, _txByte, _branchMask, _siblings) 3920 } 3921 3922 // ChangeOperator is a paid mutator transaction binding the contract method 0x06394c9b. 3923 // 3924 // Solidity: function changeOperator(address _operator) returns() 3925 func (_RootChain *RootChainTransactor) ChangeOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) { 3926 return _RootChain.contract.Transact(opts, "changeOperator", _operator) 3927 } 3928 3929 // ChangeOperator is a paid mutator transaction binding the contract method 0x06394c9b. 3930 // 3931 // Solidity: function changeOperator(address _operator) returns() 3932 func (_RootChain *RootChainSession) ChangeOperator(_operator common.Address) (*types.Transaction, error) { 3933 return _RootChain.Contract.ChangeOperator(&_RootChain.TransactOpts, _operator) 3934 } 3935 3936 // ChangeOperator is a paid mutator transaction binding the contract method 0x06394c9b. 3937 // 3938 // Solidity: function changeOperator(address _operator) returns() 3939 func (_RootChain *RootChainTransactorSession) ChangeOperator(_operator common.Address) (*types.Transaction, error) { 3940 return _RootChain.Contract.ChangeOperator(&_RootChain.TransactOpts, _operator) 3941 } 3942 3943 // FinalizeBlock is a paid mutator transaction binding the contract method 0x75395a58. 3944 // 3945 // Solidity: function finalizeBlock() returns(bool success) 3946 func (_RootChain *RootChainTransactor) FinalizeBlock(opts *bind.TransactOpts) (*types.Transaction, error) { 3947 return _RootChain.contract.Transact(opts, "finalizeBlock") 3948 } 3949 3950 // FinalizeBlock is a paid mutator transaction binding the contract method 0x75395a58. 3951 // 3952 // Solidity: function finalizeBlock() returns(bool success) 3953 func (_RootChain *RootChainSession) FinalizeBlock() (*types.Transaction, error) { 3954 return _RootChain.Contract.FinalizeBlock(&_RootChain.TransactOpts) 3955 } 3956 3957 // FinalizeBlock is a paid mutator transaction binding the contract method 0x75395a58. 3958 // 3959 // Solidity: function finalizeBlock() returns(bool success) 3960 func (_RootChain *RootChainTransactorSession) FinalizeBlock() (*types.Transaction, error) { 3961 return _RootChain.Contract.FinalizeBlock(&_RootChain.TransactOpts) 3962 } 3963 3964 // FinalizeRequest is a paid mutator transaction binding the contract method 0x99bd3600. 3965 // 3966 // Solidity: function finalizeRequest() returns(bool success) 3967 func (_RootChain *RootChainTransactor) FinalizeRequest(opts *bind.TransactOpts) (*types.Transaction, error) { 3968 return _RootChain.contract.Transact(opts, "finalizeRequest") 3969 } 3970 3971 // FinalizeRequest is a paid mutator transaction binding the contract method 0x99bd3600. 3972 // 3973 // Solidity: function finalizeRequest() returns(bool success) 3974 func (_RootChain *RootChainSession) FinalizeRequest() (*types.Transaction, error) { 3975 return _RootChain.Contract.FinalizeRequest(&_RootChain.TransactOpts) 3976 } 3977 3978 // FinalizeRequest is a paid mutator transaction binding the contract method 0x99bd3600. 3979 // 3980 // Solidity: function finalizeRequest() returns(bool success) 3981 func (_RootChain *RootChainTransactorSession) FinalizeRequest() (*types.Transaction, error) { 3982 return _RootChain.Contract.FinalizeRequest(&_RootChain.TransactOpts) 3983 } 3984 3985 // FinalizeRequests is a paid mutator transaction binding the contract method 0x54768571. 3986 // 3987 // Solidity: function finalizeRequests(uint256 n) returns(bool success) 3988 func (_RootChain *RootChainTransactor) FinalizeRequests(opts *bind.TransactOpts, n *big.Int) (*types.Transaction, error) { 3989 return _RootChain.contract.Transact(opts, "finalizeRequests", n) 3990 } 3991 3992 // FinalizeRequests is a paid mutator transaction binding the contract method 0x54768571. 3993 // 3994 // Solidity: function finalizeRequests(uint256 n) returns(bool success) 3995 func (_RootChain *RootChainSession) FinalizeRequests(n *big.Int) (*types.Transaction, error) { 3996 return _RootChain.Contract.FinalizeRequests(&_RootChain.TransactOpts, n) 3997 } 3998 3999 // FinalizeRequests is a paid mutator transaction binding the contract method 0x54768571. 4000 // 4001 // Solidity: function finalizeRequests(uint256 n) returns(bool success) 4002 func (_RootChain *RootChainTransactorSession) FinalizeRequests(n *big.Int) (*types.Transaction, error) { 4003 return _RootChain.Contract.FinalizeRequests(&_RootChain.TransactOpts, n) 4004 } 4005 4006 // MakeERU is a paid mutator transaction binding the contract method 0x78fe705f. 4007 // 4008 // Solidity: function makeERU(address _to, bytes32 _trieKey, bytes _trieValue) returns(bool success) 4009 func (_RootChain *RootChainTransactor) MakeERU(opts *bind.TransactOpts, _to common.Address, _trieKey [32]byte, _trieValue []byte) (*types.Transaction, error) { 4010 return _RootChain.contract.Transact(opts, "makeERU", _to, _trieKey, _trieValue) 4011 } 4012 4013 // MakeERU is a paid mutator transaction binding the contract method 0x78fe705f. 4014 // 4015 // Solidity: function makeERU(address _to, bytes32 _trieKey, bytes _trieValue) returns(bool success) 4016 func (_RootChain *RootChainSession) MakeERU(_to common.Address, _trieKey [32]byte, _trieValue []byte) (*types.Transaction, error) { 4017 return _RootChain.Contract.MakeERU(&_RootChain.TransactOpts, _to, _trieKey, _trieValue) 4018 } 4019 4020 // MakeERU is a paid mutator transaction binding the contract method 0x78fe705f. 4021 // 4022 // Solidity: function makeERU(address _to, bytes32 _trieKey, bytes _trieValue) returns(bool success) 4023 func (_RootChain *RootChainTransactorSession) MakeERU(_to common.Address, _trieKey [32]byte, _trieValue []byte) (*types.Transaction, error) { 4024 return _RootChain.Contract.MakeERU(&_RootChain.TransactOpts, _to, _trieKey, _trieValue) 4025 } 4026 4027 // MapRequestableContractByOperator is a paid mutator transaction binding the contract method 0xcb5d742f. 4028 // 4029 // Solidity: function mapRequestableContractByOperator(address _rootchain, address _childchain) returns(bool success) 4030 func (_RootChain *RootChainTransactor) MapRequestableContractByOperator(opts *bind.TransactOpts, _rootchain common.Address, _childchain common.Address) (*types.Transaction, error) { 4031 return _RootChain.contract.Transact(opts, "mapRequestableContractByOperator", _rootchain, _childchain) 4032 } 4033 4034 // MapRequestableContractByOperator is a paid mutator transaction binding the contract method 0xcb5d742f. 4035 // 4036 // Solidity: function mapRequestableContractByOperator(address _rootchain, address _childchain) returns(bool success) 4037 func (_RootChain *RootChainSession) MapRequestableContractByOperator(_rootchain common.Address, _childchain common.Address) (*types.Transaction, error) { 4038 return _RootChain.Contract.MapRequestableContractByOperator(&_RootChain.TransactOpts, _rootchain, _childchain) 4039 } 4040 4041 // MapRequestableContractByOperator is a paid mutator transaction binding the contract method 0xcb5d742f. 4042 // 4043 // Solidity: function mapRequestableContractByOperator(address _rootchain, address _childchain) returns(bool success) 4044 func (_RootChain *RootChainTransactorSession) MapRequestableContractByOperator(_rootchain common.Address, _childchain common.Address) (*types.Transaction, error) { 4045 return _RootChain.Contract.MapRequestableContractByOperator(&_RootChain.TransactOpts, _rootchain, _childchain) 4046 } 4047 4048 // PrepareToSubmitURB is a paid mutator transaction binding the contract method 0xe6925d08. 4049 // 4050 // Solidity: function prepareToSubmitURB() returns() 4051 func (_RootChain *RootChainTransactor) PrepareToSubmitURB(opts *bind.TransactOpts) (*types.Transaction, error) { 4052 return _RootChain.contract.Transact(opts, "prepareToSubmitURB") 4053 } 4054 4055 // PrepareToSubmitURB is a paid mutator transaction binding the contract method 0xe6925d08. 4056 // 4057 // Solidity: function prepareToSubmitURB() returns() 4058 func (_RootChain *RootChainSession) PrepareToSubmitURB() (*types.Transaction, error) { 4059 return _RootChain.Contract.PrepareToSubmitURB(&_RootChain.TransactOpts) 4060 } 4061 4062 // PrepareToSubmitURB is a paid mutator transaction binding the contract method 0xe6925d08. 4063 // 4064 // Solidity: function prepareToSubmitURB() returns() 4065 func (_RootChain *RootChainTransactorSession) PrepareToSubmitURB() (*types.Transaction, error) { 4066 return _RootChain.Contract.PrepareToSubmitURB(&_RootChain.TransactOpts) 4067 } 4068 4069 // RenounceMapper is a paid mutator transaction binding the contract method 0x3565fb0d. 4070 // 4071 // Solidity: function renounceMapper() returns() 4072 func (_RootChain *RootChainTransactor) RenounceMapper(opts *bind.TransactOpts) (*types.Transaction, error) { 4073 return _RootChain.contract.Transact(opts, "renounceMapper") 4074 } 4075 4076 // RenounceMapper is a paid mutator transaction binding the contract method 0x3565fb0d. 4077 // 4078 // Solidity: function renounceMapper() returns() 4079 func (_RootChain *RootChainSession) RenounceMapper() (*types.Transaction, error) { 4080 return _RootChain.Contract.RenounceMapper(&_RootChain.TransactOpts) 4081 } 4082 4083 // RenounceMapper is a paid mutator transaction binding the contract method 0x3565fb0d. 4084 // 4085 // Solidity: function renounceMapper() returns() 4086 func (_RootChain *RootChainTransactorSession) RenounceMapper() (*types.Transaction, error) { 4087 return _RootChain.Contract.RenounceMapper(&_RootChain.TransactOpts) 4088 } 4089 4090 // RenounceSubmitter is a paid mutator transaction binding the contract method 0x5e0ca71b. 4091 // 4092 // Solidity: function renounceSubmitter() returns() 4093 func (_RootChain *RootChainTransactor) RenounceSubmitter(opts *bind.TransactOpts) (*types.Transaction, error) { 4094 return _RootChain.contract.Transact(opts, "renounceSubmitter") 4095 } 4096 4097 // RenounceSubmitter is a paid mutator transaction binding the contract method 0x5e0ca71b. 4098 // 4099 // Solidity: function renounceSubmitter() returns() 4100 func (_RootChain *RootChainSession) RenounceSubmitter() (*types.Transaction, error) { 4101 return _RootChain.Contract.RenounceSubmitter(&_RootChain.TransactOpts) 4102 } 4103 4104 // RenounceSubmitter is a paid mutator transaction binding the contract method 0x5e0ca71b. 4105 // 4106 // Solidity: function renounceSubmitter() returns() 4107 func (_RootChain *RootChainTransactorSession) RenounceSubmitter() (*types.Transaction, error) { 4108 return _RootChain.Contract.RenounceSubmitter(&_RootChain.TransactOpts) 4109 } 4110 4111 // SetSeigManager is a paid mutator transaction binding the contract method 0x7657f20a. 4112 // 4113 // Solidity: function setSeigManager(address account) returns() 4114 func (_RootChain *RootChainTransactor) SetSeigManager(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 4115 return _RootChain.contract.Transact(opts, "setSeigManager", account) 4116 } 4117 4118 // SetSeigManager is a paid mutator transaction binding the contract method 0x7657f20a. 4119 // 4120 // Solidity: function setSeigManager(address account) returns() 4121 func (_RootChain *RootChainSession) SetSeigManager(account common.Address) (*types.Transaction, error) { 4122 return _RootChain.Contract.SetSeigManager(&_RootChain.TransactOpts, account) 4123 } 4124 4125 // SetSeigManager is a paid mutator transaction binding the contract method 0x7657f20a. 4126 // 4127 // Solidity: function setSeigManager(address account) returns() 4128 func (_RootChain *RootChainTransactorSession) SetSeigManager(account common.Address) (*types.Transaction, error) { 4129 return _RootChain.Contract.SetSeigManager(&_RootChain.TransactOpts, account) 4130 } 4131 4132 // StartEnter is a paid mutator transaction binding the contract method 0x2aa196c8. 4133 // 4134 // Solidity: function startEnter(address _to, bytes32 _trieKey, bytes _trieValue) returns(bool success) 4135 func (_RootChain *RootChainTransactor) StartEnter(opts *bind.TransactOpts, _to common.Address, _trieKey [32]byte, _trieValue []byte) (*types.Transaction, error) { 4136 return _RootChain.contract.Transact(opts, "startEnter", _to, _trieKey, _trieValue) 4137 } 4138 4139 // StartEnter is a paid mutator transaction binding the contract method 0x2aa196c8. 4140 // 4141 // Solidity: function startEnter(address _to, bytes32 _trieKey, bytes _trieValue) returns(bool success) 4142 func (_RootChain *RootChainSession) StartEnter(_to common.Address, _trieKey [32]byte, _trieValue []byte) (*types.Transaction, error) { 4143 return _RootChain.Contract.StartEnter(&_RootChain.TransactOpts, _to, _trieKey, _trieValue) 4144 } 4145 4146 // StartEnter is a paid mutator transaction binding the contract method 0x2aa196c8. 4147 // 4148 // Solidity: function startEnter(address _to, bytes32 _trieKey, bytes _trieValue) returns(bool success) 4149 func (_RootChain *RootChainTransactorSession) StartEnter(_to common.Address, _trieKey [32]byte, _trieValue []byte) (*types.Transaction, error) { 4150 return _RootChain.Contract.StartEnter(&_RootChain.TransactOpts, _to, _trieKey, _trieValue) 4151 } 4152 4153 // StartExit is a paid mutator transaction binding the contract method 0xe7f96505. 4154 // 4155 // Solidity: function startExit(address _to, bytes32 _trieKey, bytes _trieValue) returns(bool success) 4156 func (_RootChain *RootChainTransactor) StartExit(opts *bind.TransactOpts, _to common.Address, _trieKey [32]byte, _trieValue []byte) (*types.Transaction, error) { 4157 return _RootChain.contract.Transact(opts, "startExit", _to, _trieKey, _trieValue) 4158 } 4159 4160 // StartExit is a paid mutator transaction binding the contract method 0xe7f96505. 4161 // 4162 // Solidity: function startExit(address _to, bytes32 _trieKey, bytes _trieValue) returns(bool success) 4163 func (_RootChain *RootChainSession) StartExit(_to common.Address, _trieKey [32]byte, _trieValue []byte) (*types.Transaction, error) { 4164 return _RootChain.Contract.StartExit(&_RootChain.TransactOpts, _to, _trieKey, _trieValue) 4165 } 4166 4167 // StartExit is a paid mutator transaction binding the contract method 0xe7f96505. 4168 // 4169 // Solidity: function startExit(address _to, bytes32 _trieKey, bytes _trieValue) returns(bool success) 4170 func (_RootChain *RootChainTransactorSession) StartExit(_to common.Address, _trieKey [32]byte, _trieValue []byte) (*types.Transaction, error) { 4171 return _RootChain.Contract.StartExit(&_RootChain.TransactOpts, _to, _trieKey, _trieValue) 4172 } 4173 4174 // SubmitNRE is a paid mutator transaction binding the contract method 0x0eaf45a8. 4175 // 4176 // Solidity: function submitNRE(uint256 _pos1, uint256 _pos2, bytes32 _epochStateRoot, bytes32 _epochTransactionsRoot, bytes32 _epochReceiptsRoot) returns(bool success) 4177 func (_RootChain *RootChainTransactor) SubmitNRE(opts *bind.TransactOpts, _pos1 *big.Int, _pos2 *big.Int, _epochStateRoot [32]byte, _epochTransactionsRoot [32]byte, _epochReceiptsRoot [32]byte) (*types.Transaction, error) { 4178 return _RootChain.contract.Transact(opts, "submitNRE", _pos1, _pos2, _epochStateRoot, _epochTransactionsRoot, _epochReceiptsRoot) 4179 } 4180 4181 // SubmitNRE is a paid mutator transaction binding the contract method 0x0eaf45a8. 4182 // 4183 // Solidity: function submitNRE(uint256 _pos1, uint256 _pos2, bytes32 _epochStateRoot, bytes32 _epochTransactionsRoot, bytes32 _epochReceiptsRoot) returns(bool success) 4184 func (_RootChain *RootChainSession) SubmitNRE(_pos1 *big.Int, _pos2 *big.Int, _epochStateRoot [32]byte, _epochTransactionsRoot [32]byte, _epochReceiptsRoot [32]byte) (*types.Transaction, error) { 4185 return _RootChain.Contract.SubmitNRE(&_RootChain.TransactOpts, _pos1, _pos2, _epochStateRoot, _epochTransactionsRoot, _epochReceiptsRoot) 4186 } 4187 4188 // SubmitNRE is a paid mutator transaction binding the contract method 0x0eaf45a8. 4189 // 4190 // Solidity: function submitNRE(uint256 _pos1, uint256 _pos2, bytes32 _epochStateRoot, bytes32 _epochTransactionsRoot, bytes32 _epochReceiptsRoot) returns(bool success) 4191 func (_RootChain *RootChainTransactorSession) SubmitNRE(_pos1 *big.Int, _pos2 *big.Int, _epochStateRoot [32]byte, _epochTransactionsRoot [32]byte, _epochReceiptsRoot [32]byte) (*types.Transaction, error) { 4192 return _RootChain.Contract.SubmitNRE(&_RootChain.TransactOpts, _pos1, _pos2, _epochStateRoot, _epochTransactionsRoot, _epochReceiptsRoot) 4193 } 4194 4195 // SubmitORB is a paid mutator transaction binding the contract method 0xa820c067. 4196 // 4197 // Solidity: function submitORB(uint256 _pos, bytes32 _statesRoot, bytes32 _transactionsRoot, bytes32 _receiptsRoot) returns(bool success) 4198 func (_RootChain *RootChainTransactor) SubmitORB(opts *bind.TransactOpts, _pos *big.Int, _statesRoot [32]byte, _transactionsRoot [32]byte, _receiptsRoot [32]byte) (*types.Transaction, error) { 4199 return _RootChain.contract.Transact(opts, "submitORB", _pos, _statesRoot, _transactionsRoot, _receiptsRoot) 4200 } 4201 4202 // SubmitORB is a paid mutator transaction binding the contract method 0xa820c067. 4203 // 4204 // Solidity: function submitORB(uint256 _pos, bytes32 _statesRoot, bytes32 _transactionsRoot, bytes32 _receiptsRoot) returns(bool success) 4205 func (_RootChain *RootChainSession) SubmitORB(_pos *big.Int, _statesRoot [32]byte, _transactionsRoot [32]byte, _receiptsRoot [32]byte) (*types.Transaction, error) { 4206 return _RootChain.Contract.SubmitORB(&_RootChain.TransactOpts, _pos, _statesRoot, _transactionsRoot, _receiptsRoot) 4207 } 4208 4209 // SubmitORB is a paid mutator transaction binding the contract method 0xa820c067. 4210 // 4211 // Solidity: function submitORB(uint256 _pos, bytes32 _statesRoot, bytes32 _transactionsRoot, bytes32 _receiptsRoot) returns(bool success) 4212 func (_RootChain *RootChainTransactorSession) SubmitORB(_pos *big.Int, _statesRoot [32]byte, _transactionsRoot [32]byte, _receiptsRoot [32]byte) (*types.Transaction, error) { 4213 return _RootChain.Contract.SubmitORB(&_RootChain.TransactOpts, _pos, _statesRoot, _transactionsRoot, _receiptsRoot) 4214 } 4215 4216 // SubmitURB is a paid mutator transaction binding the contract method 0x6f3e4b90. 4217 // 4218 // Solidity: function submitURB(uint256 _pos, bytes32 _statesRoot, bytes32 _transactionsRoot, bytes32 _receiptsRoot) returns(bool success) 4219 func (_RootChain *RootChainTransactor) SubmitURB(opts *bind.TransactOpts, _pos *big.Int, _statesRoot [32]byte, _transactionsRoot [32]byte, _receiptsRoot [32]byte) (*types.Transaction, error) { 4220 return _RootChain.contract.Transact(opts, "submitURB", _pos, _statesRoot, _transactionsRoot, _receiptsRoot) 4221 } 4222 4223 // SubmitURB is a paid mutator transaction binding the contract method 0x6f3e4b90. 4224 // 4225 // Solidity: function submitURB(uint256 _pos, bytes32 _statesRoot, bytes32 _transactionsRoot, bytes32 _receiptsRoot) returns(bool success) 4226 func (_RootChain *RootChainSession) SubmitURB(_pos *big.Int, _statesRoot [32]byte, _transactionsRoot [32]byte, _receiptsRoot [32]byte) (*types.Transaction, error) { 4227 return _RootChain.Contract.SubmitURB(&_RootChain.TransactOpts, _pos, _statesRoot, _transactionsRoot, _receiptsRoot) 4228 } 4229 4230 // SubmitURB is a paid mutator transaction binding the contract method 0x6f3e4b90. 4231 // 4232 // Solidity: function submitURB(uint256 _pos, bytes32 _statesRoot, bytes32 _transactionsRoot, bytes32 _receiptsRoot) returns(bool success) 4233 func (_RootChain *RootChainTransactorSession) SubmitURB(_pos *big.Int, _statesRoot [32]byte, _transactionsRoot [32]byte, _receiptsRoot [32]byte) (*types.Transaction, error) { 4234 return _RootChain.Contract.SubmitURB(&_RootChain.TransactOpts, _pos, _statesRoot, _transactionsRoot, _receiptsRoot) 4235 } 4236 4237 // RootChainBlockFinalizedIterator is returned from FilterBlockFinalized and is used to iterate over the raw logs and unpacked data for BlockFinalized events raised by the RootChain contract. 4238 type RootChainBlockFinalizedIterator struct { 4239 Event *RootChainBlockFinalized // Event containing the contract specifics and raw log 4240 4241 contract *bind.BoundContract // Generic contract to use for unpacking event data 4242 event string // Event name to use for unpacking event data 4243 4244 logs chan types.Log // Log channel receiving the found contract events 4245 sub ethereum.Subscription // Subscription for errors, completion and termination 4246 done bool // Whether the subscription completed delivering logs 4247 fail error // Occurred error to stop iteration 4248 } 4249 4250 // Next advances the iterator to the subsequent event, returning whether there 4251 // are any more events found. In case of a retrieval or parsing error, false is 4252 // returned and Error() can be queried for the exact failure. 4253 func (it *RootChainBlockFinalizedIterator) Next() bool { 4254 // If the iterator failed, stop iterating 4255 if it.fail != nil { 4256 return false 4257 } 4258 // If the iterator completed, deliver directly whatever's available 4259 if it.done { 4260 select { 4261 case log := <-it.logs: 4262 it.Event = new(RootChainBlockFinalized) 4263 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4264 it.fail = err 4265 return false 4266 } 4267 it.Event.Raw = log 4268 return true 4269 4270 default: 4271 return false 4272 } 4273 } 4274 // Iterator still in progress, wait for either a data or an error event 4275 select { 4276 case log := <-it.logs: 4277 it.Event = new(RootChainBlockFinalized) 4278 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4279 it.fail = err 4280 return false 4281 } 4282 it.Event.Raw = log 4283 return true 4284 4285 case err := <-it.sub.Err(): 4286 it.done = true 4287 it.fail = err 4288 return it.Next() 4289 } 4290 } 4291 4292 // Error returns any retrieval or parsing error occurred during filtering. 4293 func (it *RootChainBlockFinalizedIterator) Error() error { 4294 return it.fail 4295 } 4296 4297 // Close terminates the iteration process, releasing any pending underlying 4298 // resources. 4299 func (it *RootChainBlockFinalizedIterator) Close() error { 4300 it.sub.Unsubscribe() 4301 return nil 4302 } 4303 4304 // RootChainBlockFinalized represents a BlockFinalized event raised by the RootChain contract. 4305 type RootChainBlockFinalized struct { 4306 ForkNumber *big.Int 4307 BlockNumber *big.Int 4308 Raw types.Log // Blockchain specific contextual infos 4309 } 4310 4311 // FilterBlockFinalized is a free log retrieval operation binding the contract event 0xfb96205e4b3633fd57aa805b26b51ecf528714a10241a4af015929dce86768d9. 4312 // 4313 // Solidity: event BlockFinalized(uint256 forkNumber, uint256 blockNumber) 4314 func (_RootChain *RootChainFilterer) FilterBlockFinalized(opts *bind.FilterOpts) (*RootChainBlockFinalizedIterator, error) { 4315 4316 logs, sub, err := _RootChain.contract.FilterLogs(opts, "BlockFinalized") 4317 if err != nil { 4318 return nil, err 4319 } 4320 return &RootChainBlockFinalizedIterator{contract: _RootChain.contract, event: "BlockFinalized", logs: logs, sub: sub}, nil 4321 } 4322 4323 // WatchBlockFinalized is a free log subscription operation binding the contract event 0xfb96205e4b3633fd57aa805b26b51ecf528714a10241a4af015929dce86768d9. 4324 // 4325 // Solidity: event BlockFinalized(uint256 forkNumber, uint256 blockNumber) 4326 func (_RootChain *RootChainFilterer) WatchBlockFinalized(opts *bind.WatchOpts, sink chan<- *RootChainBlockFinalized) (event.Subscription, error) { 4327 4328 logs, sub, err := _RootChain.contract.WatchLogs(opts, "BlockFinalized") 4329 if err != nil { 4330 return nil, err 4331 } 4332 return event.NewSubscription(func(quit <-chan struct{}) error { 4333 defer sub.Unsubscribe() 4334 for { 4335 select { 4336 case log := <-logs: 4337 // New log arrived, parse the event and forward to the user 4338 event := new(RootChainBlockFinalized) 4339 if err := _RootChain.contract.UnpackLog(event, "BlockFinalized", log); err != nil { 4340 return err 4341 } 4342 event.Raw = log 4343 4344 select { 4345 case sink <- event: 4346 case err := <-sub.Err(): 4347 return err 4348 case <-quit: 4349 return nil 4350 } 4351 case err := <-sub.Err(): 4352 return err 4353 case <-quit: 4354 return nil 4355 } 4356 } 4357 }), nil 4358 } 4359 4360 // ParseBlockFinalized is a log parse operation binding the contract event 0xfb96205e4b3633fd57aa805b26b51ecf528714a10241a4af015929dce86768d9. 4361 // 4362 // Solidity: event BlockFinalized(uint256 forkNumber, uint256 blockNumber) 4363 func (_RootChain *RootChainFilterer) ParseBlockFinalized(log types.Log) (*RootChainBlockFinalized, error) { 4364 event := new(RootChainBlockFinalized) 4365 if err := _RootChain.contract.UnpackLog(event, "BlockFinalized", log); err != nil { 4366 return nil, err 4367 } 4368 return event, nil 4369 } 4370 4371 // RootChainBlockSubmittedIterator is returned from FilterBlockSubmitted and is used to iterate over the raw logs and unpacked data for BlockSubmitted events raised by the RootChain contract. 4372 type RootChainBlockSubmittedIterator struct { 4373 Event *RootChainBlockSubmitted // Event containing the contract specifics and raw log 4374 4375 contract *bind.BoundContract // Generic contract to use for unpacking event data 4376 event string // Event name to use for unpacking event data 4377 4378 logs chan types.Log // Log channel receiving the found contract events 4379 sub ethereum.Subscription // Subscription for errors, completion and termination 4380 done bool // Whether the subscription completed delivering logs 4381 fail error // Occurred error to stop iteration 4382 } 4383 4384 // Next advances the iterator to the subsequent event, returning whether there 4385 // are any more events found. In case of a retrieval or parsing error, false is 4386 // returned and Error() can be queried for the exact failure. 4387 func (it *RootChainBlockSubmittedIterator) Next() bool { 4388 // If the iterator failed, stop iterating 4389 if it.fail != nil { 4390 return false 4391 } 4392 // If the iterator completed, deliver directly whatever's available 4393 if it.done { 4394 select { 4395 case log := <-it.logs: 4396 it.Event = new(RootChainBlockSubmitted) 4397 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4398 it.fail = err 4399 return false 4400 } 4401 it.Event.Raw = log 4402 return true 4403 4404 default: 4405 return false 4406 } 4407 } 4408 // Iterator still in progress, wait for either a data or an error event 4409 select { 4410 case log := <-it.logs: 4411 it.Event = new(RootChainBlockSubmitted) 4412 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4413 it.fail = err 4414 return false 4415 } 4416 it.Event.Raw = log 4417 return true 4418 4419 case err := <-it.sub.Err(): 4420 it.done = true 4421 it.fail = err 4422 return it.Next() 4423 } 4424 } 4425 4426 // Error returns any retrieval or parsing error occurred during filtering. 4427 func (it *RootChainBlockSubmittedIterator) Error() error { 4428 return it.fail 4429 } 4430 4431 // Close terminates the iteration process, releasing any pending underlying 4432 // resources. 4433 func (it *RootChainBlockSubmittedIterator) Close() error { 4434 it.sub.Unsubscribe() 4435 return nil 4436 } 4437 4438 // RootChainBlockSubmitted represents a BlockSubmitted event raised by the RootChain contract. 4439 type RootChainBlockSubmitted struct { 4440 Fork *big.Int 4441 EpochNumber *big.Int 4442 BlockNumber *big.Int 4443 IsRequest bool 4444 UserActivated bool 4445 Raw types.Log // Blockchain specific contextual infos 4446 } 4447 4448 // FilterBlockSubmitted is a free log retrieval operation binding the contract event 0x3d4a04291c66b06f39a4ecb817875b12b5485a05ec563133a56a905305c48e55. 4449 // 4450 // Solidity: event BlockSubmitted(uint256 fork, uint256 epochNumber, uint256 blockNumber, bool isRequest, bool userActivated) 4451 func (_RootChain *RootChainFilterer) FilterBlockSubmitted(opts *bind.FilterOpts) (*RootChainBlockSubmittedIterator, error) { 4452 4453 logs, sub, err := _RootChain.contract.FilterLogs(opts, "BlockSubmitted") 4454 if err != nil { 4455 return nil, err 4456 } 4457 return &RootChainBlockSubmittedIterator{contract: _RootChain.contract, event: "BlockSubmitted", logs: logs, sub: sub}, nil 4458 } 4459 4460 // WatchBlockSubmitted is a free log subscription operation binding the contract event 0x3d4a04291c66b06f39a4ecb817875b12b5485a05ec563133a56a905305c48e55. 4461 // 4462 // Solidity: event BlockSubmitted(uint256 fork, uint256 epochNumber, uint256 blockNumber, bool isRequest, bool userActivated) 4463 func (_RootChain *RootChainFilterer) WatchBlockSubmitted(opts *bind.WatchOpts, sink chan<- *RootChainBlockSubmitted) (event.Subscription, error) { 4464 4465 logs, sub, err := _RootChain.contract.WatchLogs(opts, "BlockSubmitted") 4466 if err != nil { 4467 return nil, err 4468 } 4469 return event.NewSubscription(func(quit <-chan struct{}) error { 4470 defer sub.Unsubscribe() 4471 for { 4472 select { 4473 case log := <-logs: 4474 // New log arrived, parse the event and forward to the user 4475 event := new(RootChainBlockSubmitted) 4476 if err := _RootChain.contract.UnpackLog(event, "BlockSubmitted", log); err != nil { 4477 return err 4478 } 4479 event.Raw = log 4480 4481 select { 4482 case sink <- event: 4483 case err := <-sub.Err(): 4484 return err 4485 case <-quit: 4486 return nil 4487 } 4488 case err := <-sub.Err(): 4489 return err 4490 case <-quit: 4491 return nil 4492 } 4493 } 4494 }), nil 4495 } 4496 4497 // ParseBlockSubmitted is a log parse operation binding the contract event 0x3d4a04291c66b06f39a4ecb817875b12b5485a05ec563133a56a905305c48e55. 4498 // 4499 // Solidity: event BlockSubmitted(uint256 fork, uint256 epochNumber, uint256 blockNumber, bool isRequest, bool userActivated) 4500 func (_RootChain *RootChainFilterer) ParseBlockSubmitted(log types.Log) (*RootChainBlockSubmitted, error) { 4501 event := new(RootChainBlockSubmitted) 4502 if err := _RootChain.contract.UnpackLog(event, "BlockSubmitted", log); err != nil { 4503 return nil, err 4504 } 4505 return event, nil 4506 } 4507 4508 // RootChainERUCreatedIterator is returned from FilterERUCreated and is used to iterate over the raw logs and unpacked data for ERUCreated events raised by the RootChain contract. 4509 type RootChainERUCreatedIterator struct { 4510 Event *RootChainERUCreated // Event containing the contract specifics and raw log 4511 4512 contract *bind.BoundContract // Generic contract to use for unpacking event data 4513 event string // Event name to use for unpacking event data 4514 4515 logs chan types.Log // Log channel receiving the found contract events 4516 sub ethereum.Subscription // Subscription for errors, completion and termination 4517 done bool // Whether the subscription completed delivering logs 4518 fail error // Occurred error to stop iteration 4519 } 4520 4521 // Next advances the iterator to the subsequent event, returning whether there 4522 // are any more events found. In case of a retrieval or parsing error, false is 4523 // returned and Error() can be queried for the exact failure. 4524 func (it *RootChainERUCreatedIterator) Next() bool { 4525 // If the iterator failed, stop iterating 4526 if it.fail != nil { 4527 return false 4528 } 4529 // If the iterator completed, deliver directly whatever's available 4530 if it.done { 4531 select { 4532 case log := <-it.logs: 4533 it.Event = new(RootChainERUCreated) 4534 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4535 it.fail = err 4536 return false 4537 } 4538 it.Event.Raw = log 4539 return true 4540 4541 default: 4542 return false 4543 } 4544 } 4545 // Iterator still in progress, wait for either a data or an error event 4546 select { 4547 case log := <-it.logs: 4548 it.Event = new(RootChainERUCreated) 4549 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4550 it.fail = err 4551 return false 4552 } 4553 it.Event.Raw = log 4554 return true 4555 4556 case err := <-it.sub.Err(): 4557 it.done = true 4558 it.fail = err 4559 return it.Next() 4560 } 4561 } 4562 4563 // Error returns any retrieval or parsing error occurred during filtering. 4564 func (it *RootChainERUCreatedIterator) Error() error { 4565 return it.fail 4566 } 4567 4568 // Close terminates the iteration process, releasing any pending underlying 4569 // resources. 4570 func (it *RootChainERUCreatedIterator) Close() error { 4571 it.sub.Unsubscribe() 4572 return nil 4573 } 4574 4575 // RootChainERUCreated represents a ERUCreated event raised by the RootChain contract. 4576 type RootChainERUCreated struct { 4577 RequestId *big.Int 4578 Requestor common.Address 4579 To common.Address 4580 TrieKey []byte 4581 TrieValue [32]byte 4582 Raw types.Log // Blockchain specific contextual infos 4583 } 4584 4585 // FilterERUCreated is a free log retrieval operation binding the contract event 0xfcbdc2083dadd644b854d91b49aef8db06b8f5a3d5c1192de38ca0ba271d5a0d. 4586 // 4587 // Solidity: event ERUCreated(uint256 requestId, address requestor, address to, bytes trieKey, bytes32 trieValue) 4588 func (_RootChain *RootChainFilterer) FilterERUCreated(opts *bind.FilterOpts) (*RootChainERUCreatedIterator, error) { 4589 4590 logs, sub, err := _RootChain.contract.FilterLogs(opts, "ERUCreated") 4591 if err != nil { 4592 return nil, err 4593 } 4594 return &RootChainERUCreatedIterator{contract: _RootChain.contract, event: "ERUCreated", logs: logs, sub: sub}, nil 4595 } 4596 4597 // WatchERUCreated is a free log subscription operation binding the contract event 0xfcbdc2083dadd644b854d91b49aef8db06b8f5a3d5c1192de38ca0ba271d5a0d. 4598 // 4599 // Solidity: event ERUCreated(uint256 requestId, address requestor, address to, bytes trieKey, bytes32 trieValue) 4600 func (_RootChain *RootChainFilterer) WatchERUCreated(opts *bind.WatchOpts, sink chan<- *RootChainERUCreated) (event.Subscription, error) { 4601 4602 logs, sub, err := _RootChain.contract.WatchLogs(opts, "ERUCreated") 4603 if err != nil { 4604 return nil, err 4605 } 4606 return event.NewSubscription(func(quit <-chan struct{}) error { 4607 defer sub.Unsubscribe() 4608 for { 4609 select { 4610 case log := <-logs: 4611 // New log arrived, parse the event and forward to the user 4612 event := new(RootChainERUCreated) 4613 if err := _RootChain.contract.UnpackLog(event, "ERUCreated", log); err != nil { 4614 return err 4615 } 4616 event.Raw = log 4617 4618 select { 4619 case sink <- event: 4620 case err := <-sub.Err(): 4621 return err 4622 case <-quit: 4623 return nil 4624 } 4625 case err := <-sub.Err(): 4626 return err 4627 case <-quit: 4628 return nil 4629 } 4630 } 4631 }), nil 4632 } 4633 4634 // ParseERUCreated is a log parse operation binding the contract event 0xfcbdc2083dadd644b854d91b49aef8db06b8f5a3d5c1192de38ca0ba271d5a0d. 4635 // 4636 // Solidity: event ERUCreated(uint256 requestId, address requestor, address to, bytes trieKey, bytes32 trieValue) 4637 func (_RootChain *RootChainFilterer) ParseERUCreated(log types.Log) (*RootChainERUCreated, error) { 4638 event := new(RootChainERUCreated) 4639 if err := _RootChain.contract.UnpackLog(event, "ERUCreated", log); err != nil { 4640 return nil, err 4641 } 4642 return event, nil 4643 } 4644 4645 // RootChainEpochFilledIterator is returned from FilterEpochFilled and is used to iterate over the raw logs and unpacked data for EpochFilled events raised by the RootChain contract. 4646 type RootChainEpochFilledIterator struct { 4647 Event *RootChainEpochFilled // Event containing the contract specifics and raw log 4648 4649 contract *bind.BoundContract // Generic contract to use for unpacking event data 4650 event string // Event name to use for unpacking event data 4651 4652 logs chan types.Log // Log channel receiving the found contract events 4653 sub ethereum.Subscription // Subscription for errors, completion and termination 4654 done bool // Whether the subscription completed delivering logs 4655 fail error // Occurred error to stop iteration 4656 } 4657 4658 // Next advances the iterator to the subsequent event, returning whether there 4659 // are any more events found. In case of a retrieval or parsing error, false is 4660 // returned and Error() can be queried for the exact failure. 4661 func (it *RootChainEpochFilledIterator) Next() bool { 4662 // If the iterator failed, stop iterating 4663 if it.fail != nil { 4664 return false 4665 } 4666 // If the iterator completed, deliver directly whatever's available 4667 if it.done { 4668 select { 4669 case log := <-it.logs: 4670 it.Event = new(RootChainEpochFilled) 4671 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4672 it.fail = err 4673 return false 4674 } 4675 it.Event.Raw = log 4676 return true 4677 4678 default: 4679 return false 4680 } 4681 } 4682 // Iterator still in progress, wait for either a data or an error event 4683 select { 4684 case log := <-it.logs: 4685 it.Event = new(RootChainEpochFilled) 4686 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4687 it.fail = err 4688 return false 4689 } 4690 it.Event.Raw = log 4691 return true 4692 4693 case err := <-it.sub.Err(): 4694 it.done = true 4695 it.fail = err 4696 return it.Next() 4697 } 4698 } 4699 4700 // Error returns any retrieval or parsing error occurred during filtering. 4701 func (it *RootChainEpochFilledIterator) Error() error { 4702 return it.fail 4703 } 4704 4705 // Close terminates the iteration process, releasing any pending underlying 4706 // resources. 4707 func (it *RootChainEpochFilledIterator) Close() error { 4708 it.sub.Unsubscribe() 4709 return nil 4710 } 4711 4712 // RootChainEpochFilled represents a EpochFilled event raised by the RootChain contract. 4713 type RootChainEpochFilled struct { 4714 ForkNumber *big.Int 4715 EpochNumber *big.Int 4716 Raw types.Log // Blockchain specific contextual infos 4717 } 4718 4719 // FilterEpochFilled is a free log retrieval operation binding the contract event 0x2fdeb407bf5c2b621f04b5c784822dae806c45b49a68aba413cc270128c96816. 4720 // 4721 // Solidity: event EpochFilled(uint256 forkNumber, uint256 epochNumber) 4722 func (_RootChain *RootChainFilterer) FilterEpochFilled(opts *bind.FilterOpts) (*RootChainEpochFilledIterator, error) { 4723 4724 logs, sub, err := _RootChain.contract.FilterLogs(opts, "EpochFilled") 4725 if err != nil { 4726 return nil, err 4727 } 4728 return &RootChainEpochFilledIterator{contract: _RootChain.contract, event: "EpochFilled", logs: logs, sub: sub}, nil 4729 } 4730 4731 // WatchEpochFilled is a free log subscription operation binding the contract event 0x2fdeb407bf5c2b621f04b5c784822dae806c45b49a68aba413cc270128c96816. 4732 // 4733 // Solidity: event EpochFilled(uint256 forkNumber, uint256 epochNumber) 4734 func (_RootChain *RootChainFilterer) WatchEpochFilled(opts *bind.WatchOpts, sink chan<- *RootChainEpochFilled) (event.Subscription, error) { 4735 4736 logs, sub, err := _RootChain.contract.WatchLogs(opts, "EpochFilled") 4737 if err != nil { 4738 return nil, err 4739 } 4740 return event.NewSubscription(func(quit <-chan struct{}) error { 4741 defer sub.Unsubscribe() 4742 for { 4743 select { 4744 case log := <-logs: 4745 // New log arrived, parse the event and forward to the user 4746 event := new(RootChainEpochFilled) 4747 if err := _RootChain.contract.UnpackLog(event, "EpochFilled", log); err != nil { 4748 return err 4749 } 4750 event.Raw = log 4751 4752 select { 4753 case sink <- event: 4754 case err := <-sub.Err(): 4755 return err 4756 case <-quit: 4757 return nil 4758 } 4759 case err := <-sub.Err(): 4760 return err 4761 case <-quit: 4762 return nil 4763 } 4764 } 4765 }), nil 4766 } 4767 4768 // ParseEpochFilled is a log parse operation binding the contract event 0x2fdeb407bf5c2b621f04b5c784822dae806c45b49a68aba413cc270128c96816. 4769 // 4770 // Solidity: event EpochFilled(uint256 forkNumber, uint256 epochNumber) 4771 func (_RootChain *RootChainFilterer) ParseEpochFilled(log types.Log) (*RootChainEpochFilled, error) { 4772 event := new(RootChainEpochFilled) 4773 if err := _RootChain.contract.UnpackLog(event, "EpochFilled", log); err != nil { 4774 return nil, err 4775 } 4776 return event, nil 4777 } 4778 4779 // RootChainEpochFillingIterator is returned from FilterEpochFilling and is used to iterate over the raw logs and unpacked data for EpochFilling events raised by the RootChain contract. 4780 type RootChainEpochFillingIterator struct { 4781 Event *RootChainEpochFilling // Event containing the contract specifics and raw log 4782 4783 contract *bind.BoundContract // Generic contract to use for unpacking event data 4784 event string // Event name to use for unpacking event data 4785 4786 logs chan types.Log // Log channel receiving the found contract events 4787 sub ethereum.Subscription // Subscription for errors, completion and termination 4788 done bool // Whether the subscription completed delivering logs 4789 fail error // Occurred error to stop iteration 4790 } 4791 4792 // Next advances the iterator to the subsequent event, returning whether there 4793 // are any more events found. In case of a retrieval or parsing error, false is 4794 // returned and Error() can be queried for the exact failure. 4795 func (it *RootChainEpochFillingIterator) Next() bool { 4796 // If the iterator failed, stop iterating 4797 if it.fail != nil { 4798 return false 4799 } 4800 // If the iterator completed, deliver directly whatever's available 4801 if it.done { 4802 select { 4803 case log := <-it.logs: 4804 it.Event = new(RootChainEpochFilling) 4805 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4806 it.fail = err 4807 return false 4808 } 4809 it.Event.Raw = log 4810 return true 4811 4812 default: 4813 return false 4814 } 4815 } 4816 // Iterator still in progress, wait for either a data or an error event 4817 select { 4818 case log := <-it.logs: 4819 it.Event = new(RootChainEpochFilling) 4820 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4821 it.fail = err 4822 return false 4823 } 4824 it.Event.Raw = log 4825 return true 4826 4827 case err := <-it.sub.Err(): 4828 it.done = true 4829 it.fail = err 4830 return it.Next() 4831 } 4832 } 4833 4834 // Error returns any retrieval or parsing error occurred during filtering. 4835 func (it *RootChainEpochFillingIterator) Error() error { 4836 return it.fail 4837 } 4838 4839 // Close terminates the iteration process, releasing any pending underlying 4840 // resources. 4841 func (it *RootChainEpochFillingIterator) Close() error { 4842 it.sub.Unsubscribe() 4843 return nil 4844 } 4845 4846 // RootChainEpochFilling represents a EpochFilling event raised by the RootChain contract. 4847 type RootChainEpochFilling struct { 4848 ForkNumber *big.Int 4849 EpochNumber *big.Int 4850 Raw types.Log // Blockchain specific contextual infos 4851 } 4852 4853 // FilterEpochFilling is a free log retrieval operation binding the contract event 0x27b09f0953d27bbff306fe25b2987ac5a813248ac30cb2bbd5daf95e7b0e6dc0. 4854 // 4855 // Solidity: event EpochFilling(uint256 forkNumber, uint256 epochNumber) 4856 func (_RootChain *RootChainFilterer) FilterEpochFilling(opts *bind.FilterOpts) (*RootChainEpochFillingIterator, error) { 4857 4858 logs, sub, err := _RootChain.contract.FilterLogs(opts, "EpochFilling") 4859 if err != nil { 4860 return nil, err 4861 } 4862 return &RootChainEpochFillingIterator{contract: _RootChain.contract, event: "EpochFilling", logs: logs, sub: sub}, nil 4863 } 4864 4865 // WatchEpochFilling is a free log subscription operation binding the contract event 0x27b09f0953d27bbff306fe25b2987ac5a813248ac30cb2bbd5daf95e7b0e6dc0. 4866 // 4867 // Solidity: event EpochFilling(uint256 forkNumber, uint256 epochNumber) 4868 func (_RootChain *RootChainFilterer) WatchEpochFilling(opts *bind.WatchOpts, sink chan<- *RootChainEpochFilling) (event.Subscription, error) { 4869 4870 logs, sub, err := _RootChain.contract.WatchLogs(opts, "EpochFilling") 4871 if err != nil { 4872 return nil, err 4873 } 4874 return event.NewSubscription(func(quit <-chan struct{}) error { 4875 defer sub.Unsubscribe() 4876 for { 4877 select { 4878 case log := <-logs: 4879 // New log arrived, parse the event and forward to the user 4880 event := new(RootChainEpochFilling) 4881 if err := _RootChain.contract.UnpackLog(event, "EpochFilling", log); err != nil { 4882 return err 4883 } 4884 event.Raw = log 4885 4886 select { 4887 case sink <- event: 4888 case err := <-sub.Err(): 4889 return err 4890 case <-quit: 4891 return nil 4892 } 4893 case err := <-sub.Err(): 4894 return err 4895 case <-quit: 4896 return nil 4897 } 4898 } 4899 }), nil 4900 } 4901 4902 // ParseEpochFilling is a log parse operation binding the contract event 0x27b09f0953d27bbff306fe25b2987ac5a813248ac30cb2bbd5daf95e7b0e6dc0. 4903 // 4904 // Solidity: event EpochFilling(uint256 forkNumber, uint256 epochNumber) 4905 func (_RootChain *RootChainFilterer) ParseEpochFilling(log types.Log) (*RootChainEpochFilling, error) { 4906 event := new(RootChainEpochFilling) 4907 if err := _RootChain.contract.UnpackLog(event, "EpochFilling", log); err != nil { 4908 return nil, err 4909 } 4910 return event, nil 4911 } 4912 4913 // RootChainEpochFinalizedIterator is returned from FilterEpochFinalized and is used to iterate over the raw logs and unpacked data for EpochFinalized events raised by the RootChain contract. 4914 type RootChainEpochFinalizedIterator struct { 4915 Event *RootChainEpochFinalized // Event containing the contract specifics and raw log 4916 4917 contract *bind.BoundContract // Generic contract to use for unpacking event data 4918 event string // Event name to use for unpacking event data 4919 4920 logs chan types.Log // Log channel receiving the found contract events 4921 sub ethereum.Subscription // Subscription for errors, completion and termination 4922 done bool // Whether the subscription completed delivering logs 4923 fail error // Occurred error to stop iteration 4924 } 4925 4926 // Next advances the iterator to the subsequent event, returning whether there 4927 // are any more events found. In case of a retrieval or parsing error, false is 4928 // returned and Error() can be queried for the exact failure. 4929 func (it *RootChainEpochFinalizedIterator) Next() bool { 4930 // If the iterator failed, stop iterating 4931 if it.fail != nil { 4932 return false 4933 } 4934 // If the iterator completed, deliver directly whatever's available 4935 if it.done { 4936 select { 4937 case log := <-it.logs: 4938 it.Event = new(RootChainEpochFinalized) 4939 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4940 it.fail = err 4941 return false 4942 } 4943 it.Event.Raw = log 4944 return true 4945 4946 default: 4947 return false 4948 } 4949 } 4950 // Iterator still in progress, wait for either a data or an error event 4951 select { 4952 case log := <-it.logs: 4953 it.Event = new(RootChainEpochFinalized) 4954 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 4955 it.fail = err 4956 return false 4957 } 4958 it.Event.Raw = log 4959 return true 4960 4961 case err := <-it.sub.Err(): 4962 it.done = true 4963 it.fail = err 4964 return it.Next() 4965 } 4966 } 4967 4968 // Error returns any retrieval or parsing error occurred during filtering. 4969 func (it *RootChainEpochFinalizedIterator) Error() error { 4970 return it.fail 4971 } 4972 4973 // Close terminates the iteration process, releasing any pending underlying 4974 // resources. 4975 func (it *RootChainEpochFinalizedIterator) Close() error { 4976 it.sub.Unsubscribe() 4977 return nil 4978 } 4979 4980 // RootChainEpochFinalized represents a EpochFinalized event raised by the RootChain contract. 4981 type RootChainEpochFinalized struct { 4982 ForkNumber *big.Int 4983 EpochNumber *big.Int 4984 StartBlockNumber *big.Int 4985 EndBlockNumber *big.Int 4986 Raw types.Log // Blockchain specific contextual infos 4987 } 4988 4989 // FilterEpochFinalized is a free log retrieval operation binding the contract event 0x70801d4d63b3da6c19ba7349911f45bed5a99ccdfb51b8138c105872529bebd5. 4990 // 4991 // Solidity: event EpochFinalized(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber) 4992 func (_RootChain *RootChainFilterer) FilterEpochFinalized(opts *bind.FilterOpts) (*RootChainEpochFinalizedIterator, error) { 4993 4994 logs, sub, err := _RootChain.contract.FilterLogs(opts, "EpochFinalized") 4995 if err != nil { 4996 return nil, err 4997 } 4998 return &RootChainEpochFinalizedIterator{contract: _RootChain.contract, event: "EpochFinalized", logs: logs, sub: sub}, nil 4999 } 5000 5001 // WatchEpochFinalized is a free log subscription operation binding the contract event 0x70801d4d63b3da6c19ba7349911f45bed5a99ccdfb51b8138c105872529bebd5. 5002 // 5003 // Solidity: event EpochFinalized(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber) 5004 func (_RootChain *RootChainFilterer) WatchEpochFinalized(opts *bind.WatchOpts, sink chan<- *RootChainEpochFinalized) (event.Subscription, error) { 5005 5006 logs, sub, err := _RootChain.contract.WatchLogs(opts, "EpochFinalized") 5007 if err != nil { 5008 return nil, err 5009 } 5010 return event.NewSubscription(func(quit <-chan struct{}) error { 5011 defer sub.Unsubscribe() 5012 for { 5013 select { 5014 case log := <-logs: 5015 // New log arrived, parse the event and forward to the user 5016 event := new(RootChainEpochFinalized) 5017 if err := _RootChain.contract.UnpackLog(event, "EpochFinalized", log); err != nil { 5018 return err 5019 } 5020 event.Raw = log 5021 5022 select { 5023 case sink <- event: 5024 case err := <-sub.Err(): 5025 return err 5026 case <-quit: 5027 return nil 5028 } 5029 case err := <-sub.Err(): 5030 return err 5031 case <-quit: 5032 return nil 5033 } 5034 } 5035 }), nil 5036 } 5037 5038 // ParseEpochFinalized is a log parse operation binding the contract event 0x70801d4d63b3da6c19ba7349911f45bed5a99ccdfb51b8138c105872529bebd5. 5039 // 5040 // Solidity: event EpochFinalized(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber) 5041 func (_RootChain *RootChainFilterer) ParseEpochFinalized(log types.Log) (*RootChainEpochFinalized, error) { 5042 event := new(RootChainEpochFinalized) 5043 if err := _RootChain.contract.UnpackLog(event, "EpochFinalized", log); err != nil { 5044 return nil, err 5045 } 5046 return event, nil 5047 } 5048 5049 // RootChainEpochPreparedIterator is returned from FilterEpochPrepared and is used to iterate over the raw logs and unpacked data for EpochPrepared events raised by the RootChain contract. 5050 type RootChainEpochPreparedIterator struct { 5051 Event *RootChainEpochPrepared // Event containing the contract specifics and raw log 5052 5053 contract *bind.BoundContract // Generic contract to use for unpacking event data 5054 event string // Event name to use for unpacking event data 5055 5056 logs chan types.Log // Log channel receiving the found contract events 5057 sub ethereum.Subscription // Subscription for errors, completion and termination 5058 done bool // Whether the subscription completed delivering logs 5059 fail error // Occurred error to stop iteration 5060 } 5061 5062 // Next advances the iterator to the subsequent event, returning whether there 5063 // are any more events found. In case of a retrieval or parsing error, false is 5064 // returned and Error() can be queried for the exact failure. 5065 func (it *RootChainEpochPreparedIterator) Next() bool { 5066 // If the iterator failed, stop iterating 5067 if it.fail != nil { 5068 return false 5069 } 5070 // If the iterator completed, deliver directly whatever's available 5071 if it.done { 5072 select { 5073 case log := <-it.logs: 5074 it.Event = new(RootChainEpochPrepared) 5075 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5076 it.fail = err 5077 return false 5078 } 5079 it.Event.Raw = log 5080 return true 5081 5082 default: 5083 return false 5084 } 5085 } 5086 // Iterator still in progress, wait for either a data or an error event 5087 select { 5088 case log := <-it.logs: 5089 it.Event = new(RootChainEpochPrepared) 5090 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5091 it.fail = err 5092 return false 5093 } 5094 it.Event.Raw = log 5095 return true 5096 5097 case err := <-it.sub.Err(): 5098 it.done = true 5099 it.fail = err 5100 return it.Next() 5101 } 5102 } 5103 5104 // Error returns any retrieval or parsing error occurred during filtering. 5105 func (it *RootChainEpochPreparedIterator) Error() error { 5106 return it.fail 5107 } 5108 5109 // Close terminates the iteration process, releasing any pending underlying 5110 // resources. 5111 func (it *RootChainEpochPreparedIterator) Close() error { 5112 it.sub.Unsubscribe() 5113 return nil 5114 } 5115 5116 // RootChainEpochPrepared represents a EpochPrepared event raised by the RootChain contract. 5117 type RootChainEpochPrepared struct { 5118 ForkNumber *big.Int 5119 EpochNumber *big.Int 5120 StartBlockNumber *big.Int 5121 EndBlockNumber *big.Int 5122 RequestStart *big.Int 5123 RequestEnd *big.Int 5124 EpochIsEmpty bool 5125 IsRequest bool 5126 UserActivated bool 5127 Rebase bool 5128 Raw types.Log // Blockchain specific contextual infos 5129 } 5130 5131 // FilterEpochPrepared is a free log retrieval operation binding the contract event 0x1a69c0760aa329b76f72579129869013ebd3d41594db019c0e997b939fcb32e3. 5132 // 5133 // Solidity: event EpochPrepared(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated, bool rebase) 5134 func (_RootChain *RootChainFilterer) FilterEpochPrepared(opts *bind.FilterOpts) (*RootChainEpochPreparedIterator, error) { 5135 5136 logs, sub, err := _RootChain.contract.FilterLogs(opts, "EpochPrepared") 5137 if err != nil { 5138 return nil, err 5139 } 5140 return &RootChainEpochPreparedIterator{contract: _RootChain.contract, event: "EpochPrepared", logs: logs, sub: sub}, nil 5141 } 5142 5143 // WatchEpochPrepared is a free log subscription operation binding the contract event 0x1a69c0760aa329b76f72579129869013ebd3d41594db019c0e997b939fcb32e3. 5144 // 5145 // Solidity: event EpochPrepared(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated, bool rebase) 5146 func (_RootChain *RootChainFilterer) WatchEpochPrepared(opts *bind.WatchOpts, sink chan<- *RootChainEpochPrepared) (event.Subscription, error) { 5147 5148 logs, sub, err := _RootChain.contract.WatchLogs(opts, "EpochPrepared") 5149 if err != nil { 5150 return nil, err 5151 } 5152 return event.NewSubscription(func(quit <-chan struct{}) error { 5153 defer sub.Unsubscribe() 5154 for { 5155 select { 5156 case log := <-logs: 5157 // New log arrived, parse the event and forward to the user 5158 event := new(RootChainEpochPrepared) 5159 if err := _RootChain.contract.UnpackLog(event, "EpochPrepared", log); err != nil { 5160 return err 5161 } 5162 event.Raw = log 5163 5164 select { 5165 case sink <- event: 5166 case err := <-sub.Err(): 5167 return err 5168 case <-quit: 5169 return nil 5170 } 5171 case err := <-sub.Err(): 5172 return err 5173 case <-quit: 5174 return nil 5175 } 5176 } 5177 }), nil 5178 } 5179 5180 // ParseEpochPrepared is a log parse operation binding the contract event 0x1a69c0760aa329b76f72579129869013ebd3d41594db019c0e997b939fcb32e3. 5181 // 5182 // Solidity: event EpochPrepared(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated, bool rebase) 5183 func (_RootChain *RootChainFilterer) ParseEpochPrepared(log types.Log) (*RootChainEpochPrepared, error) { 5184 event := new(RootChainEpochPrepared) 5185 if err := _RootChain.contract.UnpackLog(event, "EpochPrepared", log); err != nil { 5186 return nil, err 5187 } 5188 return event, nil 5189 } 5190 5191 // RootChainEpochRebasedIterator is returned from FilterEpochRebased and is used to iterate over the raw logs and unpacked data for EpochRebased events raised by the RootChain contract. 5192 type RootChainEpochRebasedIterator struct { 5193 Event *RootChainEpochRebased // Event containing the contract specifics and raw log 5194 5195 contract *bind.BoundContract // Generic contract to use for unpacking event data 5196 event string // Event name to use for unpacking event data 5197 5198 logs chan types.Log // Log channel receiving the found contract events 5199 sub ethereum.Subscription // Subscription for errors, completion and termination 5200 done bool // Whether the subscription completed delivering logs 5201 fail error // Occurred error to stop iteration 5202 } 5203 5204 // Next advances the iterator to the subsequent event, returning whether there 5205 // are any more events found. In case of a retrieval or parsing error, false is 5206 // returned and Error() can be queried for the exact failure. 5207 func (it *RootChainEpochRebasedIterator) Next() bool { 5208 // If the iterator failed, stop iterating 5209 if it.fail != nil { 5210 return false 5211 } 5212 // If the iterator completed, deliver directly whatever's available 5213 if it.done { 5214 select { 5215 case log := <-it.logs: 5216 it.Event = new(RootChainEpochRebased) 5217 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5218 it.fail = err 5219 return false 5220 } 5221 it.Event.Raw = log 5222 return true 5223 5224 default: 5225 return false 5226 } 5227 } 5228 // Iterator still in progress, wait for either a data or an error event 5229 select { 5230 case log := <-it.logs: 5231 it.Event = new(RootChainEpochRebased) 5232 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5233 it.fail = err 5234 return false 5235 } 5236 it.Event.Raw = log 5237 return true 5238 5239 case err := <-it.sub.Err(): 5240 it.done = true 5241 it.fail = err 5242 return it.Next() 5243 } 5244 } 5245 5246 // Error returns any retrieval or parsing error occurred during filtering. 5247 func (it *RootChainEpochRebasedIterator) Error() error { 5248 return it.fail 5249 } 5250 5251 // Close terminates the iteration process, releasing any pending underlying 5252 // resources. 5253 func (it *RootChainEpochRebasedIterator) Close() error { 5254 it.sub.Unsubscribe() 5255 return nil 5256 } 5257 5258 // RootChainEpochRebased represents a EpochRebased event raised by the RootChain contract. 5259 type RootChainEpochRebased struct { 5260 ForkNumber *big.Int 5261 EpochNumber *big.Int 5262 StartBlockNumber *big.Int 5263 EndBlockNumber *big.Int 5264 RequestStart *big.Int 5265 RequestEnd *big.Int 5266 EpochIsEmpty bool 5267 IsRequest bool 5268 UserActivated bool 5269 Raw types.Log // Blockchain specific contextual infos 5270 } 5271 5272 // FilterEpochRebased is a free log retrieval operation binding the contract event 0x030c1c69405c93021f28f57557240dee939a320b826a1fd0d39bf6e629ecab47. 5273 // 5274 // Solidity: event EpochRebased(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated) 5275 func (_RootChain *RootChainFilterer) FilterEpochRebased(opts *bind.FilterOpts) (*RootChainEpochRebasedIterator, error) { 5276 5277 logs, sub, err := _RootChain.contract.FilterLogs(opts, "EpochRebased") 5278 if err != nil { 5279 return nil, err 5280 } 5281 return &RootChainEpochRebasedIterator{contract: _RootChain.contract, event: "EpochRebased", logs: logs, sub: sub}, nil 5282 } 5283 5284 // WatchEpochRebased is a free log subscription operation binding the contract event 0x030c1c69405c93021f28f57557240dee939a320b826a1fd0d39bf6e629ecab47. 5285 // 5286 // Solidity: event EpochRebased(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated) 5287 func (_RootChain *RootChainFilterer) WatchEpochRebased(opts *bind.WatchOpts, sink chan<- *RootChainEpochRebased) (event.Subscription, error) { 5288 5289 logs, sub, err := _RootChain.contract.WatchLogs(opts, "EpochRebased") 5290 if err != nil { 5291 return nil, err 5292 } 5293 return event.NewSubscription(func(quit <-chan struct{}) error { 5294 defer sub.Unsubscribe() 5295 for { 5296 select { 5297 case log := <-logs: 5298 // New log arrived, parse the event and forward to the user 5299 event := new(RootChainEpochRebased) 5300 if err := _RootChain.contract.UnpackLog(event, "EpochRebased", log); err != nil { 5301 return err 5302 } 5303 event.Raw = log 5304 5305 select { 5306 case sink <- event: 5307 case err := <-sub.Err(): 5308 return err 5309 case <-quit: 5310 return nil 5311 } 5312 case err := <-sub.Err(): 5313 return err 5314 case <-quit: 5315 return nil 5316 } 5317 } 5318 }), nil 5319 } 5320 5321 // ParseEpochRebased is a log parse operation binding the contract event 0x030c1c69405c93021f28f57557240dee939a320b826a1fd0d39bf6e629ecab47. 5322 // 5323 // Solidity: event EpochRebased(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated) 5324 func (_RootChain *RootChainFilterer) ParseEpochRebased(log types.Log) (*RootChainEpochRebased, error) { 5325 event := new(RootChainEpochRebased) 5326 if err := _RootChain.contract.UnpackLog(event, "EpochRebased", log); err != nil { 5327 return nil, err 5328 } 5329 return event, nil 5330 } 5331 5332 // RootChainForkedIterator is returned from FilterForked and is used to iterate over the raw logs and unpacked data for Forked events raised by the RootChain contract. 5333 type RootChainForkedIterator struct { 5334 Event *RootChainForked // Event containing the contract specifics and raw log 5335 5336 contract *bind.BoundContract // Generic contract to use for unpacking event data 5337 event string // Event name to use for unpacking event data 5338 5339 logs chan types.Log // Log channel receiving the found contract events 5340 sub ethereum.Subscription // Subscription for errors, completion and termination 5341 done bool // Whether the subscription completed delivering logs 5342 fail error // Occurred error to stop iteration 5343 } 5344 5345 // Next advances the iterator to the subsequent event, returning whether there 5346 // are any more events found. In case of a retrieval or parsing error, false is 5347 // returned and Error() can be queried for the exact failure. 5348 func (it *RootChainForkedIterator) Next() bool { 5349 // If the iterator failed, stop iterating 5350 if it.fail != nil { 5351 return false 5352 } 5353 // If the iterator completed, deliver directly whatever's available 5354 if it.done { 5355 select { 5356 case log := <-it.logs: 5357 it.Event = new(RootChainForked) 5358 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5359 it.fail = err 5360 return false 5361 } 5362 it.Event.Raw = log 5363 return true 5364 5365 default: 5366 return false 5367 } 5368 } 5369 // Iterator still in progress, wait for either a data or an error event 5370 select { 5371 case log := <-it.logs: 5372 it.Event = new(RootChainForked) 5373 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5374 it.fail = err 5375 return false 5376 } 5377 it.Event.Raw = log 5378 return true 5379 5380 case err := <-it.sub.Err(): 5381 it.done = true 5382 it.fail = err 5383 return it.Next() 5384 } 5385 } 5386 5387 // Error returns any retrieval or parsing error occurred during filtering. 5388 func (it *RootChainForkedIterator) Error() error { 5389 return it.fail 5390 } 5391 5392 // Close terminates the iteration process, releasing any pending underlying 5393 // resources. 5394 func (it *RootChainForkedIterator) Close() error { 5395 it.sub.Unsubscribe() 5396 return nil 5397 } 5398 5399 // RootChainForked represents a Forked event raised by the RootChain contract. 5400 type RootChainForked struct { 5401 NewFork *big.Int 5402 EpochNumber *big.Int 5403 ForkedBlockNumber *big.Int 5404 Raw types.Log // Blockchain specific contextual infos 5405 } 5406 5407 // FilterForked is a free log retrieval operation binding the contract event 0x0647d42ab02f6e0ae76959757dcb6aa6feac1d4ba6f077f1223fb4b1b429f06c. 5408 // 5409 // Solidity: event Forked(uint256 newFork, uint256 epochNumber, uint256 forkedBlockNumber) 5410 func (_RootChain *RootChainFilterer) FilterForked(opts *bind.FilterOpts) (*RootChainForkedIterator, error) { 5411 5412 logs, sub, err := _RootChain.contract.FilterLogs(opts, "Forked") 5413 if err != nil { 5414 return nil, err 5415 } 5416 return &RootChainForkedIterator{contract: _RootChain.contract, event: "Forked", logs: logs, sub: sub}, nil 5417 } 5418 5419 // WatchForked is a free log subscription operation binding the contract event 0x0647d42ab02f6e0ae76959757dcb6aa6feac1d4ba6f077f1223fb4b1b429f06c. 5420 // 5421 // Solidity: event Forked(uint256 newFork, uint256 epochNumber, uint256 forkedBlockNumber) 5422 func (_RootChain *RootChainFilterer) WatchForked(opts *bind.WatchOpts, sink chan<- *RootChainForked) (event.Subscription, error) { 5423 5424 logs, sub, err := _RootChain.contract.WatchLogs(opts, "Forked") 5425 if err != nil { 5426 return nil, err 5427 } 5428 return event.NewSubscription(func(quit <-chan struct{}) error { 5429 defer sub.Unsubscribe() 5430 for { 5431 select { 5432 case log := <-logs: 5433 // New log arrived, parse the event and forward to the user 5434 event := new(RootChainForked) 5435 if err := _RootChain.contract.UnpackLog(event, "Forked", log); err != nil { 5436 return err 5437 } 5438 event.Raw = log 5439 5440 select { 5441 case sink <- event: 5442 case err := <-sub.Err(): 5443 return err 5444 case <-quit: 5445 return nil 5446 } 5447 case err := <-sub.Err(): 5448 return err 5449 case <-quit: 5450 return nil 5451 } 5452 } 5453 }), nil 5454 } 5455 5456 // ParseForked is a log parse operation binding the contract event 0x0647d42ab02f6e0ae76959757dcb6aa6feac1d4ba6f077f1223fb4b1b429f06c. 5457 // 5458 // Solidity: event Forked(uint256 newFork, uint256 epochNumber, uint256 forkedBlockNumber) 5459 func (_RootChain *RootChainFilterer) ParseForked(log types.Log) (*RootChainForked, error) { 5460 event := new(RootChainForked) 5461 if err := _RootChain.contract.UnpackLog(event, "Forked", log); err != nil { 5462 return nil, err 5463 } 5464 return event, nil 5465 } 5466 5467 // RootChainMapperAddedIterator is returned from FilterMapperAdded and is used to iterate over the raw logs and unpacked data for MapperAdded events raised by the RootChain contract. 5468 type RootChainMapperAddedIterator struct { 5469 Event *RootChainMapperAdded // Event containing the contract specifics and raw log 5470 5471 contract *bind.BoundContract // Generic contract to use for unpacking event data 5472 event string // Event name to use for unpacking event data 5473 5474 logs chan types.Log // Log channel receiving the found contract events 5475 sub ethereum.Subscription // Subscription for errors, completion and termination 5476 done bool // Whether the subscription completed delivering logs 5477 fail error // Occurred error to stop iteration 5478 } 5479 5480 // Next advances the iterator to the subsequent event, returning whether there 5481 // are any more events found. In case of a retrieval or parsing error, false is 5482 // returned and Error() can be queried for the exact failure. 5483 func (it *RootChainMapperAddedIterator) Next() bool { 5484 // If the iterator failed, stop iterating 5485 if it.fail != nil { 5486 return false 5487 } 5488 // If the iterator completed, deliver directly whatever's available 5489 if it.done { 5490 select { 5491 case log := <-it.logs: 5492 it.Event = new(RootChainMapperAdded) 5493 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5494 it.fail = err 5495 return false 5496 } 5497 it.Event.Raw = log 5498 return true 5499 5500 default: 5501 return false 5502 } 5503 } 5504 // Iterator still in progress, wait for either a data or an error event 5505 select { 5506 case log := <-it.logs: 5507 it.Event = new(RootChainMapperAdded) 5508 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5509 it.fail = err 5510 return false 5511 } 5512 it.Event.Raw = log 5513 return true 5514 5515 case err := <-it.sub.Err(): 5516 it.done = true 5517 it.fail = err 5518 return it.Next() 5519 } 5520 } 5521 5522 // Error returns any retrieval or parsing error occurred during filtering. 5523 func (it *RootChainMapperAddedIterator) Error() error { 5524 return it.fail 5525 } 5526 5527 // Close terminates the iteration process, releasing any pending underlying 5528 // resources. 5529 func (it *RootChainMapperAddedIterator) Close() error { 5530 it.sub.Unsubscribe() 5531 return nil 5532 } 5533 5534 // RootChainMapperAdded represents a MapperAdded event raised by the RootChain contract. 5535 type RootChainMapperAdded struct { 5536 Account common.Address 5537 Raw types.Log // Blockchain specific contextual infos 5538 } 5539 5540 // FilterMapperAdded is a free log retrieval operation binding the contract event 0xa199526a01dbcba68aa3ab9d7d06c6692c83fb1a8bcf2184e6d94ad34f5aaf95. 5541 // 5542 // Solidity: event MapperAdded(address indexed account) 5543 func (_RootChain *RootChainFilterer) FilterMapperAdded(opts *bind.FilterOpts, account []common.Address) (*RootChainMapperAddedIterator, error) { 5544 5545 var accountRule []interface{} 5546 for _, accountItem := range account { 5547 accountRule = append(accountRule, accountItem) 5548 } 5549 5550 logs, sub, err := _RootChain.contract.FilterLogs(opts, "MapperAdded", accountRule) 5551 if err != nil { 5552 return nil, err 5553 } 5554 return &RootChainMapperAddedIterator{contract: _RootChain.contract, event: "MapperAdded", logs: logs, sub: sub}, nil 5555 } 5556 5557 // WatchMapperAdded is a free log subscription operation binding the contract event 0xa199526a01dbcba68aa3ab9d7d06c6692c83fb1a8bcf2184e6d94ad34f5aaf95. 5558 // 5559 // Solidity: event MapperAdded(address indexed account) 5560 func (_RootChain *RootChainFilterer) WatchMapperAdded(opts *bind.WatchOpts, sink chan<- *RootChainMapperAdded, account []common.Address) (event.Subscription, error) { 5561 5562 var accountRule []interface{} 5563 for _, accountItem := range account { 5564 accountRule = append(accountRule, accountItem) 5565 } 5566 5567 logs, sub, err := _RootChain.contract.WatchLogs(opts, "MapperAdded", accountRule) 5568 if err != nil { 5569 return nil, err 5570 } 5571 return event.NewSubscription(func(quit <-chan struct{}) error { 5572 defer sub.Unsubscribe() 5573 for { 5574 select { 5575 case log := <-logs: 5576 // New log arrived, parse the event and forward to the user 5577 event := new(RootChainMapperAdded) 5578 if err := _RootChain.contract.UnpackLog(event, "MapperAdded", log); err != nil { 5579 return err 5580 } 5581 event.Raw = log 5582 5583 select { 5584 case sink <- event: 5585 case err := <-sub.Err(): 5586 return err 5587 case <-quit: 5588 return nil 5589 } 5590 case err := <-sub.Err(): 5591 return err 5592 case <-quit: 5593 return nil 5594 } 5595 } 5596 }), nil 5597 } 5598 5599 // ParseMapperAdded is a log parse operation binding the contract event 0xa199526a01dbcba68aa3ab9d7d06c6692c83fb1a8bcf2184e6d94ad34f5aaf95. 5600 // 5601 // Solidity: event MapperAdded(address indexed account) 5602 func (_RootChain *RootChainFilterer) ParseMapperAdded(log types.Log) (*RootChainMapperAdded, error) { 5603 event := new(RootChainMapperAdded) 5604 if err := _RootChain.contract.UnpackLog(event, "MapperAdded", log); err != nil { 5605 return nil, err 5606 } 5607 return event, nil 5608 } 5609 5610 // RootChainMapperRemovedIterator is returned from FilterMapperRemoved and is used to iterate over the raw logs and unpacked data for MapperRemoved events raised by the RootChain contract. 5611 type RootChainMapperRemovedIterator struct { 5612 Event *RootChainMapperRemoved // Event containing the contract specifics and raw log 5613 5614 contract *bind.BoundContract // Generic contract to use for unpacking event data 5615 event string // Event name to use for unpacking event data 5616 5617 logs chan types.Log // Log channel receiving the found contract events 5618 sub ethereum.Subscription // Subscription for errors, completion and termination 5619 done bool // Whether the subscription completed delivering logs 5620 fail error // Occurred error to stop iteration 5621 } 5622 5623 // Next advances the iterator to the subsequent event, returning whether there 5624 // are any more events found. In case of a retrieval or parsing error, false is 5625 // returned and Error() can be queried for the exact failure. 5626 func (it *RootChainMapperRemovedIterator) Next() bool { 5627 // If the iterator failed, stop iterating 5628 if it.fail != nil { 5629 return false 5630 } 5631 // If the iterator completed, deliver directly whatever's available 5632 if it.done { 5633 select { 5634 case log := <-it.logs: 5635 it.Event = new(RootChainMapperRemoved) 5636 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5637 it.fail = err 5638 return false 5639 } 5640 it.Event.Raw = log 5641 return true 5642 5643 default: 5644 return false 5645 } 5646 } 5647 // Iterator still in progress, wait for either a data or an error event 5648 select { 5649 case log := <-it.logs: 5650 it.Event = new(RootChainMapperRemoved) 5651 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5652 it.fail = err 5653 return false 5654 } 5655 it.Event.Raw = log 5656 return true 5657 5658 case err := <-it.sub.Err(): 5659 it.done = true 5660 it.fail = err 5661 return it.Next() 5662 } 5663 } 5664 5665 // Error returns any retrieval or parsing error occurred during filtering. 5666 func (it *RootChainMapperRemovedIterator) Error() error { 5667 return it.fail 5668 } 5669 5670 // Close terminates the iteration process, releasing any pending underlying 5671 // resources. 5672 func (it *RootChainMapperRemovedIterator) Close() error { 5673 it.sub.Unsubscribe() 5674 return nil 5675 } 5676 5677 // RootChainMapperRemoved represents a MapperRemoved event raised by the RootChain contract. 5678 type RootChainMapperRemoved struct { 5679 Account common.Address 5680 Raw types.Log // Blockchain specific contextual infos 5681 } 5682 5683 // FilterMapperRemoved is a free log retrieval operation binding the contract event 0xf012269e1b6bb33c7800e7e54167ddd74f0ae7244108030b6876821d3779822f. 5684 // 5685 // Solidity: event MapperRemoved(address indexed account) 5686 func (_RootChain *RootChainFilterer) FilterMapperRemoved(opts *bind.FilterOpts, account []common.Address) (*RootChainMapperRemovedIterator, error) { 5687 5688 var accountRule []interface{} 5689 for _, accountItem := range account { 5690 accountRule = append(accountRule, accountItem) 5691 } 5692 5693 logs, sub, err := _RootChain.contract.FilterLogs(opts, "MapperRemoved", accountRule) 5694 if err != nil { 5695 return nil, err 5696 } 5697 return &RootChainMapperRemovedIterator{contract: _RootChain.contract, event: "MapperRemoved", logs: logs, sub: sub}, nil 5698 } 5699 5700 // WatchMapperRemoved is a free log subscription operation binding the contract event 0xf012269e1b6bb33c7800e7e54167ddd74f0ae7244108030b6876821d3779822f. 5701 // 5702 // Solidity: event MapperRemoved(address indexed account) 5703 func (_RootChain *RootChainFilterer) WatchMapperRemoved(opts *bind.WatchOpts, sink chan<- *RootChainMapperRemoved, account []common.Address) (event.Subscription, error) { 5704 5705 var accountRule []interface{} 5706 for _, accountItem := range account { 5707 accountRule = append(accountRule, accountItem) 5708 } 5709 5710 logs, sub, err := _RootChain.contract.WatchLogs(opts, "MapperRemoved", accountRule) 5711 if err != nil { 5712 return nil, err 5713 } 5714 return event.NewSubscription(func(quit <-chan struct{}) error { 5715 defer sub.Unsubscribe() 5716 for { 5717 select { 5718 case log := <-logs: 5719 // New log arrived, parse the event and forward to the user 5720 event := new(RootChainMapperRemoved) 5721 if err := _RootChain.contract.UnpackLog(event, "MapperRemoved", log); err != nil { 5722 return err 5723 } 5724 event.Raw = log 5725 5726 select { 5727 case sink <- event: 5728 case err := <-sub.Err(): 5729 return err 5730 case <-quit: 5731 return nil 5732 } 5733 case err := <-sub.Err(): 5734 return err 5735 case <-quit: 5736 return nil 5737 } 5738 } 5739 }), nil 5740 } 5741 5742 // ParseMapperRemoved is a log parse operation binding the contract event 0xf012269e1b6bb33c7800e7e54167ddd74f0ae7244108030b6876821d3779822f. 5743 // 5744 // Solidity: event MapperRemoved(address indexed account) 5745 func (_RootChain *RootChainFilterer) ParseMapperRemoved(log types.Log) (*RootChainMapperRemoved, error) { 5746 event := new(RootChainMapperRemoved) 5747 if err := _RootChain.contract.UnpackLog(event, "MapperRemoved", log); err != nil { 5748 return nil, err 5749 } 5750 return event, nil 5751 } 5752 5753 // RootChainOperatorChangedIterator is returned from FilterOperatorChanged and is used to iterate over the raw logs and unpacked data for OperatorChanged events raised by the RootChain contract. 5754 type RootChainOperatorChangedIterator struct { 5755 Event *RootChainOperatorChanged // Event containing the contract specifics and raw log 5756 5757 contract *bind.BoundContract // Generic contract to use for unpacking event data 5758 event string // Event name to use for unpacking event data 5759 5760 logs chan types.Log // Log channel receiving the found contract events 5761 sub ethereum.Subscription // Subscription for errors, completion and termination 5762 done bool // Whether the subscription completed delivering logs 5763 fail error // Occurred error to stop iteration 5764 } 5765 5766 // Next advances the iterator to the subsequent event, returning whether there 5767 // are any more events found. In case of a retrieval or parsing error, false is 5768 // returned and Error() can be queried for the exact failure. 5769 func (it *RootChainOperatorChangedIterator) Next() bool { 5770 // If the iterator failed, stop iterating 5771 if it.fail != nil { 5772 return false 5773 } 5774 // If the iterator completed, deliver directly whatever's available 5775 if it.done { 5776 select { 5777 case log := <-it.logs: 5778 it.Event = new(RootChainOperatorChanged) 5779 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5780 it.fail = err 5781 return false 5782 } 5783 it.Event.Raw = log 5784 return true 5785 5786 default: 5787 return false 5788 } 5789 } 5790 // Iterator still in progress, wait for either a data or an error event 5791 select { 5792 case log := <-it.logs: 5793 it.Event = new(RootChainOperatorChanged) 5794 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5795 it.fail = err 5796 return false 5797 } 5798 it.Event.Raw = log 5799 return true 5800 5801 case err := <-it.sub.Err(): 5802 it.done = true 5803 it.fail = err 5804 return it.Next() 5805 } 5806 } 5807 5808 // Error returns any retrieval or parsing error occurred during filtering. 5809 func (it *RootChainOperatorChangedIterator) Error() error { 5810 return it.fail 5811 } 5812 5813 // Close terminates the iteration process, releasing any pending underlying 5814 // resources. 5815 func (it *RootChainOperatorChangedIterator) Close() error { 5816 it.sub.Unsubscribe() 5817 return nil 5818 } 5819 5820 // RootChainOperatorChanged represents a OperatorChanged event raised by the RootChain contract. 5821 type RootChainOperatorChanged struct { 5822 NewOperator common.Address 5823 Raw types.Log // Blockchain specific contextual infos 5824 } 5825 5826 // FilterOperatorChanged is a free log retrieval operation binding the contract event 0x4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e54. 5827 // 5828 // Solidity: event OperatorChanged(address _newOperator) 5829 func (_RootChain *RootChainFilterer) FilterOperatorChanged(opts *bind.FilterOpts) (*RootChainOperatorChangedIterator, error) { 5830 5831 logs, sub, err := _RootChain.contract.FilterLogs(opts, "OperatorChanged") 5832 if err != nil { 5833 return nil, err 5834 } 5835 return &RootChainOperatorChangedIterator{contract: _RootChain.contract, event: "OperatorChanged", logs: logs, sub: sub}, nil 5836 } 5837 5838 // WatchOperatorChanged is a free log subscription operation binding the contract event 0x4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e54. 5839 // 5840 // Solidity: event OperatorChanged(address _newOperator) 5841 func (_RootChain *RootChainFilterer) WatchOperatorChanged(opts *bind.WatchOpts, sink chan<- *RootChainOperatorChanged) (event.Subscription, error) { 5842 5843 logs, sub, err := _RootChain.contract.WatchLogs(opts, "OperatorChanged") 5844 if err != nil { 5845 return nil, err 5846 } 5847 return event.NewSubscription(func(quit <-chan struct{}) error { 5848 defer sub.Unsubscribe() 5849 for { 5850 select { 5851 case log := <-logs: 5852 // New log arrived, parse the event and forward to the user 5853 event := new(RootChainOperatorChanged) 5854 if err := _RootChain.contract.UnpackLog(event, "OperatorChanged", log); err != nil { 5855 return err 5856 } 5857 event.Raw = log 5858 5859 select { 5860 case sink <- event: 5861 case err := <-sub.Err(): 5862 return err 5863 case <-quit: 5864 return nil 5865 } 5866 case err := <-sub.Err(): 5867 return err 5868 case <-quit: 5869 return nil 5870 } 5871 } 5872 }), nil 5873 } 5874 5875 // ParseOperatorChanged is a log parse operation binding the contract event 0x4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e54. 5876 // 5877 // Solidity: event OperatorChanged(address _newOperator) 5878 func (_RootChain *RootChainFilterer) ParseOperatorChanged(log types.Log) (*RootChainOperatorChanged, error) { 5879 event := new(RootChainOperatorChanged) 5880 if err := _RootChain.contract.UnpackLog(event, "OperatorChanged", log); err != nil { 5881 return nil, err 5882 } 5883 return event, nil 5884 } 5885 5886 // RootChainRequestAppliedIterator is returned from FilterRequestApplied and is used to iterate over the raw logs and unpacked data for RequestApplied events raised by the RootChain contract. 5887 type RootChainRequestAppliedIterator struct { 5888 Event *RootChainRequestApplied // Event containing the contract specifics and raw log 5889 5890 contract *bind.BoundContract // Generic contract to use for unpacking event data 5891 event string // Event name to use for unpacking event data 5892 5893 logs chan types.Log // Log channel receiving the found contract events 5894 sub ethereum.Subscription // Subscription for errors, completion and termination 5895 done bool // Whether the subscription completed delivering logs 5896 fail error // Occurred error to stop iteration 5897 } 5898 5899 // Next advances the iterator to the subsequent event, returning whether there 5900 // are any more events found. In case of a retrieval or parsing error, false is 5901 // returned and Error() can be queried for the exact failure. 5902 func (it *RootChainRequestAppliedIterator) Next() bool { 5903 // If the iterator failed, stop iterating 5904 if it.fail != nil { 5905 return false 5906 } 5907 // If the iterator completed, deliver directly whatever's available 5908 if it.done { 5909 select { 5910 case log := <-it.logs: 5911 it.Event = new(RootChainRequestApplied) 5912 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5913 it.fail = err 5914 return false 5915 } 5916 it.Event.Raw = log 5917 return true 5918 5919 default: 5920 return false 5921 } 5922 } 5923 // Iterator still in progress, wait for either a data or an error event 5924 select { 5925 case log := <-it.logs: 5926 it.Event = new(RootChainRequestApplied) 5927 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 5928 it.fail = err 5929 return false 5930 } 5931 it.Event.Raw = log 5932 return true 5933 5934 case err := <-it.sub.Err(): 5935 it.done = true 5936 it.fail = err 5937 return it.Next() 5938 } 5939 } 5940 5941 // Error returns any retrieval or parsing error occurred during filtering. 5942 func (it *RootChainRequestAppliedIterator) Error() error { 5943 return it.fail 5944 } 5945 5946 // Close terminates the iteration process, releasing any pending underlying 5947 // resources. 5948 func (it *RootChainRequestAppliedIterator) Close() error { 5949 it.sub.Unsubscribe() 5950 return nil 5951 } 5952 5953 // RootChainRequestApplied represents a RequestApplied event raised by the RootChain contract. 5954 type RootChainRequestApplied struct { 5955 RequestId *big.Int 5956 UserActivated bool 5957 Raw types.Log // Blockchain specific contextual infos 5958 } 5959 5960 // FilterRequestApplied is a free log retrieval operation binding the contract event 0x6940a01870e576ceb735867e13863646d517ce10e66c0133186a4ebdfe9388c2. 5961 // 5962 // Solidity: event RequestApplied(uint256 requestId, bool userActivated) 5963 func (_RootChain *RootChainFilterer) FilterRequestApplied(opts *bind.FilterOpts) (*RootChainRequestAppliedIterator, error) { 5964 5965 logs, sub, err := _RootChain.contract.FilterLogs(opts, "RequestApplied") 5966 if err != nil { 5967 return nil, err 5968 } 5969 return &RootChainRequestAppliedIterator{contract: _RootChain.contract, event: "RequestApplied", logs: logs, sub: sub}, nil 5970 } 5971 5972 // WatchRequestApplied is a free log subscription operation binding the contract event 0x6940a01870e576ceb735867e13863646d517ce10e66c0133186a4ebdfe9388c2. 5973 // 5974 // Solidity: event RequestApplied(uint256 requestId, bool userActivated) 5975 func (_RootChain *RootChainFilterer) WatchRequestApplied(opts *bind.WatchOpts, sink chan<- *RootChainRequestApplied) (event.Subscription, error) { 5976 5977 logs, sub, err := _RootChain.contract.WatchLogs(opts, "RequestApplied") 5978 if err != nil { 5979 return nil, err 5980 } 5981 return event.NewSubscription(func(quit <-chan struct{}) error { 5982 defer sub.Unsubscribe() 5983 for { 5984 select { 5985 case log := <-logs: 5986 // New log arrived, parse the event and forward to the user 5987 event := new(RootChainRequestApplied) 5988 if err := _RootChain.contract.UnpackLog(event, "RequestApplied", log); err != nil { 5989 return err 5990 } 5991 event.Raw = log 5992 5993 select { 5994 case sink <- event: 5995 case err := <-sub.Err(): 5996 return err 5997 case <-quit: 5998 return nil 5999 } 6000 case err := <-sub.Err(): 6001 return err 6002 case <-quit: 6003 return nil 6004 } 6005 } 6006 }), nil 6007 } 6008 6009 // ParseRequestApplied is a log parse operation binding the contract event 0x6940a01870e576ceb735867e13863646d517ce10e66c0133186a4ebdfe9388c2. 6010 // 6011 // Solidity: event RequestApplied(uint256 requestId, bool userActivated) 6012 func (_RootChain *RootChainFilterer) ParseRequestApplied(log types.Log) (*RootChainRequestApplied, error) { 6013 event := new(RootChainRequestApplied) 6014 if err := _RootChain.contract.UnpackLog(event, "RequestApplied", log); err != nil { 6015 return nil, err 6016 } 6017 return event, nil 6018 } 6019 6020 // RootChainRequestChallengedIterator is returned from FilterRequestChallenged and is used to iterate over the raw logs and unpacked data for RequestChallenged events raised by the RootChain contract. 6021 type RootChainRequestChallengedIterator struct { 6022 Event *RootChainRequestChallenged // Event containing the contract specifics and raw log 6023 6024 contract *bind.BoundContract // Generic contract to use for unpacking event data 6025 event string // Event name to use for unpacking event data 6026 6027 logs chan types.Log // Log channel receiving the found contract events 6028 sub ethereum.Subscription // Subscription for errors, completion and termination 6029 done bool // Whether the subscription completed delivering logs 6030 fail error // Occurred error to stop iteration 6031 } 6032 6033 // Next advances the iterator to the subsequent event, returning whether there 6034 // are any more events found. In case of a retrieval or parsing error, false is 6035 // returned and Error() can be queried for the exact failure. 6036 func (it *RootChainRequestChallengedIterator) Next() bool { 6037 // If the iterator failed, stop iterating 6038 if it.fail != nil { 6039 return false 6040 } 6041 // If the iterator completed, deliver directly whatever's available 6042 if it.done { 6043 select { 6044 case log := <-it.logs: 6045 it.Event = new(RootChainRequestChallenged) 6046 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6047 it.fail = err 6048 return false 6049 } 6050 it.Event.Raw = log 6051 return true 6052 6053 default: 6054 return false 6055 } 6056 } 6057 // Iterator still in progress, wait for either a data or an error event 6058 select { 6059 case log := <-it.logs: 6060 it.Event = new(RootChainRequestChallenged) 6061 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6062 it.fail = err 6063 return false 6064 } 6065 it.Event.Raw = log 6066 return true 6067 6068 case err := <-it.sub.Err(): 6069 it.done = true 6070 it.fail = err 6071 return it.Next() 6072 } 6073 } 6074 6075 // Error returns any retrieval or parsing error occurred during filtering. 6076 func (it *RootChainRequestChallengedIterator) Error() error { 6077 return it.fail 6078 } 6079 6080 // Close terminates the iteration process, releasing any pending underlying 6081 // resources. 6082 func (it *RootChainRequestChallengedIterator) Close() error { 6083 it.sub.Unsubscribe() 6084 return nil 6085 } 6086 6087 // RootChainRequestChallenged represents a RequestChallenged event raised by the RootChain contract. 6088 type RootChainRequestChallenged struct { 6089 RequestId *big.Int 6090 UserActivated bool 6091 Raw types.Log // Blockchain specific contextual infos 6092 } 6093 6094 // FilterRequestChallenged is a free log retrieval operation binding the contract event 0xc8135db115644ed4ae193313c4c801235ef740d2a57a8d5e6fe26ab66635698a. 6095 // 6096 // Solidity: event RequestChallenged(uint256 requestId, bool userActivated) 6097 func (_RootChain *RootChainFilterer) FilterRequestChallenged(opts *bind.FilterOpts) (*RootChainRequestChallengedIterator, error) { 6098 6099 logs, sub, err := _RootChain.contract.FilterLogs(opts, "RequestChallenged") 6100 if err != nil { 6101 return nil, err 6102 } 6103 return &RootChainRequestChallengedIterator{contract: _RootChain.contract, event: "RequestChallenged", logs: logs, sub: sub}, nil 6104 } 6105 6106 // WatchRequestChallenged is a free log subscription operation binding the contract event 0xc8135db115644ed4ae193313c4c801235ef740d2a57a8d5e6fe26ab66635698a. 6107 // 6108 // Solidity: event RequestChallenged(uint256 requestId, bool userActivated) 6109 func (_RootChain *RootChainFilterer) WatchRequestChallenged(opts *bind.WatchOpts, sink chan<- *RootChainRequestChallenged) (event.Subscription, error) { 6110 6111 logs, sub, err := _RootChain.contract.WatchLogs(opts, "RequestChallenged") 6112 if err != nil { 6113 return nil, err 6114 } 6115 return event.NewSubscription(func(quit <-chan struct{}) error { 6116 defer sub.Unsubscribe() 6117 for { 6118 select { 6119 case log := <-logs: 6120 // New log arrived, parse the event and forward to the user 6121 event := new(RootChainRequestChallenged) 6122 if err := _RootChain.contract.UnpackLog(event, "RequestChallenged", log); err != nil { 6123 return err 6124 } 6125 event.Raw = log 6126 6127 select { 6128 case sink <- event: 6129 case err := <-sub.Err(): 6130 return err 6131 case <-quit: 6132 return nil 6133 } 6134 case err := <-sub.Err(): 6135 return err 6136 case <-quit: 6137 return nil 6138 } 6139 } 6140 }), nil 6141 } 6142 6143 // ParseRequestChallenged is a log parse operation binding the contract event 0xc8135db115644ed4ae193313c4c801235ef740d2a57a8d5e6fe26ab66635698a. 6144 // 6145 // Solidity: event RequestChallenged(uint256 requestId, bool userActivated) 6146 func (_RootChain *RootChainFilterer) ParseRequestChallenged(log types.Log) (*RootChainRequestChallenged, error) { 6147 event := new(RootChainRequestChallenged) 6148 if err := _RootChain.contract.UnpackLog(event, "RequestChallenged", log); err != nil { 6149 return nil, err 6150 } 6151 return event, nil 6152 } 6153 6154 // RootChainRequestCreatedIterator is returned from FilterRequestCreated and is used to iterate over the raw logs and unpacked data for RequestCreated events raised by the RootChain contract. 6155 type RootChainRequestCreatedIterator struct { 6156 Event *RootChainRequestCreated // Event containing the contract specifics and raw log 6157 6158 contract *bind.BoundContract // Generic contract to use for unpacking event data 6159 event string // Event name to use for unpacking event data 6160 6161 logs chan types.Log // Log channel receiving the found contract events 6162 sub ethereum.Subscription // Subscription for errors, completion and termination 6163 done bool // Whether the subscription completed delivering logs 6164 fail error // Occurred error to stop iteration 6165 } 6166 6167 // Next advances the iterator to the subsequent event, returning whether there 6168 // are any more events found. In case of a retrieval or parsing error, false is 6169 // returned and Error() can be queried for the exact failure. 6170 func (it *RootChainRequestCreatedIterator) Next() bool { 6171 // If the iterator failed, stop iterating 6172 if it.fail != nil { 6173 return false 6174 } 6175 // If the iterator completed, deliver directly whatever's available 6176 if it.done { 6177 select { 6178 case log := <-it.logs: 6179 it.Event = new(RootChainRequestCreated) 6180 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6181 it.fail = err 6182 return false 6183 } 6184 it.Event.Raw = log 6185 return true 6186 6187 default: 6188 return false 6189 } 6190 } 6191 // Iterator still in progress, wait for either a data or an error event 6192 select { 6193 case log := <-it.logs: 6194 it.Event = new(RootChainRequestCreated) 6195 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6196 it.fail = err 6197 return false 6198 } 6199 it.Event.Raw = log 6200 return true 6201 6202 case err := <-it.sub.Err(): 6203 it.done = true 6204 it.fail = err 6205 return it.Next() 6206 } 6207 } 6208 6209 // Error returns any retrieval or parsing error occurred during filtering. 6210 func (it *RootChainRequestCreatedIterator) Error() error { 6211 return it.fail 6212 } 6213 6214 // Close terminates the iteration process, releasing any pending underlying 6215 // resources. 6216 func (it *RootChainRequestCreatedIterator) Close() error { 6217 it.sub.Unsubscribe() 6218 return nil 6219 } 6220 6221 // RootChainRequestCreated represents a RequestCreated event raised by the RootChain contract. 6222 type RootChainRequestCreated struct { 6223 RequestId *big.Int 6224 Requestor common.Address 6225 To common.Address 6226 WeiAmount *big.Int 6227 TrieKey [32]byte 6228 TrieValue []byte 6229 IsExit bool 6230 UserActivated bool 6231 Raw types.Log // Blockchain specific contextual infos 6232 } 6233 6234 // FilterRequestCreated is a free log retrieval operation binding the contract event 0x879922cf5fcada9ebaf8bd7424dc62877f4b220cae07fb6695cc1e8f94c52b4d. 6235 // 6236 // Solidity: event RequestCreated(uint256 requestId, address requestor, address to, uint256 weiAmount, bytes32 trieKey, bytes trieValue, bool isExit, bool userActivated) 6237 func (_RootChain *RootChainFilterer) FilterRequestCreated(opts *bind.FilterOpts) (*RootChainRequestCreatedIterator, error) { 6238 6239 logs, sub, err := _RootChain.contract.FilterLogs(opts, "RequestCreated") 6240 if err != nil { 6241 return nil, err 6242 } 6243 return &RootChainRequestCreatedIterator{contract: _RootChain.contract, event: "RequestCreated", logs: logs, sub: sub}, nil 6244 } 6245 6246 // WatchRequestCreated is a free log subscription operation binding the contract event 0x879922cf5fcada9ebaf8bd7424dc62877f4b220cae07fb6695cc1e8f94c52b4d. 6247 // 6248 // Solidity: event RequestCreated(uint256 requestId, address requestor, address to, uint256 weiAmount, bytes32 trieKey, bytes trieValue, bool isExit, bool userActivated) 6249 func (_RootChain *RootChainFilterer) WatchRequestCreated(opts *bind.WatchOpts, sink chan<- *RootChainRequestCreated) (event.Subscription, error) { 6250 6251 logs, sub, err := _RootChain.contract.WatchLogs(opts, "RequestCreated") 6252 if err != nil { 6253 return nil, err 6254 } 6255 return event.NewSubscription(func(quit <-chan struct{}) error { 6256 defer sub.Unsubscribe() 6257 for { 6258 select { 6259 case log := <-logs: 6260 // New log arrived, parse the event and forward to the user 6261 event := new(RootChainRequestCreated) 6262 if err := _RootChain.contract.UnpackLog(event, "RequestCreated", log); err != nil { 6263 return err 6264 } 6265 event.Raw = log 6266 6267 select { 6268 case sink <- event: 6269 case err := <-sub.Err(): 6270 return err 6271 case <-quit: 6272 return nil 6273 } 6274 case err := <-sub.Err(): 6275 return err 6276 case <-quit: 6277 return nil 6278 } 6279 } 6280 }), nil 6281 } 6282 6283 // ParseRequestCreated is a log parse operation binding the contract event 0x879922cf5fcada9ebaf8bd7424dc62877f4b220cae07fb6695cc1e8f94c52b4d. 6284 // 6285 // Solidity: event RequestCreated(uint256 requestId, address requestor, address to, uint256 weiAmount, bytes32 trieKey, bytes trieValue, bool isExit, bool userActivated) 6286 func (_RootChain *RootChainFilterer) ParseRequestCreated(log types.Log) (*RootChainRequestCreated, error) { 6287 event := new(RootChainRequestCreated) 6288 if err := _RootChain.contract.UnpackLog(event, "RequestCreated", log); err != nil { 6289 return nil, err 6290 } 6291 return event, nil 6292 } 6293 6294 // RootChainRequestFinalizedIterator is returned from FilterRequestFinalized and is used to iterate over the raw logs and unpacked data for RequestFinalized events raised by the RootChain contract. 6295 type RootChainRequestFinalizedIterator struct { 6296 Event *RootChainRequestFinalized // Event containing the contract specifics and raw log 6297 6298 contract *bind.BoundContract // Generic contract to use for unpacking event data 6299 event string // Event name to use for unpacking event data 6300 6301 logs chan types.Log // Log channel receiving the found contract events 6302 sub ethereum.Subscription // Subscription for errors, completion and termination 6303 done bool // Whether the subscription completed delivering logs 6304 fail error // Occurred error to stop iteration 6305 } 6306 6307 // Next advances the iterator to the subsequent event, returning whether there 6308 // are any more events found. In case of a retrieval or parsing error, false is 6309 // returned and Error() can be queried for the exact failure. 6310 func (it *RootChainRequestFinalizedIterator) Next() bool { 6311 // If the iterator failed, stop iterating 6312 if it.fail != nil { 6313 return false 6314 } 6315 // If the iterator completed, deliver directly whatever's available 6316 if it.done { 6317 select { 6318 case log := <-it.logs: 6319 it.Event = new(RootChainRequestFinalized) 6320 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6321 it.fail = err 6322 return false 6323 } 6324 it.Event.Raw = log 6325 return true 6326 6327 default: 6328 return false 6329 } 6330 } 6331 // Iterator still in progress, wait for either a data or an error event 6332 select { 6333 case log := <-it.logs: 6334 it.Event = new(RootChainRequestFinalized) 6335 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6336 it.fail = err 6337 return false 6338 } 6339 it.Event.Raw = log 6340 return true 6341 6342 case err := <-it.sub.Err(): 6343 it.done = true 6344 it.fail = err 6345 return it.Next() 6346 } 6347 } 6348 6349 // Error returns any retrieval or parsing error occurred during filtering. 6350 func (it *RootChainRequestFinalizedIterator) Error() error { 6351 return it.fail 6352 } 6353 6354 // Close terminates the iteration process, releasing any pending underlying 6355 // resources. 6356 func (it *RootChainRequestFinalizedIterator) Close() error { 6357 it.sub.Unsubscribe() 6358 return nil 6359 } 6360 6361 // RootChainRequestFinalized represents a RequestFinalized event raised by the RootChain contract. 6362 type RootChainRequestFinalized struct { 6363 RequestId *big.Int 6364 UserActivated bool 6365 Raw types.Log // Blockchain specific contextual infos 6366 } 6367 6368 // FilterRequestFinalized is a free log retrieval operation binding the contract event 0x134017cf3262b18f892ee95dde3b0aec9a80cc70a7c96f09c64bd237aceb0473. 6369 // 6370 // Solidity: event RequestFinalized(uint256 requestId, bool userActivated) 6371 func (_RootChain *RootChainFilterer) FilterRequestFinalized(opts *bind.FilterOpts) (*RootChainRequestFinalizedIterator, error) { 6372 6373 logs, sub, err := _RootChain.contract.FilterLogs(opts, "RequestFinalized") 6374 if err != nil { 6375 return nil, err 6376 } 6377 return &RootChainRequestFinalizedIterator{contract: _RootChain.contract, event: "RequestFinalized", logs: logs, sub: sub}, nil 6378 } 6379 6380 // WatchRequestFinalized is a free log subscription operation binding the contract event 0x134017cf3262b18f892ee95dde3b0aec9a80cc70a7c96f09c64bd237aceb0473. 6381 // 6382 // Solidity: event RequestFinalized(uint256 requestId, bool userActivated) 6383 func (_RootChain *RootChainFilterer) WatchRequestFinalized(opts *bind.WatchOpts, sink chan<- *RootChainRequestFinalized) (event.Subscription, error) { 6384 6385 logs, sub, err := _RootChain.contract.WatchLogs(opts, "RequestFinalized") 6386 if err != nil { 6387 return nil, err 6388 } 6389 return event.NewSubscription(func(quit <-chan struct{}) error { 6390 defer sub.Unsubscribe() 6391 for { 6392 select { 6393 case log := <-logs: 6394 // New log arrived, parse the event and forward to the user 6395 event := new(RootChainRequestFinalized) 6396 if err := _RootChain.contract.UnpackLog(event, "RequestFinalized", log); err != nil { 6397 return err 6398 } 6399 event.Raw = log 6400 6401 select { 6402 case sink <- event: 6403 case err := <-sub.Err(): 6404 return err 6405 case <-quit: 6406 return nil 6407 } 6408 case err := <-sub.Err(): 6409 return err 6410 case <-quit: 6411 return nil 6412 } 6413 } 6414 }), nil 6415 } 6416 6417 // ParseRequestFinalized is a log parse operation binding the contract event 0x134017cf3262b18f892ee95dde3b0aec9a80cc70a7c96f09c64bd237aceb0473. 6418 // 6419 // Solidity: event RequestFinalized(uint256 requestId, bool userActivated) 6420 func (_RootChain *RootChainFilterer) ParseRequestFinalized(log types.Log) (*RootChainRequestFinalized, error) { 6421 event := new(RootChainRequestFinalized) 6422 if err := _RootChain.contract.UnpackLog(event, "RequestFinalized", log); err != nil { 6423 return nil, err 6424 } 6425 return event, nil 6426 } 6427 6428 // RootChainRequestableContractMappedIterator is returned from FilterRequestableContractMapped and is used to iterate over the raw logs and unpacked data for RequestableContractMapped events raised by the RootChain contract. 6429 type RootChainRequestableContractMappedIterator struct { 6430 Event *RootChainRequestableContractMapped // Event containing the contract specifics and raw log 6431 6432 contract *bind.BoundContract // Generic contract to use for unpacking event data 6433 event string // Event name to use for unpacking event data 6434 6435 logs chan types.Log // Log channel receiving the found contract events 6436 sub ethereum.Subscription // Subscription for errors, completion and termination 6437 done bool // Whether the subscription completed delivering logs 6438 fail error // Occurred error to stop iteration 6439 } 6440 6441 // Next advances the iterator to the subsequent event, returning whether there 6442 // are any more events found. In case of a retrieval or parsing error, false is 6443 // returned and Error() can be queried for the exact failure. 6444 func (it *RootChainRequestableContractMappedIterator) Next() bool { 6445 // If the iterator failed, stop iterating 6446 if it.fail != nil { 6447 return false 6448 } 6449 // If the iterator completed, deliver directly whatever's available 6450 if it.done { 6451 select { 6452 case log := <-it.logs: 6453 it.Event = new(RootChainRequestableContractMapped) 6454 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6455 it.fail = err 6456 return false 6457 } 6458 it.Event.Raw = log 6459 return true 6460 6461 default: 6462 return false 6463 } 6464 } 6465 // Iterator still in progress, wait for either a data or an error event 6466 select { 6467 case log := <-it.logs: 6468 it.Event = new(RootChainRequestableContractMapped) 6469 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6470 it.fail = err 6471 return false 6472 } 6473 it.Event.Raw = log 6474 return true 6475 6476 case err := <-it.sub.Err(): 6477 it.done = true 6478 it.fail = err 6479 return it.Next() 6480 } 6481 } 6482 6483 // Error returns any retrieval or parsing error occurred during filtering. 6484 func (it *RootChainRequestableContractMappedIterator) Error() error { 6485 return it.fail 6486 } 6487 6488 // Close terminates the iteration process, releasing any pending underlying 6489 // resources. 6490 func (it *RootChainRequestableContractMappedIterator) Close() error { 6491 it.sub.Unsubscribe() 6492 return nil 6493 } 6494 6495 // RootChainRequestableContractMapped represents a RequestableContractMapped event raised by the RootChain contract. 6496 type RootChainRequestableContractMapped struct { 6497 ContractInRootchain common.Address 6498 ContractInChildchain common.Address 6499 Raw types.Log // Blockchain specific contextual infos 6500 } 6501 6502 // FilterRequestableContractMapped is a free log retrieval operation binding the contract event 0xc5ec2ed49686197edd2ed642c7e6096893cc81e6658cde2527030316037715d0. 6503 // 6504 // Solidity: event RequestableContractMapped(address contractInRootchain, address contractInChildchain) 6505 func (_RootChain *RootChainFilterer) FilterRequestableContractMapped(opts *bind.FilterOpts) (*RootChainRequestableContractMappedIterator, error) { 6506 6507 logs, sub, err := _RootChain.contract.FilterLogs(opts, "RequestableContractMapped") 6508 if err != nil { 6509 return nil, err 6510 } 6511 return &RootChainRequestableContractMappedIterator{contract: _RootChain.contract, event: "RequestableContractMapped", logs: logs, sub: sub}, nil 6512 } 6513 6514 // WatchRequestableContractMapped is a free log subscription operation binding the contract event 0xc5ec2ed49686197edd2ed642c7e6096893cc81e6658cde2527030316037715d0. 6515 // 6516 // Solidity: event RequestableContractMapped(address contractInRootchain, address contractInChildchain) 6517 func (_RootChain *RootChainFilterer) WatchRequestableContractMapped(opts *bind.WatchOpts, sink chan<- *RootChainRequestableContractMapped) (event.Subscription, error) { 6518 6519 logs, sub, err := _RootChain.contract.WatchLogs(opts, "RequestableContractMapped") 6520 if err != nil { 6521 return nil, err 6522 } 6523 return event.NewSubscription(func(quit <-chan struct{}) error { 6524 defer sub.Unsubscribe() 6525 for { 6526 select { 6527 case log := <-logs: 6528 // New log arrived, parse the event and forward to the user 6529 event := new(RootChainRequestableContractMapped) 6530 if err := _RootChain.contract.UnpackLog(event, "RequestableContractMapped", log); err != nil { 6531 return err 6532 } 6533 event.Raw = log 6534 6535 select { 6536 case sink <- event: 6537 case err := <-sub.Err(): 6538 return err 6539 case <-quit: 6540 return nil 6541 } 6542 case err := <-sub.Err(): 6543 return err 6544 case <-quit: 6545 return nil 6546 } 6547 } 6548 }), nil 6549 } 6550 6551 // ParseRequestableContractMapped is a log parse operation binding the contract event 0xc5ec2ed49686197edd2ed642c7e6096893cc81e6658cde2527030316037715d0. 6552 // 6553 // Solidity: event RequestableContractMapped(address contractInRootchain, address contractInChildchain) 6554 func (_RootChain *RootChainFilterer) ParseRequestableContractMapped(log types.Log) (*RootChainRequestableContractMapped, error) { 6555 event := new(RootChainRequestableContractMapped) 6556 if err := _RootChain.contract.UnpackLog(event, "RequestableContractMapped", log); err != nil { 6557 return nil, err 6558 } 6559 return event, nil 6560 } 6561 6562 // RootChainSessionTimeoutIterator is returned from FilterSessionTimeout and is used to iterate over the raw logs and unpacked data for SessionTimeout events raised by the RootChain contract. 6563 type RootChainSessionTimeoutIterator struct { 6564 Event *RootChainSessionTimeout // Event containing the contract specifics and raw log 6565 6566 contract *bind.BoundContract // Generic contract to use for unpacking event data 6567 event string // Event name to use for unpacking event data 6568 6569 logs chan types.Log // Log channel receiving the found contract events 6570 sub ethereum.Subscription // Subscription for errors, completion and termination 6571 done bool // Whether the subscription completed delivering logs 6572 fail error // Occurred error to stop iteration 6573 } 6574 6575 // Next advances the iterator to the subsequent event, returning whether there 6576 // are any more events found. In case of a retrieval or parsing error, false is 6577 // returned and Error() can be queried for the exact failure. 6578 func (it *RootChainSessionTimeoutIterator) Next() bool { 6579 // If the iterator failed, stop iterating 6580 if it.fail != nil { 6581 return false 6582 } 6583 // If the iterator completed, deliver directly whatever's available 6584 if it.done { 6585 select { 6586 case log := <-it.logs: 6587 it.Event = new(RootChainSessionTimeout) 6588 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6589 it.fail = err 6590 return false 6591 } 6592 it.Event.Raw = log 6593 return true 6594 6595 default: 6596 return false 6597 } 6598 } 6599 // Iterator still in progress, wait for either a data or an error event 6600 select { 6601 case log := <-it.logs: 6602 it.Event = new(RootChainSessionTimeout) 6603 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6604 it.fail = err 6605 return false 6606 } 6607 it.Event.Raw = log 6608 return true 6609 6610 case err := <-it.sub.Err(): 6611 it.done = true 6612 it.fail = err 6613 return it.Next() 6614 } 6615 } 6616 6617 // Error returns any retrieval or parsing error occurred during filtering. 6618 func (it *RootChainSessionTimeoutIterator) Error() error { 6619 return it.fail 6620 } 6621 6622 // Close terminates the iteration process, releasing any pending underlying 6623 // resources. 6624 func (it *RootChainSessionTimeoutIterator) Close() error { 6625 it.sub.Unsubscribe() 6626 return nil 6627 } 6628 6629 // RootChainSessionTimeout represents a SessionTimeout event raised by the RootChain contract. 6630 type RootChainSessionTimeout struct { 6631 UserActivated bool 6632 Raw types.Log // Blockchain specific contextual infos 6633 } 6634 6635 // FilterSessionTimeout is a free log retrieval operation binding the contract event 0x2122ec719581cd177f225f59a1ee005831211196831f8f1ccffa817d2e7bd108. 6636 // 6637 // Solidity: event SessionTimeout(bool userActivated) 6638 func (_RootChain *RootChainFilterer) FilterSessionTimeout(opts *bind.FilterOpts) (*RootChainSessionTimeoutIterator, error) { 6639 6640 logs, sub, err := _RootChain.contract.FilterLogs(opts, "SessionTimeout") 6641 if err != nil { 6642 return nil, err 6643 } 6644 return &RootChainSessionTimeoutIterator{contract: _RootChain.contract, event: "SessionTimeout", logs: logs, sub: sub}, nil 6645 } 6646 6647 // WatchSessionTimeout is a free log subscription operation binding the contract event 0x2122ec719581cd177f225f59a1ee005831211196831f8f1ccffa817d2e7bd108. 6648 // 6649 // Solidity: event SessionTimeout(bool userActivated) 6650 func (_RootChain *RootChainFilterer) WatchSessionTimeout(opts *bind.WatchOpts, sink chan<- *RootChainSessionTimeout) (event.Subscription, error) { 6651 6652 logs, sub, err := _RootChain.contract.WatchLogs(opts, "SessionTimeout") 6653 if err != nil { 6654 return nil, err 6655 } 6656 return event.NewSubscription(func(quit <-chan struct{}) error { 6657 defer sub.Unsubscribe() 6658 for { 6659 select { 6660 case log := <-logs: 6661 // New log arrived, parse the event and forward to the user 6662 event := new(RootChainSessionTimeout) 6663 if err := _RootChain.contract.UnpackLog(event, "SessionTimeout", log); err != nil { 6664 return err 6665 } 6666 event.Raw = log 6667 6668 select { 6669 case sink <- event: 6670 case err := <-sub.Err(): 6671 return err 6672 case <-quit: 6673 return nil 6674 } 6675 case err := <-sub.Err(): 6676 return err 6677 case <-quit: 6678 return nil 6679 } 6680 } 6681 }), nil 6682 } 6683 6684 // ParseSessionTimeout is a log parse operation binding the contract event 0x2122ec719581cd177f225f59a1ee005831211196831f8f1ccffa817d2e7bd108. 6685 // 6686 // Solidity: event SessionTimeout(bool userActivated) 6687 func (_RootChain *RootChainFilterer) ParseSessionTimeout(log types.Log) (*RootChainSessionTimeout, error) { 6688 event := new(RootChainSessionTimeout) 6689 if err := _RootChain.contract.UnpackLog(event, "SessionTimeout", log); err != nil { 6690 return nil, err 6691 } 6692 return event, nil 6693 } 6694 6695 // RootChainSubmitterAddedIterator is returned from FilterSubmitterAdded and is used to iterate over the raw logs and unpacked data for SubmitterAdded events raised by the RootChain contract. 6696 type RootChainSubmitterAddedIterator struct { 6697 Event *RootChainSubmitterAdded // Event containing the contract specifics and raw log 6698 6699 contract *bind.BoundContract // Generic contract to use for unpacking event data 6700 event string // Event name to use for unpacking event data 6701 6702 logs chan types.Log // Log channel receiving the found contract events 6703 sub ethereum.Subscription // Subscription for errors, completion and termination 6704 done bool // Whether the subscription completed delivering logs 6705 fail error // Occurred error to stop iteration 6706 } 6707 6708 // Next advances the iterator to the subsequent event, returning whether there 6709 // are any more events found. In case of a retrieval or parsing error, false is 6710 // returned and Error() can be queried for the exact failure. 6711 func (it *RootChainSubmitterAddedIterator) Next() bool { 6712 // If the iterator failed, stop iterating 6713 if it.fail != nil { 6714 return false 6715 } 6716 // If the iterator completed, deliver directly whatever's available 6717 if it.done { 6718 select { 6719 case log := <-it.logs: 6720 it.Event = new(RootChainSubmitterAdded) 6721 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6722 it.fail = err 6723 return false 6724 } 6725 it.Event.Raw = log 6726 return true 6727 6728 default: 6729 return false 6730 } 6731 } 6732 // Iterator still in progress, wait for either a data or an error event 6733 select { 6734 case log := <-it.logs: 6735 it.Event = new(RootChainSubmitterAdded) 6736 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6737 it.fail = err 6738 return false 6739 } 6740 it.Event.Raw = log 6741 return true 6742 6743 case err := <-it.sub.Err(): 6744 it.done = true 6745 it.fail = err 6746 return it.Next() 6747 } 6748 } 6749 6750 // Error returns any retrieval or parsing error occurred during filtering. 6751 func (it *RootChainSubmitterAddedIterator) Error() error { 6752 return it.fail 6753 } 6754 6755 // Close terminates the iteration process, releasing any pending underlying 6756 // resources. 6757 func (it *RootChainSubmitterAddedIterator) Close() error { 6758 it.sub.Unsubscribe() 6759 return nil 6760 } 6761 6762 // RootChainSubmitterAdded represents a SubmitterAdded event raised by the RootChain contract. 6763 type RootChainSubmitterAdded struct { 6764 Account common.Address 6765 Raw types.Log // Blockchain specific contextual infos 6766 } 6767 6768 // FilterSubmitterAdded is a free log retrieval operation binding the contract event 0xb079bc2cbde1f186e0b351d4a87c4597e3ed098f571548617449e73506428d8b. 6769 // 6770 // Solidity: event SubmitterAdded(address indexed account) 6771 func (_RootChain *RootChainFilterer) FilterSubmitterAdded(opts *bind.FilterOpts, account []common.Address) (*RootChainSubmitterAddedIterator, error) { 6772 6773 var accountRule []interface{} 6774 for _, accountItem := range account { 6775 accountRule = append(accountRule, accountItem) 6776 } 6777 6778 logs, sub, err := _RootChain.contract.FilterLogs(opts, "SubmitterAdded", accountRule) 6779 if err != nil { 6780 return nil, err 6781 } 6782 return &RootChainSubmitterAddedIterator{contract: _RootChain.contract, event: "SubmitterAdded", logs: logs, sub: sub}, nil 6783 } 6784 6785 // WatchSubmitterAdded is a free log subscription operation binding the contract event 0xb079bc2cbde1f186e0b351d4a87c4597e3ed098f571548617449e73506428d8b. 6786 // 6787 // Solidity: event SubmitterAdded(address indexed account) 6788 func (_RootChain *RootChainFilterer) WatchSubmitterAdded(opts *bind.WatchOpts, sink chan<- *RootChainSubmitterAdded, account []common.Address) (event.Subscription, error) { 6789 6790 var accountRule []interface{} 6791 for _, accountItem := range account { 6792 accountRule = append(accountRule, accountItem) 6793 } 6794 6795 logs, sub, err := _RootChain.contract.WatchLogs(opts, "SubmitterAdded", accountRule) 6796 if err != nil { 6797 return nil, err 6798 } 6799 return event.NewSubscription(func(quit <-chan struct{}) error { 6800 defer sub.Unsubscribe() 6801 for { 6802 select { 6803 case log := <-logs: 6804 // New log arrived, parse the event and forward to the user 6805 event := new(RootChainSubmitterAdded) 6806 if err := _RootChain.contract.UnpackLog(event, "SubmitterAdded", log); err != nil { 6807 return err 6808 } 6809 event.Raw = log 6810 6811 select { 6812 case sink <- event: 6813 case err := <-sub.Err(): 6814 return err 6815 case <-quit: 6816 return nil 6817 } 6818 case err := <-sub.Err(): 6819 return err 6820 case <-quit: 6821 return nil 6822 } 6823 } 6824 }), nil 6825 } 6826 6827 // ParseSubmitterAdded is a log parse operation binding the contract event 0xb079bc2cbde1f186e0b351d4a87c4597e3ed098f571548617449e73506428d8b. 6828 // 6829 // Solidity: event SubmitterAdded(address indexed account) 6830 func (_RootChain *RootChainFilterer) ParseSubmitterAdded(log types.Log) (*RootChainSubmitterAdded, error) { 6831 event := new(RootChainSubmitterAdded) 6832 if err := _RootChain.contract.UnpackLog(event, "SubmitterAdded", log); err != nil { 6833 return nil, err 6834 } 6835 return event, nil 6836 } 6837 6838 // RootChainSubmitterRemovedIterator is returned from FilterSubmitterRemoved and is used to iterate over the raw logs and unpacked data for SubmitterRemoved events raised by the RootChain contract. 6839 type RootChainSubmitterRemovedIterator struct { 6840 Event *RootChainSubmitterRemoved // Event containing the contract specifics and raw log 6841 6842 contract *bind.BoundContract // Generic contract to use for unpacking event data 6843 event string // Event name to use for unpacking event data 6844 6845 logs chan types.Log // Log channel receiving the found contract events 6846 sub ethereum.Subscription // Subscription for errors, completion and termination 6847 done bool // Whether the subscription completed delivering logs 6848 fail error // Occurred error to stop iteration 6849 } 6850 6851 // Next advances the iterator to the subsequent event, returning whether there 6852 // are any more events found. In case of a retrieval or parsing error, false is 6853 // returned and Error() can be queried for the exact failure. 6854 func (it *RootChainSubmitterRemovedIterator) Next() bool { 6855 // If the iterator failed, stop iterating 6856 if it.fail != nil { 6857 return false 6858 } 6859 // If the iterator completed, deliver directly whatever's available 6860 if it.done { 6861 select { 6862 case log := <-it.logs: 6863 it.Event = new(RootChainSubmitterRemoved) 6864 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6865 it.fail = err 6866 return false 6867 } 6868 it.Event.Raw = log 6869 return true 6870 6871 default: 6872 return false 6873 } 6874 } 6875 // Iterator still in progress, wait for either a data or an error event 6876 select { 6877 case log := <-it.logs: 6878 it.Event = new(RootChainSubmitterRemoved) 6879 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 6880 it.fail = err 6881 return false 6882 } 6883 it.Event.Raw = log 6884 return true 6885 6886 case err := <-it.sub.Err(): 6887 it.done = true 6888 it.fail = err 6889 return it.Next() 6890 } 6891 } 6892 6893 // Error returns any retrieval or parsing error occurred during filtering. 6894 func (it *RootChainSubmitterRemovedIterator) Error() error { 6895 return it.fail 6896 } 6897 6898 // Close terminates the iteration process, releasing any pending underlying 6899 // resources. 6900 func (it *RootChainSubmitterRemovedIterator) Close() error { 6901 it.sub.Unsubscribe() 6902 return nil 6903 } 6904 6905 // RootChainSubmitterRemoved represents a SubmitterRemoved event raised by the RootChain contract. 6906 type RootChainSubmitterRemoved struct { 6907 Account common.Address 6908 Raw types.Log // Blockchain specific contextual infos 6909 } 6910 6911 // FilterSubmitterRemoved is a free log retrieval operation binding the contract event 0xf84a004e1673d2f349a7c93c72b3794b8eba6d2f9338044d8c8cd260e51a57a1. 6912 // 6913 // Solidity: event SubmitterRemoved(address indexed account) 6914 func (_RootChain *RootChainFilterer) FilterSubmitterRemoved(opts *bind.FilterOpts, account []common.Address) (*RootChainSubmitterRemovedIterator, error) { 6915 6916 var accountRule []interface{} 6917 for _, accountItem := range account { 6918 accountRule = append(accountRule, accountItem) 6919 } 6920 6921 logs, sub, err := _RootChain.contract.FilterLogs(opts, "SubmitterRemoved", accountRule) 6922 if err != nil { 6923 return nil, err 6924 } 6925 return &RootChainSubmitterRemovedIterator{contract: _RootChain.contract, event: "SubmitterRemoved", logs: logs, sub: sub}, nil 6926 } 6927 6928 // WatchSubmitterRemoved is a free log subscription operation binding the contract event 0xf84a004e1673d2f349a7c93c72b3794b8eba6d2f9338044d8c8cd260e51a57a1. 6929 // 6930 // Solidity: event SubmitterRemoved(address indexed account) 6931 func (_RootChain *RootChainFilterer) WatchSubmitterRemoved(opts *bind.WatchOpts, sink chan<- *RootChainSubmitterRemoved, account []common.Address) (event.Subscription, error) { 6932 6933 var accountRule []interface{} 6934 for _, accountItem := range account { 6935 accountRule = append(accountRule, accountItem) 6936 } 6937 6938 logs, sub, err := _RootChain.contract.WatchLogs(opts, "SubmitterRemoved", accountRule) 6939 if err != nil { 6940 return nil, err 6941 } 6942 return event.NewSubscription(func(quit <-chan struct{}) error { 6943 defer sub.Unsubscribe() 6944 for { 6945 select { 6946 case log := <-logs: 6947 // New log arrived, parse the event and forward to the user 6948 event := new(RootChainSubmitterRemoved) 6949 if err := _RootChain.contract.UnpackLog(event, "SubmitterRemoved", log); err != nil { 6950 return err 6951 } 6952 event.Raw = log 6953 6954 select { 6955 case sink <- event: 6956 case err := <-sub.Err(): 6957 return err 6958 case <-quit: 6959 return nil 6960 } 6961 case err := <-sub.Err(): 6962 return err 6963 case <-quit: 6964 return nil 6965 } 6966 } 6967 }), nil 6968 } 6969 6970 // ParseSubmitterRemoved is a log parse operation binding the contract event 0xf84a004e1673d2f349a7c93c72b3794b8eba6d2f9338044d8c8cd260e51a57a1. 6971 // 6972 // Solidity: event SubmitterRemoved(address indexed account) 6973 func (_RootChain *RootChainFilterer) ParseSubmitterRemoved(log types.Log) (*RootChainSubmitterRemoved, error) { 6974 event := new(RootChainSubmitterRemoved) 6975 if err := _RootChain.contract.UnpackLog(event, "SubmitterRemoved", log); err != nil { 6976 return nil, err 6977 } 6978 return event, nil 6979 } 6980 6981 // RootChainBaseABI is the input ABI used to generate the binding from. 6982 const RootChainBaseABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"BlockFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fork\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isRequest\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"BlockSubmitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"requestor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"trieKey\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"trieValue\",\"type\":\"bytes32\"}],\"name\":\"ERUCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"}],\"name\":\"EpochFilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"}],\"name\":\"EpochFilling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlockNumber\",\"type\":\"uint256\"}],\"name\":\"EpochFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"epochIsEmpty\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isRequest\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"rebase\",\"type\":\"bool\"}],\"name\":\"EpochPrepared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"epochIsEmpty\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isRequest\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"EpochRebased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newFork\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkedBlockNumber\",\"type\":\"uint256\"}],\"name\":\"Forked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"OperatorChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"RequestApplied\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"RequestChallenged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"requestor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weiAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"trieKey\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"trieValue\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isExit\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"RequestCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"RequestFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractInRootchain\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractInChildchain\",\"type\":\"address\"}],\"name\":\"RequestableContractMapped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"SessionTimeout\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_ERO\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_ERU\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_NRB\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_ORB\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_URB\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_URB_PREPARE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"CP_COMPUTATION\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"CP_EXIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"CP_WITHHOLDING\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"EROIdToFinalize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"EROs\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isExit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isTransfer\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"finalized\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challenged\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"value\",\"type\":\"uint128\"},{\"internalType\":\"addresspayable\",\"name\":\"requestor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"trieKey\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"trieValue\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ERUIdToFinalize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"ERUs\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isExit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isTransfer\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"finalized\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challenged\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"value\",\"type\":\"uint128\"},{\"internalType\":\"addresspayable\",\"name\":\"requestor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"trieKey\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"trieValue\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"NRELength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"NULL_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"ORBs\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"submitted\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"numEnter\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"epochNumber\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestEnd\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"trie\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"PREPARE_TIMEOUT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"REQUEST_GAS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"URBs\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"submitted\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"numEnter\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"epochNumber\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestEnd\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"trie\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"development\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"epochHandler\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"etherToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"firstFilledORENumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"firstNonEmptyRequestEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"forks\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"forkedBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"firstEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"firstBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastFinalizedEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastFinalizedBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"firstEnterEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastEnterEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextBlockToRebase\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"rebased\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isRootChain\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastAppliedBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastAppliedEpochNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastAppliedForkNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lastNonEmptyRequestEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numEnterForORB\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"requestableContracts\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"seigManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"submitHandler\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 6983 6984 // RootChainBaseFuncSigs maps the 4-byte function signature to its string representation. 6985 var RootChainBaseFuncSigs = map[string]string{ 6986 "d691acd8": "COST_ERO()", 6987 "8b5172d0": "COST_ERU()", 6988 "94be3aa5": "COST_NRB()", 6989 "b2ae9ba8": "COST_ORB()", 6990 "192adc5b": "COST_URB()", 6991 "033cfbed": "COST_URB_PREPARE()", 6992 "08c4fff0": "CP_COMPUTATION()", 6993 "8155717d": "CP_EXIT()", 6994 "b17fa6e9": "CP_WITHHOLDING()", 6995 "2dc6bb7b": "EROIdToFinalize()", 6996 "b443f3cc": "EROs(uint256)", 6997 "c54626cc": "ERUIdToFinalize()", 6998 "f4f31de4": "ERUs(uint256)", 6999 "ab96da2d": "NRELength()", 7000 "de0ce17d": "NULL_ADDRESS()", 7001 "ea7f22a8": "ORBs(uint256)", 7002 "c2bc88fa": "PREPARE_TIMEOUT()", 7003 "8eb288ca": "REQUEST_GAS()", 7004 "c0e86064": "URBs(uint256)", 7005 "183d2d1c": "currentFork()", 7006 "7b929c27": "development()", 7007 "e7b88b80": "epochHandler()", 7008 "b8066bcb": "etherToken()", 7009 "72ecb9a8": "firstFilledORENumber(uint256)", 7010 "ca6f6380": "firstNonEmptyRequestEpoch(uint256)", 7011 "4ba3a126": "forks(uint256)", 7012 "420bb4b8": "isRootChain()", 7013 "fb788a27": "lastAppliedBlockNumber()", 7014 "c8ad329f": "lastAppliedEpochNumber()", 7015 "164bc2ae": "lastAppliedForkNumber()", 7016 "b6715647": "lastNonEmptyRequestEpoch(uint256)", 7017 "23691566": "numEnterForORB()", 7018 "570ca735": "operator()", 7019 "da0185f8": "requestableContracts(address)", 7020 "6fb7f558": "seigManager()", 7021 "e259faf7": "submitHandler()", 7022 } 7023 7024 // RootChainBaseBin is the compiled bytecode used for deploying new contracts. 7025 var RootChainBaseBin = "0x608060405234801561001057600080fd5b50610927806100206000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c8063b17fa6e911610125578063ca6f6380116100ad578063e259faf71161007c578063e259faf714610585578063e7b88b801461058d578063ea7f22a814610595578063f4f31de4146105b2578063fb788a27146105cf5761021c565b8063ca6f63801461053a578063d691acd814610221578063da0185f814610557578063de0ce17d1461057d5761021c565b8063b8066bcb116100f4578063b8066bcb146104b1578063c0e86064146104b9578063c2bc88fa14610522578063c54626cc1461052a578063c8ad329f146105325761021c565b8063b17fa6e91461037c578063b2ae9ba814610221578063b443f3cc14610384578063b6715647146104945761021c565b8063570ca735116101a85780638155717d116101775780638155717d146103645780638b5172d0146102215780638eb288ca1461036c57806394be3aa514610221578063ab96da2d146103745761021c565b8063570ca735146103135780636fb7f5581461033757806372ecb9a81461033f5780637b929c271461035c5761021c565b8063192adc5b116101ef578063192adc5b1461022157806323691566146102535780632dc6bb7b1461025b578063420bb4b8146102635780634ba3a1261461027f5761021c565b8063033cfbed1461022157806308c4fff01461023b578063164bc2ae14610243578063183d2d1c1461024b575b600080fd5b6102296105d7565b60408051918252519081900360200190f35b6102296105dc565b6102296105e1565b6102296105e7565b6102296105ed565b6102296105f3565b61026b6105f9565b604080519115158252519081900360200190f35b61029c6004803603602081101561029557600080fd5b50356105fe565b6040805167ffffffffffffffff9d8e1681529b8d1660208d0152998c168b8b0152978b1660608b0152958a1660808a015293891660a089015291881660c0880152871660e0870152861661010086015285166101208501529093166101408301529115156101608201529051908190036101800190f35b61031b610676565b604080516001600160a01b039092168252519081900360200190f35b61031b61068a565b6102296004803603602081101561035557600080fd5b5035610699565b61026b6106ab565b6102296106b4565b6102296106b9565b6102296106c0565b6102296106c6565b6103a16004803603602081101561039a57600080fd5b50356106cb565b6040805167ffffffffffffffff8d1681528b15156020808301919091528b151592820192909252891515606082015288151560808201526001600160801b03881660a08201526001600160a01b0380881660c0830152861660e082015261010081018590526101208101849052610160610140820181815284519183019190915283519192909161018084019185019080838360005b8381101561044f578181015183820152602001610437565b50505050905090810190601f16801561047c5780820380516001836020036101000a031916815260200191505b509c5050505050505050505050505060405180910390f35b610229600480360360208110156104aa57600080fd5b50356107ed565b61031b6107ff565b6104d6600480360360208110156104cf57600080fd5b503561080e565b60408051961515875267ffffffffffffffff958616602088015293851686850152918416606086015290921660808401526001600160a01b0390911660a0830152519081900360c00190f35b610229610876565b61022961087b565b610229610881565b6102296004803603602081101561055057600080fd5b5035610887565b61031b6004803603602081101561056d57600080fd5b50356001600160a01b0316610899565b61031b6105d7565b61031b6108b4565b61031b6108c3565b6104d6600480360360208110156105ab57600080fd5b50356108d2565b6103a1600480360360208110156105c857600080fd5b50356108df565b6102296108ec565b600081565b600f81565b60105481565b60065481565b600d5481565b60135481565b600181565b60086020526000908152604090208054600182015460029092015467ffffffffffffffff80831693600160401b808504831694600160801b808204851695600160c01b92839004861695858116958581048216958482048316959182900483169484841694918204841693908204169160ff9104168c565b60005461010090046001600160a01b031681565b6004546001600160a01b031681565b60076020526000908152604090205481565b60005460ff1681565b600a81565b620186a081565b60055481565b601481565b600981815481106106d857fe5b6000918252602091829020600691909102018054600180830154600280850154600386015460048701546005880180546040805161010099831615999099026000190190911695909504601f81018b90048b0288018b0190955284875267ffffffffffffffff88169a50600160401b880460ff9081169a600160481b8a0482169a600160501b8b0483169a600160581b810490931699600160601b9093046001600160801b0316986001600160a01b03908116989716969093918301828280156107e35780601f106107b8576101008083540402835291602001916107e3565b820191906000526020600020905b8154815290600101906020018083116107c657829003601f168201915b505050505090508b565b600e6020526000908152604090205481565b6003546001600160a01b031681565b600c818154811061081b57fe5b60009182526020909120600290910201805460019091015460ff8216925067ffffffffffffffff6101008304811692600160481b8104821692600160881b9091048216918116906001600160a01b03600160401b9091041686565b603c81565b60145481565b60115481565b600f6020526000908152604090205481565b6015602052600090815260409020546001600160a01b031681565b6002546001600160a01b031681565b6001546001600160a01b031681565b600b818154811061081b57fe5b600a81815481106106d857fe5b6012548156fea265627a7a72315820caa1bece88c45e45da9bb43f2c28f1168891cf641eeeb099e1f946f89f73c30f64736f6c634300050c0032" 7026 7027 // DeployRootChainBase deploys a new Ethereum contract, binding an instance of RootChainBase to it. 7028 func DeployRootChainBase(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *RootChainBase, error) { 7029 parsed, err := abi.JSON(strings.NewReader(RootChainBaseABI)) 7030 if err != nil { 7031 return common.Address{}, nil, nil, err 7032 } 7033 7034 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RootChainBaseBin), backend) 7035 if err != nil { 7036 return common.Address{}, nil, nil, err 7037 } 7038 return address, tx, &RootChainBase{RootChainBaseCaller: RootChainBaseCaller{contract: contract}, RootChainBaseTransactor: RootChainBaseTransactor{contract: contract}, RootChainBaseFilterer: RootChainBaseFilterer{contract: contract}}, nil 7039 } 7040 7041 // RootChainBase is an auto generated Go binding around an Ethereum contract. 7042 type RootChainBase struct { 7043 RootChainBaseCaller // Read-only binding to the contract 7044 RootChainBaseTransactor // Write-only binding to the contract 7045 RootChainBaseFilterer // Log filterer for contract events 7046 } 7047 7048 // RootChainBaseCaller is an auto generated read-only Go binding around an Ethereum contract. 7049 type RootChainBaseCaller struct { 7050 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7051 } 7052 7053 // RootChainBaseTransactor is an auto generated write-only Go binding around an Ethereum contract. 7054 type RootChainBaseTransactor struct { 7055 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7056 } 7057 7058 // RootChainBaseFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 7059 type RootChainBaseFilterer struct { 7060 contract *bind.BoundContract // Generic contract wrapper for the low level calls 7061 } 7062 7063 // RootChainBaseSession is an auto generated Go binding around an Ethereum contract, 7064 // with pre-set call and transact options. 7065 type RootChainBaseSession struct { 7066 Contract *RootChainBase // Generic contract binding to set the session for 7067 CallOpts bind.CallOpts // Call options to use throughout this session 7068 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7069 } 7070 7071 // RootChainBaseCallerSession is an auto generated read-only Go binding around an Ethereum contract, 7072 // with pre-set call options. 7073 type RootChainBaseCallerSession struct { 7074 Contract *RootChainBaseCaller // Generic contract caller binding to set the session for 7075 CallOpts bind.CallOpts // Call options to use throughout this session 7076 } 7077 7078 // RootChainBaseTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 7079 // with pre-set transact options. 7080 type RootChainBaseTransactorSession struct { 7081 Contract *RootChainBaseTransactor // Generic contract transactor binding to set the session for 7082 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 7083 } 7084 7085 // RootChainBaseRaw is an auto generated low-level Go binding around an Ethereum contract. 7086 type RootChainBaseRaw struct { 7087 Contract *RootChainBase // Generic contract binding to access the raw methods on 7088 } 7089 7090 // RootChainBaseCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 7091 type RootChainBaseCallerRaw struct { 7092 Contract *RootChainBaseCaller // Generic read-only contract binding to access the raw methods on 7093 } 7094 7095 // RootChainBaseTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 7096 type RootChainBaseTransactorRaw struct { 7097 Contract *RootChainBaseTransactor // Generic write-only contract binding to access the raw methods on 7098 } 7099 7100 // NewRootChainBase creates a new instance of RootChainBase, bound to a specific deployed contract. 7101 func NewRootChainBase(address common.Address, backend bind.ContractBackend) (*RootChainBase, error) { 7102 contract, err := bindRootChainBase(address, backend, backend, backend) 7103 if err != nil { 7104 return nil, err 7105 } 7106 return &RootChainBase{RootChainBaseCaller: RootChainBaseCaller{contract: contract}, RootChainBaseTransactor: RootChainBaseTransactor{contract: contract}, RootChainBaseFilterer: RootChainBaseFilterer{contract: contract}}, nil 7107 } 7108 7109 // NewRootChainBaseCaller creates a new read-only instance of RootChainBase, bound to a specific deployed contract. 7110 func NewRootChainBaseCaller(address common.Address, caller bind.ContractCaller) (*RootChainBaseCaller, error) { 7111 contract, err := bindRootChainBase(address, caller, nil, nil) 7112 if err != nil { 7113 return nil, err 7114 } 7115 return &RootChainBaseCaller{contract: contract}, nil 7116 } 7117 7118 // NewRootChainBaseTransactor creates a new write-only instance of RootChainBase, bound to a specific deployed contract. 7119 func NewRootChainBaseTransactor(address common.Address, transactor bind.ContractTransactor) (*RootChainBaseTransactor, error) { 7120 contract, err := bindRootChainBase(address, nil, transactor, nil) 7121 if err != nil { 7122 return nil, err 7123 } 7124 return &RootChainBaseTransactor{contract: contract}, nil 7125 } 7126 7127 // NewRootChainBaseFilterer creates a new log filterer instance of RootChainBase, bound to a specific deployed contract. 7128 func NewRootChainBaseFilterer(address common.Address, filterer bind.ContractFilterer) (*RootChainBaseFilterer, error) { 7129 contract, err := bindRootChainBase(address, nil, nil, filterer) 7130 if err != nil { 7131 return nil, err 7132 } 7133 return &RootChainBaseFilterer{contract: contract}, nil 7134 } 7135 7136 // bindRootChainBase binds a generic wrapper to an already deployed contract. 7137 func bindRootChainBase(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 7138 parsed, err := abi.JSON(strings.NewReader(RootChainBaseABI)) 7139 if err != nil { 7140 return nil, err 7141 } 7142 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 7143 } 7144 7145 // Call invokes the (constant) contract method with params as input values and 7146 // sets the output to result. The result type might be a single field for simple 7147 // returns, a slice of interfaces for anonymous returns and a struct for named 7148 // returns. 7149 func (_RootChainBase *RootChainBaseRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7150 return _RootChainBase.Contract.RootChainBaseCaller.contract.Call(opts, result, method, params...) 7151 } 7152 7153 // Transfer initiates a plain transaction to move funds to the contract, calling 7154 // its default method if one is available. 7155 func (_RootChainBase *RootChainBaseRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7156 return _RootChainBase.Contract.RootChainBaseTransactor.contract.Transfer(opts) 7157 } 7158 7159 // Transact invokes the (paid) contract method with params as input values. 7160 func (_RootChainBase *RootChainBaseRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7161 return _RootChainBase.Contract.RootChainBaseTransactor.contract.Transact(opts, method, params...) 7162 } 7163 7164 // Call invokes the (constant) contract method with params as input values and 7165 // sets the output to result. The result type might be a single field for simple 7166 // returns, a slice of interfaces for anonymous returns and a struct for named 7167 // returns. 7168 func (_RootChainBase *RootChainBaseCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 7169 return _RootChainBase.Contract.contract.Call(opts, result, method, params...) 7170 } 7171 7172 // Transfer initiates a plain transaction to move funds to the contract, calling 7173 // its default method if one is available. 7174 func (_RootChainBase *RootChainBaseTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 7175 return _RootChainBase.Contract.contract.Transfer(opts) 7176 } 7177 7178 // Transact invokes the (paid) contract method with params as input values. 7179 func (_RootChainBase *RootChainBaseTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 7180 return _RootChainBase.Contract.contract.Transact(opts, method, params...) 7181 } 7182 7183 // COSTERO is a free data retrieval call binding the contract method 0xd691acd8. 7184 // 7185 // Solidity: function COST_ERO() constant returns(uint256) 7186 func (_RootChainBase *RootChainBaseCaller) COSTERO(opts *bind.CallOpts) (*big.Int, error) { 7187 var ( 7188 ret0 = new(*big.Int) 7189 ) 7190 out := ret0 7191 err := _RootChainBase.contract.Call(opts, out, "COST_ERO") 7192 return *ret0, err 7193 } 7194 7195 // COSTERO is a free data retrieval call binding the contract method 0xd691acd8. 7196 // 7197 // Solidity: function COST_ERO() constant returns(uint256) 7198 func (_RootChainBase *RootChainBaseSession) COSTERO() (*big.Int, error) { 7199 return _RootChainBase.Contract.COSTERO(&_RootChainBase.CallOpts) 7200 } 7201 7202 // COSTERO is a free data retrieval call binding the contract method 0xd691acd8. 7203 // 7204 // Solidity: function COST_ERO() constant returns(uint256) 7205 func (_RootChainBase *RootChainBaseCallerSession) COSTERO() (*big.Int, error) { 7206 return _RootChainBase.Contract.COSTERO(&_RootChainBase.CallOpts) 7207 } 7208 7209 // COSTERU is a free data retrieval call binding the contract method 0x8b5172d0. 7210 // 7211 // Solidity: function COST_ERU() constant returns(uint256) 7212 func (_RootChainBase *RootChainBaseCaller) COSTERU(opts *bind.CallOpts) (*big.Int, error) { 7213 var ( 7214 ret0 = new(*big.Int) 7215 ) 7216 out := ret0 7217 err := _RootChainBase.contract.Call(opts, out, "COST_ERU") 7218 return *ret0, err 7219 } 7220 7221 // COSTERU is a free data retrieval call binding the contract method 0x8b5172d0. 7222 // 7223 // Solidity: function COST_ERU() constant returns(uint256) 7224 func (_RootChainBase *RootChainBaseSession) COSTERU() (*big.Int, error) { 7225 return _RootChainBase.Contract.COSTERU(&_RootChainBase.CallOpts) 7226 } 7227 7228 // COSTERU is a free data retrieval call binding the contract method 0x8b5172d0. 7229 // 7230 // Solidity: function COST_ERU() constant returns(uint256) 7231 func (_RootChainBase *RootChainBaseCallerSession) COSTERU() (*big.Int, error) { 7232 return _RootChainBase.Contract.COSTERU(&_RootChainBase.CallOpts) 7233 } 7234 7235 // COSTNRB is a free data retrieval call binding the contract method 0x94be3aa5. 7236 // 7237 // Solidity: function COST_NRB() constant returns(uint256) 7238 func (_RootChainBase *RootChainBaseCaller) COSTNRB(opts *bind.CallOpts) (*big.Int, error) { 7239 var ( 7240 ret0 = new(*big.Int) 7241 ) 7242 out := ret0 7243 err := _RootChainBase.contract.Call(opts, out, "COST_NRB") 7244 return *ret0, err 7245 } 7246 7247 // COSTNRB is a free data retrieval call binding the contract method 0x94be3aa5. 7248 // 7249 // Solidity: function COST_NRB() constant returns(uint256) 7250 func (_RootChainBase *RootChainBaseSession) COSTNRB() (*big.Int, error) { 7251 return _RootChainBase.Contract.COSTNRB(&_RootChainBase.CallOpts) 7252 } 7253 7254 // COSTNRB is a free data retrieval call binding the contract method 0x94be3aa5. 7255 // 7256 // Solidity: function COST_NRB() constant returns(uint256) 7257 func (_RootChainBase *RootChainBaseCallerSession) COSTNRB() (*big.Int, error) { 7258 return _RootChainBase.Contract.COSTNRB(&_RootChainBase.CallOpts) 7259 } 7260 7261 // COSTORB is a free data retrieval call binding the contract method 0xb2ae9ba8. 7262 // 7263 // Solidity: function COST_ORB() constant returns(uint256) 7264 func (_RootChainBase *RootChainBaseCaller) COSTORB(opts *bind.CallOpts) (*big.Int, error) { 7265 var ( 7266 ret0 = new(*big.Int) 7267 ) 7268 out := ret0 7269 err := _RootChainBase.contract.Call(opts, out, "COST_ORB") 7270 return *ret0, err 7271 } 7272 7273 // COSTORB is a free data retrieval call binding the contract method 0xb2ae9ba8. 7274 // 7275 // Solidity: function COST_ORB() constant returns(uint256) 7276 func (_RootChainBase *RootChainBaseSession) COSTORB() (*big.Int, error) { 7277 return _RootChainBase.Contract.COSTORB(&_RootChainBase.CallOpts) 7278 } 7279 7280 // COSTORB is a free data retrieval call binding the contract method 0xb2ae9ba8. 7281 // 7282 // Solidity: function COST_ORB() constant returns(uint256) 7283 func (_RootChainBase *RootChainBaseCallerSession) COSTORB() (*big.Int, error) { 7284 return _RootChainBase.Contract.COSTORB(&_RootChainBase.CallOpts) 7285 } 7286 7287 // COSTURB is a free data retrieval call binding the contract method 0x192adc5b. 7288 // 7289 // Solidity: function COST_URB() constant returns(uint256) 7290 func (_RootChainBase *RootChainBaseCaller) COSTURB(opts *bind.CallOpts) (*big.Int, error) { 7291 var ( 7292 ret0 = new(*big.Int) 7293 ) 7294 out := ret0 7295 err := _RootChainBase.contract.Call(opts, out, "COST_URB") 7296 return *ret0, err 7297 } 7298 7299 // COSTURB is a free data retrieval call binding the contract method 0x192adc5b. 7300 // 7301 // Solidity: function COST_URB() constant returns(uint256) 7302 func (_RootChainBase *RootChainBaseSession) COSTURB() (*big.Int, error) { 7303 return _RootChainBase.Contract.COSTURB(&_RootChainBase.CallOpts) 7304 } 7305 7306 // COSTURB is a free data retrieval call binding the contract method 0x192adc5b. 7307 // 7308 // Solidity: function COST_URB() constant returns(uint256) 7309 func (_RootChainBase *RootChainBaseCallerSession) COSTURB() (*big.Int, error) { 7310 return _RootChainBase.Contract.COSTURB(&_RootChainBase.CallOpts) 7311 } 7312 7313 // COSTURBPREPARE is a free data retrieval call binding the contract method 0x033cfbed. 7314 // 7315 // Solidity: function COST_URB_PREPARE() constant returns(uint256) 7316 func (_RootChainBase *RootChainBaseCaller) COSTURBPREPARE(opts *bind.CallOpts) (*big.Int, error) { 7317 var ( 7318 ret0 = new(*big.Int) 7319 ) 7320 out := ret0 7321 err := _RootChainBase.contract.Call(opts, out, "COST_URB_PREPARE") 7322 return *ret0, err 7323 } 7324 7325 // COSTURBPREPARE is a free data retrieval call binding the contract method 0x033cfbed. 7326 // 7327 // Solidity: function COST_URB_PREPARE() constant returns(uint256) 7328 func (_RootChainBase *RootChainBaseSession) COSTURBPREPARE() (*big.Int, error) { 7329 return _RootChainBase.Contract.COSTURBPREPARE(&_RootChainBase.CallOpts) 7330 } 7331 7332 // COSTURBPREPARE is a free data retrieval call binding the contract method 0x033cfbed. 7333 // 7334 // Solidity: function COST_URB_PREPARE() constant returns(uint256) 7335 func (_RootChainBase *RootChainBaseCallerSession) COSTURBPREPARE() (*big.Int, error) { 7336 return _RootChainBase.Contract.COSTURBPREPARE(&_RootChainBase.CallOpts) 7337 } 7338 7339 // CPCOMPUTATION is a free data retrieval call binding the contract method 0x08c4fff0. 7340 // 7341 // Solidity: function CP_COMPUTATION() constant returns(uint256) 7342 func (_RootChainBase *RootChainBaseCaller) CPCOMPUTATION(opts *bind.CallOpts) (*big.Int, error) { 7343 var ( 7344 ret0 = new(*big.Int) 7345 ) 7346 out := ret0 7347 err := _RootChainBase.contract.Call(opts, out, "CP_COMPUTATION") 7348 return *ret0, err 7349 } 7350 7351 // CPCOMPUTATION is a free data retrieval call binding the contract method 0x08c4fff0. 7352 // 7353 // Solidity: function CP_COMPUTATION() constant returns(uint256) 7354 func (_RootChainBase *RootChainBaseSession) CPCOMPUTATION() (*big.Int, error) { 7355 return _RootChainBase.Contract.CPCOMPUTATION(&_RootChainBase.CallOpts) 7356 } 7357 7358 // CPCOMPUTATION is a free data retrieval call binding the contract method 0x08c4fff0. 7359 // 7360 // Solidity: function CP_COMPUTATION() constant returns(uint256) 7361 func (_RootChainBase *RootChainBaseCallerSession) CPCOMPUTATION() (*big.Int, error) { 7362 return _RootChainBase.Contract.CPCOMPUTATION(&_RootChainBase.CallOpts) 7363 } 7364 7365 // CPEXIT is a free data retrieval call binding the contract method 0x8155717d. 7366 // 7367 // Solidity: function CP_EXIT() constant returns(uint256) 7368 func (_RootChainBase *RootChainBaseCaller) CPEXIT(opts *bind.CallOpts) (*big.Int, error) { 7369 var ( 7370 ret0 = new(*big.Int) 7371 ) 7372 out := ret0 7373 err := _RootChainBase.contract.Call(opts, out, "CP_EXIT") 7374 return *ret0, err 7375 } 7376 7377 // CPEXIT is a free data retrieval call binding the contract method 0x8155717d. 7378 // 7379 // Solidity: function CP_EXIT() constant returns(uint256) 7380 func (_RootChainBase *RootChainBaseSession) CPEXIT() (*big.Int, error) { 7381 return _RootChainBase.Contract.CPEXIT(&_RootChainBase.CallOpts) 7382 } 7383 7384 // CPEXIT is a free data retrieval call binding the contract method 0x8155717d. 7385 // 7386 // Solidity: function CP_EXIT() constant returns(uint256) 7387 func (_RootChainBase *RootChainBaseCallerSession) CPEXIT() (*big.Int, error) { 7388 return _RootChainBase.Contract.CPEXIT(&_RootChainBase.CallOpts) 7389 } 7390 7391 // CPWITHHOLDING is a free data retrieval call binding the contract method 0xb17fa6e9. 7392 // 7393 // Solidity: function CP_WITHHOLDING() constant returns(uint256) 7394 func (_RootChainBase *RootChainBaseCaller) CPWITHHOLDING(opts *bind.CallOpts) (*big.Int, error) { 7395 var ( 7396 ret0 = new(*big.Int) 7397 ) 7398 out := ret0 7399 err := _RootChainBase.contract.Call(opts, out, "CP_WITHHOLDING") 7400 return *ret0, err 7401 } 7402 7403 // CPWITHHOLDING is a free data retrieval call binding the contract method 0xb17fa6e9. 7404 // 7405 // Solidity: function CP_WITHHOLDING() constant returns(uint256) 7406 func (_RootChainBase *RootChainBaseSession) CPWITHHOLDING() (*big.Int, error) { 7407 return _RootChainBase.Contract.CPWITHHOLDING(&_RootChainBase.CallOpts) 7408 } 7409 7410 // CPWITHHOLDING is a free data retrieval call binding the contract method 0xb17fa6e9. 7411 // 7412 // Solidity: function CP_WITHHOLDING() constant returns(uint256) 7413 func (_RootChainBase *RootChainBaseCallerSession) CPWITHHOLDING() (*big.Int, error) { 7414 return _RootChainBase.Contract.CPWITHHOLDING(&_RootChainBase.CallOpts) 7415 } 7416 7417 // EROIdToFinalize is a free data retrieval call binding the contract method 0x2dc6bb7b. 7418 // 7419 // Solidity: function EROIdToFinalize() constant returns(uint256) 7420 func (_RootChainBase *RootChainBaseCaller) EROIdToFinalize(opts *bind.CallOpts) (*big.Int, error) { 7421 var ( 7422 ret0 = new(*big.Int) 7423 ) 7424 out := ret0 7425 err := _RootChainBase.contract.Call(opts, out, "EROIdToFinalize") 7426 return *ret0, err 7427 } 7428 7429 // EROIdToFinalize is a free data retrieval call binding the contract method 0x2dc6bb7b. 7430 // 7431 // Solidity: function EROIdToFinalize() constant returns(uint256) 7432 func (_RootChainBase *RootChainBaseSession) EROIdToFinalize() (*big.Int, error) { 7433 return _RootChainBase.Contract.EROIdToFinalize(&_RootChainBase.CallOpts) 7434 } 7435 7436 // EROIdToFinalize is a free data retrieval call binding the contract method 0x2dc6bb7b. 7437 // 7438 // Solidity: function EROIdToFinalize() constant returns(uint256) 7439 func (_RootChainBase *RootChainBaseCallerSession) EROIdToFinalize() (*big.Int, error) { 7440 return _RootChainBase.Contract.EROIdToFinalize(&_RootChainBase.CallOpts) 7441 } 7442 7443 // EROs is a free data retrieval call binding the contract method 0xb443f3cc. 7444 // 7445 // Solidity: function EROs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 7446 func (_RootChainBase *RootChainBaseCaller) EROs(opts *bind.CallOpts, arg0 *big.Int) (struct { 7447 Timestamp uint64 7448 IsExit bool 7449 IsTransfer bool 7450 Finalized bool 7451 Challenged bool 7452 Value *big.Int 7453 Requestor common.Address 7454 To common.Address 7455 TrieKey [32]byte 7456 Hash [32]byte 7457 TrieValue []byte 7458 }, error) { 7459 ret := new(struct { 7460 Timestamp uint64 7461 IsExit bool 7462 IsTransfer bool 7463 Finalized bool 7464 Challenged bool 7465 Value *big.Int 7466 Requestor common.Address 7467 To common.Address 7468 TrieKey [32]byte 7469 Hash [32]byte 7470 TrieValue []byte 7471 }) 7472 out := ret 7473 err := _RootChainBase.contract.Call(opts, out, "EROs", arg0) 7474 return *ret, err 7475 } 7476 7477 // EROs is a free data retrieval call binding the contract method 0xb443f3cc. 7478 // 7479 // Solidity: function EROs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 7480 func (_RootChainBase *RootChainBaseSession) EROs(arg0 *big.Int) (struct { 7481 Timestamp uint64 7482 IsExit bool 7483 IsTransfer bool 7484 Finalized bool 7485 Challenged bool 7486 Value *big.Int 7487 Requestor common.Address 7488 To common.Address 7489 TrieKey [32]byte 7490 Hash [32]byte 7491 TrieValue []byte 7492 }, error) { 7493 return _RootChainBase.Contract.EROs(&_RootChainBase.CallOpts, arg0) 7494 } 7495 7496 // EROs is a free data retrieval call binding the contract method 0xb443f3cc. 7497 // 7498 // Solidity: function EROs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 7499 func (_RootChainBase *RootChainBaseCallerSession) EROs(arg0 *big.Int) (struct { 7500 Timestamp uint64 7501 IsExit bool 7502 IsTransfer bool 7503 Finalized bool 7504 Challenged bool 7505 Value *big.Int 7506 Requestor common.Address 7507 To common.Address 7508 TrieKey [32]byte 7509 Hash [32]byte 7510 TrieValue []byte 7511 }, error) { 7512 return _RootChainBase.Contract.EROs(&_RootChainBase.CallOpts, arg0) 7513 } 7514 7515 // ERUIdToFinalize is a free data retrieval call binding the contract method 0xc54626cc. 7516 // 7517 // Solidity: function ERUIdToFinalize() constant returns(uint256) 7518 func (_RootChainBase *RootChainBaseCaller) ERUIdToFinalize(opts *bind.CallOpts) (*big.Int, error) { 7519 var ( 7520 ret0 = new(*big.Int) 7521 ) 7522 out := ret0 7523 err := _RootChainBase.contract.Call(opts, out, "ERUIdToFinalize") 7524 return *ret0, err 7525 } 7526 7527 // ERUIdToFinalize is a free data retrieval call binding the contract method 0xc54626cc. 7528 // 7529 // Solidity: function ERUIdToFinalize() constant returns(uint256) 7530 func (_RootChainBase *RootChainBaseSession) ERUIdToFinalize() (*big.Int, error) { 7531 return _RootChainBase.Contract.ERUIdToFinalize(&_RootChainBase.CallOpts) 7532 } 7533 7534 // ERUIdToFinalize is a free data retrieval call binding the contract method 0xc54626cc. 7535 // 7536 // Solidity: function ERUIdToFinalize() constant returns(uint256) 7537 func (_RootChainBase *RootChainBaseCallerSession) ERUIdToFinalize() (*big.Int, error) { 7538 return _RootChainBase.Contract.ERUIdToFinalize(&_RootChainBase.CallOpts) 7539 } 7540 7541 // ERUs is a free data retrieval call binding the contract method 0xf4f31de4. 7542 // 7543 // Solidity: function ERUs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 7544 func (_RootChainBase *RootChainBaseCaller) ERUs(opts *bind.CallOpts, arg0 *big.Int) (struct { 7545 Timestamp uint64 7546 IsExit bool 7547 IsTransfer bool 7548 Finalized bool 7549 Challenged bool 7550 Value *big.Int 7551 Requestor common.Address 7552 To common.Address 7553 TrieKey [32]byte 7554 Hash [32]byte 7555 TrieValue []byte 7556 }, error) { 7557 ret := new(struct { 7558 Timestamp uint64 7559 IsExit bool 7560 IsTransfer bool 7561 Finalized bool 7562 Challenged bool 7563 Value *big.Int 7564 Requestor common.Address 7565 To common.Address 7566 TrieKey [32]byte 7567 Hash [32]byte 7568 TrieValue []byte 7569 }) 7570 out := ret 7571 err := _RootChainBase.contract.Call(opts, out, "ERUs", arg0) 7572 return *ret, err 7573 } 7574 7575 // ERUs is a free data retrieval call binding the contract method 0xf4f31de4. 7576 // 7577 // Solidity: function ERUs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 7578 func (_RootChainBase *RootChainBaseSession) ERUs(arg0 *big.Int) (struct { 7579 Timestamp uint64 7580 IsExit bool 7581 IsTransfer bool 7582 Finalized bool 7583 Challenged bool 7584 Value *big.Int 7585 Requestor common.Address 7586 To common.Address 7587 TrieKey [32]byte 7588 Hash [32]byte 7589 TrieValue []byte 7590 }, error) { 7591 return _RootChainBase.Contract.ERUs(&_RootChainBase.CallOpts, arg0) 7592 } 7593 7594 // ERUs is a free data retrieval call binding the contract method 0xf4f31de4. 7595 // 7596 // Solidity: function ERUs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 7597 func (_RootChainBase *RootChainBaseCallerSession) ERUs(arg0 *big.Int) (struct { 7598 Timestamp uint64 7599 IsExit bool 7600 IsTransfer bool 7601 Finalized bool 7602 Challenged bool 7603 Value *big.Int 7604 Requestor common.Address 7605 To common.Address 7606 TrieKey [32]byte 7607 Hash [32]byte 7608 TrieValue []byte 7609 }, error) { 7610 return _RootChainBase.Contract.ERUs(&_RootChainBase.CallOpts, arg0) 7611 } 7612 7613 // NRELength is a free data retrieval call binding the contract method 0xab96da2d. 7614 // 7615 // Solidity: function NRELength() constant returns(uint256) 7616 func (_RootChainBase *RootChainBaseCaller) NRELength(opts *bind.CallOpts) (*big.Int, error) { 7617 var ( 7618 ret0 = new(*big.Int) 7619 ) 7620 out := ret0 7621 err := _RootChainBase.contract.Call(opts, out, "NRELength") 7622 return *ret0, err 7623 } 7624 7625 // NRELength is a free data retrieval call binding the contract method 0xab96da2d. 7626 // 7627 // Solidity: function NRELength() constant returns(uint256) 7628 func (_RootChainBase *RootChainBaseSession) NRELength() (*big.Int, error) { 7629 return _RootChainBase.Contract.NRELength(&_RootChainBase.CallOpts) 7630 } 7631 7632 // NRELength is a free data retrieval call binding the contract method 0xab96da2d. 7633 // 7634 // Solidity: function NRELength() constant returns(uint256) 7635 func (_RootChainBase *RootChainBaseCallerSession) NRELength() (*big.Int, error) { 7636 return _RootChainBase.Contract.NRELength(&_RootChainBase.CallOpts) 7637 } 7638 7639 // NULLADDRESS is a free data retrieval call binding the contract method 0xde0ce17d. 7640 // 7641 // Solidity: function NULL_ADDRESS() constant returns(address) 7642 func (_RootChainBase *RootChainBaseCaller) NULLADDRESS(opts *bind.CallOpts) (common.Address, error) { 7643 var ( 7644 ret0 = new(common.Address) 7645 ) 7646 out := ret0 7647 err := _RootChainBase.contract.Call(opts, out, "NULL_ADDRESS") 7648 return *ret0, err 7649 } 7650 7651 // NULLADDRESS is a free data retrieval call binding the contract method 0xde0ce17d. 7652 // 7653 // Solidity: function NULL_ADDRESS() constant returns(address) 7654 func (_RootChainBase *RootChainBaseSession) NULLADDRESS() (common.Address, error) { 7655 return _RootChainBase.Contract.NULLADDRESS(&_RootChainBase.CallOpts) 7656 } 7657 7658 // NULLADDRESS is a free data retrieval call binding the contract method 0xde0ce17d. 7659 // 7660 // Solidity: function NULL_ADDRESS() constant returns(address) 7661 func (_RootChainBase *RootChainBaseCallerSession) NULLADDRESS() (common.Address, error) { 7662 return _RootChainBase.Contract.NULLADDRESS(&_RootChainBase.CallOpts) 7663 } 7664 7665 // ORBs is a free data retrieval call binding the contract method 0xea7f22a8. 7666 // 7667 // Solidity: function ORBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 7668 func (_RootChainBase *RootChainBaseCaller) ORBs(opts *bind.CallOpts, arg0 *big.Int) (struct { 7669 Submitted bool 7670 NumEnter uint64 7671 EpochNumber uint64 7672 RequestStart uint64 7673 RequestEnd uint64 7674 Trie common.Address 7675 }, error) { 7676 ret := new(struct { 7677 Submitted bool 7678 NumEnter uint64 7679 EpochNumber uint64 7680 RequestStart uint64 7681 RequestEnd uint64 7682 Trie common.Address 7683 }) 7684 out := ret 7685 err := _RootChainBase.contract.Call(opts, out, "ORBs", arg0) 7686 return *ret, err 7687 } 7688 7689 // ORBs is a free data retrieval call binding the contract method 0xea7f22a8. 7690 // 7691 // Solidity: function ORBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 7692 func (_RootChainBase *RootChainBaseSession) ORBs(arg0 *big.Int) (struct { 7693 Submitted bool 7694 NumEnter uint64 7695 EpochNumber uint64 7696 RequestStart uint64 7697 RequestEnd uint64 7698 Trie common.Address 7699 }, error) { 7700 return _RootChainBase.Contract.ORBs(&_RootChainBase.CallOpts, arg0) 7701 } 7702 7703 // ORBs is a free data retrieval call binding the contract method 0xea7f22a8. 7704 // 7705 // Solidity: function ORBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 7706 func (_RootChainBase *RootChainBaseCallerSession) ORBs(arg0 *big.Int) (struct { 7707 Submitted bool 7708 NumEnter uint64 7709 EpochNumber uint64 7710 RequestStart uint64 7711 RequestEnd uint64 7712 Trie common.Address 7713 }, error) { 7714 return _RootChainBase.Contract.ORBs(&_RootChainBase.CallOpts, arg0) 7715 } 7716 7717 // PREPARETIMEOUT is a free data retrieval call binding the contract method 0xc2bc88fa. 7718 // 7719 // Solidity: function PREPARE_TIMEOUT() constant returns(uint256) 7720 func (_RootChainBase *RootChainBaseCaller) PREPARETIMEOUT(opts *bind.CallOpts) (*big.Int, error) { 7721 var ( 7722 ret0 = new(*big.Int) 7723 ) 7724 out := ret0 7725 err := _RootChainBase.contract.Call(opts, out, "PREPARE_TIMEOUT") 7726 return *ret0, err 7727 } 7728 7729 // PREPARETIMEOUT is a free data retrieval call binding the contract method 0xc2bc88fa. 7730 // 7731 // Solidity: function PREPARE_TIMEOUT() constant returns(uint256) 7732 func (_RootChainBase *RootChainBaseSession) PREPARETIMEOUT() (*big.Int, error) { 7733 return _RootChainBase.Contract.PREPARETIMEOUT(&_RootChainBase.CallOpts) 7734 } 7735 7736 // PREPARETIMEOUT is a free data retrieval call binding the contract method 0xc2bc88fa. 7737 // 7738 // Solidity: function PREPARE_TIMEOUT() constant returns(uint256) 7739 func (_RootChainBase *RootChainBaseCallerSession) PREPARETIMEOUT() (*big.Int, error) { 7740 return _RootChainBase.Contract.PREPARETIMEOUT(&_RootChainBase.CallOpts) 7741 } 7742 7743 // REQUESTGAS is a free data retrieval call binding the contract method 0x8eb288ca. 7744 // 7745 // Solidity: function REQUEST_GAS() constant returns(uint256) 7746 func (_RootChainBase *RootChainBaseCaller) REQUESTGAS(opts *bind.CallOpts) (*big.Int, error) { 7747 var ( 7748 ret0 = new(*big.Int) 7749 ) 7750 out := ret0 7751 err := _RootChainBase.contract.Call(opts, out, "REQUEST_GAS") 7752 return *ret0, err 7753 } 7754 7755 // REQUESTGAS is a free data retrieval call binding the contract method 0x8eb288ca. 7756 // 7757 // Solidity: function REQUEST_GAS() constant returns(uint256) 7758 func (_RootChainBase *RootChainBaseSession) REQUESTGAS() (*big.Int, error) { 7759 return _RootChainBase.Contract.REQUESTGAS(&_RootChainBase.CallOpts) 7760 } 7761 7762 // REQUESTGAS is a free data retrieval call binding the contract method 0x8eb288ca. 7763 // 7764 // Solidity: function REQUEST_GAS() constant returns(uint256) 7765 func (_RootChainBase *RootChainBaseCallerSession) REQUESTGAS() (*big.Int, error) { 7766 return _RootChainBase.Contract.REQUESTGAS(&_RootChainBase.CallOpts) 7767 } 7768 7769 // URBs is a free data retrieval call binding the contract method 0xc0e86064. 7770 // 7771 // Solidity: function URBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 7772 func (_RootChainBase *RootChainBaseCaller) URBs(opts *bind.CallOpts, arg0 *big.Int) (struct { 7773 Submitted bool 7774 NumEnter uint64 7775 EpochNumber uint64 7776 RequestStart uint64 7777 RequestEnd uint64 7778 Trie common.Address 7779 }, error) { 7780 ret := new(struct { 7781 Submitted bool 7782 NumEnter uint64 7783 EpochNumber uint64 7784 RequestStart uint64 7785 RequestEnd uint64 7786 Trie common.Address 7787 }) 7788 out := ret 7789 err := _RootChainBase.contract.Call(opts, out, "URBs", arg0) 7790 return *ret, err 7791 } 7792 7793 // URBs is a free data retrieval call binding the contract method 0xc0e86064. 7794 // 7795 // Solidity: function URBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 7796 func (_RootChainBase *RootChainBaseSession) URBs(arg0 *big.Int) (struct { 7797 Submitted bool 7798 NumEnter uint64 7799 EpochNumber uint64 7800 RequestStart uint64 7801 RequestEnd uint64 7802 Trie common.Address 7803 }, error) { 7804 return _RootChainBase.Contract.URBs(&_RootChainBase.CallOpts, arg0) 7805 } 7806 7807 // URBs is a free data retrieval call binding the contract method 0xc0e86064. 7808 // 7809 // Solidity: function URBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 7810 func (_RootChainBase *RootChainBaseCallerSession) URBs(arg0 *big.Int) (struct { 7811 Submitted bool 7812 NumEnter uint64 7813 EpochNumber uint64 7814 RequestStart uint64 7815 RequestEnd uint64 7816 Trie common.Address 7817 }, error) { 7818 return _RootChainBase.Contract.URBs(&_RootChainBase.CallOpts, arg0) 7819 } 7820 7821 // CurrentFork is a free data retrieval call binding the contract method 0x183d2d1c. 7822 // 7823 // Solidity: function currentFork() constant returns(uint256) 7824 func (_RootChainBase *RootChainBaseCaller) CurrentFork(opts *bind.CallOpts) (*big.Int, error) { 7825 var ( 7826 ret0 = new(*big.Int) 7827 ) 7828 out := ret0 7829 err := _RootChainBase.contract.Call(opts, out, "currentFork") 7830 return *ret0, err 7831 } 7832 7833 // CurrentFork is a free data retrieval call binding the contract method 0x183d2d1c. 7834 // 7835 // Solidity: function currentFork() constant returns(uint256) 7836 func (_RootChainBase *RootChainBaseSession) CurrentFork() (*big.Int, error) { 7837 return _RootChainBase.Contract.CurrentFork(&_RootChainBase.CallOpts) 7838 } 7839 7840 // CurrentFork is a free data retrieval call binding the contract method 0x183d2d1c. 7841 // 7842 // Solidity: function currentFork() constant returns(uint256) 7843 func (_RootChainBase *RootChainBaseCallerSession) CurrentFork() (*big.Int, error) { 7844 return _RootChainBase.Contract.CurrentFork(&_RootChainBase.CallOpts) 7845 } 7846 7847 // Development is a free data retrieval call binding the contract method 0x7b929c27. 7848 // 7849 // Solidity: function development() constant returns(bool) 7850 func (_RootChainBase *RootChainBaseCaller) Development(opts *bind.CallOpts) (bool, error) { 7851 var ( 7852 ret0 = new(bool) 7853 ) 7854 out := ret0 7855 err := _RootChainBase.contract.Call(opts, out, "development") 7856 return *ret0, err 7857 } 7858 7859 // Development is a free data retrieval call binding the contract method 0x7b929c27. 7860 // 7861 // Solidity: function development() constant returns(bool) 7862 func (_RootChainBase *RootChainBaseSession) Development() (bool, error) { 7863 return _RootChainBase.Contract.Development(&_RootChainBase.CallOpts) 7864 } 7865 7866 // Development is a free data retrieval call binding the contract method 0x7b929c27. 7867 // 7868 // Solidity: function development() constant returns(bool) 7869 func (_RootChainBase *RootChainBaseCallerSession) Development() (bool, error) { 7870 return _RootChainBase.Contract.Development(&_RootChainBase.CallOpts) 7871 } 7872 7873 // EpochHandler is a free data retrieval call binding the contract method 0xe7b88b80. 7874 // 7875 // Solidity: function epochHandler() constant returns(address) 7876 func (_RootChainBase *RootChainBaseCaller) EpochHandler(opts *bind.CallOpts) (common.Address, error) { 7877 var ( 7878 ret0 = new(common.Address) 7879 ) 7880 out := ret0 7881 err := _RootChainBase.contract.Call(opts, out, "epochHandler") 7882 return *ret0, err 7883 } 7884 7885 // EpochHandler is a free data retrieval call binding the contract method 0xe7b88b80. 7886 // 7887 // Solidity: function epochHandler() constant returns(address) 7888 func (_RootChainBase *RootChainBaseSession) EpochHandler() (common.Address, error) { 7889 return _RootChainBase.Contract.EpochHandler(&_RootChainBase.CallOpts) 7890 } 7891 7892 // EpochHandler is a free data retrieval call binding the contract method 0xe7b88b80. 7893 // 7894 // Solidity: function epochHandler() constant returns(address) 7895 func (_RootChainBase *RootChainBaseCallerSession) EpochHandler() (common.Address, error) { 7896 return _RootChainBase.Contract.EpochHandler(&_RootChainBase.CallOpts) 7897 } 7898 7899 // EtherToken is a free data retrieval call binding the contract method 0xb8066bcb. 7900 // 7901 // Solidity: function etherToken() constant returns(address) 7902 func (_RootChainBase *RootChainBaseCaller) EtherToken(opts *bind.CallOpts) (common.Address, error) { 7903 var ( 7904 ret0 = new(common.Address) 7905 ) 7906 out := ret0 7907 err := _RootChainBase.contract.Call(opts, out, "etherToken") 7908 return *ret0, err 7909 } 7910 7911 // EtherToken is a free data retrieval call binding the contract method 0xb8066bcb. 7912 // 7913 // Solidity: function etherToken() constant returns(address) 7914 func (_RootChainBase *RootChainBaseSession) EtherToken() (common.Address, error) { 7915 return _RootChainBase.Contract.EtherToken(&_RootChainBase.CallOpts) 7916 } 7917 7918 // EtherToken is a free data retrieval call binding the contract method 0xb8066bcb. 7919 // 7920 // Solidity: function etherToken() constant returns(address) 7921 func (_RootChainBase *RootChainBaseCallerSession) EtherToken() (common.Address, error) { 7922 return _RootChainBase.Contract.EtherToken(&_RootChainBase.CallOpts) 7923 } 7924 7925 // FirstFilledORENumber is a free data retrieval call binding the contract method 0x72ecb9a8. 7926 // 7927 // Solidity: function firstFilledORENumber(uint256 ) constant returns(uint256) 7928 func (_RootChainBase *RootChainBaseCaller) FirstFilledORENumber(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { 7929 var ( 7930 ret0 = new(*big.Int) 7931 ) 7932 out := ret0 7933 err := _RootChainBase.contract.Call(opts, out, "firstFilledORENumber", arg0) 7934 return *ret0, err 7935 } 7936 7937 // FirstFilledORENumber is a free data retrieval call binding the contract method 0x72ecb9a8. 7938 // 7939 // Solidity: function firstFilledORENumber(uint256 ) constant returns(uint256) 7940 func (_RootChainBase *RootChainBaseSession) FirstFilledORENumber(arg0 *big.Int) (*big.Int, error) { 7941 return _RootChainBase.Contract.FirstFilledORENumber(&_RootChainBase.CallOpts, arg0) 7942 } 7943 7944 // FirstFilledORENumber is a free data retrieval call binding the contract method 0x72ecb9a8. 7945 // 7946 // Solidity: function firstFilledORENumber(uint256 ) constant returns(uint256) 7947 func (_RootChainBase *RootChainBaseCallerSession) FirstFilledORENumber(arg0 *big.Int) (*big.Int, error) { 7948 return _RootChainBase.Contract.FirstFilledORENumber(&_RootChainBase.CallOpts, arg0) 7949 } 7950 7951 // FirstNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xca6f6380. 7952 // 7953 // Solidity: function firstNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 7954 func (_RootChainBase *RootChainBaseCaller) FirstNonEmptyRequestEpoch(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { 7955 var ( 7956 ret0 = new(*big.Int) 7957 ) 7958 out := ret0 7959 err := _RootChainBase.contract.Call(opts, out, "firstNonEmptyRequestEpoch", arg0) 7960 return *ret0, err 7961 } 7962 7963 // FirstNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xca6f6380. 7964 // 7965 // Solidity: function firstNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 7966 func (_RootChainBase *RootChainBaseSession) FirstNonEmptyRequestEpoch(arg0 *big.Int) (*big.Int, error) { 7967 return _RootChainBase.Contract.FirstNonEmptyRequestEpoch(&_RootChainBase.CallOpts, arg0) 7968 } 7969 7970 // FirstNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xca6f6380. 7971 // 7972 // Solidity: function firstNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 7973 func (_RootChainBase *RootChainBaseCallerSession) FirstNonEmptyRequestEpoch(arg0 *big.Int) (*big.Int, error) { 7974 return _RootChainBase.Contract.FirstNonEmptyRequestEpoch(&_RootChainBase.CallOpts, arg0) 7975 } 7976 7977 // Forks is a free data retrieval call binding the contract method 0x4ba3a126. 7978 // 7979 // Solidity: function forks(uint256 ) constant returns(uint64 forkedBlock, uint64 firstEpoch, uint64 lastEpoch, uint64 firstBlock, uint64 lastBlock, uint64 lastFinalizedEpoch, uint64 lastFinalizedBlock, uint64 timestamp, uint64 firstEnterEpoch, uint64 lastEnterEpoch, uint64 nextBlockToRebase, bool rebased) 7980 func (_RootChainBase *RootChainBaseCaller) Forks(opts *bind.CallOpts, arg0 *big.Int) (struct { 7981 ForkedBlock uint64 7982 FirstEpoch uint64 7983 LastEpoch uint64 7984 FirstBlock uint64 7985 LastBlock uint64 7986 LastFinalizedEpoch uint64 7987 LastFinalizedBlock uint64 7988 Timestamp uint64 7989 FirstEnterEpoch uint64 7990 LastEnterEpoch uint64 7991 NextBlockToRebase uint64 7992 Rebased bool 7993 }, error) { 7994 ret := new(struct { 7995 ForkedBlock uint64 7996 FirstEpoch uint64 7997 LastEpoch uint64 7998 FirstBlock uint64 7999 LastBlock uint64 8000 LastFinalizedEpoch uint64 8001 LastFinalizedBlock uint64 8002 Timestamp uint64 8003 FirstEnterEpoch uint64 8004 LastEnterEpoch uint64 8005 NextBlockToRebase uint64 8006 Rebased bool 8007 }) 8008 out := ret 8009 err := _RootChainBase.contract.Call(opts, out, "forks", arg0) 8010 return *ret, err 8011 } 8012 8013 // Forks is a free data retrieval call binding the contract method 0x4ba3a126. 8014 // 8015 // Solidity: function forks(uint256 ) constant returns(uint64 forkedBlock, uint64 firstEpoch, uint64 lastEpoch, uint64 firstBlock, uint64 lastBlock, uint64 lastFinalizedEpoch, uint64 lastFinalizedBlock, uint64 timestamp, uint64 firstEnterEpoch, uint64 lastEnterEpoch, uint64 nextBlockToRebase, bool rebased) 8016 func (_RootChainBase *RootChainBaseSession) Forks(arg0 *big.Int) (struct { 8017 ForkedBlock uint64 8018 FirstEpoch uint64 8019 LastEpoch uint64 8020 FirstBlock uint64 8021 LastBlock uint64 8022 LastFinalizedEpoch uint64 8023 LastFinalizedBlock uint64 8024 Timestamp uint64 8025 FirstEnterEpoch uint64 8026 LastEnterEpoch uint64 8027 NextBlockToRebase uint64 8028 Rebased bool 8029 }, error) { 8030 return _RootChainBase.Contract.Forks(&_RootChainBase.CallOpts, arg0) 8031 } 8032 8033 // Forks is a free data retrieval call binding the contract method 0x4ba3a126. 8034 // 8035 // Solidity: function forks(uint256 ) constant returns(uint64 forkedBlock, uint64 firstEpoch, uint64 lastEpoch, uint64 firstBlock, uint64 lastBlock, uint64 lastFinalizedEpoch, uint64 lastFinalizedBlock, uint64 timestamp, uint64 firstEnterEpoch, uint64 lastEnterEpoch, uint64 nextBlockToRebase, bool rebased) 8036 func (_RootChainBase *RootChainBaseCallerSession) Forks(arg0 *big.Int) (struct { 8037 ForkedBlock uint64 8038 FirstEpoch uint64 8039 LastEpoch uint64 8040 FirstBlock uint64 8041 LastBlock uint64 8042 LastFinalizedEpoch uint64 8043 LastFinalizedBlock uint64 8044 Timestamp uint64 8045 FirstEnterEpoch uint64 8046 LastEnterEpoch uint64 8047 NextBlockToRebase uint64 8048 Rebased bool 8049 }, error) { 8050 return _RootChainBase.Contract.Forks(&_RootChainBase.CallOpts, arg0) 8051 } 8052 8053 // IsRootChain is a free data retrieval call binding the contract method 0x420bb4b8. 8054 // 8055 // Solidity: function isRootChain() constant returns(bool) 8056 func (_RootChainBase *RootChainBaseCaller) IsRootChain(opts *bind.CallOpts) (bool, error) { 8057 var ( 8058 ret0 = new(bool) 8059 ) 8060 out := ret0 8061 err := _RootChainBase.contract.Call(opts, out, "isRootChain") 8062 return *ret0, err 8063 } 8064 8065 // IsRootChain is a free data retrieval call binding the contract method 0x420bb4b8. 8066 // 8067 // Solidity: function isRootChain() constant returns(bool) 8068 func (_RootChainBase *RootChainBaseSession) IsRootChain() (bool, error) { 8069 return _RootChainBase.Contract.IsRootChain(&_RootChainBase.CallOpts) 8070 } 8071 8072 // IsRootChain is a free data retrieval call binding the contract method 0x420bb4b8. 8073 // 8074 // Solidity: function isRootChain() constant returns(bool) 8075 func (_RootChainBase *RootChainBaseCallerSession) IsRootChain() (bool, error) { 8076 return _RootChainBase.Contract.IsRootChain(&_RootChainBase.CallOpts) 8077 } 8078 8079 // LastAppliedBlockNumber is a free data retrieval call binding the contract method 0xfb788a27. 8080 // 8081 // Solidity: function lastAppliedBlockNumber() constant returns(uint256) 8082 func (_RootChainBase *RootChainBaseCaller) LastAppliedBlockNumber(opts *bind.CallOpts) (*big.Int, error) { 8083 var ( 8084 ret0 = new(*big.Int) 8085 ) 8086 out := ret0 8087 err := _RootChainBase.contract.Call(opts, out, "lastAppliedBlockNumber") 8088 return *ret0, err 8089 } 8090 8091 // LastAppliedBlockNumber is a free data retrieval call binding the contract method 0xfb788a27. 8092 // 8093 // Solidity: function lastAppliedBlockNumber() constant returns(uint256) 8094 func (_RootChainBase *RootChainBaseSession) LastAppliedBlockNumber() (*big.Int, error) { 8095 return _RootChainBase.Contract.LastAppliedBlockNumber(&_RootChainBase.CallOpts) 8096 } 8097 8098 // LastAppliedBlockNumber is a free data retrieval call binding the contract method 0xfb788a27. 8099 // 8100 // Solidity: function lastAppliedBlockNumber() constant returns(uint256) 8101 func (_RootChainBase *RootChainBaseCallerSession) LastAppliedBlockNumber() (*big.Int, error) { 8102 return _RootChainBase.Contract.LastAppliedBlockNumber(&_RootChainBase.CallOpts) 8103 } 8104 8105 // LastAppliedEpochNumber is a free data retrieval call binding the contract method 0xc8ad329f. 8106 // 8107 // Solidity: function lastAppliedEpochNumber() constant returns(uint256) 8108 func (_RootChainBase *RootChainBaseCaller) LastAppliedEpochNumber(opts *bind.CallOpts) (*big.Int, error) { 8109 var ( 8110 ret0 = new(*big.Int) 8111 ) 8112 out := ret0 8113 err := _RootChainBase.contract.Call(opts, out, "lastAppliedEpochNumber") 8114 return *ret0, err 8115 } 8116 8117 // LastAppliedEpochNumber is a free data retrieval call binding the contract method 0xc8ad329f. 8118 // 8119 // Solidity: function lastAppliedEpochNumber() constant returns(uint256) 8120 func (_RootChainBase *RootChainBaseSession) LastAppliedEpochNumber() (*big.Int, error) { 8121 return _RootChainBase.Contract.LastAppliedEpochNumber(&_RootChainBase.CallOpts) 8122 } 8123 8124 // LastAppliedEpochNumber is a free data retrieval call binding the contract method 0xc8ad329f. 8125 // 8126 // Solidity: function lastAppliedEpochNumber() constant returns(uint256) 8127 func (_RootChainBase *RootChainBaseCallerSession) LastAppliedEpochNumber() (*big.Int, error) { 8128 return _RootChainBase.Contract.LastAppliedEpochNumber(&_RootChainBase.CallOpts) 8129 } 8130 8131 // LastAppliedForkNumber is a free data retrieval call binding the contract method 0x164bc2ae. 8132 // 8133 // Solidity: function lastAppliedForkNumber() constant returns(uint256) 8134 func (_RootChainBase *RootChainBaseCaller) LastAppliedForkNumber(opts *bind.CallOpts) (*big.Int, error) { 8135 var ( 8136 ret0 = new(*big.Int) 8137 ) 8138 out := ret0 8139 err := _RootChainBase.contract.Call(opts, out, "lastAppliedForkNumber") 8140 return *ret0, err 8141 } 8142 8143 // LastAppliedForkNumber is a free data retrieval call binding the contract method 0x164bc2ae. 8144 // 8145 // Solidity: function lastAppliedForkNumber() constant returns(uint256) 8146 func (_RootChainBase *RootChainBaseSession) LastAppliedForkNumber() (*big.Int, error) { 8147 return _RootChainBase.Contract.LastAppliedForkNumber(&_RootChainBase.CallOpts) 8148 } 8149 8150 // LastAppliedForkNumber is a free data retrieval call binding the contract method 0x164bc2ae. 8151 // 8152 // Solidity: function lastAppliedForkNumber() constant returns(uint256) 8153 func (_RootChainBase *RootChainBaseCallerSession) LastAppliedForkNumber() (*big.Int, error) { 8154 return _RootChainBase.Contract.LastAppliedForkNumber(&_RootChainBase.CallOpts) 8155 } 8156 8157 // LastNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xb6715647. 8158 // 8159 // Solidity: function lastNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 8160 func (_RootChainBase *RootChainBaseCaller) LastNonEmptyRequestEpoch(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { 8161 var ( 8162 ret0 = new(*big.Int) 8163 ) 8164 out := ret0 8165 err := _RootChainBase.contract.Call(opts, out, "lastNonEmptyRequestEpoch", arg0) 8166 return *ret0, err 8167 } 8168 8169 // LastNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xb6715647. 8170 // 8171 // Solidity: function lastNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 8172 func (_RootChainBase *RootChainBaseSession) LastNonEmptyRequestEpoch(arg0 *big.Int) (*big.Int, error) { 8173 return _RootChainBase.Contract.LastNonEmptyRequestEpoch(&_RootChainBase.CallOpts, arg0) 8174 } 8175 8176 // LastNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xb6715647. 8177 // 8178 // Solidity: function lastNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 8179 func (_RootChainBase *RootChainBaseCallerSession) LastNonEmptyRequestEpoch(arg0 *big.Int) (*big.Int, error) { 8180 return _RootChainBase.Contract.LastNonEmptyRequestEpoch(&_RootChainBase.CallOpts, arg0) 8181 } 8182 8183 // NumEnterForORB is a free data retrieval call binding the contract method 0x23691566. 8184 // 8185 // Solidity: function numEnterForORB() constant returns(uint256) 8186 func (_RootChainBase *RootChainBaseCaller) NumEnterForORB(opts *bind.CallOpts) (*big.Int, error) { 8187 var ( 8188 ret0 = new(*big.Int) 8189 ) 8190 out := ret0 8191 err := _RootChainBase.contract.Call(opts, out, "numEnterForORB") 8192 return *ret0, err 8193 } 8194 8195 // NumEnterForORB is a free data retrieval call binding the contract method 0x23691566. 8196 // 8197 // Solidity: function numEnterForORB() constant returns(uint256) 8198 func (_RootChainBase *RootChainBaseSession) NumEnterForORB() (*big.Int, error) { 8199 return _RootChainBase.Contract.NumEnterForORB(&_RootChainBase.CallOpts) 8200 } 8201 8202 // NumEnterForORB is a free data retrieval call binding the contract method 0x23691566. 8203 // 8204 // Solidity: function numEnterForORB() constant returns(uint256) 8205 func (_RootChainBase *RootChainBaseCallerSession) NumEnterForORB() (*big.Int, error) { 8206 return _RootChainBase.Contract.NumEnterForORB(&_RootChainBase.CallOpts) 8207 } 8208 8209 // Operator is a free data retrieval call binding the contract method 0x570ca735. 8210 // 8211 // Solidity: function operator() constant returns(address) 8212 func (_RootChainBase *RootChainBaseCaller) Operator(opts *bind.CallOpts) (common.Address, error) { 8213 var ( 8214 ret0 = new(common.Address) 8215 ) 8216 out := ret0 8217 err := _RootChainBase.contract.Call(opts, out, "operator") 8218 return *ret0, err 8219 } 8220 8221 // Operator is a free data retrieval call binding the contract method 0x570ca735. 8222 // 8223 // Solidity: function operator() constant returns(address) 8224 func (_RootChainBase *RootChainBaseSession) Operator() (common.Address, error) { 8225 return _RootChainBase.Contract.Operator(&_RootChainBase.CallOpts) 8226 } 8227 8228 // Operator is a free data retrieval call binding the contract method 0x570ca735. 8229 // 8230 // Solidity: function operator() constant returns(address) 8231 func (_RootChainBase *RootChainBaseCallerSession) Operator() (common.Address, error) { 8232 return _RootChainBase.Contract.Operator(&_RootChainBase.CallOpts) 8233 } 8234 8235 // RequestableContracts is a free data retrieval call binding the contract method 0xda0185f8. 8236 // 8237 // Solidity: function requestableContracts(address ) constant returns(address) 8238 func (_RootChainBase *RootChainBaseCaller) RequestableContracts(opts *bind.CallOpts, arg0 common.Address) (common.Address, error) { 8239 var ( 8240 ret0 = new(common.Address) 8241 ) 8242 out := ret0 8243 err := _RootChainBase.contract.Call(opts, out, "requestableContracts", arg0) 8244 return *ret0, err 8245 } 8246 8247 // RequestableContracts is a free data retrieval call binding the contract method 0xda0185f8. 8248 // 8249 // Solidity: function requestableContracts(address ) constant returns(address) 8250 func (_RootChainBase *RootChainBaseSession) RequestableContracts(arg0 common.Address) (common.Address, error) { 8251 return _RootChainBase.Contract.RequestableContracts(&_RootChainBase.CallOpts, arg0) 8252 } 8253 8254 // RequestableContracts is a free data retrieval call binding the contract method 0xda0185f8. 8255 // 8256 // Solidity: function requestableContracts(address ) constant returns(address) 8257 func (_RootChainBase *RootChainBaseCallerSession) RequestableContracts(arg0 common.Address) (common.Address, error) { 8258 return _RootChainBase.Contract.RequestableContracts(&_RootChainBase.CallOpts, arg0) 8259 } 8260 8261 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 8262 // 8263 // Solidity: function seigManager() constant returns(address) 8264 func (_RootChainBase *RootChainBaseCaller) SeigManager(opts *bind.CallOpts) (common.Address, error) { 8265 var ( 8266 ret0 = new(common.Address) 8267 ) 8268 out := ret0 8269 err := _RootChainBase.contract.Call(opts, out, "seigManager") 8270 return *ret0, err 8271 } 8272 8273 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 8274 // 8275 // Solidity: function seigManager() constant returns(address) 8276 func (_RootChainBase *RootChainBaseSession) SeigManager() (common.Address, error) { 8277 return _RootChainBase.Contract.SeigManager(&_RootChainBase.CallOpts) 8278 } 8279 8280 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 8281 // 8282 // Solidity: function seigManager() constant returns(address) 8283 func (_RootChainBase *RootChainBaseCallerSession) SeigManager() (common.Address, error) { 8284 return _RootChainBase.Contract.SeigManager(&_RootChainBase.CallOpts) 8285 } 8286 8287 // SubmitHandler is a free data retrieval call binding the contract method 0xe259faf7. 8288 // 8289 // Solidity: function submitHandler() constant returns(address) 8290 func (_RootChainBase *RootChainBaseCaller) SubmitHandler(opts *bind.CallOpts) (common.Address, error) { 8291 var ( 8292 ret0 = new(common.Address) 8293 ) 8294 out := ret0 8295 err := _RootChainBase.contract.Call(opts, out, "submitHandler") 8296 return *ret0, err 8297 } 8298 8299 // SubmitHandler is a free data retrieval call binding the contract method 0xe259faf7. 8300 // 8301 // Solidity: function submitHandler() constant returns(address) 8302 func (_RootChainBase *RootChainBaseSession) SubmitHandler() (common.Address, error) { 8303 return _RootChainBase.Contract.SubmitHandler(&_RootChainBase.CallOpts) 8304 } 8305 8306 // SubmitHandler is a free data retrieval call binding the contract method 0xe259faf7. 8307 // 8308 // Solidity: function submitHandler() constant returns(address) 8309 func (_RootChainBase *RootChainBaseCallerSession) SubmitHandler() (common.Address, error) { 8310 return _RootChainBase.Contract.SubmitHandler(&_RootChainBase.CallOpts) 8311 } 8312 8313 // RootChainBaseBlockFinalizedIterator is returned from FilterBlockFinalized and is used to iterate over the raw logs and unpacked data for BlockFinalized events raised by the RootChainBase contract. 8314 type RootChainBaseBlockFinalizedIterator struct { 8315 Event *RootChainBaseBlockFinalized // Event containing the contract specifics and raw log 8316 8317 contract *bind.BoundContract // Generic contract to use for unpacking event data 8318 event string // Event name to use for unpacking event data 8319 8320 logs chan types.Log // Log channel receiving the found contract events 8321 sub ethereum.Subscription // Subscription for errors, completion and termination 8322 done bool // Whether the subscription completed delivering logs 8323 fail error // Occurred error to stop iteration 8324 } 8325 8326 // Next advances the iterator to the subsequent event, returning whether there 8327 // are any more events found. In case of a retrieval or parsing error, false is 8328 // returned and Error() can be queried for the exact failure. 8329 func (it *RootChainBaseBlockFinalizedIterator) Next() bool { 8330 // If the iterator failed, stop iterating 8331 if it.fail != nil { 8332 return false 8333 } 8334 // If the iterator completed, deliver directly whatever's available 8335 if it.done { 8336 select { 8337 case log := <-it.logs: 8338 it.Event = new(RootChainBaseBlockFinalized) 8339 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8340 it.fail = err 8341 return false 8342 } 8343 it.Event.Raw = log 8344 return true 8345 8346 default: 8347 return false 8348 } 8349 } 8350 // Iterator still in progress, wait for either a data or an error event 8351 select { 8352 case log := <-it.logs: 8353 it.Event = new(RootChainBaseBlockFinalized) 8354 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8355 it.fail = err 8356 return false 8357 } 8358 it.Event.Raw = log 8359 return true 8360 8361 case err := <-it.sub.Err(): 8362 it.done = true 8363 it.fail = err 8364 return it.Next() 8365 } 8366 } 8367 8368 // Error returns any retrieval or parsing error occurred during filtering. 8369 func (it *RootChainBaseBlockFinalizedIterator) Error() error { 8370 return it.fail 8371 } 8372 8373 // Close terminates the iteration process, releasing any pending underlying 8374 // resources. 8375 func (it *RootChainBaseBlockFinalizedIterator) Close() error { 8376 it.sub.Unsubscribe() 8377 return nil 8378 } 8379 8380 // RootChainBaseBlockFinalized represents a BlockFinalized event raised by the RootChainBase contract. 8381 type RootChainBaseBlockFinalized struct { 8382 ForkNumber *big.Int 8383 BlockNumber *big.Int 8384 Raw types.Log // Blockchain specific contextual infos 8385 } 8386 8387 // FilterBlockFinalized is a free log retrieval operation binding the contract event 0xfb96205e4b3633fd57aa805b26b51ecf528714a10241a4af015929dce86768d9. 8388 // 8389 // Solidity: event BlockFinalized(uint256 forkNumber, uint256 blockNumber) 8390 func (_RootChainBase *RootChainBaseFilterer) FilterBlockFinalized(opts *bind.FilterOpts) (*RootChainBaseBlockFinalizedIterator, error) { 8391 8392 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "BlockFinalized") 8393 if err != nil { 8394 return nil, err 8395 } 8396 return &RootChainBaseBlockFinalizedIterator{contract: _RootChainBase.contract, event: "BlockFinalized", logs: logs, sub: sub}, nil 8397 } 8398 8399 // WatchBlockFinalized is a free log subscription operation binding the contract event 0xfb96205e4b3633fd57aa805b26b51ecf528714a10241a4af015929dce86768d9. 8400 // 8401 // Solidity: event BlockFinalized(uint256 forkNumber, uint256 blockNumber) 8402 func (_RootChainBase *RootChainBaseFilterer) WatchBlockFinalized(opts *bind.WatchOpts, sink chan<- *RootChainBaseBlockFinalized) (event.Subscription, error) { 8403 8404 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "BlockFinalized") 8405 if err != nil { 8406 return nil, err 8407 } 8408 return event.NewSubscription(func(quit <-chan struct{}) error { 8409 defer sub.Unsubscribe() 8410 for { 8411 select { 8412 case log := <-logs: 8413 // New log arrived, parse the event and forward to the user 8414 event := new(RootChainBaseBlockFinalized) 8415 if err := _RootChainBase.contract.UnpackLog(event, "BlockFinalized", log); err != nil { 8416 return err 8417 } 8418 event.Raw = log 8419 8420 select { 8421 case sink <- event: 8422 case err := <-sub.Err(): 8423 return err 8424 case <-quit: 8425 return nil 8426 } 8427 case err := <-sub.Err(): 8428 return err 8429 case <-quit: 8430 return nil 8431 } 8432 } 8433 }), nil 8434 } 8435 8436 // ParseBlockFinalized is a log parse operation binding the contract event 0xfb96205e4b3633fd57aa805b26b51ecf528714a10241a4af015929dce86768d9. 8437 // 8438 // Solidity: event BlockFinalized(uint256 forkNumber, uint256 blockNumber) 8439 func (_RootChainBase *RootChainBaseFilterer) ParseBlockFinalized(log types.Log) (*RootChainBaseBlockFinalized, error) { 8440 event := new(RootChainBaseBlockFinalized) 8441 if err := _RootChainBase.contract.UnpackLog(event, "BlockFinalized", log); err != nil { 8442 return nil, err 8443 } 8444 return event, nil 8445 } 8446 8447 // RootChainBaseBlockSubmittedIterator is returned from FilterBlockSubmitted and is used to iterate over the raw logs and unpacked data for BlockSubmitted events raised by the RootChainBase contract. 8448 type RootChainBaseBlockSubmittedIterator struct { 8449 Event *RootChainBaseBlockSubmitted // Event containing the contract specifics and raw log 8450 8451 contract *bind.BoundContract // Generic contract to use for unpacking event data 8452 event string // Event name to use for unpacking event data 8453 8454 logs chan types.Log // Log channel receiving the found contract events 8455 sub ethereum.Subscription // Subscription for errors, completion and termination 8456 done bool // Whether the subscription completed delivering logs 8457 fail error // Occurred error to stop iteration 8458 } 8459 8460 // Next advances the iterator to the subsequent event, returning whether there 8461 // are any more events found. In case of a retrieval or parsing error, false is 8462 // returned and Error() can be queried for the exact failure. 8463 func (it *RootChainBaseBlockSubmittedIterator) Next() bool { 8464 // If the iterator failed, stop iterating 8465 if it.fail != nil { 8466 return false 8467 } 8468 // If the iterator completed, deliver directly whatever's available 8469 if it.done { 8470 select { 8471 case log := <-it.logs: 8472 it.Event = new(RootChainBaseBlockSubmitted) 8473 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8474 it.fail = err 8475 return false 8476 } 8477 it.Event.Raw = log 8478 return true 8479 8480 default: 8481 return false 8482 } 8483 } 8484 // Iterator still in progress, wait for either a data or an error event 8485 select { 8486 case log := <-it.logs: 8487 it.Event = new(RootChainBaseBlockSubmitted) 8488 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8489 it.fail = err 8490 return false 8491 } 8492 it.Event.Raw = log 8493 return true 8494 8495 case err := <-it.sub.Err(): 8496 it.done = true 8497 it.fail = err 8498 return it.Next() 8499 } 8500 } 8501 8502 // Error returns any retrieval or parsing error occurred during filtering. 8503 func (it *RootChainBaseBlockSubmittedIterator) Error() error { 8504 return it.fail 8505 } 8506 8507 // Close terminates the iteration process, releasing any pending underlying 8508 // resources. 8509 func (it *RootChainBaseBlockSubmittedIterator) Close() error { 8510 it.sub.Unsubscribe() 8511 return nil 8512 } 8513 8514 // RootChainBaseBlockSubmitted represents a BlockSubmitted event raised by the RootChainBase contract. 8515 type RootChainBaseBlockSubmitted struct { 8516 Fork *big.Int 8517 EpochNumber *big.Int 8518 BlockNumber *big.Int 8519 IsRequest bool 8520 UserActivated bool 8521 Raw types.Log // Blockchain specific contextual infos 8522 } 8523 8524 // FilterBlockSubmitted is a free log retrieval operation binding the contract event 0x3d4a04291c66b06f39a4ecb817875b12b5485a05ec563133a56a905305c48e55. 8525 // 8526 // Solidity: event BlockSubmitted(uint256 fork, uint256 epochNumber, uint256 blockNumber, bool isRequest, bool userActivated) 8527 func (_RootChainBase *RootChainBaseFilterer) FilterBlockSubmitted(opts *bind.FilterOpts) (*RootChainBaseBlockSubmittedIterator, error) { 8528 8529 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "BlockSubmitted") 8530 if err != nil { 8531 return nil, err 8532 } 8533 return &RootChainBaseBlockSubmittedIterator{contract: _RootChainBase.contract, event: "BlockSubmitted", logs: logs, sub: sub}, nil 8534 } 8535 8536 // WatchBlockSubmitted is a free log subscription operation binding the contract event 0x3d4a04291c66b06f39a4ecb817875b12b5485a05ec563133a56a905305c48e55. 8537 // 8538 // Solidity: event BlockSubmitted(uint256 fork, uint256 epochNumber, uint256 blockNumber, bool isRequest, bool userActivated) 8539 func (_RootChainBase *RootChainBaseFilterer) WatchBlockSubmitted(opts *bind.WatchOpts, sink chan<- *RootChainBaseBlockSubmitted) (event.Subscription, error) { 8540 8541 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "BlockSubmitted") 8542 if err != nil { 8543 return nil, err 8544 } 8545 return event.NewSubscription(func(quit <-chan struct{}) error { 8546 defer sub.Unsubscribe() 8547 for { 8548 select { 8549 case log := <-logs: 8550 // New log arrived, parse the event and forward to the user 8551 event := new(RootChainBaseBlockSubmitted) 8552 if err := _RootChainBase.contract.UnpackLog(event, "BlockSubmitted", log); err != nil { 8553 return err 8554 } 8555 event.Raw = log 8556 8557 select { 8558 case sink <- event: 8559 case err := <-sub.Err(): 8560 return err 8561 case <-quit: 8562 return nil 8563 } 8564 case err := <-sub.Err(): 8565 return err 8566 case <-quit: 8567 return nil 8568 } 8569 } 8570 }), nil 8571 } 8572 8573 // ParseBlockSubmitted is a log parse operation binding the contract event 0x3d4a04291c66b06f39a4ecb817875b12b5485a05ec563133a56a905305c48e55. 8574 // 8575 // Solidity: event BlockSubmitted(uint256 fork, uint256 epochNumber, uint256 blockNumber, bool isRequest, bool userActivated) 8576 func (_RootChainBase *RootChainBaseFilterer) ParseBlockSubmitted(log types.Log) (*RootChainBaseBlockSubmitted, error) { 8577 event := new(RootChainBaseBlockSubmitted) 8578 if err := _RootChainBase.contract.UnpackLog(event, "BlockSubmitted", log); err != nil { 8579 return nil, err 8580 } 8581 return event, nil 8582 } 8583 8584 // RootChainBaseERUCreatedIterator is returned from FilterERUCreated and is used to iterate over the raw logs and unpacked data for ERUCreated events raised by the RootChainBase contract. 8585 type RootChainBaseERUCreatedIterator struct { 8586 Event *RootChainBaseERUCreated // Event containing the contract specifics and raw log 8587 8588 contract *bind.BoundContract // Generic contract to use for unpacking event data 8589 event string // Event name to use for unpacking event data 8590 8591 logs chan types.Log // Log channel receiving the found contract events 8592 sub ethereum.Subscription // Subscription for errors, completion and termination 8593 done bool // Whether the subscription completed delivering logs 8594 fail error // Occurred error to stop iteration 8595 } 8596 8597 // Next advances the iterator to the subsequent event, returning whether there 8598 // are any more events found. In case of a retrieval or parsing error, false is 8599 // returned and Error() can be queried for the exact failure. 8600 func (it *RootChainBaseERUCreatedIterator) Next() bool { 8601 // If the iterator failed, stop iterating 8602 if it.fail != nil { 8603 return false 8604 } 8605 // If the iterator completed, deliver directly whatever's available 8606 if it.done { 8607 select { 8608 case log := <-it.logs: 8609 it.Event = new(RootChainBaseERUCreated) 8610 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8611 it.fail = err 8612 return false 8613 } 8614 it.Event.Raw = log 8615 return true 8616 8617 default: 8618 return false 8619 } 8620 } 8621 // Iterator still in progress, wait for either a data or an error event 8622 select { 8623 case log := <-it.logs: 8624 it.Event = new(RootChainBaseERUCreated) 8625 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8626 it.fail = err 8627 return false 8628 } 8629 it.Event.Raw = log 8630 return true 8631 8632 case err := <-it.sub.Err(): 8633 it.done = true 8634 it.fail = err 8635 return it.Next() 8636 } 8637 } 8638 8639 // Error returns any retrieval or parsing error occurred during filtering. 8640 func (it *RootChainBaseERUCreatedIterator) Error() error { 8641 return it.fail 8642 } 8643 8644 // Close terminates the iteration process, releasing any pending underlying 8645 // resources. 8646 func (it *RootChainBaseERUCreatedIterator) Close() error { 8647 it.sub.Unsubscribe() 8648 return nil 8649 } 8650 8651 // RootChainBaseERUCreated represents a ERUCreated event raised by the RootChainBase contract. 8652 type RootChainBaseERUCreated struct { 8653 RequestId *big.Int 8654 Requestor common.Address 8655 To common.Address 8656 TrieKey []byte 8657 TrieValue [32]byte 8658 Raw types.Log // Blockchain specific contextual infos 8659 } 8660 8661 // FilterERUCreated is a free log retrieval operation binding the contract event 0xfcbdc2083dadd644b854d91b49aef8db06b8f5a3d5c1192de38ca0ba271d5a0d. 8662 // 8663 // Solidity: event ERUCreated(uint256 requestId, address requestor, address to, bytes trieKey, bytes32 trieValue) 8664 func (_RootChainBase *RootChainBaseFilterer) FilterERUCreated(opts *bind.FilterOpts) (*RootChainBaseERUCreatedIterator, error) { 8665 8666 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "ERUCreated") 8667 if err != nil { 8668 return nil, err 8669 } 8670 return &RootChainBaseERUCreatedIterator{contract: _RootChainBase.contract, event: "ERUCreated", logs: logs, sub: sub}, nil 8671 } 8672 8673 // WatchERUCreated is a free log subscription operation binding the contract event 0xfcbdc2083dadd644b854d91b49aef8db06b8f5a3d5c1192de38ca0ba271d5a0d. 8674 // 8675 // Solidity: event ERUCreated(uint256 requestId, address requestor, address to, bytes trieKey, bytes32 trieValue) 8676 func (_RootChainBase *RootChainBaseFilterer) WatchERUCreated(opts *bind.WatchOpts, sink chan<- *RootChainBaseERUCreated) (event.Subscription, error) { 8677 8678 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "ERUCreated") 8679 if err != nil { 8680 return nil, err 8681 } 8682 return event.NewSubscription(func(quit <-chan struct{}) error { 8683 defer sub.Unsubscribe() 8684 for { 8685 select { 8686 case log := <-logs: 8687 // New log arrived, parse the event and forward to the user 8688 event := new(RootChainBaseERUCreated) 8689 if err := _RootChainBase.contract.UnpackLog(event, "ERUCreated", log); err != nil { 8690 return err 8691 } 8692 event.Raw = log 8693 8694 select { 8695 case sink <- event: 8696 case err := <-sub.Err(): 8697 return err 8698 case <-quit: 8699 return nil 8700 } 8701 case err := <-sub.Err(): 8702 return err 8703 case <-quit: 8704 return nil 8705 } 8706 } 8707 }), nil 8708 } 8709 8710 // ParseERUCreated is a log parse operation binding the contract event 0xfcbdc2083dadd644b854d91b49aef8db06b8f5a3d5c1192de38ca0ba271d5a0d. 8711 // 8712 // Solidity: event ERUCreated(uint256 requestId, address requestor, address to, bytes trieKey, bytes32 trieValue) 8713 func (_RootChainBase *RootChainBaseFilterer) ParseERUCreated(log types.Log) (*RootChainBaseERUCreated, error) { 8714 event := new(RootChainBaseERUCreated) 8715 if err := _RootChainBase.contract.UnpackLog(event, "ERUCreated", log); err != nil { 8716 return nil, err 8717 } 8718 return event, nil 8719 } 8720 8721 // RootChainBaseEpochFilledIterator is returned from FilterEpochFilled and is used to iterate over the raw logs and unpacked data for EpochFilled events raised by the RootChainBase contract. 8722 type RootChainBaseEpochFilledIterator struct { 8723 Event *RootChainBaseEpochFilled // Event containing the contract specifics and raw log 8724 8725 contract *bind.BoundContract // Generic contract to use for unpacking event data 8726 event string // Event name to use for unpacking event data 8727 8728 logs chan types.Log // Log channel receiving the found contract events 8729 sub ethereum.Subscription // Subscription for errors, completion and termination 8730 done bool // Whether the subscription completed delivering logs 8731 fail error // Occurred error to stop iteration 8732 } 8733 8734 // Next advances the iterator to the subsequent event, returning whether there 8735 // are any more events found. In case of a retrieval or parsing error, false is 8736 // returned and Error() can be queried for the exact failure. 8737 func (it *RootChainBaseEpochFilledIterator) Next() bool { 8738 // If the iterator failed, stop iterating 8739 if it.fail != nil { 8740 return false 8741 } 8742 // If the iterator completed, deliver directly whatever's available 8743 if it.done { 8744 select { 8745 case log := <-it.logs: 8746 it.Event = new(RootChainBaseEpochFilled) 8747 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8748 it.fail = err 8749 return false 8750 } 8751 it.Event.Raw = log 8752 return true 8753 8754 default: 8755 return false 8756 } 8757 } 8758 // Iterator still in progress, wait for either a data or an error event 8759 select { 8760 case log := <-it.logs: 8761 it.Event = new(RootChainBaseEpochFilled) 8762 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8763 it.fail = err 8764 return false 8765 } 8766 it.Event.Raw = log 8767 return true 8768 8769 case err := <-it.sub.Err(): 8770 it.done = true 8771 it.fail = err 8772 return it.Next() 8773 } 8774 } 8775 8776 // Error returns any retrieval or parsing error occurred during filtering. 8777 func (it *RootChainBaseEpochFilledIterator) Error() error { 8778 return it.fail 8779 } 8780 8781 // Close terminates the iteration process, releasing any pending underlying 8782 // resources. 8783 func (it *RootChainBaseEpochFilledIterator) Close() error { 8784 it.sub.Unsubscribe() 8785 return nil 8786 } 8787 8788 // RootChainBaseEpochFilled represents a EpochFilled event raised by the RootChainBase contract. 8789 type RootChainBaseEpochFilled struct { 8790 ForkNumber *big.Int 8791 EpochNumber *big.Int 8792 Raw types.Log // Blockchain specific contextual infos 8793 } 8794 8795 // FilterEpochFilled is a free log retrieval operation binding the contract event 0x2fdeb407bf5c2b621f04b5c784822dae806c45b49a68aba413cc270128c96816. 8796 // 8797 // Solidity: event EpochFilled(uint256 forkNumber, uint256 epochNumber) 8798 func (_RootChainBase *RootChainBaseFilterer) FilterEpochFilled(opts *bind.FilterOpts) (*RootChainBaseEpochFilledIterator, error) { 8799 8800 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "EpochFilled") 8801 if err != nil { 8802 return nil, err 8803 } 8804 return &RootChainBaseEpochFilledIterator{contract: _RootChainBase.contract, event: "EpochFilled", logs: logs, sub: sub}, nil 8805 } 8806 8807 // WatchEpochFilled is a free log subscription operation binding the contract event 0x2fdeb407bf5c2b621f04b5c784822dae806c45b49a68aba413cc270128c96816. 8808 // 8809 // Solidity: event EpochFilled(uint256 forkNumber, uint256 epochNumber) 8810 func (_RootChainBase *RootChainBaseFilterer) WatchEpochFilled(opts *bind.WatchOpts, sink chan<- *RootChainBaseEpochFilled) (event.Subscription, error) { 8811 8812 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "EpochFilled") 8813 if err != nil { 8814 return nil, err 8815 } 8816 return event.NewSubscription(func(quit <-chan struct{}) error { 8817 defer sub.Unsubscribe() 8818 for { 8819 select { 8820 case log := <-logs: 8821 // New log arrived, parse the event and forward to the user 8822 event := new(RootChainBaseEpochFilled) 8823 if err := _RootChainBase.contract.UnpackLog(event, "EpochFilled", log); err != nil { 8824 return err 8825 } 8826 event.Raw = log 8827 8828 select { 8829 case sink <- event: 8830 case err := <-sub.Err(): 8831 return err 8832 case <-quit: 8833 return nil 8834 } 8835 case err := <-sub.Err(): 8836 return err 8837 case <-quit: 8838 return nil 8839 } 8840 } 8841 }), nil 8842 } 8843 8844 // ParseEpochFilled is a log parse operation binding the contract event 0x2fdeb407bf5c2b621f04b5c784822dae806c45b49a68aba413cc270128c96816. 8845 // 8846 // Solidity: event EpochFilled(uint256 forkNumber, uint256 epochNumber) 8847 func (_RootChainBase *RootChainBaseFilterer) ParseEpochFilled(log types.Log) (*RootChainBaseEpochFilled, error) { 8848 event := new(RootChainBaseEpochFilled) 8849 if err := _RootChainBase.contract.UnpackLog(event, "EpochFilled", log); err != nil { 8850 return nil, err 8851 } 8852 return event, nil 8853 } 8854 8855 // RootChainBaseEpochFillingIterator is returned from FilterEpochFilling and is used to iterate over the raw logs and unpacked data for EpochFilling events raised by the RootChainBase contract. 8856 type RootChainBaseEpochFillingIterator struct { 8857 Event *RootChainBaseEpochFilling // Event containing the contract specifics and raw log 8858 8859 contract *bind.BoundContract // Generic contract to use for unpacking event data 8860 event string // Event name to use for unpacking event data 8861 8862 logs chan types.Log // Log channel receiving the found contract events 8863 sub ethereum.Subscription // Subscription for errors, completion and termination 8864 done bool // Whether the subscription completed delivering logs 8865 fail error // Occurred error to stop iteration 8866 } 8867 8868 // Next advances the iterator to the subsequent event, returning whether there 8869 // are any more events found. In case of a retrieval or parsing error, false is 8870 // returned and Error() can be queried for the exact failure. 8871 func (it *RootChainBaseEpochFillingIterator) Next() bool { 8872 // If the iterator failed, stop iterating 8873 if it.fail != nil { 8874 return false 8875 } 8876 // If the iterator completed, deliver directly whatever's available 8877 if it.done { 8878 select { 8879 case log := <-it.logs: 8880 it.Event = new(RootChainBaseEpochFilling) 8881 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8882 it.fail = err 8883 return false 8884 } 8885 it.Event.Raw = log 8886 return true 8887 8888 default: 8889 return false 8890 } 8891 } 8892 // Iterator still in progress, wait for either a data or an error event 8893 select { 8894 case log := <-it.logs: 8895 it.Event = new(RootChainBaseEpochFilling) 8896 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 8897 it.fail = err 8898 return false 8899 } 8900 it.Event.Raw = log 8901 return true 8902 8903 case err := <-it.sub.Err(): 8904 it.done = true 8905 it.fail = err 8906 return it.Next() 8907 } 8908 } 8909 8910 // Error returns any retrieval or parsing error occurred during filtering. 8911 func (it *RootChainBaseEpochFillingIterator) Error() error { 8912 return it.fail 8913 } 8914 8915 // Close terminates the iteration process, releasing any pending underlying 8916 // resources. 8917 func (it *RootChainBaseEpochFillingIterator) Close() error { 8918 it.sub.Unsubscribe() 8919 return nil 8920 } 8921 8922 // RootChainBaseEpochFilling represents a EpochFilling event raised by the RootChainBase contract. 8923 type RootChainBaseEpochFilling struct { 8924 ForkNumber *big.Int 8925 EpochNumber *big.Int 8926 Raw types.Log // Blockchain specific contextual infos 8927 } 8928 8929 // FilterEpochFilling is a free log retrieval operation binding the contract event 0x27b09f0953d27bbff306fe25b2987ac5a813248ac30cb2bbd5daf95e7b0e6dc0. 8930 // 8931 // Solidity: event EpochFilling(uint256 forkNumber, uint256 epochNumber) 8932 func (_RootChainBase *RootChainBaseFilterer) FilterEpochFilling(opts *bind.FilterOpts) (*RootChainBaseEpochFillingIterator, error) { 8933 8934 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "EpochFilling") 8935 if err != nil { 8936 return nil, err 8937 } 8938 return &RootChainBaseEpochFillingIterator{contract: _RootChainBase.contract, event: "EpochFilling", logs: logs, sub: sub}, nil 8939 } 8940 8941 // WatchEpochFilling is a free log subscription operation binding the contract event 0x27b09f0953d27bbff306fe25b2987ac5a813248ac30cb2bbd5daf95e7b0e6dc0. 8942 // 8943 // Solidity: event EpochFilling(uint256 forkNumber, uint256 epochNumber) 8944 func (_RootChainBase *RootChainBaseFilterer) WatchEpochFilling(opts *bind.WatchOpts, sink chan<- *RootChainBaseEpochFilling) (event.Subscription, error) { 8945 8946 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "EpochFilling") 8947 if err != nil { 8948 return nil, err 8949 } 8950 return event.NewSubscription(func(quit <-chan struct{}) error { 8951 defer sub.Unsubscribe() 8952 for { 8953 select { 8954 case log := <-logs: 8955 // New log arrived, parse the event and forward to the user 8956 event := new(RootChainBaseEpochFilling) 8957 if err := _RootChainBase.contract.UnpackLog(event, "EpochFilling", log); err != nil { 8958 return err 8959 } 8960 event.Raw = log 8961 8962 select { 8963 case sink <- event: 8964 case err := <-sub.Err(): 8965 return err 8966 case <-quit: 8967 return nil 8968 } 8969 case err := <-sub.Err(): 8970 return err 8971 case <-quit: 8972 return nil 8973 } 8974 } 8975 }), nil 8976 } 8977 8978 // ParseEpochFilling is a log parse operation binding the contract event 0x27b09f0953d27bbff306fe25b2987ac5a813248ac30cb2bbd5daf95e7b0e6dc0. 8979 // 8980 // Solidity: event EpochFilling(uint256 forkNumber, uint256 epochNumber) 8981 func (_RootChainBase *RootChainBaseFilterer) ParseEpochFilling(log types.Log) (*RootChainBaseEpochFilling, error) { 8982 event := new(RootChainBaseEpochFilling) 8983 if err := _RootChainBase.contract.UnpackLog(event, "EpochFilling", log); err != nil { 8984 return nil, err 8985 } 8986 return event, nil 8987 } 8988 8989 // RootChainBaseEpochFinalizedIterator is returned from FilterEpochFinalized and is used to iterate over the raw logs and unpacked data for EpochFinalized events raised by the RootChainBase contract. 8990 type RootChainBaseEpochFinalizedIterator struct { 8991 Event *RootChainBaseEpochFinalized // Event containing the contract specifics and raw log 8992 8993 contract *bind.BoundContract // Generic contract to use for unpacking event data 8994 event string // Event name to use for unpacking event data 8995 8996 logs chan types.Log // Log channel receiving the found contract events 8997 sub ethereum.Subscription // Subscription for errors, completion and termination 8998 done bool // Whether the subscription completed delivering logs 8999 fail error // Occurred error to stop iteration 9000 } 9001 9002 // Next advances the iterator to the subsequent event, returning whether there 9003 // are any more events found. In case of a retrieval or parsing error, false is 9004 // returned and Error() can be queried for the exact failure. 9005 func (it *RootChainBaseEpochFinalizedIterator) Next() bool { 9006 // If the iterator failed, stop iterating 9007 if it.fail != nil { 9008 return false 9009 } 9010 // If the iterator completed, deliver directly whatever's available 9011 if it.done { 9012 select { 9013 case log := <-it.logs: 9014 it.Event = new(RootChainBaseEpochFinalized) 9015 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9016 it.fail = err 9017 return false 9018 } 9019 it.Event.Raw = log 9020 return true 9021 9022 default: 9023 return false 9024 } 9025 } 9026 // Iterator still in progress, wait for either a data or an error event 9027 select { 9028 case log := <-it.logs: 9029 it.Event = new(RootChainBaseEpochFinalized) 9030 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9031 it.fail = err 9032 return false 9033 } 9034 it.Event.Raw = log 9035 return true 9036 9037 case err := <-it.sub.Err(): 9038 it.done = true 9039 it.fail = err 9040 return it.Next() 9041 } 9042 } 9043 9044 // Error returns any retrieval or parsing error occurred during filtering. 9045 func (it *RootChainBaseEpochFinalizedIterator) Error() error { 9046 return it.fail 9047 } 9048 9049 // Close terminates the iteration process, releasing any pending underlying 9050 // resources. 9051 func (it *RootChainBaseEpochFinalizedIterator) Close() error { 9052 it.sub.Unsubscribe() 9053 return nil 9054 } 9055 9056 // RootChainBaseEpochFinalized represents a EpochFinalized event raised by the RootChainBase contract. 9057 type RootChainBaseEpochFinalized struct { 9058 ForkNumber *big.Int 9059 EpochNumber *big.Int 9060 StartBlockNumber *big.Int 9061 EndBlockNumber *big.Int 9062 Raw types.Log // Blockchain specific contextual infos 9063 } 9064 9065 // FilterEpochFinalized is a free log retrieval operation binding the contract event 0x70801d4d63b3da6c19ba7349911f45bed5a99ccdfb51b8138c105872529bebd5. 9066 // 9067 // Solidity: event EpochFinalized(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber) 9068 func (_RootChainBase *RootChainBaseFilterer) FilterEpochFinalized(opts *bind.FilterOpts) (*RootChainBaseEpochFinalizedIterator, error) { 9069 9070 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "EpochFinalized") 9071 if err != nil { 9072 return nil, err 9073 } 9074 return &RootChainBaseEpochFinalizedIterator{contract: _RootChainBase.contract, event: "EpochFinalized", logs: logs, sub: sub}, nil 9075 } 9076 9077 // WatchEpochFinalized is a free log subscription operation binding the contract event 0x70801d4d63b3da6c19ba7349911f45bed5a99ccdfb51b8138c105872529bebd5. 9078 // 9079 // Solidity: event EpochFinalized(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber) 9080 func (_RootChainBase *RootChainBaseFilterer) WatchEpochFinalized(opts *bind.WatchOpts, sink chan<- *RootChainBaseEpochFinalized) (event.Subscription, error) { 9081 9082 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "EpochFinalized") 9083 if err != nil { 9084 return nil, err 9085 } 9086 return event.NewSubscription(func(quit <-chan struct{}) error { 9087 defer sub.Unsubscribe() 9088 for { 9089 select { 9090 case log := <-logs: 9091 // New log arrived, parse the event and forward to the user 9092 event := new(RootChainBaseEpochFinalized) 9093 if err := _RootChainBase.contract.UnpackLog(event, "EpochFinalized", log); err != nil { 9094 return err 9095 } 9096 event.Raw = log 9097 9098 select { 9099 case sink <- event: 9100 case err := <-sub.Err(): 9101 return err 9102 case <-quit: 9103 return nil 9104 } 9105 case err := <-sub.Err(): 9106 return err 9107 case <-quit: 9108 return nil 9109 } 9110 } 9111 }), nil 9112 } 9113 9114 // ParseEpochFinalized is a log parse operation binding the contract event 0x70801d4d63b3da6c19ba7349911f45bed5a99ccdfb51b8138c105872529bebd5. 9115 // 9116 // Solidity: event EpochFinalized(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber) 9117 func (_RootChainBase *RootChainBaseFilterer) ParseEpochFinalized(log types.Log) (*RootChainBaseEpochFinalized, error) { 9118 event := new(RootChainBaseEpochFinalized) 9119 if err := _RootChainBase.contract.UnpackLog(event, "EpochFinalized", log); err != nil { 9120 return nil, err 9121 } 9122 return event, nil 9123 } 9124 9125 // RootChainBaseEpochPreparedIterator is returned from FilterEpochPrepared and is used to iterate over the raw logs and unpacked data for EpochPrepared events raised by the RootChainBase contract. 9126 type RootChainBaseEpochPreparedIterator struct { 9127 Event *RootChainBaseEpochPrepared // Event containing the contract specifics and raw log 9128 9129 contract *bind.BoundContract // Generic contract to use for unpacking event data 9130 event string // Event name to use for unpacking event data 9131 9132 logs chan types.Log // Log channel receiving the found contract events 9133 sub ethereum.Subscription // Subscription for errors, completion and termination 9134 done bool // Whether the subscription completed delivering logs 9135 fail error // Occurred error to stop iteration 9136 } 9137 9138 // Next advances the iterator to the subsequent event, returning whether there 9139 // are any more events found. In case of a retrieval or parsing error, false is 9140 // returned and Error() can be queried for the exact failure. 9141 func (it *RootChainBaseEpochPreparedIterator) Next() bool { 9142 // If the iterator failed, stop iterating 9143 if it.fail != nil { 9144 return false 9145 } 9146 // If the iterator completed, deliver directly whatever's available 9147 if it.done { 9148 select { 9149 case log := <-it.logs: 9150 it.Event = new(RootChainBaseEpochPrepared) 9151 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9152 it.fail = err 9153 return false 9154 } 9155 it.Event.Raw = log 9156 return true 9157 9158 default: 9159 return false 9160 } 9161 } 9162 // Iterator still in progress, wait for either a data or an error event 9163 select { 9164 case log := <-it.logs: 9165 it.Event = new(RootChainBaseEpochPrepared) 9166 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9167 it.fail = err 9168 return false 9169 } 9170 it.Event.Raw = log 9171 return true 9172 9173 case err := <-it.sub.Err(): 9174 it.done = true 9175 it.fail = err 9176 return it.Next() 9177 } 9178 } 9179 9180 // Error returns any retrieval or parsing error occurred during filtering. 9181 func (it *RootChainBaseEpochPreparedIterator) Error() error { 9182 return it.fail 9183 } 9184 9185 // Close terminates the iteration process, releasing any pending underlying 9186 // resources. 9187 func (it *RootChainBaseEpochPreparedIterator) Close() error { 9188 it.sub.Unsubscribe() 9189 return nil 9190 } 9191 9192 // RootChainBaseEpochPrepared represents a EpochPrepared event raised by the RootChainBase contract. 9193 type RootChainBaseEpochPrepared struct { 9194 ForkNumber *big.Int 9195 EpochNumber *big.Int 9196 StartBlockNumber *big.Int 9197 EndBlockNumber *big.Int 9198 RequestStart *big.Int 9199 RequestEnd *big.Int 9200 EpochIsEmpty bool 9201 IsRequest bool 9202 UserActivated bool 9203 Rebase bool 9204 Raw types.Log // Blockchain specific contextual infos 9205 } 9206 9207 // FilterEpochPrepared is a free log retrieval operation binding the contract event 0x1a69c0760aa329b76f72579129869013ebd3d41594db019c0e997b939fcb32e3. 9208 // 9209 // Solidity: event EpochPrepared(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated, bool rebase) 9210 func (_RootChainBase *RootChainBaseFilterer) FilterEpochPrepared(opts *bind.FilterOpts) (*RootChainBaseEpochPreparedIterator, error) { 9211 9212 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "EpochPrepared") 9213 if err != nil { 9214 return nil, err 9215 } 9216 return &RootChainBaseEpochPreparedIterator{contract: _RootChainBase.contract, event: "EpochPrepared", logs: logs, sub: sub}, nil 9217 } 9218 9219 // WatchEpochPrepared is a free log subscription operation binding the contract event 0x1a69c0760aa329b76f72579129869013ebd3d41594db019c0e997b939fcb32e3. 9220 // 9221 // Solidity: event EpochPrepared(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated, bool rebase) 9222 func (_RootChainBase *RootChainBaseFilterer) WatchEpochPrepared(opts *bind.WatchOpts, sink chan<- *RootChainBaseEpochPrepared) (event.Subscription, error) { 9223 9224 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "EpochPrepared") 9225 if err != nil { 9226 return nil, err 9227 } 9228 return event.NewSubscription(func(quit <-chan struct{}) error { 9229 defer sub.Unsubscribe() 9230 for { 9231 select { 9232 case log := <-logs: 9233 // New log arrived, parse the event and forward to the user 9234 event := new(RootChainBaseEpochPrepared) 9235 if err := _RootChainBase.contract.UnpackLog(event, "EpochPrepared", log); err != nil { 9236 return err 9237 } 9238 event.Raw = log 9239 9240 select { 9241 case sink <- event: 9242 case err := <-sub.Err(): 9243 return err 9244 case <-quit: 9245 return nil 9246 } 9247 case err := <-sub.Err(): 9248 return err 9249 case <-quit: 9250 return nil 9251 } 9252 } 9253 }), nil 9254 } 9255 9256 // ParseEpochPrepared is a log parse operation binding the contract event 0x1a69c0760aa329b76f72579129869013ebd3d41594db019c0e997b939fcb32e3. 9257 // 9258 // Solidity: event EpochPrepared(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated, bool rebase) 9259 func (_RootChainBase *RootChainBaseFilterer) ParseEpochPrepared(log types.Log) (*RootChainBaseEpochPrepared, error) { 9260 event := new(RootChainBaseEpochPrepared) 9261 if err := _RootChainBase.contract.UnpackLog(event, "EpochPrepared", log); err != nil { 9262 return nil, err 9263 } 9264 return event, nil 9265 } 9266 9267 // RootChainBaseEpochRebasedIterator is returned from FilterEpochRebased and is used to iterate over the raw logs and unpacked data for EpochRebased events raised by the RootChainBase contract. 9268 type RootChainBaseEpochRebasedIterator struct { 9269 Event *RootChainBaseEpochRebased // Event containing the contract specifics and raw log 9270 9271 contract *bind.BoundContract // Generic contract to use for unpacking event data 9272 event string // Event name to use for unpacking event data 9273 9274 logs chan types.Log // Log channel receiving the found contract events 9275 sub ethereum.Subscription // Subscription for errors, completion and termination 9276 done bool // Whether the subscription completed delivering logs 9277 fail error // Occurred error to stop iteration 9278 } 9279 9280 // Next advances the iterator to the subsequent event, returning whether there 9281 // are any more events found. In case of a retrieval or parsing error, false is 9282 // returned and Error() can be queried for the exact failure. 9283 func (it *RootChainBaseEpochRebasedIterator) Next() bool { 9284 // If the iterator failed, stop iterating 9285 if it.fail != nil { 9286 return false 9287 } 9288 // If the iterator completed, deliver directly whatever's available 9289 if it.done { 9290 select { 9291 case log := <-it.logs: 9292 it.Event = new(RootChainBaseEpochRebased) 9293 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9294 it.fail = err 9295 return false 9296 } 9297 it.Event.Raw = log 9298 return true 9299 9300 default: 9301 return false 9302 } 9303 } 9304 // Iterator still in progress, wait for either a data or an error event 9305 select { 9306 case log := <-it.logs: 9307 it.Event = new(RootChainBaseEpochRebased) 9308 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9309 it.fail = err 9310 return false 9311 } 9312 it.Event.Raw = log 9313 return true 9314 9315 case err := <-it.sub.Err(): 9316 it.done = true 9317 it.fail = err 9318 return it.Next() 9319 } 9320 } 9321 9322 // Error returns any retrieval or parsing error occurred during filtering. 9323 func (it *RootChainBaseEpochRebasedIterator) Error() error { 9324 return it.fail 9325 } 9326 9327 // Close terminates the iteration process, releasing any pending underlying 9328 // resources. 9329 func (it *RootChainBaseEpochRebasedIterator) Close() error { 9330 it.sub.Unsubscribe() 9331 return nil 9332 } 9333 9334 // RootChainBaseEpochRebased represents a EpochRebased event raised by the RootChainBase contract. 9335 type RootChainBaseEpochRebased struct { 9336 ForkNumber *big.Int 9337 EpochNumber *big.Int 9338 StartBlockNumber *big.Int 9339 EndBlockNumber *big.Int 9340 RequestStart *big.Int 9341 RequestEnd *big.Int 9342 EpochIsEmpty bool 9343 IsRequest bool 9344 UserActivated bool 9345 Raw types.Log // Blockchain specific contextual infos 9346 } 9347 9348 // FilterEpochRebased is a free log retrieval operation binding the contract event 0x030c1c69405c93021f28f57557240dee939a320b826a1fd0d39bf6e629ecab47. 9349 // 9350 // Solidity: event EpochRebased(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated) 9351 func (_RootChainBase *RootChainBaseFilterer) FilterEpochRebased(opts *bind.FilterOpts) (*RootChainBaseEpochRebasedIterator, error) { 9352 9353 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "EpochRebased") 9354 if err != nil { 9355 return nil, err 9356 } 9357 return &RootChainBaseEpochRebasedIterator{contract: _RootChainBase.contract, event: "EpochRebased", logs: logs, sub: sub}, nil 9358 } 9359 9360 // WatchEpochRebased is a free log subscription operation binding the contract event 0x030c1c69405c93021f28f57557240dee939a320b826a1fd0d39bf6e629ecab47. 9361 // 9362 // Solidity: event EpochRebased(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated) 9363 func (_RootChainBase *RootChainBaseFilterer) WatchEpochRebased(opts *bind.WatchOpts, sink chan<- *RootChainBaseEpochRebased) (event.Subscription, error) { 9364 9365 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "EpochRebased") 9366 if err != nil { 9367 return nil, err 9368 } 9369 return event.NewSubscription(func(quit <-chan struct{}) error { 9370 defer sub.Unsubscribe() 9371 for { 9372 select { 9373 case log := <-logs: 9374 // New log arrived, parse the event and forward to the user 9375 event := new(RootChainBaseEpochRebased) 9376 if err := _RootChainBase.contract.UnpackLog(event, "EpochRebased", log); err != nil { 9377 return err 9378 } 9379 event.Raw = log 9380 9381 select { 9382 case sink <- event: 9383 case err := <-sub.Err(): 9384 return err 9385 case <-quit: 9386 return nil 9387 } 9388 case err := <-sub.Err(): 9389 return err 9390 case <-quit: 9391 return nil 9392 } 9393 } 9394 }), nil 9395 } 9396 9397 // ParseEpochRebased is a log parse operation binding the contract event 0x030c1c69405c93021f28f57557240dee939a320b826a1fd0d39bf6e629ecab47. 9398 // 9399 // Solidity: event EpochRebased(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated) 9400 func (_RootChainBase *RootChainBaseFilterer) ParseEpochRebased(log types.Log) (*RootChainBaseEpochRebased, error) { 9401 event := new(RootChainBaseEpochRebased) 9402 if err := _RootChainBase.contract.UnpackLog(event, "EpochRebased", log); err != nil { 9403 return nil, err 9404 } 9405 return event, nil 9406 } 9407 9408 // RootChainBaseForkedIterator is returned from FilterForked and is used to iterate over the raw logs and unpacked data for Forked events raised by the RootChainBase contract. 9409 type RootChainBaseForkedIterator struct { 9410 Event *RootChainBaseForked // Event containing the contract specifics and raw log 9411 9412 contract *bind.BoundContract // Generic contract to use for unpacking event data 9413 event string // Event name to use for unpacking event data 9414 9415 logs chan types.Log // Log channel receiving the found contract events 9416 sub ethereum.Subscription // Subscription for errors, completion and termination 9417 done bool // Whether the subscription completed delivering logs 9418 fail error // Occurred error to stop iteration 9419 } 9420 9421 // Next advances the iterator to the subsequent event, returning whether there 9422 // are any more events found. In case of a retrieval or parsing error, false is 9423 // returned and Error() can be queried for the exact failure. 9424 func (it *RootChainBaseForkedIterator) Next() bool { 9425 // If the iterator failed, stop iterating 9426 if it.fail != nil { 9427 return false 9428 } 9429 // If the iterator completed, deliver directly whatever's available 9430 if it.done { 9431 select { 9432 case log := <-it.logs: 9433 it.Event = new(RootChainBaseForked) 9434 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9435 it.fail = err 9436 return false 9437 } 9438 it.Event.Raw = log 9439 return true 9440 9441 default: 9442 return false 9443 } 9444 } 9445 // Iterator still in progress, wait for either a data or an error event 9446 select { 9447 case log := <-it.logs: 9448 it.Event = new(RootChainBaseForked) 9449 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9450 it.fail = err 9451 return false 9452 } 9453 it.Event.Raw = log 9454 return true 9455 9456 case err := <-it.sub.Err(): 9457 it.done = true 9458 it.fail = err 9459 return it.Next() 9460 } 9461 } 9462 9463 // Error returns any retrieval or parsing error occurred during filtering. 9464 func (it *RootChainBaseForkedIterator) Error() error { 9465 return it.fail 9466 } 9467 9468 // Close terminates the iteration process, releasing any pending underlying 9469 // resources. 9470 func (it *RootChainBaseForkedIterator) Close() error { 9471 it.sub.Unsubscribe() 9472 return nil 9473 } 9474 9475 // RootChainBaseForked represents a Forked event raised by the RootChainBase contract. 9476 type RootChainBaseForked struct { 9477 NewFork *big.Int 9478 EpochNumber *big.Int 9479 ForkedBlockNumber *big.Int 9480 Raw types.Log // Blockchain specific contextual infos 9481 } 9482 9483 // FilterForked is a free log retrieval operation binding the contract event 0x0647d42ab02f6e0ae76959757dcb6aa6feac1d4ba6f077f1223fb4b1b429f06c. 9484 // 9485 // Solidity: event Forked(uint256 newFork, uint256 epochNumber, uint256 forkedBlockNumber) 9486 func (_RootChainBase *RootChainBaseFilterer) FilterForked(opts *bind.FilterOpts) (*RootChainBaseForkedIterator, error) { 9487 9488 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "Forked") 9489 if err != nil { 9490 return nil, err 9491 } 9492 return &RootChainBaseForkedIterator{contract: _RootChainBase.contract, event: "Forked", logs: logs, sub: sub}, nil 9493 } 9494 9495 // WatchForked is a free log subscription operation binding the contract event 0x0647d42ab02f6e0ae76959757dcb6aa6feac1d4ba6f077f1223fb4b1b429f06c. 9496 // 9497 // Solidity: event Forked(uint256 newFork, uint256 epochNumber, uint256 forkedBlockNumber) 9498 func (_RootChainBase *RootChainBaseFilterer) WatchForked(opts *bind.WatchOpts, sink chan<- *RootChainBaseForked) (event.Subscription, error) { 9499 9500 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "Forked") 9501 if err != nil { 9502 return nil, err 9503 } 9504 return event.NewSubscription(func(quit <-chan struct{}) error { 9505 defer sub.Unsubscribe() 9506 for { 9507 select { 9508 case log := <-logs: 9509 // New log arrived, parse the event and forward to the user 9510 event := new(RootChainBaseForked) 9511 if err := _RootChainBase.contract.UnpackLog(event, "Forked", log); err != nil { 9512 return err 9513 } 9514 event.Raw = log 9515 9516 select { 9517 case sink <- event: 9518 case err := <-sub.Err(): 9519 return err 9520 case <-quit: 9521 return nil 9522 } 9523 case err := <-sub.Err(): 9524 return err 9525 case <-quit: 9526 return nil 9527 } 9528 } 9529 }), nil 9530 } 9531 9532 // ParseForked is a log parse operation binding the contract event 0x0647d42ab02f6e0ae76959757dcb6aa6feac1d4ba6f077f1223fb4b1b429f06c. 9533 // 9534 // Solidity: event Forked(uint256 newFork, uint256 epochNumber, uint256 forkedBlockNumber) 9535 func (_RootChainBase *RootChainBaseFilterer) ParseForked(log types.Log) (*RootChainBaseForked, error) { 9536 event := new(RootChainBaseForked) 9537 if err := _RootChainBase.contract.UnpackLog(event, "Forked", log); err != nil { 9538 return nil, err 9539 } 9540 return event, nil 9541 } 9542 9543 // RootChainBaseOperatorChangedIterator is returned from FilterOperatorChanged and is used to iterate over the raw logs and unpacked data for OperatorChanged events raised by the RootChainBase contract. 9544 type RootChainBaseOperatorChangedIterator struct { 9545 Event *RootChainBaseOperatorChanged // Event containing the contract specifics and raw log 9546 9547 contract *bind.BoundContract // Generic contract to use for unpacking event data 9548 event string // Event name to use for unpacking event data 9549 9550 logs chan types.Log // Log channel receiving the found contract events 9551 sub ethereum.Subscription // Subscription for errors, completion and termination 9552 done bool // Whether the subscription completed delivering logs 9553 fail error // Occurred error to stop iteration 9554 } 9555 9556 // Next advances the iterator to the subsequent event, returning whether there 9557 // are any more events found. In case of a retrieval or parsing error, false is 9558 // returned and Error() can be queried for the exact failure. 9559 func (it *RootChainBaseOperatorChangedIterator) Next() bool { 9560 // If the iterator failed, stop iterating 9561 if it.fail != nil { 9562 return false 9563 } 9564 // If the iterator completed, deliver directly whatever's available 9565 if it.done { 9566 select { 9567 case log := <-it.logs: 9568 it.Event = new(RootChainBaseOperatorChanged) 9569 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9570 it.fail = err 9571 return false 9572 } 9573 it.Event.Raw = log 9574 return true 9575 9576 default: 9577 return false 9578 } 9579 } 9580 // Iterator still in progress, wait for either a data or an error event 9581 select { 9582 case log := <-it.logs: 9583 it.Event = new(RootChainBaseOperatorChanged) 9584 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9585 it.fail = err 9586 return false 9587 } 9588 it.Event.Raw = log 9589 return true 9590 9591 case err := <-it.sub.Err(): 9592 it.done = true 9593 it.fail = err 9594 return it.Next() 9595 } 9596 } 9597 9598 // Error returns any retrieval or parsing error occurred during filtering. 9599 func (it *RootChainBaseOperatorChangedIterator) Error() error { 9600 return it.fail 9601 } 9602 9603 // Close terminates the iteration process, releasing any pending underlying 9604 // resources. 9605 func (it *RootChainBaseOperatorChangedIterator) Close() error { 9606 it.sub.Unsubscribe() 9607 return nil 9608 } 9609 9610 // RootChainBaseOperatorChanged represents a OperatorChanged event raised by the RootChainBase contract. 9611 type RootChainBaseOperatorChanged struct { 9612 NewOperator common.Address 9613 Raw types.Log // Blockchain specific contextual infos 9614 } 9615 9616 // FilterOperatorChanged is a free log retrieval operation binding the contract event 0x4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e54. 9617 // 9618 // Solidity: event OperatorChanged(address _newOperator) 9619 func (_RootChainBase *RootChainBaseFilterer) FilterOperatorChanged(opts *bind.FilterOpts) (*RootChainBaseOperatorChangedIterator, error) { 9620 9621 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "OperatorChanged") 9622 if err != nil { 9623 return nil, err 9624 } 9625 return &RootChainBaseOperatorChangedIterator{contract: _RootChainBase.contract, event: "OperatorChanged", logs: logs, sub: sub}, nil 9626 } 9627 9628 // WatchOperatorChanged is a free log subscription operation binding the contract event 0x4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e54. 9629 // 9630 // Solidity: event OperatorChanged(address _newOperator) 9631 func (_RootChainBase *RootChainBaseFilterer) WatchOperatorChanged(opts *bind.WatchOpts, sink chan<- *RootChainBaseOperatorChanged) (event.Subscription, error) { 9632 9633 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "OperatorChanged") 9634 if err != nil { 9635 return nil, err 9636 } 9637 return event.NewSubscription(func(quit <-chan struct{}) error { 9638 defer sub.Unsubscribe() 9639 for { 9640 select { 9641 case log := <-logs: 9642 // New log arrived, parse the event and forward to the user 9643 event := new(RootChainBaseOperatorChanged) 9644 if err := _RootChainBase.contract.UnpackLog(event, "OperatorChanged", log); err != nil { 9645 return err 9646 } 9647 event.Raw = log 9648 9649 select { 9650 case sink <- event: 9651 case err := <-sub.Err(): 9652 return err 9653 case <-quit: 9654 return nil 9655 } 9656 case err := <-sub.Err(): 9657 return err 9658 case <-quit: 9659 return nil 9660 } 9661 } 9662 }), nil 9663 } 9664 9665 // ParseOperatorChanged is a log parse operation binding the contract event 0x4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e54. 9666 // 9667 // Solidity: event OperatorChanged(address _newOperator) 9668 func (_RootChainBase *RootChainBaseFilterer) ParseOperatorChanged(log types.Log) (*RootChainBaseOperatorChanged, error) { 9669 event := new(RootChainBaseOperatorChanged) 9670 if err := _RootChainBase.contract.UnpackLog(event, "OperatorChanged", log); err != nil { 9671 return nil, err 9672 } 9673 return event, nil 9674 } 9675 9676 // RootChainBaseRequestAppliedIterator is returned from FilterRequestApplied and is used to iterate over the raw logs and unpacked data for RequestApplied events raised by the RootChainBase contract. 9677 type RootChainBaseRequestAppliedIterator struct { 9678 Event *RootChainBaseRequestApplied // Event containing the contract specifics and raw log 9679 9680 contract *bind.BoundContract // Generic contract to use for unpacking event data 9681 event string // Event name to use for unpacking event data 9682 9683 logs chan types.Log // Log channel receiving the found contract events 9684 sub ethereum.Subscription // Subscription for errors, completion and termination 9685 done bool // Whether the subscription completed delivering logs 9686 fail error // Occurred error to stop iteration 9687 } 9688 9689 // Next advances the iterator to the subsequent event, returning whether there 9690 // are any more events found. In case of a retrieval or parsing error, false is 9691 // returned and Error() can be queried for the exact failure. 9692 func (it *RootChainBaseRequestAppliedIterator) Next() bool { 9693 // If the iterator failed, stop iterating 9694 if it.fail != nil { 9695 return false 9696 } 9697 // If the iterator completed, deliver directly whatever's available 9698 if it.done { 9699 select { 9700 case log := <-it.logs: 9701 it.Event = new(RootChainBaseRequestApplied) 9702 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9703 it.fail = err 9704 return false 9705 } 9706 it.Event.Raw = log 9707 return true 9708 9709 default: 9710 return false 9711 } 9712 } 9713 // Iterator still in progress, wait for either a data or an error event 9714 select { 9715 case log := <-it.logs: 9716 it.Event = new(RootChainBaseRequestApplied) 9717 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9718 it.fail = err 9719 return false 9720 } 9721 it.Event.Raw = log 9722 return true 9723 9724 case err := <-it.sub.Err(): 9725 it.done = true 9726 it.fail = err 9727 return it.Next() 9728 } 9729 } 9730 9731 // Error returns any retrieval or parsing error occurred during filtering. 9732 func (it *RootChainBaseRequestAppliedIterator) Error() error { 9733 return it.fail 9734 } 9735 9736 // Close terminates the iteration process, releasing any pending underlying 9737 // resources. 9738 func (it *RootChainBaseRequestAppliedIterator) Close() error { 9739 it.sub.Unsubscribe() 9740 return nil 9741 } 9742 9743 // RootChainBaseRequestApplied represents a RequestApplied event raised by the RootChainBase contract. 9744 type RootChainBaseRequestApplied struct { 9745 RequestId *big.Int 9746 UserActivated bool 9747 Raw types.Log // Blockchain specific contextual infos 9748 } 9749 9750 // FilterRequestApplied is a free log retrieval operation binding the contract event 0x6940a01870e576ceb735867e13863646d517ce10e66c0133186a4ebdfe9388c2. 9751 // 9752 // Solidity: event RequestApplied(uint256 requestId, bool userActivated) 9753 func (_RootChainBase *RootChainBaseFilterer) FilterRequestApplied(opts *bind.FilterOpts) (*RootChainBaseRequestAppliedIterator, error) { 9754 9755 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "RequestApplied") 9756 if err != nil { 9757 return nil, err 9758 } 9759 return &RootChainBaseRequestAppliedIterator{contract: _RootChainBase.contract, event: "RequestApplied", logs: logs, sub: sub}, nil 9760 } 9761 9762 // WatchRequestApplied is a free log subscription operation binding the contract event 0x6940a01870e576ceb735867e13863646d517ce10e66c0133186a4ebdfe9388c2. 9763 // 9764 // Solidity: event RequestApplied(uint256 requestId, bool userActivated) 9765 func (_RootChainBase *RootChainBaseFilterer) WatchRequestApplied(opts *bind.WatchOpts, sink chan<- *RootChainBaseRequestApplied) (event.Subscription, error) { 9766 9767 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "RequestApplied") 9768 if err != nil { 9769 return nil, err 9770 } 9771 return event.NewSubscription(func(quit <-chan struct{}) error { 9772 defer sub.Unsubscribe() 9773 for { 9774 select { 9775 case log := <-logs: 9776 // New log arrived, parse the event and forward to the user 9777 event := new(RootChainBaseRequestApplied) 9778 if err := _RootChainBase.contract.UnpackLog(event, "RequestApplied", log); err != nil { 9779 return err 9780 } 9781 event.Raw = log 9782 9783 select { 9784 case sink <- event: 9785 case err := <-sub.Err(): 9786 return err 9787 case <-quit: 9788 return nil 9789 } 9790 case err := <-sub.Err(): 9791 return err 9792 case <-quit: 9793 return nil 9794 } 9795 } 9796 }), nil 9797 } 9798 9799 // ParseRequestApplied is a log parse operation binding the contract event 0x6940a01870e576ceb735867e13863646d517ce10e66c0133186a4ebdfe9388c2. 9800 // 9801 // Solidity: event RequestApplied(uint256 requestId, bool userActivated) 9802 func (_RootChainBase *RootChainBaseFilterer) ParseRequestApplied(log types.Log) (*RootChainBaseRequestApplied, error) { 9803 event := new(RootChainBaseRequestApplied) 9804 if err := _RootChainBase.contract.UnpackLog(event, "RequestApplied", log); err != nil { 9805 return nil, err 9806 } 9807 return event, nil 9808 } 9809 9810 // RootChainBaseRequestChallengedIterator is returned from FilterRequestChallenged and is used to iterate over the raw logs and unpacked data for RequestChallenged events raised by the RootChainBase contract. 9811 type RootChainBaseRequestChallengedIterator struct { 9812 Event *RootChainBaseRequestChallenged // Event containing the contract specifics and raw log 9813 9814 contract *bind.BoundContract // Generic contract to use for unpacking event data 9815 event string // Event name to use for unpacking event data 9816 9817 logs chan types.Log // Log channel receiving the found contract events 9818 sub ethereum.Subscription // Subscription for errors, completion and termination 9819 done bool // Whether the subscription completed delivering logs 9820 fail error // Occurred error to stop iteration 9821 } 9822 9823 // Next advances the iterator to the subsequent event, returning whether there 9824 // are any more events found. In case of a retrieval or parsing error, false is 9825 // returned and Error() can be queried for the exact failure. 9826 func (it *RootChainBaseRequestChallengedIterator) Next() bool { 9827 // If the iterator failed, stop iterating 9828 if it.fail != nil { 9829 return false 9830 } 9831 // If the iterator completed, deliver directly whatever's available 9832 if it.done { 9833 select { 9834 case log := <-it.logs: 9835 it.Event = new(RootChainBaseRequestChallenged) 9836 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9837 it.fail = err 9838 return false 9839 } 9840 it.Event.Raw = log 9841 return true 9842 9843 default: 9844 return false 9845 } 9846 } 9847 // Iterator still in progress, wait for either a data or an error event 9848 select { 9849 case log := <-it.logs: 9850 it.Event = new(RootChainBaseRequestChallenged) 9851 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9852 it.fail = err 9853 return false 9854 } 9855 it.Event.Raw = log 9856 return true 9857 9858 case err := <-it.sub.Err(): 9859 it.done = true 9860 it.fail = err 9861 return it.Next() 9862 } 9863 } 9864 9865 // Error returns any retrieval or parsing error occurred during filtering. 9866 func (it *RootChainBaseRequestChallengedIterator) Error() error { 9867 return it.fail 9868 } 9869 9870 // Close terminates the iteration process, releasing any pending underlying 9871 // resources. 9872 func (it *RootChainBaseRequestChallengedIterator) Close() error { 9873 it.sub.Unsubscribe() 9874 return nil 9875 } 9876 9877 // RootChainBaseRequestChallenged represents a RequestChallenged event raised by the RootChainBase contract. 9878 type RootChainBaseRequestChallenged struct { 9879 RequestId *big.Int 9880 UserActivated bool 9881 Raw types.Log // Blockchain specific contextual infos 9882 } 9883 9884 // FilterRequestChallenged is a free log retrieval operation binding the contract event 0xc8135db115644ed4ae193313c4c801235ef740d2a57a8d5e6fe26ab66635698a. 9885 // 9886 // Solidity: event RequestChallenged(uint256 requestId, bool userActivated) 9887 func (_RootChainBase *RootChainBaseFilterer) FilterRequestChallenged(opts *bind.FilterOpts) (*RootChainBaseRequestChallengedIterator, error) { 9888 9889 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "RequestChallenged") 9890 if err != nil { 9891 return nil, err 9892 } 9893 return &RootChainBaseRequestChallengedIterator{contract: _RootChainBase.contract, event: "RequestChallenged", logs: logs, sub: sub}, nil 9894 } 9895 9896 // WatchRequestChallenged is a free log subscription operation binding the contract event 0xc8135db115644ed4ae193313c4c801235ef740d2a57a8d5e6fe26ab66635698a. 9897 // 9898 // Solidity: event RequestChallenged(uint256 requestId, bool userActivated) 9899 func (_RootChainBase *RootChainBaseFilterer) WatchRequestChallenged(opts *bind.WatchOpts, sink chan<- *RootChainBaseRequestChallenged) (event.Subscription, error) { 9900 9901 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "RequestChallenged") 9902 if err != nil { 9903 return nil, err 9904 } 9905 return event.NewSubscription(func(quit <-chan struct{}) error { 9906 defer sub.Unsubscribe() 9907 for { 9908 select { 9909 case log := <-logs: 9910 // New log arrived, parse the event and forward to the user 9911 event := new(RootChainBaseRequestChallenged) 9912 if err := _RootChainBase.contract.UnpackLog(event, "RequestChallenged", log); err != nil { 9913 return err 9914 } 9915 event.Raw = log 9916 9917 select { 9918 case sink <- event: 9919 case err := <-sub.Err(): 9920 return err 9921 case <-quit: 9922 return nil 9923 } 9924 case err := <-sub.Err(): 9925 return err 9926 case <-quit: 9927 return nil 9928 } 9929 } 9930 }), nil 9931 } 9932 9933 // ParseRequestChallenged is a log parse operation binding the contract event 0xc8135db115644ed4ae193313c4c801235ef740d2a57a8d5e6fe26ab66635698a. 9934 // 9935 // Solidity: event RequestChallenged(uint256 requestId, bool userActivated) 9936 func (_RootChainBase *RootChainBaseFilterer) ParseRequestChallenged(log types.Log) (*RootChainBaseRequestChallenged, error) { 9937 event := new(RootChainBaseRequestChallenged) 9938 if err := _RootChainBase.contract.UnpackLog(event, "RequestChallenged", log); err != nil { 9939 return nil, err 9940 } 9941 return event, nil 9942 } 9943 9944 // RootChainBaseRequestCreatedIterator is returned from FilterRequestCreated and is used to iterate over the raw logs and unpacked data for RequestCreated events raised by the RootChainBase contract. 9945 type RootChainBaseRequestCreatedIterator struct { 9946 Event *RootChainBaseRequestCreated // Event containing the contract specifics and raw log 9947 9948 contract *bind.BoundContract // Generic contract to use for unpacking event data 9949 event string // Event name to use for unpacking event data 9950 9951 logs chan types.Log // Log channel receiving the found contract events 9952 sub ethereum.Subscription // Subscription for errors, completion and termination 9953 done bool // Whether the subscription completed delivering logs 9954 fail error // Occurred error to stop iteration 9955 } 9956 9957 // Next advances the iterator to the subsequent event, returning whether there 9958 // are any more events found. In case of a retrieval or parsing error, false is 9959 // returned and Error() can be queried for the exact failure. 9960 func (it *RootChainBaseRequestCreatedIterator) Next() bool { 9961 // If the iterator failed, stop iterating 9962 if it.fail != nil { 9963 return false 9964 } 9965 // If the iterator completed, deliver directly whatever's available 9966 if it.done { 9967 select { 9968 case log := <-it.logs: 9969 it.Event = new(RootChainBaseRequestCreated) 9970 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9971 it.fail = err 9972 return false 9973 } 9974 it.Event.Raw = log 9975 return true 9976 9977 default: 9978 return false 9979 } 9980 } 9981 // Iterator still in progress, wait for either a data or an error event 9982 select { 9983 case log := <-it.logs: 9984 it.Event = new(RootChainBaseRequestCreated) 9985 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 9986 it.fail = err 9987 return false 9988 } 9989 it.Event.Raw = log 9990 return true 9991 9992 case err := <-it.sub.Err(): 9993 it.done = true 9994 it.fail = err 9995 return it.Next() 9996 } 9997 } 9998 9999 // Error returns any retrieval or parsing error occurred during filtering. 10000 func (it *RootChainBaseRequestCreatedIterator) Error() error { 10001 return it.fail 10002 } 10003 10004 // Close terminates the iteration process, releasing any pending underlying 10005 // resources. 10006 func (it *RootChainBaseRequestCreatedIterator) Close() error { 10007 it.sub.Unsubscribe() 10008 return nil 10009 } 10010 10011 // RootChainBaseRequestCreated represents a RequestCreated event raised by the RootChainBase contract. 10012 type RootChainBaseRequestCreated struct { 10013 RequestId *big.Int 10014 Requestor common.Address 10015 To common.Address 10016 WeiAmount *big.Int 10017 TrieKey [32]byte 10018 TrieValue []byte 10019 IsExit bool 10020 UserActivated bool 10021 Raw types.Log // Blockchain specific contextual infos 10022 } 10023 10024 // FilterRequestCreated is a free log retrieval operation binding the contract event 0x879922cf5fcada9ebaf8bd7424dc62877f4b220cae07fb6695cc1e8f94c52b4d. 10025 // 10026 // Solidity: event RequestCreated(uint256 requestId, address requestor, address to, uint256 weiAmount, bytes32 trieKey, bytes trieValue, bool isExit, bool userActivated) 10027 func (_RootChainBase *RootChainBaseFilterer) FilterRequestCreated(opts *bind.FilterOpts) (*RootChainBaseRequestCreatedIterator, error) { 10028 10029 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "RequestCreated") 10030 if err != nil { 10031 return nil, err 10032 } 10033 return &RootChainBaseRequestCreatedIterator{contract: _RootChainBase.contract, event: "RequestCreated", logs: logs, sub: sub}, nil 10034 } 10035 10036 // WatchRequestCreated is a free log subscription operation binding the contract event 0x879922cf5fcada9ebaf8bd7424dc62877f4b220cae07fb6695cc1e8f94c52b4d. 10037 // 10038 // Solidity: event RequestCreated(uint256 requestId, address requestor, address to, uint256 weiAmount, bytes32 trieKey, bytes trieValue, bool isExit, bool userActivated) 10039 func (_RootChainBase *RootChainBaseFilterer) WatchRequestCreated(opts *bind.WatchOpts, sink chan<- *RootChainBaseRequestCreated) (event.Subscription, error) { 10040 10041 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "RequestCreated") 10042 if err != nil { 10043 return nil, err 10044 } 10045 return event.NewSubscription(func(quit <-chan struct{}) error { 10046 defer sub.Unsubscribe() 10047 for { 10048 select { 10049 case log := <-logs: 10050 // New log arrived, parse the event and forward to the user 10051 event := new(RootChainBaseRequestCreated) 10052 if err := _RootChainBase.contract.UnpackLog(event, "RequestCreated", log); err != nil { 10053 return err 10054 } 10055 event.Raw = log 10056 10057 select { 10058 case sink <- event: 10059 case err := <-sub.Err(): 10060 return err 10061 case <-quit: 10062 return nil 10063 } 10064 case err := <-sub.Err(): 10065 return err 10066 case <-quit: 10067 return nil 10068 } 10069 } 10070 }), nil 10071 } 10072 10073 // ParseRequestCreated is a log parse operation binding the contract event 0x879922cf5fcada9ebaf8bd7424dc62877f4b220cae07fb6695cc1e8f94c52b4d. 10074 // 10075 // Solidity: event RequestCreated(uint256 requestId, address requestor, address to, uint256 weiAmount, bytes32 trieKey, bytes trieValue, bool isExit, bool userActivated) 10076 func (_RootChainBase *RootChainBaseFilterer) ParseRequestCreated(log types.Log) (*RootChainBaseRequestCreated, error) { 10077 event := new(RootChainBaseRequestCreated) 10078 if err := _RootChainBase.contract.UnpackLog(event, "RequestCreated", log); err != nil { 10079 return nil, err 10080 } 10081 return event, nil 10082 } 10083 10084 // RootChainBaseRequestFinalizedIterator is returned from FilterRequestFinalized and is used to iterate over the raw logs and unpacked data for RequestFinalized events raised by the RootChainBase contract. 10085 type RootChainBaseRequestFinalizedIterator struct { 10086 Event *RootChainBaseRequestFinalized // Event containing the contract specifics and raw log 10087 10088 contract *bind.BoundContract // Generic contract to use for unpacking event data 10089 event string // Event name to use for unpacking event data 10090 10091 logs chan types.Log // Log channel receiving the found contract events 10092 sub ethereum.Subscription // Subscription for errors, completion and termination 10093 done bool // Whether the subscription completed delivering logs 10094 fail error // Occurred error to stop iteration 10095 } 10096 10097 // Next advances the iterator to the subsequent event, returning whether there 10098 // are any more events found. In case of a retrieval or parsing error, false is 10099 // returned and Error() can be queried for the exact failure. 10100 func (it *RootChainBaseRequestFinalizedIterator) Next() bool { 10101 // If the iterator failed, stop iterating 10102 if it.fail != nil { 10103 return false 10104 } 10105 // If the iterator completed, deliver directly whatever's available 10106 if it.done { 10107 select { 10108 case log := <-it.logs: 10109 it.Event = new(RootChainBaseRequestFinalized) 10110 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10111 it.fail = err 10112 return false 10113 } 10114 it.Event.Raw = log 10115 return true 10116 10117 default: 10118 return false 10119 } 10120 } 10121 // Iterator still in progress, wait for either a data or an error event 10122 select { 10123 case log := <-it.logs: 10124 it.Event = new(RootChainBaseRequestFinalized) 10125 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10126 it.fail = err 10127 return false 10128 } 10129 it.Event.Raw = log 10130 return true 10131 10132 case err := <-it.sub.Err(): 10133 it.done = true 10134 it.fail = err 10135 return it.Next() 10136 } 10137 } 10138 10139 // Error returns any retrieval or parsing error occurred during filtering. 10140 func (it *RootChainBaseRequestFinalizedIterator) Error() error { 10141 return it.fail 10142 } 10143 10144 // Close terminates the iteration process, releasing any pending underlying 10145 // resources. 10146 func (it *RootChainBaseRequestFinalizedIterator) Close() error { 10147 it.sub.Unsubscribe() 10148 return nil 10149 } 10150 10151 // RootChainBaseRequestFinalized represents a RequestFinalized event raised by the RootChainBase contract. 10152 type RootChainBaseRequestFinalized struct { 10153 RequestId *big.Int 10154 UserActivated bool 10155 Raw types.Log // Blockchain specific contextual infos 10156 } 10157 10158 // FilterRequestFinalized is a free log retrieval operation binding the contract event 0x134017cf3262b18f892ee95dde3b0aec9a80cc70a7c96f09c64bd237aceb0473. 10159 // 10160 // Solidity: event RequestFinalized(uint256 requestId, bool userActivated) 10161 func (_RootChainBase *RootChainBaseFilterer) FilterRequestFinalized(opts *bind.FilterOpts) (*RootChainBaseRequestFinalizedIterator, error) { 10162 10163 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "RequestFinalized") 10164 if err != nil { 10165 return nil, err 10166 } 10167 return &RootChainBaseRequestFinalizedIterator{contract: _RootChainBase.contract, event: "RequestFinalized", logs: logs, sub: sub}, nil 10168 } 10169 10170 // WatchRequestFinalized is a free log subscription operation binding the contract event 0x134017cf3262b18f892ee95dde3b0aec9a80cc70a7c96f09c64bd237aceb0473. 10171 // 10172 // Solidity: event RequestFinalized(uint256 requestId, bool userActivated) 10173 func (_RootChainBase *RootChainBaseFilterer) WatchRequestFinalized(opts *bind.WatchOpts, sink chan<- *RootChainBaseRequestFinalized) (event.Subscription, error) { 10174 10175 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "RequestFinalized") 10176 if err != nil { 10177 return nil, err 10178 } 10179 return event.NewSubscription(func(quit <-chan struct{}) error { 10180 defer sub.Unsubscribe() 10181 for { 10182 select { 10183 case log := <-logs: 10184 // New log arrived, parse the event and forward to the user 10185 event := new(RootChainBaseRequestFinalized) 10186 if err := _RootChainBase.contract.UnpackLog(event, "RequestFinalized", log); err != nil { 10187 return err 10188 } 10189 event.Raw = log 10190 10191 select { 10192 case sink <- event: 10193 case err := <-sub.Err(): 10194 return err 10195 case <-quit: 10196 return nil 10197 } 10198 case err := <-sub.Err(): 10199 return err 10200 case <-quit: 10201 return nil 10202 } 10203 } 10204 }), nil 10205 } 10206 10207 // ParseRequestFinalized is a log parse operation binding the contract event 0x134017cf3262b18f892ee95dde3b0aec9a80cc70a7c96f09c64bd237aceb0473. 10208 // 10209 // Solidity: event RequestFinalized(uint256 requestId, bool userActivated) 10210 func (_RootChainBase *RootChainBaseFilterer) ParseRequestFinalized(log types.Log) (*RootChainBaseRequestFinalized, error) { 10211 event := new(RootChainBaseRequestFinalized) 10212 if err := _RootChainBase.contract.UnpackLog(event, "RequestFinalized", log); err != nil { 10213 return nil, err 10214 } 10215 return event, nil 10216 } 10217 10218 // RootChainBaseRequestableContractMappedIterator is returned from FilterRequestableContractMapped and is used to iterate over the raw logs and unpacked data for RequestableContractMapped events raised by the RootChainBase contract. 10219 type RootChainBaseRequestableContractMappedIterator struct { 10220 Event *RootChainBaseRequestableContractMapped // Event containing the contract specifics and raw log 10221 10222 contract *bind.BoundContract // Generic contract to use for unpacking event data 10223 event string // Event name to use for unpacking event data 10224 10225 logs chan types.Log // Log channel receiving the found contract events 10226 sub ethereum.Subscription // Subscription for errors, completion and termination 10227 done bool // Whether the subscription completed delivering logs 10228 fail error // Occurred error to stop iteration 10229 } 10230 10231 // Next advances the iterator to the subsequent event, returning whether there 10232 // are any more events found. In case of a retrieval or parsing error, false is 10233 // returned and Error() can be queried for the exact failure. 10234 func (it *RootChainBaseRequestableContractMappedIterator) Next() bool { 10235 // If the iterator failed, stop iterating 10236 if it.fail != nil { 10237 return false 10238 } 10239 // If the iterator completed, deliver directly whatever's available 10240 if it.done { 10241 select { 10242 case log := <-it.logs: 10243 it.Event = new(RootChainBaseRequestableContractMapped) 10244 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10245 it.fail = err 10246 return false 10247 } 10248 it.Event.Raw = log 10249 return true 10250 10251 default: 10252 return false 10253 } 10254 } 10255 // Iterator still in progress, wait for either a data or an error event 10256 select { 10257 case log := <-it.logs: 10258 it.Event = new(RootChainBaseRequestableContractMapped) 10259 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10260 it.fail = err 10261 return false 10262 } 10263 it.Event.Raw = log 10264 return true 10265 10266 case err := <-it.sub.Err(): 10267 it.done = true 10268 it.fail = err 10269 return it.Next() 10270 } 10271 } 10272 10273 // Error returns any retrieval or parsing error occurred during filtering. 10274 func (it *RootChainBaseRequestableContractMappedIterator) Error() error { 10275 return it.fail 10276 } 10277 10278 // Close terminates the iteration process, releasing any pending underlying 10279 // resources. 10280 func (it *RootChainBaseRequestableContractMappedIterator) Close() error { 10281 it.sub.Unsubscribe() 10282 return nil 10283 } 10284 10285 // RootChainBaseRequestableContractMapped represents a RequestableContractMapped event raised by the RootChainBase contract. 10286 type RootChainBaseRequestableContractMapped struct { 10287 ContractInRootchain common.Address 10288 ContractInChildchain common.Address 10289 Raw types.Log // Blockchain specific contextual infos 10290 } 10291 10292 // FilterRequestableContractMapped is a free log retrieval operation binding the contract event 0xc5ec2ed49686197edd2ed642c7e6096893cc81e6658cde2527030316037715d0. 10293 // 10294 // Solidity: event RequestableContractMapped(address contractInRootchain, address contractInChildchain) 10295 func (_RootChainBase *RootChainBaseFilterer) FilterRequestableContractMapped(opts *bind.FilterOpts) (*RootChainBaseRequestableContractMappedIterator, error) { 10296 10297 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "RequestableContractMapped") 10298 if err != nil { 10299 return nil, err 10300 } 10301 return &RootChainBaseRequestableContractMappedIterator{contract: _RootChainBase.contract, event: "RequestableContractMapped", logs: logs, sub: sub}, nil 10302 } 10303 10304 // WatchRequestableContractMapped is a free log subscription operation binding the contract event 0xc5ec2ed49686197edd2ed642c7e6096893cc81e6658cde2527030316037715d0. 10305 // 10306 // Solidity: event RequestableContractMapped(address contractInRootchain, address contractInChildchain) 10307 func (_RootChainBase *RootChainBaseFilterer) WatchRequestableContractMapped(opts *bind.WatchOpts, sink chan<- *RootChainBaseRequestableContractMapped) (event.Subscription, error) { 10308 10309 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "RequestableContractMapped") 10310 if err != nil { 10311 return nil, err 10312 } 10313 return event.NewSubscription(func(quit <-chan struct{}) error { 10314 defer sub.Unsubscribe() 10315 for { 10316 select { 10317 case log := <-logs: 10318 // New log arrived, parse the event and forward to the user 10319 event := new(RootChainBaseRequestableContractMapped) 10320 if err := _RootChainBase.contract.UnpackLog(event, "RequestableContractMapped", log); err != nil { 10321 return err 10322 } 10323 event.Raw = log 10324 10325 select { 10326 case sink <- event: 10327 case err := <-sub.Err(): 10328 return err 10329 case <-quit: 10330 return nil 10331 } 10332 case err := <-sub.Err(): 10333 return err 10334 case <-quit: 10335 return nil 10336 } 10337 } 10338 }), nil 10339 } 10340 10341 // ParseRequestableContractMapped is a log parse operation binding the contract event 0xc5ec2ed49686197edd2ed642c7e6096893cc81e6658cde2527030316037715d0. 10342 // 10343 // Solidity: event RequestableContractMapped(address contractInRootchain, address contractInChildchain) 10344 func (_RootChainBase *RootChainBaseFilterer) ParseRequestableContractMapped(log types.Log) (*RootChainBaseRequestableContractMapped, error) { 10345 event := new(RootChainBaseRequestableContractMapped) 10346 if err := _RootChainBase.contract.UnpackLog(event, "RequestableContractMapped", log); err != nil { 10347 return nil, err 10348 } 10349 return event, nil 10350 } 10351 10352 // RootChainBaseSessionTimeoutIterator is returned from FilterSessionTimeout and is used to iterate over the raw logs and unpacked data for SessionTimeout events raised by the RootChainBase contract. 10353 type RootChainBaseSessionTimeoutIterator struct { 10354 Event *RootChainBaseSessionTimeout // Event containing the contract specifics and raw log 10355 10356 contract *bind.BoundContract // Generic contract to use for unpacking event data 10357 event string // Event name to use for unpacking event data 10358 10359 logs chan types.Log // Log channel receiving the found contract events 10360 sub ethereum.Subscription // Subscription for errors, completion and termination 10361 done bool // Whether the subscription completed delivering logs 10362 fail error // Occurred error to stop iteration 10363 } 10364 10365 // Next advances the iterator to the subsequent event, returning whether there 10366 // are any more events found. In case of a retrieval or parsing error, false is 10367 // returned and Error() can be queried for the exact failure. 10368 func (it *RootChainBaseSessionTimeoutIterator) Next() bool { 10369 // If the iterator failed, stop iterating 10370 if it.fail != nil { 10371 return false 10372 } 10373 // If the iterator completed, deliver directly whatever's available 10374 if it.done { 10375 select { 10376 case log := <-it.logs: 10377 it.Event = new(RootChainBaseSessionTimeout) 10378 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10379 it.fail = err 10380 return false 10381 } 10382 it.Event.Raw = log 10383 return true 10384 10385 default: 10386 return false 10387 } 10388 } 10389 // Iterator still in progress, wait for either a data or an error event 10390 select { 10391 case log := <-it.logs: 10392 it.Event = new(RootChainBaseSessionTimeout) 10393 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10394 it.fail = err 10395 return false 10396 } 10397 it.Event.Raw = log 10398 return true 10399 10400 case err := <-it.sub.Err(): 10401 it.done = true 10402 it.fail = err 10403 return it.Next() 10404 } 10405 } 10406 10407 // Error returns any retrieval or parsing error occurred during filtering. 10408 func (it *RootChainBaseSessionTimeoutIterator) Error() error { 10409 return it.fail 10410 } 10411 10412 // Close terminates the iteration process, releasing any pending underlying 10413 // resources. 10414 func (it *RootChainBaseSessionTimeoutIterator) Close() error { 10415 it.sub.Unsubscribe() 10416 return nil 10417 } 10418 10419 // RootChainBaseSessionTimeout represents a SessionTimeout event raised by the RootChainBase contract. 10420 type RootChainBaseSessionTimeout struct { 10421 UserActivated bool 10422 Raw types.Log // Blockchain specific contextual infos 10423 } 10424 10425 // FilterSessionTimeout is a free log retrieval operation binding the contract event 0x2122ec719581cd177f225f59a1ee005831211196831f8f1ccffa817d2e7bd108. 10426 // 10427 // Solidity: event SessionTimeout(bool userActivated) 10428 func (_RootChainBase *RootChainBaseFilterer) FilterSessionTimeout(opts *bind.FilterOpts) (*RootChainBaseSessionTimeoutIterator, error) { 10429 10430 logs, sub, err := _RootChainBase.contract.FilterLogs(opts, "SessionTimeout") 10431 if err != nil { 10432 return nil, err 10433 } 10434 return &RootChainBaseSessionTimeoutIterator{contract: _RootChainBase.contract, event: "SessionTimeout", logs: logs, sub: sub}, nil 10435 } 10436 10437 // WatchSessionTimeout is a free log subscription operation binding the contract event 0x2122ec719581cd177f225f59a1ee005831211196831f8f1ccffa817d2e7bd108. 10438 // 10439 // Solidity: event SessionTimeout(bool userActivated) 10440 func (_RootChainBase *RootChainBaseFilterer) WatchSessionTimeout(opts *bind.WatchOpts, sink chan<- *RootChainBaseSessionTimeout) (event.Subscription, error) { 10441 10442 logs, sub, err := _RootChainBase.contract.WatchLogs(opts, "SessionTimeout") 10443 if err != nil { 10444 return nil, err 10445 } 10446 return event.NewSubscription(func(quit <-chan struct{}) error { 10447 defer sub.Unsubscribe() 10448 for { 10449 select { 10450 case log := <-logs: 10451 // New log arrived, parse the event and forward to the user 10452 event := new(RootChainBaseSessionTimeout) 10453 if err := _RootChainBase.contract.UnpackLog(event, "SessionTimeout", log); err != nil { 10454 return err 10455 } 10456 event.Raw = log 10457 10458 select { 10459 case sink <- event: 10460 case err := <-sub.Err(): 10461 return err 10462 case <-quit: 10463 return nil 10464 } 10465 case err := <-sub.Err(): 10466 return err 10467 case <-quit: 10468 return nil 10469 } 10470 } 10471 }), nil 10472 } 10473 10474 // ParseSessionTimeout is a log parse operation binding the contract event 0x2122ec719581cd177f225f59a1ee005831211196831f8f1ccffa817d2e7bd108. 10475 // 10476 // Solidity: event SessionTimeout(bool userActivated) 10477 func (_RootChainBase *RootChainBaseFilterer) ParseSessionTimeout(log types.Log) (*RootChainBaseSessionTimeout, error) { 10478 event := new(RootChainBaseSessionTimeout) 10479 if err := _RootChainBase.contract.UnpackLog(event, "SessionTimeout", log); err != nil { 10480 return nil, err 10481 } 10482 return event, nil 10483 } 10484 10485 // RootChainEventABI is the input ABI used to generate the binding from. 10486 const RootChainEventABI = "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"BlockFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fork\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isRequest\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"BlockSubmitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"requestor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"trieKey\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"trieValue\",\"type\":\"bytes32\"}],\"name\":\"ERUCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"}],\"name\":\"EpochFilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"}],\"name\":\"EpochFilling\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlockNumber\",\"type\":\"uint256\"}],\"name\":\"EpochFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"epochIsEmpty\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isRequest\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"rebase\",\"type\":\"bool\"}],\"name\":\"EpochPrepared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endBlockNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"epochIsEmpty\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isRequest\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"EpochRebased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newFork\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"forkedBlockNumber\",\"type\":\"uint256\"}],\"name\":\"Forked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newOperator\",\"type\":\"address\"}],\"name\":\"OperatorChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"RequestApplied\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"RequestChallenged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"requestor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weiAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"trieKey\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"trieValue\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isExit\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"RequestCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"requestId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"RequestFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractInRootchain\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractInChildchain\",\"type\":\"address\"}],\"name\":\"RequestableContractMapped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"userActivated\",\"type\":\"bool\"}],\"name\":\"SessionTimeout\",\"type\":\"event\"}]" 10487 10488 // RootChainEventBin is the compiled bytecode used for deploying new contracts. 10489 var RootChainEventBin = "0x6080604052348015600f57600080fd5b50603e80601d6000396000f3fe6080604052600080fdfea265627a7a723158209eca3e6c0985f0e87007d8dee1de52ecce4b4b712a00ee740621f2a988b3d29764736f6c634300050c0032" 10490 10491 // DeployRootChainEvent deploys a new Ethereum contract, binding an instance of RootChainEvent to it. 10492 func DeployRootChainEvent(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *RootChainEvent, error) { 10493 parsed, err := abi.JSON(strings.NewReader(RootChainEventABI)) 10494 if err != nil { 10495 return common.Address{}, nil, nil, err 10496 } 10497 10498 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RootChainEventBin), backend) 10499 if err != nil { 10500 return common.Address{}, nil, nil, err 10501 } 10502 return address, tx, &RootChainEvent{RootChainEventCaller: RootChainEventCaller{contract: contract}, RootChainEventTransactor: RootChainEventTransactor{contract: contract}, RootChainEventFilterer: RootChainEventFilterer{contract: contract}}, nil 10503 } 10504 10505 // RootChainEvent is an auto generated Go binding around an Ethereum contract. 10506 type RootChainEvent struct { 10507 RootChainEventCaller // Read-only binding to the contract 10508 RootChainEventTransactor // Write-only binding to the contract 10509 RootChainEventFilterer // Log filterer for contract events 10510 } 10511 10512 // RootChainEventCaller is an auto generated read-only Go binding around an Ethereum contract. 10513 type RootChainEventCaller struct { 10514 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10515 } 10516 10517 // RootChainEventTransactor is an auto generated write-only Go binding around an Ethereum contract. 10518 type RootChainEventTransactor struct { 10519 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10520 } 10521 10522 // RootChainEventFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 10523 type RootChainEventFilterer struct { 10524 contract *bind.BoundContract // Generic contract wrapper for the low level calls 10525 } 10526 10527 // RootChainEventSession is an auto generated Go binding around an Ethereum contract, 10528 // with pre-set call and transact options. 10529 type RootChainEventSession struct { 10530 Contract *RootChainEvent // Generic contract binding to set the session for 10531 CallOpts bind.CallOpts // Call options to use throughout this session 10532 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 10533 } 10534 10535 // RootChainEventCallerSession is an auto generated read-only Go binding around an Ethereum contract, 10536 // with pre-set call options. 10537 type RootChainEventCallerSession struct { 10538 Contract *RootChainEventCaller // Generic contract caller binding to set the session for 10539 CallOpts bind.CallOpts // Call options to use throughout this session 10540 } 10541 10542 // RootChainEventTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 10543 // with pre-set transact options. 10544 type RootChainEventTransactorSession struct { 10545 Contract *RootChainEventTransactor // Generic contract transactor binding to set the session for 10546 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 10547 } 10548 10549 // RootChainEventRaw is an auto generated low-level Go binding around an Ethereum contract. 10550 type RootChainEventRaw struct { 10551 Contract *RootChainEvent // Generic contract binding to access the raw methods on 10552 } 10553 10554 // RootChainEventCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 10555 type RootChainEventCallerRaw struct { 10556 Contract *RootChainEventCaller // Generic read-only contract binding to access the raw methods on 10557 } 10558 10559 // RootChainEventTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 10560 type RootChainEventTransactorRaw struct { 10561 Contract *RootChainEventTransactor // Generic write-only contract binding to access the raw methods on 10562 } 10563 10564 // NewRootChainEvent creates a new instance of RootChainEvent, bound to a specific deployed contract. 10565 func NewRootChainEvent(address common.Address, backend bind.ContractBackend) (*RootChainEvent, error) { 10566 contract, err := bindRootChainEvent(address, backend, backend, backend) 10567 if err != nil { 10568 return nil, err 10569 } 10570 return &RootChainEvent{RootChainEventCaller: RootChainEventCaller{contract: contract}, RootChainEventTransactor: RootChainEventTransactor{contract: contract}, RootChainEventFilterer: RootChainEventFilterer{contract: contract}}, nil 10571 } 10572 10573 // NewRootChainEventCaller creates a new read-only instance of RootChainEvent, bound to a specific deployed contract. 10574 func NewRootChainEventCaller(address common.Address, caller bind.ContractCaller) (*RootChainEventCaller, error) { 10575 contract, err := bindRootChainEvent(address, caller, nil, nil) 10576 if err != nil { 10577 return nil, err 10578 } 10579 return &RootChainEventCaller{contract: contract}, nil 10580 } 10581 10582 // NewRootChainEventTransactor creates a new write-only instance of RootChainEvent, bound to a specific deployed contract. 10583 func NewRootChainEventTransactor(address common.Address, transactor bind.ContractTransactor) (*RootChainEventTransactor, error) { 10584 contract, err := bindRootChainEvent(address, nil, transactor, nil) 10585 if err != nil { 10586 return nil, err 10587 } 10588 return &RootChainEventTransactor{contract: contract}, nil 10589 } 10590 10591 // NewRootChainEventFilterer creates a new log filterer instance of RootChainEvent, bound to a specific deployed contract. 10592 func NewRootChainEventFilterer(address common.Address, filterer bind.ContractFilterer) (*RootChainEventFilterer, error) { 10593 contract, err := bindRootChainEvent(address, nil, nil, filterer) 10594 if err != nil { 10595 return nil, err 10596 } 10597 return &RootChainEventFilterer{contract: contract}, nil 10598 } 10599 10600 // bindRootChainEvent binds a generic wrapper to an already deployed contract. 10601 func bindRootChainEvent(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 10602 parsed, err := abi.JSON(strings.NewReader(RootChainEventABI)) 10603 if err != nil { 10604 return nil, err 10605 } 10606 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 10607 } 10608 10609 // Call invokes the (constant) contract method with params as input values and 10610 // sets the output to result. The result type might be a single field for simple 10611 // returns, a slice of interfaces for anonymous returns and a struct for named 10612 // returns. 10613 func (_RootChainEvent *RootChainEventRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 10614 return _RootChainEvent.Contract.RootChainEventCaller.contract.Call(opts, result, method, params...) 10615 } 10616 10617 // Transfer initiates a plain transaction to move funds to the contract, calling 10618 // its default method if one is available. 10619 func (_RootChainEvent *RootChainEventRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 10620 return _RootChainEvent.Contract.RootChainEventTransactor.contract.Transfer(opts) 10621 } 10622 10623 // Transact invokes the (paid) contract method with params as input values. 10624 func (_RootChainEvent *RootChainEventRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 10625 return _RootChainEvent.Contract.RootChainEventTransactor.contract.Transact(opts, method, params...) 10626 } 10627 10628 // Call invokes the (constant) contract method with params as input values and 10629 // sets the output to result. The result type might be a single field for simple 10630 // returns, a slice of interfaces for anonymous returns and a struct for named 10631 // returns. 10632 func (_RootChainEvent *RootChainEventCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 10633 return _RootChainEvent.Contract.contract.Call(opts, result, method, params...) 10634 } 10635 10636 // Transfer initiates a plain transaction to move funds to the contract, calling 10637 // its default method if one is available. 10638 func (_RootChainEvent *RootChainEventTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 10639 return _RootChainEvent.Contract.contract.Transfer(opts) 10640 } 10641 10642 // Transact invokes the (paid) contract method with params as input values. 10643 func (_RootChainEvent *RootChainEventTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 10644 return _RootChainEvent.Contract.contract.Transact(opts, method, params...) 10645 } 10646 10647 // RootChainEventBlockFinalizedIterator is returned from FilterBlockFinalized and is used to iterate over the raw logs and unpacked data for BlockFinalized events raised by the RootChainEvent contract. 10648 type RootChainEventBlockFinalizedIterator struct { 10649 Event *RootChainEventBlockFinalized // Event containing the contract specifics and raw log 10650 10651 contract *bind.BoundContract // Generic contract to use for unpacking event data 10652 event string // Event name to use for unpacking event data 10653 10654 logs chan types.Log // Log channel receiving the found contract events 10655 sub ethereum.Subscription // Subscription for errors, completion and termination 10656 done bool // Whether the subscription completed delivering logs 10657 fail error // Occurred error to stop iteration 10658 } 10659 10660 // Next advances the iterator to the subsequent event, returning whether there 10661 // are any more events found. In case of a retrieval or parsing error, false is 10662 // returned and Error() can be queried for the exact failure. 10663 func (it *RootChainEventBlockFinalizedIterator) Next() bool { 10664 // If the iterator failed, stop iterating 10665 if it.fail != nil { 10666 return false 10667 } 10668 // If the iterator completed, deliver directly whatever's available 10669 if it.done { 10670 select { 10671 case log := <-it.logs: 10672 it.Event = new(RootChainEventBlockFinalized) 10673 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10674 it.fail = err 10675 return false 10676 } 10677 it.Event.Raw = log 10678 return true 10679 10680 default: 10681 return false 10682 } 10683 } 10684 // Iterator still in progress, wait for either a data or an error event 10685 select { 10686 case log := <-it.logs: 10687 it.Event = new(RootChainEventBlockFinalized) 10688 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10689 it.fail = err 10690 return false 10691 } 10692 it.Event.Raw = log 10693 return true 10694 10695 case err := <-it.sub.Err(): 10696 it.done = true 10697 it.fail = err 10698 return it.Next() 10699 } 10700 } 10701 10702 // Error returns any retrieval or parsing error occurred during filtering. 10703 func (it *RootChainEventBlockFinalizedIterator) Error() error { 10704 return it.fail 10705 } 10706 10707 // Close terminates the iteration process, releasing any pending underlying 10708 // resources. 10709 func (it *RootChainEventBlockFinalizedIterator) Close() error { 10710 it.sub.Unsubscribe() 10711 return nil 10712 } 10713 10714 // RootChainEventBlockFinalized represents a BlockFinalized event raised by the RootChainEvent contract. 10715 type RootChainEventBlockFinalized struct { 10716 ForkNumber *big.Int 10717 BlockNumber *big.Int 10718 Raw types.Log // Blockchain specific contextual infos 10719 } 10720 10721 // FilterBlockFinalized is a free log retrieval operation binding the contract event 0xfb96205e4b3633fd57aa805b26b51ecf528714a10241a4af015929dce86768d9. 10722 // 10723 // Solidity: event BlockFinalized(uint256 forkNumber, uint256 blockNumber) 10724 func (_RootChainEvent *RootChainEventFilterer) FilterBlockFinalized(opts *bind.FilterOpts) (*RootChainEventBlockFinalizedIterator, error) { 10725 10726 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "BlockFinalized") 10727 if err != nil { 10728 return nil, err 10729 } 10730 return &RootChainEventBlockFinalizedIterator{contract: _RootChainEvent.contract, event: "BlockFinalized", logs: logs, sub: sub}, nil 10731 } 10732 10733 // WatchBlockFinalized is a free log subscription operation binding the contract event 0xfb96205e4b3633fd57aa805b26b51ecf528714a10241a4af015929dce86768d9. 10734 // 10735 // Solidity: event BlockFinalized(uint256 forkNumber, uint256 blockNumber) 10736 func (_RootChainEvent *RootChainEventFilterer) WatchBlockFinalized(opts *bind.WatchOpts, sink chan<- *RootChainEventBlockFinalized) (event.Subscription, error) { 10737 10738 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "BlockFinalized") 10739 if err != nil { 10740 return nil, err 10741 } 10742 return event.NewSubscription(func(quit <-chan struct{}) error { 10743 defer sub.Unsubscribe() 10744 for { 10745 select { 10746 case log := <-logs: 10747 // New log arrived, parse the event and forward to the user 10748 event := new(RootChainEventBlockFinalized) 10749 if err := _RootChainEvent.contract.UnpackLog(event, "BlockFinalized", log); err != nil { 10750 return err 10751 } 10752 event.Raw = log 10753 10754 select { 10755 case sink <- event: 10756 case err := <-sub.Err(): 10757 return err 10758 case <-quit: 10759 return nil 10760 } 10761 case err := <-sub.Err(): 10762 return err 10763 case <-quit: 10764 return nil 10765 } 10766 } 10767 }), nil 10768 } 10769 10770 // ParseBlockFinalized is a log parse operation binding the contract event 0xfb96205e4b3633fd57aa805b26b51ecf528714a10241a4af015929dce86768d9. 10771 // 10772 // Solidity: event BlockFinalized(uint256 forkNumber, uint256 blockNumber) 10773 func (_RootChainEvent *RootChainEventFilterer) ParseBlockFinalized(log types.Log) (*RootChainEventBlockFinalized, error) { 10774 event := new(RootChainEventBlockFinalized) 10775 if err := _RootChainEvent.contract.UnpackLog(event, "BlockFinalized", log); err != nil { 10776 return nil, err 10777 } 10778 return event, nil 10779 } 10780 10781 // RootChainEventBlockSubmittedIterator is returned from FilterBlockSubmitted and is used to iterate over the raw logs and unpacked data for BlockSubmitted events raised by the RootChainEvent contract. 10782 type RootChainEventBlockSubmittedIterator struct { 10783 Event *RootChainEventBlockSubmitted // Event containing the contract specifics and raw log 10784 10785 contract *bind.BoundContract // Generic contract to use for unpacking event data 10786 event string // Event name to use for unpacking event data 10787 10788 logs chan types.Log // Log channel receiving the found contract events 10789 sub ethereum.Subscription // Subscription for errors, completion and termination 10790 done bool // Whether the subscription completed delivering logs 10791 fail error // Occurred error to stop iteration 10792 } 10793 10794 // Next advances the iterator to the subsequent event, returning whether there 10795 // are any more events found. In case of a retrieval or parsing error, false is 10796 // returned and Error() can be queried for the exact failure. 10797 func (it *RootChainEventBlockSubmittedIterator) Next() bool { 10798 // If the iterator failed, stop iterating 10799 if it.fail != nil { 10800 return false 10801 } 10802 // If the iterator completed, deliver directly whatever's available 10803 if it.done { 10804 select { 10805 case log := <-it.logs: 10806 it.Event = new(RootChainEventBlockSubmitted) 10807 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10808 it.fail = err 10809 return false 10810 } 10811 it.Event.Raw = log 10812 return true 10813 10814 default: 10815 return false 10816 } 10817 } 10818 // Iterator still in progress, wait for either a data or an error event 10819 select { 10820 case log := <-it.logs: 10821 it.Event = new(RootChainEventBlockSubmitted) 10822 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10823 it.fail = err 10824 return false 10825 } 10826 it.Event.Raw = log 10827 return true 10828 10829 case err := <-it.sub.Err(): 10830 it.done = true 10831 it.fail = err 10832 return it.Next() 10833 } 10834 } 10835 10836 // Error returns any retrieval or parsing error occurred during filtering. 10837 func (it *RootChainEventBlockSubmittedIterator) Error() error { 10838 return it.fail 10839 } 10840 10841 // Close terminates the iteration process, releasing any pending underlying 10842 // resources. 10843 func (it *RootChainEventBlockSubmittedIterator) Close() error { 10844 it.sub.Unsubscribe() 10845 return nil 10846 } 10847 10848 // RootChainEventBlockSubmitted represents a BlockSubmitted event raised by the RootChainEvent contract. 10849 type RootChainEventBlockSubmitted struct { 10850 Fork *big.Int 10851 EpochNumber *big.Int 10852 BlockNumber *big.Int 10853 IsRequest bool 10854 UserActivated bool 10855 Raw types.Log // Blockchain specific contextual infos 10856 } 10857 10858 // FilterBlockSubmitted is a free log retrieval operation binding the contract event 0x3d4a04291c66b06f39a4ecb817875b12b5485a05ec563133a56a905305c48e55. 10859 // 10860 // Solidity: event BlockSubmitted(uint256 fork, uint256 epochNumber, uint256 blockNumber, bool isRequest, bool userActivated) 10861 func (_RootChainEvent *RootChainEventFilterer) FilterBlockSubmitted(opts *bind.FilterOpts) (*RootChainEventBlockSubmittedIterator, error) { 10862 10863 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "BlockSubmitted") 10864 if err != nil { 10865 return nil, err 10866 } 10867 return &RootChainEventBlockSubmittedIterator{contract: _RootChainEvent.contract, event: "BlockSubmitted", logs: logs, sub: sub}, nil 10868 } 10869 10870 // WatchBlockSubmitted is a free log subscription operation binding the contract event 0x3d4a04291c66b06f39a4ecb817875b12b5485a05ec563133a56a905305c48e55. 10871 // 10872 // Solidity: event BlockSubmitted(uint256 fork, uint256 epochNumber, uint256 blockNumber, bool isRequest, bool userActivated) 10873 func (_RootChainEvent *RootChainEventFilterer) WatchBlockSubmitted(opts *bind.WatchOpts, sink chan<- *RootChainEventBlockSubmitted) (event.Subscription, error) { 10874 10875 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "BlockSubmitted") 10876 if err != nil { 10877 return nil, err 10878 } 10879 return event.NewSubscription(func(quit <-chan struct{}) error { 10880 defer sub.Unsubscribe() 10881 for { 10882 select { 10883 case log := <-logs: 10884 // New log arrived, parse the event and forward to the user 10885 event := new(RootChainEventBlockSubmitted) 10886 if err := _RootChainEvent.contract.UnpackLog(event, "BlockSubmitted", log); err != nil { 10887 return err 10888 } 10889 event.Raw = log 10890 10891 select { 10892 case sink <- event: 10893 case err := <-sub.Err(): 10894 return err 10895 case <-quit: 10896 return nil 10897 } 10898 case err := <-sub.Err(): 10899 return err 10900 case <-quit: 10901 return nil 10902 } 10903 } 10904 }), nil 10905 } 10906 10907 // ParseBlockSubmitted is a log parse operation binding the contract event 0x3d4a04291c66b06f39a4ecb817875b12b5485a05ec563133a56a905305c48e55. 10908 // 10909 // Solidity: event BlockSubmitted(uint256 fork, uint256 epochNumber, uint256 blockNumber, bool isRequest, bool userActivated) 10910 func (_RootChainEvent *RootChainEventFilterer) ParseBlockSubmitted(log types.Log) (*RootChainEventBlockSubmitted, error) { 10911 event := new(RootChainEventBlockSubmitted) 10912 if err := _RootChainEvent.contract.UnpackLog(event, "BlockSubmitted", log); err != nil { 10913 return nil, err 10914 } 10915 return event, nil 10916 } 10917 10918 // RootChainEventERUCreatedIterator is returned from FilterERUCreated and is used to iterate over the raw logs and unpacked data for ERUCreated events raised by the RootChainEvent contract. 10919 type RootChainEventERUCreatedIterator struct { 10920 Event *RootChainEventERUCreated // Event containing the contract specifics and raw log 10921 10922 contract *bind.BoundContract // Generic contract to use for unpacking event data 10923 event string // Event name to use for unpacking event data 10924 10925 logs chan types.Log // Log channel receiving the found contract events 10926 sub ethereum.Subscription // Subscription for errors, completion and termination 10927 done bool // Whether the subscription completed delivering logs 10928 fail error // Occurred error to stop iteration 10929 } 10930 10931 // Next advances the iterator to the subsequent event, returning whether there 10932 // are any more events found. In case of a retrieval or parsing error, false is 10933 // returned and Error() can be queried for the exact failure. 10934 func (it *RootChainEventERUCreatedIterator) Next() bool { 10935 // If the iterator failed, stop iterating 10936 if it.fail != nil { 10937 return false 10938 } 10939 // If the iterator completed, deliver directly whatever's available 10940 if it.done { 10941 select { 10942 case log := <-it.logs: 10943 it.Event = new(RootChainEventERUCreated) 10944 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10945 it.fail = err 10946 return false 10947 } 10948 it.Event.Raw = log 10949 return true 10950 10951 default: 10952 return false 10953 } 10954 } 10955 // Iterator still in progress, wait for either a data or an error event 10956 select { 10957 case log := <-it.logs: 10958 it.Event = new(RootChainEventERUCreated) 10959 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 10960 it.fail = err 10961 return false 10962 } 10963 it.Event.Raw = log 10964 return true 10965 10966 case err := <-it.sub.Err(): 10967 it.done = true 10968 it.fail = err 10969 return it.Next() 10970 } 10971 } 10972 10973 // Error returns any retrieval or parsing error occurred during filtering. 10974 func (it *RootChainEventERUCreatedIterator) Error() error { 10975 return it.fail 10976 } 10977 10978 // Close terminates the iteration process, releasing any pending underlying 10979 // resources. 10980 func (it *RootChainEventERUCreatedIterator) Close() error { 10981 it.sub.Unsubscribe() 10982 return nil 10983 } 10984 10985 // RootChainEventERUCreated represents a ERUCreated event raised by the RootChainEvent contract. 10986 type RootChainEventERUCreated struct { 10987 RequestId *big.Int 10988 Requestor common.Address 10989 To common.Address 10990 TrieKey []byte 10991 TrieValue [32]byte 10992 Raw types.Log // Blockchain specific contextual infos 10993 } 10994 10995 // FilterERUCreated is a free log retrieval operation binding the contract event 0xfcbdc2083dadd644b854d91b49aef8db06b8f5a3d5c1192de38ca0ba271d5a0d. 10996 // 10997 // Solidity: event ERUCreated(uint256 requestId, address requestor, address to, bytes trieKey, bytes32 trieValue) 10998 func (_RootChainEvent *RootChainEventFilterer) FilterERUCreated(opts *bind.FilterOpts) (*RootChainEventERUCreatedIterator, error) { 10999 11000 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "ERUCreated") 11001 if err != nil { 11002 return nil, err 11003 } 11004 return &RootChainEventERUCreatedIterator{contract: _RootChainEvent.contract, event: "ERUCreated", logs: logs, sub: sub}, nil 11005 } 11006 11007 // WatchERUCreated is a free log subscription operation binding the contract event 0xfcbdc2083dadd644b854d91b49aef8db06b8f5a3d5c1192de38ca0ba271d5a0d. 11008 // 11009 // Solidity: event ERUCreated(uint256 requestId, address requestor, address to, bytes trieKey, bytes32 trieValue) 11010 func (_RootChainEvent *RootChainEventFilterer) WatchERUCreated(opts *bind.WatchOpts, sink chan<- *RootChainEventERUCreated) (event.Subscription, error) { 11011 11012 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "ERUCreated") 11013 if err != nil { 11014 return nil, err 11015 } 11016 return event.NewSubscription(func(quit <-chan struct{}) error { 11017 defer sub.Unsubscribe() 11018 for { 11019 select { 11020 case log := <-logs: 11021 // New log arrived, parse the event and forward to the user 11022 event := new(RootChainEventERUCreated) 11023 if err := _RootChainEvent.contract.UnpackLog(event, "ERUCreated", log); err != nil { 11024 return err 11025 } 11026 event.Raw = log 11027 11028 select { 11029 case sink <- event: 11030 case err := <-sub.Err(): 11031 return err 11032 case <-quit: 11033 return nil 11034 } 11035 case err := <-sub.Err(): 11036 return err 11037 case <-quit: 11038 return nil 11039 } 11040 } 11041 }), nil 11042 } 11043 11044 // ParseERUCreated is a log parse operation binding the contract event 0xfcbdc2083dadd644b854d91b49aef8db06b8f5a3d5c1192de38ca0ba271d5a0d. 11045 // 11046 // Solidity: event ERUCreated(uint256 requestId, address requestor, address to, bytes trieKey, bytes32 trieValue) 11047 func (_RootChainEvent *RootChainEventFilterer) ParseERUCreated(log types.Log) (*RootChainEventERUCreated, error) { 11048 event := new(RootChainEventERUCreated) 11049 if err := _RootChainEvent.contract.UnpackLog(event, "ERUCreated", log); err != nil { 11050 return nil, err 11051 } 11052 return event, nil 11053 } 11054 11055 // RootChainEventEpochFilledIterator is returned from FilterEpochFilled and is used to iterate over the raw logs and unpacked data for EpochFilled events raised by the RootChainEvent contract. 11056 type RootChainEventEpochFilledIterator struct { 11057 Event *RootChainEventEpochFilled // Event containing the contract specifics and raw log 11058 11059 contract *bind.BoundContract // Generic contract to use for unpacking event data 11060 event string // Event name to use for unpacking event data 11061 11062 logs chan types.Log // Log channel receiving the found contract events 11063 sub ethereum.Subscription // Subscription for errors, completion and termination 11064 done bool // Whether the subscription completed delivering logs 11065 fail error // Occurred error to stop iteration 11066 } 11067 11068 // Next advances the iterator to the subsequent event, returning whether there 11069 // are any more events found. In case of a retrieval or parsing error, false is 11070 // returned and Error() can be queried for the exact failure. 11071 func (it *RootChainEventEpochFilledIterator) Next() bool { 11072 // If the iterator failed, stop iterating 11073 if it.fail != nil { 11074 return false 11075 } 11076 // If the iterator completed, deliver directly whatever's available 11077 if it.done { 11078 select { 11079 case log := <-it.logs: 11080 it.Event = new(RootChainEventEpochFilled) 11081 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11082 it.fail = err 11083 return false 11084 } 11085 it.Event.Raw = log 11086 return true 11087 11088 default: 11089 return false 11090 } 11091 } 11092 // Iterator still in progress, wait for either a data or an error event 11093 select { 11094 case log := <-it.logs: 11095 it.Event = new(RootChainEventEpochFilled) 11096 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11097 it.fail = err 11098 return false 11099 } 11100 it.Event.Raw = log 11101 return true 11102 11103 case err := <-it.sub.Err(): 11104 it.done = true 11105 it.fail = err 11106 return it.Next() 11107 } 11108 } 11109 11110 // Error returns any retrieval or parsing error occurred during filtering. 11111 func (it *RootChainEventEpochFilledIterator) Error() error { 11112 return it.fail 11113 } 11114 11115 // Close terminates the iteration process, releasing any pending underlying 11116 // resources. 11117 func (it *RootChainEventEpochFilledIterator) Close() error { 11118 it.sub.Unsubscribe() 11119 return nil 11120 } 11121 11122 // RootChainEventEpochFilled represents a EpochFilled event raised by the RootChainEvent contract. 11123 type RootChainEventEpochFilled struct { 11124 ForkNumber *big.Int 11125 EpochNumber *big.Int 11126 Raw types.Log // Blockchain specific contextual infos 11127 } 11128 11129 // FilterEpochFilled is a free log retrieval operation binding the contract event 0x2fdeb407bf5c2b621f04b5c784822dae806c45b49a68aba413cc270128c96816. 11130 // 11131 // Solidity: event EpochFilled(uint256 forkNumber, uint256 epochNumber) 11132 func (_RootChainEvent *RootChainEventFilterer) FilterEpochFilled(opts *bind.FilterOpts) (*RootChainEventEpochFilledIterator, error) { 11133 11134 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "EpochFilled") 11135 if err != nil { 11136 return nil, err 11137 } 11138 return &RootChainEventEpochFilledIterator{contract: _RootChainEvent.contract, event: "EpochFilled", logs: logs, sub: sub}, nil 11139 } 11140 11141 // WatchEpochFilled is a free log subscription operation binding the contract event 0x2fdeb407bf5c2b621f04b5c784822dae806c45b49a68aba413cc270128c96816. 11142 // 11143 // Solidity: event EpochFilled(uint256 forkNumber, uint256 epochNumber) 11144 func (_RootChainEvent *RootChainEventFilterer) WatchEpochFilled(opts *bind.WatchOpts, sink chan<- *RootChainEventEpochFilled) (event.Subscription, error) { 11145 11146 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "EpochFilled") 11147 if err != nil { 11148 return nil, err 11149 } 11150 return event.NewSubscription(func(quit <-chan struct{}) error { 11151 defer sub.Unsubscribe() 11152 for { 11153 select { 11154 case log := <-logs: 11155 // New log arrived, parse the event and forward to the user 11156 event := new(RootChainEventEpochFilled) 11157 if err := _RootChainEvent.contract.UnpackLog(event, "EpochFilled", log); err != nil { 11158 return err 11159 } 11160 event.Raw = log 11161 11162 select { 11163 case sink <- event: 11164 case err := <-sub.Err(): 11165 return err 11166 case <-quit: 11167 return nil 11168 } 11169 case err := <-sub.Err(): 11170 return err 11171 case <-quit: 11172 return nil 11173 } 11174 } 11175 }), nil 11176 } 11177 11178 // ParseEpochFilled is a log parse operation binding the contract event 0x2fdeb407bf5c2b621f04b5c784822dae806c45b49a68aba413cc270128c96816. 11179 // 11180 // Solidity: event EpochFilled(uint256 forkNumber, uint256 epochNumber) 11181 func (_RootChainEvent *RootChainEventFilterer) ParseEpochFilled(log types.Log) (*RootChainEventEpochFilled, error) { 11182 event := new(RootChainEventEpochFilled) 11183 if err := _RootChainEvent.contract.UnpackLog(event, "EpochFilled", log); err != nil { 11184 return nil, err 11185 } 11186 return event, nil 11187 } 11188 11189 // RootChainEventEpochFillingIterator is returned from FilterEpochFilling and is used to iterate over the raw logs and unpacked data for EpochFilling events raised by the RootChainEvent contract. 11190 type RootChainEventEpochFillingIterator struct { 11191 Event *RootChainEventEpochFilling // Event containing the contract specifics and raw log 11192 11193 contract *bind.BoundContract // Generic contract to use for unpacking event data 11194 event string // Event name to use for unpacking event data 11195 11196 logs chan types.Log // Log channel receiving the found contract events 11197 sub ethereum.Subscription // Subscription for errors, completion and termination 11198 done bool // Whether the subscription completed delivering logs 11199 fail error // Occurred error to stop iteration 11200 } 11201 11202 // Next advances the iterator to the subsequent event, returning whether there 11203 // are any more events found. In case of a retrieval or parsing error, false is 11204 // returned and Error() can be queried for the exact failure. 11205 func (it *RootChainEventEpochFillingIterator) Next() bool { 11206 // If the iterator failed, stop iterating 11207 if it.fail != nil { 11208 return false 11209 } 11210 // If the iterator completed, deliver directly whatever's available 11211 if it.done { 11212 select { 11213 case log := <-it.logs: 11214 it.Event = new(RootChainEventEpochFilling) 11215 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11216 it.fail = err 11217 return false 11218 } 11219 it.Event.Raw = log 11220 return true 11221 11222 default: 11223 return false 11224 } 11225 } 11226 // Iterator still in progress, wait for either a data or an error event 11227 select { 11228 case log := <-it.logs: 11229 it.Event = new(RootChainEventEpochFilling) 11230 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11231 it.fail = err 11232 return false 11233 } 11234 it.Event.Raw = log 11235 return true 11236 11237 case err := <-it.sub.Err(): 11238 it.done = true 11239 it.fail = err 11240 return it.Next() 11241 } 11242 } 11243 11244 // Error returns any retrieval or parsing error occurred during filtering. 11245 func (it *RootChainEventEpochFillingIterator) Error() error { 11246 return it.fail 11247 } 11248 11249 // Close terminates the iteration process, releasing any pending underlying 11250 // resources. 11251 func (it *RootChainEventEpochFillingIterator) Close() error { 11252 it.sub.Unsubscribe() 11253 return nil 11254 } 11255 11256 // RootChainEventEpochFilling represents a EpochFilling event raised by the RootChainEvent contract. 11257 type RootChainEventEpochFilling struct { 11258 ForkNumber *big.Int 11259 EpochNumber *big.Int 11260 Raw types.Log // Blockchain specific contextual infos 11261 } 11262 11263 // FilterEpochFilling is a free log retrieval operation binding the contract event 0x27b09f0953d27bbff306fe25b2987ac5a813248ac30cb2bbd5daf95e7b0e6dc0. 11264 // 11265 // Solidity: event EpochFilling(uint256 forkNumber, uint256 epochNumber) 11266 func (_RootChainEvent *RootChainEventFilterer) FilterEpochFilling(opts *bind.FilterOpts) (*RootChainEventEpochFillingIterator, error) { 11267 11268 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "EpochFilling") 11269 if err != nil { 11270 return nil, err 11271 } 11272 return &RootChainEventEpochFillingIterator{contract: _RootChainEvent.contract, event: "EpochFilling", logs: logs, sub: sub}, nil 11273 } 11274 11275 // WatchEpochFilling is a free log subscription operation binding the contract event 0x27b09f0953d27bbff306fe25b2987ac5a813248ac30cb2bbd5daf95e7b0e6dc0. 11276 // 11277 // Solidity: event EpochFilling(uint256 forkNumber, uint256 epochNumber) 11278 func (_RootChainEvent *RootChainEventFilterer) WatchEpochFilling(opts *bind.WatchOpts, sink chan<- *RootChainEventEpochFilling) (event.Subscription, error) { 11279 11280 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "EpochFilling") 11281 if err != nil { 11282 return nil, err 11283 } 11284 return event.NewSubscription(func(quit <-chan struct{}) error { 11285 defer sub.Unsubscribe() 11286 for { 11287 select { 11288 case log := <-logs: 11289 // New log arrived, parse the event and forward to the user 11290 event := new(RootChainEventEpochFilling) 11291 if err := _RootChainEvent.contract.UnpackLog(event, "EpochFilling", log); err != nil { 11292 return err 11293 } 11294 event.Raw = log 11295 11296 select { 11297 case sink <- event: 11298 case err := <-sub.Err(): 11299 return err 11300 case <-quit: 11301 return nil 11302 } 11303 case err := <-sub.Err(): 11304 return err 11305 case <-quit: 11306 return nil 11307 } 11308 } 11309 }), nil 11310 } 11311 11312 // ParseEpochFilling is a log parse operation binding the contract event 0x27b09f0953d27bbff306fe25b2987ac5a813248ac30cb2bbd5daf95e7b0e6dc0. 11313 // 11314 // Solidity: event EpochFilling(uint256 forkNumber, uint256 epochNumber) 11315 func (_RootChainEvent *RootChainEventFilterer) ParseEpochFilling(log types.Log) (*RootChainEventEpochFilling, error) { 11316 event := new(RootChainEventEpochFilling) 11317 if err := _RootChainEvent.contract.UnpackLog(event, "EpochFilling", log); err != nil { 11318 return nil, err 11319 } 11320 return event, nil 11321 } 11322 11323 // RootChainEventEpochFinalizedIterator is returned from FilterEpochFinalized and is used to iterate over the raw logs and unpacked data for EpochFinalized events raised by the RootChainEvent contract. 11324 type RootChainEventEpochFinalizedIterator struct { 11325 Event *RootChainEventEpochFinalized // Event containing the contract specifics and raw log 11326 11327 contract *bind.BoundContract // Generic contract to use for unpacking event data 11328 event string // Event name to use for unpacking event data 11329 11330 logs chan types.Log // Log channel receiving the found contract events 11331 sub ethereum.Subscription // Subscription for errors, completion and termination 11332 done bool // Whether the subscription completed delivering logs 11333 fail error // Occurred error to stop iteration 11334 } 11335 11336 // Next advances the iterator to the subsequent event, returning whether there 11337 // are any more events found. In case of a retrieval or parsing error, false is 11338 // returned and Error() can be queried for the exact failure. 11339 func (it *RootChainEventEpochFinalizedIterator) Next() bool { 11340 // If the iterator failed, stop iterating 11341 if it.fail != nil { 11342 return false 11343 } 11344 // If the iterator completed, deliver directly whatever's available 11345 if it.done { 11346 select { 11347 case log := <-it.logs: 11348 it.Event = new(RootChainEventEpochFinalized) 11349 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11350 it.fail = err 11351 return false 11352 } 11353 it.Event.Raw = log 11354 return true 11355 11356 default: 11357 return false 11358 } 11359 } 11360 // Iterator still in progress, wait for either a data or an error event 11361 select { 11362 case log := <-it.logs: 11363 it.Event = new(RootChainEventEpochFinalized) 11364 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11365 it.fail = err 11366 return false 11367 } 11368 it.Event.Raw = log 11369 return true 11370 11371 case err := <-it.sub.Err(): 11372 it.done = true 11373 it.fail = err 11374 return it.Next() 11375 } 11376 } 11377 11378 // Error returns any retrieval or parsing error occurred during filtering. 11379 func (it *RootChainEventEpochFinalizedIterator) Error() error { 11380 return it.fail 11381 } 11382 11383 // Close terminates the iteration process, releasing any pending underlying 11384 // resources. 11385 func (it *RootChainEventEpochFinalizedIterator) Close() error { 11386 it.sub.Unsubscribe() 11387 return nil 11388 } 11389 11390 // RootChainEventEpochFinalized represents a EpochFinalized event raised by the RootChainEvent contract. 11391 type RootChainEventEpochFinalized struct { 11392 ForkNumber *big.Int 11393 EpochNumber *big.Int 11394 StartBlockNumber *big.Int 11395 EndBlockNumber *big.Int 11396 Raw types.Log // Blockchain specific contextual infos 11397 } 11398 11399 // FilterEpochFinalized is a free log retrieval operation binding the contract event 0x70801d4d63b3da6c19ba7349911f45bed5a99ccdfb51b8138c105872529bebd5. 11400 // 11401 // Solidity: event EpochFinalized(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber) 11402 func (_RootChainEvent *RootChainEventFilterer) FilterEpochFinalized(opts *bind.FilterOpts) (*RootChainEventEpochFinalizedIterator, error) { 11403 11404 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "EpochFinalized") 11405 if err != nil { 11406 return nil, err 11407 } 11408 return &RootChainEventEpochFinalizedIterator{contract: _RootChainEvent.contract, event: "EpochFinalized", logs: logs, sub: sub}, nil 11409 } 11410 11411 // WatchEpochFinalized is a free log subscription operation binding the contract event 0x70801d4d63b3da6c19ba7349911f45bed5a99ccdfb51b8138c105872529bebd5. 11412 // 11413 // Solidity: event EpochFinalized(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber) 11414 func (_RootChainEvent *RootChainEventFilterer) WatchEpochFinalized(opts *bind.WatchOpts, sink chan<- *RootChainEventEpochFinalized) (event.Subscription, error) { 11415 11416 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "EpochFinalized") 11417 if err != nil { 11418 return nil, err 11419 } 11420 return event.NewSubscription(func(quit <-chan struct{}) error { 11421 defer sub.Unsubscribe() 11422 for { 11423 select { 11424 case log := <-logs: 11425 // New log arrived, parse the event and forward to the user 11426 event := new(RootChainEventEpochFinalized) 11427 if err := _RootChainEvent.contract.UnpackLog(event, "EpochFinalized", log); err != nil { 11428 return err 11429 } 11430 event.Raw = log 11431 11432 select { 11433 case sink <- event: 11434 case err := <-sub.Err(): 11435 return err 11436 case <-quit: 11437 return nil 11438 } 11439 case err := <-sub.Err(): 11440 return err 11441 case <-quit: 11442 return nil 11443 } 11444 } 11445 }), nil 11446 } 11447 11448 // ParseEpochFinalized is a log parse operation binding the contract event 0x70801d4d63b3da6c19ba7349911f45bed5a99ccdfb51b8138c105872529bebd5. 11449 // 11450 // Solidity: event EpochFinalized(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber) 11451 func (_RootChainEvent *RootChainEventFilterer) ParseEpochFinalized(log types.Log) (*RootChainEventEpochFinalized, error) { 11452 event := new(RootChainEventEpochFinalized) 11453 if err := _RootChainEvent.contract.UnpackLog(event, "EpochFinalized", log); err != nil { 11454 return nil, err 11455 } 11456 return event, nil 11457 } 11458 11459 // RootChainEventEpochPreparedIterator is returned from FilterEpochPrepared and is used to iterate over the raw logs and unpacked data for EpochPrepared events raised by the RootChainEvent contract. 11460 type RootChainEventEpochPreparedIterator struct { 11461 Event *RootChainEventEpochPrepared // Event containing the contract specifics and raw log 11462 11463 contract *bind.BoundContract // Generic contract to use for unpacking event data 11464 event string // Event name to use for unpacking event data 11465 11466 logs chan types.Log // Log channel receiving the found contract events 11467 sub ethereum.Subscription // Subscription for errors, completion and termination 11468 done bool // Whether the subscription completed delivering logs 11469 fail error // Occurred error to stop iteration 11470 } 11471 11472 // Next advances the iterator to the subsequent event, returning whether there 11473 // are any more events found. In case of a retrieval or parsing error, false is 11474 // returned and Error() can be queried for the exact failure. 11475 func (it *RootChainEventEpochPreparedIterator) Next() bool { 11476 // If the iterator failed, stop iterating 11477 if it.fail != nil { 11478 return false 11479 } 11480 // If the iterator completed, deliver directly whatever's available 11481 if it.done { 11482 select { 11483 case log := <-it.logs: 11484 it.Event = new(RootChainEventEpochPrepared) 11485 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11486 it.fail = err 11487 return false 11488 } 11489 it.Event.Raw = log 11490 return true 11491 11492 default: 11493 return false 11494 } 11495 } 11496 // Iterator still in progress, wait for either a data or an error event 11497 select { 11498 case log := <-it.logs: 11499 it.Event = new(RootChainEventEpochPrepared) 11500 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11501 it.fail = err 11502 return false 11503 } 11504 it.Event.Raw = log 11505 return true 11506 11507 case err := <-it.sub.Err(): 11508 it.done = true 11509 it.fail = err 11510 return it.Next() 11511 } 11512 } 11513 11514 // Error returns any retrieval or parsing error occurred during filtering. 11515 func (it *RootChainEventEpochPreparedIterator) Error() error { 11516 return it.fail 11517 } 11518 11519 // Close terminates the iteration process, releasing any pending underlying 11520 // resources. 11521 func (it *RootChainEventEpochPreparedIterator) Close() error { 11522 it.sub.Unsubscribe() 11523 return nil 11524 } 11525 11526 // RootChainEventEpochPrepared represents a EpochPrepared event raised by the RootChainEvent contract. 11527 type RootChainEventEpochPrepared struct { 11528 ForkNumber *big.Int 11529 EpochNumber *big.Int 11530 StartBlockNumber *big.Int 11531 EndBlockNumber *big.Int 11532 RequestStart *big.Int 11533 RequestEnd *big.Int 11534 EpochIsEmpty bool 11535 IsRequest bool 11536 UserActivated bool 11537 Rebase bool 11538 Raw types.Log // Blockchain specific contextual infos 11539 } 11540 11541 // FilterEpochPrepared is a free log retrieval operation binding the contract event 0x1a69c0760aa329b76f72579129869013ebd3d41594db019c0e997b939fcb32e3. 11542 // 11543 // Solidity: event EpochPrepared(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated, bool rebase) 11544 func (_RootChainEvent *RootChainEventFilterer) FilterEpochPrepared(opts *bind.FilterOpts) (*RootChainEventEpochPreparedIterator, error) { 11545 11546 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "EpochPrepared") 11547 if err != nil { 11548 return nil, err 11549 } 11550 return &RootChainEventEpochPreparedIterator{contract: _RootChainEvent.contract, event: "EpochPrepared", logs: logs, sub: sub}, nil 11551 } 11552 11553 // WatchEpochPrepared is a free log subscription operation binding the contract event 0x1a69c0760aa329b76f72579129869013ebd3d41594db019c0e997b939fcb32e3. 11554 // 11555 // Solidity: event EpochPrepared(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated, bool rebase) 11556 func (_RootChainEvent *RootChainEventFilterer) WatchEpochPrepared(opts *bind.WatchOpts, sink chan<- *RootChainEventEpochPrepared) (event.Subscription, error) { 11557 11558 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "EpochPrepared") 11559 if err != nil { 11560 return nil, err 11561 } 11562 return event.NewSubscription(func(quit <-chan struct{}) error { 11563 defer sub.Unsubscribe() 11564 for { 11565 select { 11566 case log := <-logs: 11567 // New log arrived, parse the event and forward to the user 11568 event := new(RootChainEventEpochPrepared) 11569 if err := _RootChainEvent.contract.UnpackLog(event, "EpochPrepared", log); err != nil { 11570 return err 11571 } 11572 event.Raw = log 11573 11574 select { 11575 case sink <- event: 11576 case err := <-sub.Err(): 11577 return err 11578 case <-quit: 11579 return nil 11580 } 11581 case err := <-sub.Err(): 11582 return err 11583 case <-quit: 11584 return nil 11585 } 11586 } 11587 }), nil 11588 } 11589 11590 // ParseEpochPrepared is a log parse operation binding the contract event 0x1a69c0760aa329b76f72579129869013ebd3d41594db019c0e997b939fcb32e3. 11591 // 11592 // Solidity: event EpochPrepared(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated, bool rebase) 11593 func (_RootChainEvent *RootChainEventFilterer) ParseEpochPrepared(log types.Log) (*RootChainEventEpochPrepared, error) { 11594 event := new(RootChainEventEpochPrepared) 11595 if err := _RootChainEvent.contract.UnpackLog(event, "EpochPrepared", log); err != nil { 11596 return nil, err 11597 } 11598 return event, nil 11599 } 11600 11601 // RootChainEventEpochRebasedIterator is returned from FilterEpochRebased and is used to iterate over the raw logs and unpacked data for EpochRebased events raised by the RootChainEvent contract. 11602 type RootChainEventEpochRebasedIterator struct { 11603 Event *RootChainEventEpochRebased // Event containing the contract specifics and raw log 11604 11605 contract *bind.BoundContract // Generic contract to use for unpacking event data 11606 event string // Event name to use for unpacking event data 11607 11608 logs chan types.Log // Log channel receiving the found contract events 11609 sub ethereum.Subscription // Subscription for errors, completion and termination 11610 done bool // Whether the subscription completed delivering logs 11611 fail error // Occurred error to stop iteration 11612 } 11613 11614 // Next advances the iterator to the subsequent event, returning whether there 11615 // are any more events found. In case of a retrieval or parsing error, false is 11616 // returned and Error() can be queried for the exact failure. 11617 func (it *RootChainEventEpochRebasedIterator) Next() bool { 11618 // If the iterator failed, stop iterating 11619 if it.fail != nil { 11620 return false 11621 } 11622 // If the iterator completed, deliver directly whatever's available 11623 if it.done { 11624 select { 11625 case log := <-it.logs: 11626 it.Event = new(RootChainEventEpochRebased) 11627 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11628 it.fail = err 11629 return false 11630 } 11631 it.Event.Raw = log 11632 return true 11633 11634 default: 11635 return false 11636 } 11637 } 11638 // Iterator still in progress, wait for either a data or an error event 11639 select { 11640 case log := <-it.logs: 11641 it.Event = new(RootChainEventEpochRebased) 11642 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11643 it.fail = err 11644 return false 11645 } 11646 it.Event.Raw = log 11647 return true 11648 11649 case err := <-it.sub.Err(): 11650 it.done = true 11651 it.fail = err 11652 return it.Next() 11653 } 11654 } 11655 11656 // Error returns any retrieval or parsing error occurred during filtering. 11657 func (it *RootChainEventEpochRebasedIterator) Error() error { 11658 return it.fail 11659 } 11660 11661 // Close terminates the iteration process, releasing any pending underlying 11662 // resources. 11663 func (it *RootChainEventEpochRebasedIterator) Close() error { 11664 it.sub.Unsubscribe() 11665 return nil 11666 } 11667 11668 // RootChainEventEpochRebased represents a EpochRebased event raised by the RootChainEvent contract. 11669 type RootChainEventEpochRebased struct { 11670 ForkNumber *big.Int 11671 EpochNumber *big.Int 11672 StartBlockNumber *big.Int 11673 EndBlockNumber *big.Int 11674 RequestStart *big.Int 11675 RequestEnd *big.Int 11676 EpochIsEmpty bool 11677 IsRequest bool 11678 UserActivated bool 11679 Raw types.Log // Blockchain specific contextual infos 11680 } 11681 11682 // FilterEpochRebased is a free log retrieval operation binding the contract event 0x030c1c69405c93021f28f57557240dee939a320b826a1fd0d39bf6e629ecab47. 11683 // 11684 // Solidity: event EpochRebased(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated) 11685 func (_RootChainEvent *RootChainEventFilterer) FilterEpochRebased(opts *bind.FilterOpts) (*RootChainEventEpochRebasedIterator, error) { 11686 11687 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "EpochRebased") 11688 if err != nil { 11689 return nil, err 11690 } 11691 return &RootChainEventEpochRebasedIterator{contract: _RootChainEvent.contract, event: "EpochRebased", logs: logs, sub: sub}, nil 11692 } 11693 11694 // WatchEpochRebased is a free log subscription operation binding the contract event 0x030c1c69405c93021f28f57557240dee939a320b826a1fd0d39bf6e629ecab47. 11695 // 11696 // Solidity: event EpochRebased(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated) 11697 func (_RootChainEvent *RootChainEventFilterer) WatchEpochRebased(opts *bind.WatchOpts, sink chan<- *RootChainEventEpochRebased) (event.Subscription, error) { 11698 11699 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "EpochRebased") 11700 if err != nil { 11701 return nil, err 11702 } 11703 return event.NewSubscription(func(quit <-chan struct{}) error { 11704 defer sub.Unsubscribe() 11705 for { 11706 select { 11707 case log := <-logs: 11708 // New log arrived, parse the event and forward to the user 11709 event := new(RootChainEventEpochRebased) 11710 if err := _RootChainEvent.contract.UnpackLog(event, "EpochRebased", log); err != nil { 11711 return err 11712 } 11713 event.Raw = log 11714 11715 select { 11716 case sink <- event: 11717 case err := <-sub.Err(): 11718 return err 11719 case <-quit: 11720 return nil 11721 } 11722 case err := <-sub.Err(): 11723 return err 11724 case <-quit: 11725 return nil 11726 } 11727 } 11728 }), nil 11729 } 11730 11731 // ParseEpochRebased is a log parse operation binding the contract event 0x030c1c69405c93021f28f57557240dee939a320b826a1fd0d39bf6e629ecab47. 11732 // 11733 // Solidity: event EpochRebased(uint256 forkNumber, uint256 epochNumber, uint256 startBlockNumber, uint256 endBlockNumber, uint256 requestStart, uint256 requestEnd, bool epochIsEmpty, bool isRequest, bool userActivated) 11734 func (_RootChainEvent *RootChainEventFilterer) ParseEpochRebased(log types.Log) (*RootChainEventEpochRebased, error) { 11735 event := new(RootChainEventEpochRebased) 11736 if err := _RootChainEvent.contract.UnpackLog(event, "EpochRebased", log); err != nil { 11737 return nil, err 11738 } 11739 return event, nil 11740 } 11741 11742 // RootChainEventForkedIterator is returned from FilterForked and is used to iterate over the raw logs and unpacked data for Forked events raised by the RootChainEvent contract. 11743 type RootChainEventForkedIterator struct { 11744 Event *RootChainEventForked // Event containing the contract specifics and raw log 11745 11746 contract *bind.BoundContract // Generic contract to use for unpacking event data 11747 event string // Event name to use for unpacking event data 11748 11749 logs chan types.Log // Log channel receiving the found contract events 11750 sub ethereum.Subscription // Subscription for errors, completion and termination 11751 done bool // Whether the subscription completed delivering logs 11752 fail error // Occurred error to stop iteration 11753 } 11754 11755 // Next advances the iterator to the subsequent event, returning whether there 11756 // are any more events found. In case of a retrieval or parsing error, false is 11757 // returned and Error() can be queried for the exact failure. 11758 func (it *RootChainEventForkedIterator) Next() bool { 11759 // If the iterator failed, stop iterating 11760 if it.fail != nil { 11761 return false 11762 } 11763 // If the iterator completed, deliver directly whatever's available 11764 if it.done { 11765 select { 11766 case log := <-it.logs: 11767 it.Event = new(RootChainEventForked) 11768 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11769 it.fail = err 11770 return false 11771 } 11772 it.Event.Raw = log 11773 return true 11774 11775 default: 11776 return false 11777 } 11778 } 11779 // Iterator still in progress, wait for either a data or an error event 11780 select { 11781 case log := <-it.logs: 11782 it.Event = new(RootChainEventForked) 11783 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11784 it.fail = err 11785 return false 11786 } 11787 it.Event.Raw = log 11788 return true 11789 11790 case err := <-it.sub.Err(): 11791 it.done = true 11792 it.fail = err 11793 return it.Next() 11794 } 11795 } 11796 11797 // Error returns any retrieval or parsing error occurred during filtering. 11798 func (it *RootChainEventForkedIterator) Error() error { 11799 return it.fail 11800 } 11801 11802 // Close terminates the iteration process, releasing any pending underlying 11803 // resources. 11804 func (it *RootChainEventForkedIterator) Close() error { 11805 it.sub.Unsubscribe() 11806 return nil 11807 } 11808 11809 // RootChainEventForked represents a Forked event raised by the RootChainEvent contract. 11810 type RootChainEventForked struct { 11811 NewFork *big.Int 11812 EpochNumber *big.Int 11813 ForkedBlockNumber *big.Int 11814 Raw types.Log // Blockchain specific contextual infos 11815 } 11816 11817 // FilterForked is a free log retrieval operation binding the contract event 0x0647d42ab02f6e0ae76959757dcb6aa6feac1d4ba6f077f1223fb4b1b429f06c. 11818 // 11819 // Solidity: event Forked(uint256 newFork, uint256 epochNumber, uint256 forkedBlockNumber) 11820 func (_RootChainEvent *RootChainEventFilterer) FilterForked(opts *bind.FilterOpts) (*RootChainEventForkedIterator, error) { 11821 11822 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "Forked") 11823 if err != nil { 11824 return nil, err 11825 } 11826 return &RootChainEventForkedIterator{contract: _RootChainEvent.contract, event: "Forked", logs: logs, sub: sub}, nil 11827 } 11828 11829 // WatchForked is a free log subscription operation binding the contract event 0x0647d42ab02f6e0ae76959757dcb6aa6feac1d4ba6f077f1223fb4b1b429f06c. 11830 // 11831 // Solidity: event Forked(uint256 newFork, uint256 epochNumber, uint256 forkedBlockNumber) 11832 func (_RootChainEvent *RootChainEventFilterer) WatchForked(opts *bind.WatchOpts, sink chan<- *RootChainEventForked) (event.Subscription, error) { 11833 11834 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "Forked") 11835 if err != nil { 11836 return nil, err 11837 } 11838 return event.NewSubscription(func(quit <-chan struct{}) error { 11839 defer sub.Unsubscribe() 11840 for { 11841 select { 11842 case log := <-logs: 11843 // New log arrived, parse the event and forward to the user 11844 event := new(RootChainEventForked) 11845 if err := _RootChainEvent.contract.UnpackLog(event, "Forked", log); err != nil { 11846 return err 11847 } 11848 event.Raw = log 11849 11850 select { 11851 case sink <- event: 11852 case err := <-sub.Err(): 11853 return err 11854 case <-quit: 11855 return nil 11856 } 11857 case err := <-sub.Err(): 11858 return err 11859 case <-quit: 11860 return nil 11861 } 11862 } 11863 }), nil 11864 } 11865 11866 // ParseForked is a log parse operation binding the contract event 0x0647d42ab02f6e0ae76959757dcb6aa6feac1d4ba6f077f1223fb4b1b429f06c. 11867 // 11868 // Solidity: event Forked(uint256 newFork, uint256 epochNumber, uint256 forkedBlockNumber) 11869 func (_RootChainEvent *RootChainEventFilterer) ParseForked(log types.Log) (*RootChainEventForked, error) { 11870 event := new(RootChainEventForked) 11871 if err := _RootChainEvent.contract.UnpackLog(event, "Forked", log); err != nil { 11872 return nil, err 11873 } 11874 return event, nil 11875 } 11876 11877 // RootChainEventOperatorChangedIterator is returned from FilterOperatorChanged and is used to iterate over the raw logs and unpacked data for OperatorChanged events raised by the RootChainEvent contract. 11878 type RootChainEventOperatorChangedIterator struct { 11879 Event *RootChainEventOperatorChanged // Event containing the contract specifics and raw log 11880 11881 contract *bind.BoundContract // Generic contract to use for unpacking event data 11882 event string // Event name to use for unpacking event data 11883 11884 logs chan types.Log // Log channel receiving the found contract events 11885 sub ethereum.Subscription // Subscription for errors, completion and termination 11886 done bool // Whether the subscription completed delivering logs 11887 fail error // Occurred error to stop iteration 11888 } 11889 11890 // Next advances the iterator to the subsequent event, returning whether there 11891 // are any more events found. In case of a retrieval or parsing error, false is 11892 // returned and Error() can be queried for the exact failure. 11893 func (it *RootChainEventOperatorChangedIterator) Next() bool { 11894 // If the iterator failed, stop iterating 11895 if it.fail != nil { 11896 return false 11897 } 11898 // If the iterator completed, deliver directly whatever's available 11899 if it.done { 11900 select { 11901 case log := <-it.logs: 11902 it.Event = new(RootChainEventOperatorChanged) 11903 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11904 it.fail = err 11905 return false 11906 } 11907 it.Event.Raw = log 11908 return true 11909 11910 default: 11911 return false 11912 } 11913 } 11914 // Iterator still in progress, wait for either a data or an error event 11915 select { 11916 case log := <-it.logs: 11917 it.Event = new(RootChainEventOperatorChanged) 11918 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 11919 it.fail = err 11920 return false 11921 } 11922 it.Event.Raw = log 11923 return true 11924 11925 case err := <-it.sub.Err(): 11926 it.done = true 11927 it.fail = err 11928 return it.Next() 11929 } 11930 } 11931 11932 // Error returns any retrieval or parsing error occurred during filtering. 11933 func (it *RootChainEventOperatorChangedIterator) Error() error { 11934 return it.fail 11935 } 11936 11937 // Close terminates the iteration process, releasing any pending underlying 11938 // resources. 11939 func (it *RootChainEventOperatorChangedIterator) Close() error { 11940 it.sub.Unsubscribe() 11941 return nil 11942 } 11943 11944 // RootChainEventOperatorChanged represents a OperatorChanged event raised by the RootChainEvent contract. 11945 type RootChainEventOperatorChanged struct { 11946 NewOperator common.Address 11947 Raw types.Log // Blockchain specific contextual infos 11948 } 11949 11950 // FilterOperatorChanged is a free log retrieval operation binding the contract event 0x4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e54. 11951 // 11952 // Solidity: event OperatorChanged(address _newOperator) 11953 func (_RootChainEvent *RootChainEventFilterer) FilterOperatorChanged(opts *bind.FilterOpts) (*RootChainEventOperatorChangedIterator, error) { 11954 11955 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "OperatorChanged") 11956 if err != nil { 11957 return nil, err 11958 } 11959 return &RootChainEventOperatorChangedIterator{contract: _RootChainEvent.contract, event: "OperatorChanged", logs: logs, sub: sub}, nil 11960 } 11961 11962 // WatchOperatorChanged is a free log subscription operation binding the contract event 0x4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e54. 11963 // 11964 // Solidity: event OperatorChanged(address _newOperator) 11965 func (_RootChainEvent *RootChainEventFilterer) WatchOperatorChanged(opts *bind.WatchOpts, sink chan<- *RootChainEventOperatorChanged) (event.Subscription, error) { 11966 11967 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "OperatorChanged") 11968 if err != nil { 11969 return nil, err 11970 } 11971 return event.NewSubscription(func(quit <-chan struct{}) error { 11972 defer sub.Unsubscribe() 11973 for { 11974 select { 11975 case log := <-logs: 11976 // New log arrived, parse the event and forward to the user 11977 event := new(RootChainEventOperatorChanged) 11978 if err := _RootChainEvent.contract.UnpackLog(event, "OperatorChanged", log); err != nil { 11979 return err 11980 } 11981 event.Raw = log 11982 11983 select { 11984 case sink <- event: 11985 case err := <-sub.Err(): 11986 return err 11987 case <-quit: 11988 return nil 11989 } 11990 case err := <-sub.Err(): 11991 return err 11992 case <-quit: 11993 return nil 11994 } 11995 } 11996 }), nil 11997 } 11998 11999 // ParseOperatorChanged is a log parse operation binding the contract event 0x4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e54. 12000 // 12001 // Solidity: event OperatorChanged(address _newOperator) 12002 func (_RootChainEvent *RootChainEventFilterer) ParseOperatorChanged(log types.Log) (*RootChainEventOperatorChanged, error) { 12003 event := new(RootChainEventOperatorChanged) 12004 if err := _RootChainEvent.contract.UnpackLog(event, "OperatorChanged", log); err != nil { 12005 return nil, err 12006 } 12007 return event, nil 12008 } 12009 12010 // RootChainEventRequestAppliedIterator is returned from FilterRequestApplied and is used to iterate over the raw logs and unpacked data for RequestApplied events raised by the RootChainEvent contract. 12011 type RootChainEventRequestAppliedIterator struct { 12012 Event *RootChainEventRequestApplied // Event containing the contract specifics and raw log 12013 12014 contract *bind.BoundContract // Generic contract to use for unpacking event data 12015 event string // Event name to use for unpacking event data 12016 12017 logs chan types.Log // Log channel receiving the found contract events 12018 sub ethereum.Subscription // Subscription for errors, completion and termination 12019 done bool // Whether the subscription completed delivering logs 12020 fail error // Occurred error to stop iteration 12021 } 12022 12023 // Next advances the iterator to the subsequent event, returning whether there 12024 // are any more events found. In case of a retrieval or parsing error, false is 12025 // returned and Error() can be queried for the exact failure. 12026 func (it *RootChainEventRequestAppliedIterator) Next() bool { 12027 // If the iterator failed, stop iterating 12028 if it.fail != nil { 12029 return false 12030 } 12031 // If the iterator completed, deliver directly whatever's available 12032 if it.done { 12033 select { 12034 case log := <-it.logs: 12035 it.Event = new(RootChainEventRequestApplied) 12036 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12037 it.fail = err 12038 return false 12039 } 12040 it.Event.Raw = log 12041 return true 12042 12043 default: 12044 return false 12045 } 12046 } 12047 // Iterator still in progress, wait for either a data or an error event 12048 select { 12049 case log := <-it.logs: 12050 it.Event = new(RootChainEventRequestApplied) 12051 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12052 it.fail = err 12053 return false 12054 } 12055 it.Event.Raw = log 12056 return true 12057 12058 case err := <-it.sub.Err(): 12059 it.done = true 12060 it.fail = err 12061 return it.Next() 12062 } 12063 } 12064 12065 // Error returns any retrieval or parsing error occurred during filtering. 12066 func (it *RootChainEventRequestAppliedIterator) Error() error { 12067 return it.fail 12068 } 12069 12070 // Close terminates the iteration process, releasing any pending underlying 12071 // resources. 12072 func (it *RootChainEventRequestAppliedIterator) Close() error { 12073 it.sub.Unsubscribe() 12074 return nil 12075 } 12076 12077 // RootChainEventRequestApplied represents a RequestApplied event raised by the RootChainEvent contract. 12078 type RootChainEventRequestApplied struct { 12079 RequestId *big.Int 12080 UserActivated bool 12081 Raw types.Log // Blockchain specific contextual infos 12082 } 12083 12084 // FilterRequestApplied is a free log retrieval operation binding the contract event 0x6940a01870e576ceb735867e13863646d517ce10e66c0133186a4ebdfe9388c2. 12085 // 12086 // Solidity: event RequestApplied(uint256 requestId, bool userActivated) 12087 func (_RootChainEvent *RootChainEventFilterer) FilterRequestApplied(opts *bind.FilterOpts) (*RootChainEventRequestAppliedIterator, error) { 12088 12089 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "RequestApplied") 12090 if err != nil { 12091 return nil, err 12092 } 12093 return &RootChainEventRequestAppliedIterator{contract: _RootChainEvent.contract, event: "RequestApplied", logs: logs, sub: sub}, nil 12094 } 12095 12096 // WatchRequestApplied is a free log subscription operation binding the contract event 0x6940a01870e576ceb735867e13863646d517ce10e66c0133186a4ebdfe9388c2. 12097 // 12098 // Solidity: event RequestApplied(uint256 requestId, bool userActivated) 12099 func (_RootChainEvent *RootChainEventFilterer) WatchRequestApplied(opts *bind.WatchOpts, sink chan<- *RootChainEventRequestApplied) (event.Subscription, error) { 12100 12101 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "RequestApplied") 12102 if err != nil { 12103 return nil, err 12104 } 12105 return event.NewSubscription(func(quit <-chan struct{}) error { 12106 defer sub.Unsubscribe() 12107 for { 12108 select { 12109 case log := <-logs: 12110 // New log arrived, parse the event and forward to the user 12111 event := new(RootChainEventRequestApplied) 12112 if err := _RootChainEvent.contract.UnpackLog(event, "RequestApplied", log); err != nil { 12113 return err 12114 } 12115 event.Raw = log 12116 12117 select { 12118 case sink <- event: 12119 case err := <-sub.Err(): 12120 return err 12121 case <-quit: 12122 return nil 12123 } 12124 case err := <-sub.Err(): 12125 return err 12126 case <-quit: 12127 return nil 12128 } 12129 } 12130 }), nil 12131 } 12132 12133 // ParseRequestApplied is a log parse operation binding the contract event 0x6940a01870e576ceb735867e13863646d517ce10e66c0133186a4ebdfe9388c2. 12134 // 12135 // Solidity: event RequestApplied(uint256 requestId, bool userActivated) 12136 func (_RootChainEvent *RootChainEventFilterer) ParseRequestApplied(log types.Log) (*RootChainEventRequestApplied, error) { 12137 event := new(RootChainEventRequestApplied) 12138 if err := _RootChainEvent.contract.UnpackLog(event, "RequestApplied", log); err != nil { 12139 return nil, err 12140 } 12141 return event, nil 12142 } 12143 12144 // RootChainEventRequestChallengedIterator is returned from FilterRequestChallenged and is used to iterate over the raw logs and unpacked data for RequestChallenged events raised by the RootChainEvent contract. 12145 type RootChainEventRequestChallengedIterator struct { 12146 Event *RootChainEventRequestChallenged // Event containing the contract specifics and raw log 12147 12148 contract *bind.BoundContract // Generic contract to use for unpacking event data 12149 event string // Event name to use for unpacking event data 12150 12151 logs chan types.Log // Log channel receiving the found contract events 12152 sub ethereum.Subscription // Subscription for errors, completion and termination 12153 done bool // Whether the subscription completed delivering logs 12154 fail error // Occurred error to stop iteration 12155 } 12156 12157 // Next advances the iterator to the subsequent event, returning whether there 12158 // are any more events found. In case of a retrieval or parsing error, false is 12159 // returned and Error() can be queried for the exact failure. 12160 func (it *RootChainEventRequestChallengedIterator) Next() bool { 12161 // If the iterator failed, stop iterating 12162 if it.fail != nil { 12163 return false 12164 } 12165 // If the iterator completed, deliver directly whatever's available 12166 if it.done { 12167 select { 12168 case log := <-it.logs: 12169 it.Event = new(RootChainEventRequestChallenged) 12170 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12171 it.fail = err 12172 return false 12173 } 12174 it.Event.Raw = log 12175 return true 12176 12177 default: 12178 return false 12179 } 12180 } 12181 // Iterator still in progress, wait for either a data or an error event 12182 select { 12183 case log := <-it.logs: 12184 it.Event = new(RootChainEventRequestChallenged) 12185 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12186 it.fail = err 12187 return false 12188 } 12189 it.Event.Raw = log 12190 return true 12191 12192 case err := <-it.sub.Err(): 12193 it.done = true 12194 it.fail = err 12195 return it.Next() 12196 } 12197 } 12198 12199 // Error returns any retrieval or parsing error occurred during filtering. 12200 func (it *RootChainEventRequestChallengedIterator) Error() error { 12201 return it.fail 12202 } 12203 12204 // Close terminates the iteration process, releasing any pending underlying 12205 // resources. 12206 func (it *RootChainEventRequestChallengedIterator) Close() error { 12207 it.sub.Unsubscribe() 12208 return nil 12209 } 12210 12211 // RootChainEventRequestChallenged represents a RequestChallenged event raised by the RootChainEvent contract. 12212 type RootChainEventRequestChallenged struct { 12213 RequestId *big.Int 12214 UserActivated bool 12215 Raw types.Log // Blockchain specific contextual infos 12216 } 12217 12218 // FilterRequestChallenged is a free log retrieval operation binding the contract event 0xc8135db115644ed4ae193313c4c801235ef740d2a57a8d5e6fe26ab66635698a. 12219 // 12220 // Solidity: event RequestChallenged(uint256 requestId, bool userActivated) 12221 func (_RootChainEvent *RootChainEventFilterer) FilterRequestChallenged(opts *bind.FilterOpts) (*RootChainEventRequestChallengedIterator, error) { 12222 12223 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "RequestChallenged") 12224 if err != nil { 12225 return nil, err 12226 } 12227 return &RootChainEventRequestChallengedIterator{contract: _RootChainEvent.contract, event: "RequestChallenged", logs: logs, sub: sub}, nil 12228 } 12229 12230 // WatchRequestChallenged is a free log subscription operation binding the contract event 0xc8135db115644ed4ae193313c4c801235ef740d2a57a8d5e6fe26ab66635698a. 12231 // 12232 // Solidity: event RequestChallenged(uint256 requestId, bool userActivated) 12233 func (_RootChainEvent *RootChainEventFilterer) WatchRequestChallenged(opts *bind.WatchOpts, sink chan<- *RootChainEventRequestChallenged) (event.Subscription, error) { 12234 12235 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "RequestChallenged") 12236 if err != nil { 12237 return nil, err 12238 } 12239 return event.NewSubscription(func(quit <-chan struct{}) error { 12240 defer sub.Unsubscribe() 12241 for { 12242 select { 12243 case log := <-logs: 12244 // New log arrived, parse the event and forward to the user 12245 event := new(RootChainEventRequestChallenged) 12246 if err := _RootChainEvent.contract.UnpackLog(event, "RequestChallenged", log); err != nil { 12247 return err 12248 } 12249 event.Raw = log 12250 12251 select { 12252 case sink <- event: 12253 case err := <-sub.Err(): 12254 return err 12255 case <-quit: 12256 return nil 12257 } 12258 case err := <-sub.Err(): 12259 return err 12260 case <-quit: 12261 return nil 12262 } 12263 } 12264 }), nil 12265 } 12266 12267 // ParseRequestChallenged is a log parse operation binding the contract event 0xc8135db115644ed4ae193313c4c801235ef740d2a57a8d5e6fe26ab66635698a. 12268 // 12269 // Solidity: event RequestChallenged(uint256 requestId, bool userActivated) 12270 func (_RootChainEvent *RootChainEventFilterer) ParseRequestChallenged(log types.Log) (*RootChainEventRequestChallenged, error) { 12271 event := new(RootChainEventRequestChallenged) 12272 if err := _RootChainEvent.contract.UnpackLog(event, "RequestChallenged", log); err != nil { 12273 return nil, err 12274 } 12275 return event, nil 12276 } 12277 12278 // RootChainEventRequestCreatedIterator is returned from FilterRequestCreated and is used to iterate over the raw logs and unpacked data for RequestCreated events raised by the RootChainEvent contract. 12279 type RootChainEventRequestCreatedIterator struct { 12280 Event *RootChainEventRequestCreated // Event containing the contract specifics and raw log 12281 12282 contract *bind.BoundContract // Generic contract to use for unpacking event data 12283 event string // Event name to use for unpacking event data 12284 12285 logs chan types.Log // Log channel receiving the found contract events 12286 sub ethereum.Subscription // Subscription for errors, completion and termination 12287 done bool // Whether the subscription completed delivering logs 12288 fail error // Occurred error to stop iteration 12289 } 12290 12291 // Next advances the iterator to the subsequent event, returning whether there 12292 // are any more events found. In case of a retrieval or parsing error, false is 12293 // returned and Error() can be queried for the exact failure. 12294 func (it *RootChainEventRequestCreatedIterator) Next() bool { 12295 // If the iterator failed, stop iterating 12296 if it.fail != nil { 12297 return false 12298 } 12299 // If the iterator completed, deliver directly whatever's available 12300 if it.done { 12301 select { 12302 case log := <-it.logs: 12303 it.Event = new(RootChainEventRequestCreated) 12304 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12305 it.fail = err 12306 return false 12307 } 12308 it.Event.Raw = log 12309 return true 12310 12311 default: 12312 return false 12313 } 12314 } 12315 // Iterator still in progress, wait for either a data or an error event 12316 select { 12317 case log := <-it.logs: 12318 it.Event = new(RootChainEventRequestCreated) 12319 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12320 it.fail = err 12321 return false 12322 } 12323 it.Event.Raw = log 12324 return true 12325 12326 case err := <-it.sub.Err(): 12327 it.done = true 12328 it.fail = err 12329 return it.Next() 12330 } 12331 } 12332 12333 // Error returns any retrieval or parsing error occurred during filtering. 12334 func (it *RootChainEventRequestCreatedIterator) Error() error { 12335 return it.fail 12336 } 12337 12338 // Close terminates the iteration process, releasing any pending underlying 12339 // resources. 12340 func (it *RootChainEventRequestCreatedIterator) Close() error { 12341 it.sub.Unsubscribe() 12342 return nil 12343 } 12344 12345 // RootChainEventRequestCreated represents a RequestCreated event raised by the RootChainEvent contract. 12346 type RootChainEventRequestCreated struct { 12347 RequestId *big.Int 12348 Requestor common.Address 12349 To common.Address 12350 WeiAmount *big.Int 12351 TrieKey [32]byte 12352 TrieValue []byte 12353 IsExit bool 12354 UserActivated bool 12355 Raw types.Log // Blockchain specific contextual infos 12356 } 12357 12358 // FilterRequestCreated is a free log retrieval operation binding the contract event 0x879922cf5fcada9ebaf8bd7424dc62877f4b220cae07fb6695cc1e8f94c52b4d. 12359 // 12360 // Solidity: event RequestCreated(uint256 requestId, address requestor, address to, uint256 weiAmount, bytes32 trieKey, bytes trieValue, bool isExit, bool userActivated) 12361 func (_RootChainEvent *RootChainEventFilterer) FilterRequestCreated(opts *bind.FilterOpts) (*RootChainEventRequestCreatedIterator, error) { 12362 12363 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "RequestCreated") 12364 if err != nil { 12365 return nil, err 12366 } 12367 return &RootChainEventRequestCreatedIterator{contract: _RootChainEvent.contract, event: "RequestCreated", logs: logs, sub: sub}, nil 12368 } 12369 12370 // WatchRequestCreated is a free log subscription operation binding the contract event 0x879922cf5fcada9ebaf8bd7424dc62877f4b220cae07fb6695cc1e8f94c52b4d. 12371 // 12372 // Solidity: event RequestCreated(uint256 requestId, address requestor, address to, uint256 weiAmount, bytes32 trieKey, bytes trieValue, bool isExit, bool userActivated) 12373 func (_RootChainEvent *RootChainEventFilterer) WatchRequestCreated(opts *bind.WatchOpts, sink chan<- *RootChainEventRequestCreated) (event.Subscription, error) { 12374 12375 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "RequestCreated") 12376 if err != nil { 12377 return nil, err 12378 } 12379 return event.NewSubscription(func(quit <-chan struct{}) error { 12380 defer sub.Unsubscribe() 12381 for { 12382 select { 12383 case log := <-logs: 12384 // New log arrived, parse the event and forward to the user 12385 event := new(RootChainEventRequestCreated) 12386 if err := _RootChainEvent.contract.UnpackLog(event, "RequestCreated", log); err != nil { 12387 return err 12388 } 12389 event.Raw = log 12390 12391 select { 12392 case sink <- event: 12393 case err := <-sub.Err(): 12394 return err 12395 case <-quit: 12396 return nil 12397 } 12398 case err := <-sub.Err(): 12399 return err 12400 case <-quit: 12401 return nil 12402 } 12403 } 12404 }), nil 12405 } 12406 12407 // ParseRequestCreated is a log parse operation binding the contract event 0x879922cf5fcada9ebaf8bd7424dc62877f4b220cae07fb6695cc1e8f94c52b4d. 12408 // 12409 // Solidity: event RequestCreated(uint256 requestId, address requestor, address to, uint256 weiAmount, bytes32 trieKey, bytes trieValue, bool isExit, bool userActivated) 12410 func (_RootChainEvent *RootChainEventFilterer) ParseRequestCreated(log types.Log) (*RootChainEventRequestCreated, error) { 12411 event := new(RootChainEventRequestCreated) 12412 if err := _RootChainEvent.contract.UnpackLog(event, "RequestCreated", log); err != nil { 12413 return nil, err 12414 } 12415 return event, nil 12416 } 12417 12418 // RootChainEventRequestFinalizedIterator is returned from FilterRequestFinalized and is used to iterate over the raw logs and unpacked data for RequestFinalized events raised by the RootChainEvent contract. 12419 type RootChainEventRequestFinalizedIterator struct { 12420 Event *RootChainEventRequestFinalized // Event containing the contract specifics and raw log 12421 12422 contract *bind.BoundContract // Generic contract to use for unpacking event data 12423 event string // Event name to use for unpacking event data 12424 12425 logs chan types.Log // Log channel receiving the found contract events 12426 sub ethereum.Subscription // Subscription for errors, completion and termination 12427 done bool // Whether the subscription completed delivering logs 12428 fail error // Occurred error to stop iteration 12429 } 12430 12431 // Next advances the iterator to the subsequent event, returning whether there 12432 // are any more events found. In case of a retrieval or parsing error, false is 12433 // returned and Error() can be queried for the exact failure. 12434 func (it *RootChainEventRequestFinalizedIterator) Next() bool { 12435 // If the iterator failed, stop iterating 12436 if it.fail != nil { 12437 return false 12438 } 12439 // If the iterator completed, deliver directly whatever's available 12440 if it.done { 12441 select { 12442 case log := <-it.logs: 12443 it.Event = new(RootChainEventRequestFinalized) 12444 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12445 it.fail = err 12446 return false 12447 } 12448 it.Event.Raw = log 12449 return true 12450 12451 default: 12452 return false 12453 } 12454 } 12455 // Iterator still in progress, wait for either a data or an error event 12456 select { 12457 case log := <-it.logs: 12458 it.Event = new(RootChainEventRequestFinalized) 12459 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12460 it.fail = err 12461 return false 12462 } 12463 it.Event.Raw = log 12464 return true 12465 12466 case err := <-it.sub.Err(): 12467 it.done = true 12468 it.fail = err 12469 return it.Next() 12470 } 12471 } 12472 12473 // Error returns any retrieval or parsing error occurred during filtering. 12474 func (it *RootChainEventRequestFinalizedIterator) Error() error { 12475 return it.fail 12476 } 12477 12478 // Close terminates the iteration process, releasing any pending underlying 12479 // resources. 12480 func (it *RootChainEventRequestFinalizedIterator) Close() error { 12481 it.sub.Unsubscribe() 12482 return nil 12483 } 12484 12485 // RootChainEventRequestFinalized represents a RequestFinalized event raised by the RootChainEvent contract. 12486 type RootChainEventRequestFinalized struct { 12487 RequestId *big.Int 12488 UserActivated bool 12489 Raw types.Log // Blockchain specific contextual infos 12490 } 12491 12492 // FilterRequestFinalized is a free log retrieval operation binding the contract event 0x134017cf3262b18f892ee95dde3b0aec9a80cc70a7c96f09c64bd237aceb0473. 12493 // 12494 // Solidity: event RequestFinalized(uint256 requestId, bool userActivated) 12495 func (_RootChainEvent *RootChainEventFilterer) FilterRequestFinalized(opts *bind.FilterOpts) (*RootChainEventRequestFinalizedIterator, error) { 12496 12497 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "RequestFinalized") 12498 if err != nil { 12499 return nil, err 12500 } 12501 return &RootChainEventRequestFinalizedIterator{contract: _RootChainEvent.contract, event: "RequestFinalized", logs: logs, sub: sub}, nil 12502 } 12503 12504 // WatchRequestFinalized is a free log subscription operation binding the contract event 0x134017cf3262b18f892ee95dde3b0aec9a80cc70a7c96f09c64bd237aceb0473. 12505 // 12506 // Solidity: event RequestFinalized(uint256 requestId, bool userActivated) 12507 func (_RootChainEvent *RootChainEventFilterer) WatchRequestFinalized(opts *bind.WatchOpts, sink chan<- *RootChainEventRequestFinalized) (event.Subscription, error) { 12508 12509 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "RequestFinalized") 12510 if err != nil { 12511 return nil, err 12512 } 12513 return event.NewSubscription(func(quit <-chan struct{}) error { 12514 defer sub.Unsubscribe() 12515 for { 12516 select { 12517 case log := <-logs: 12518 // New log arrived, parse the event and forward to the user 12519 event := new(RootChainEventRequestFinalized) 12520 if err := _RootChainEvent.contract.UnpackLog(event, "RequestFinalized", log); err != nil { 12521 return err 12522 } 12523 event.Raw = log 12524 12525 select { 12526 case sink <- event: 12527 case err := <-sub.Err(): 12528 return err 12529 case <-quit: 12530 return nil 12531 } 12532 case err := <-sub.Err(): 12533 return err 12534 case <-quit: 12535 return nil 12536 } 12537 } 12538 }), nil 12539 } 12540 12541 // ParseRequestFinalized is a log parse operation binding the contract event 0x134017cf3262b18f892ee95dde3b0aec9a80cc70a7c96f09c64bd237aceb0473. 12542 // 12543 // Solidity: event RequestFinalized(uint256 requestId, bool userActivated) 12544 func (_RootChainEvent *RootChainEventFilterer) ParseRequestFinalized(log types.Log) (*RootChainEventRequestFinalized, error) { 12545 event := new(RootChainEventRequestFinalized) 12546 if err := _RootChainEvent.contract.UnpackLog(event, "RequestFinalized", log); err != nil { 12547 return nil, err 12548 } 12549 return event, nil 12550 } 12551 12552 // RootChainEventRequestableContractMappedIterator is returned from FilterRequestableContractMapped and is used to iterate over the raw logs and unpacked data for RequestableContractMapped events raised by the RootChainEvent contract. 12553 type RootChainEventRequestableContractMappedIterator struct { 12554 Event *RootChainEventRequestableContractMapped // Event containing the contract specifics and raw log 12555 12556 contract *bind.BoundContract // Generic contract to use for unpacking event data 12557 event string // Event name to use for unpacking event data 12558 12559 logs chan types.Log // Log channel receiving the found contract events 12560 sub ethereum.Subscription // Subscription for errors, completion and termination 12561 done bool // Whether the subscription completed delivering logs 12562 fail error // Occurred error to stop iteration 12563 } 12564 12565 // Next advances the iterator to the subsequent event, returning whether there 12566 // are any more events found. In case of a retrieval or parsing error, false is 12567 // returned and Error() can be queried for the exact failure. 12568 func (it *RootChainEventRequestableContractMappedIterator) Next() bool { 12569 // If the iterator failed, stop iterating 12570 if it.fail != nil { 12571 return false 12572 } 12573 // If the iterator completed, deliver directly whatever's available 12574 if it.done { 12575 select { 12576 case log := <-it.logs: 12577 it.Event = new(RootChainEventRequestableContractMapped) 12578 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12579 it.fail = err 12580 return false 12581 } 12582 it.Event.Raw = log 12583 return true 12584 12585 default: 12586 return false 12587 } 12588 } 12589 // Iterator still in progress, wait for either a data or an error event 12590 select { 12591 case log := <-it.logs: 12592 it.Event = new(RootChainEventRequestableContractMapped) 12593 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12594 it.fail = err 12595 return false 12596 } 12597 it.Event.Raw = log 12598 return true 12599 12600 case err := <-it.sub.Err(): 12601 it.done = true 12602 it.fail = err 12603 return it.Next() 12604 } 12605 } 12606 12607 // Error returns any retrieval or parsing error occurred during filtering. 12608 func (it *RootChainEventRequestableContractMappedIterator) Error() error { 12609 return it.fail 12610 } 12611 12612 // Close terminates the iteration process, releasing any pending underlying 12613 // resources. 12614 func (it *RootChainEventRequestableContractMappedIterator) Close() error { 12615 it.sub.Unsubscribe() 12616 return nil 12617 } 12618 12619 // RootChainEventRequestableContractMapped represents a RequestableContractMapped event raised by the RootChainEvent contract. 12620 type RootChainEventRequestableContractMapped struct { 12621 ContractInRootchain common.Address 12622 ContractInChildchain common.Address 12623 Raw types.Log // Blockchain specific contextual infos 12624 } 12625 12626 // FilterRequestableContractMapped is a free log retrieval operation binding the contract event 0xc5ec2ed49686197edd2ed642c7e6096893cc81e6658cde2527030316037715d0. 12627 // 12628 // Solidity: event RequestableContractMapped(address contractInRootchain, address contractInChildchain) 12629 func (_RootChainEvent *RootChainEventFilterer) FilterRequestableContractMapped(opts *bind.FilterOpts) (*RootChainEventRequestableContractMappedIterator, error) { 12630 12631 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "RequestableContractMapped") 12632 if err != nil { 12633 return nil, err 12634 } 12635 return &RootChainEventRequestableContractMappedIterator{contract: _RootChainEvent.contract, event: "RequestableContractMapped", logs: logs, sub: sub}, nil 12636 } 12637 12638 // WatchRequestableContractMapped is a free log subscription operation binding the contract event 0xc5ec2ed49686197edd2ed642c7e6096893cc81e6658cde2527030316037715d0. 12639 // 12640 // Solidity: event RequestableContractMapped(address contractInRootchain, address contractInChildchain) 12641 func (_RootChainEvent *RootChainEventFilterer) WatchRequestableContractMapped(opts *bind.WatchOpts, sink chan<- *RootChainEventRequestableContractMapped) (event.Subscription, error) { 12642 12643 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "RequestableContractMapped") 12644 if err != nil { 12645 return nil, err 12646 } 12647 return event.NewSubscription(func(quit <-chan struct{}) error { 12648 defer sub.Unsubscribe() 12649 for { 12650 select { 12651 case log := <-logs: 12652 // New log arrived, parse the event and forward to the user 12653 event := new(RootChainEventRequestableContractMapped) 12654 if err := _RootChainEvent.contract.UnpackLog(event, "RequestableContractMapped", log); err != nil { 12655 return err 12656 } 12657 event.Raw = log 12658 12659 select { 12660 case sink <- event: 12661 case err := <-sub.Err(): 12662 return err 12663 case <-quit: 12664 return nil 12665 } 12666 case err := <-sub.Err(): 12667 return err 12668 case <-quit: 12669 return nil 12670 } 12671 } 12672 }), nil 12673 } 12674 12675 // ParseRequestableContractMapped is a log parse operation binding the contract event 0xc5ec2ed49686197edd2ed642c7e6096893cc81e6658cde2527030316037715d0. 12676 // 12677 // Solidity: event RequestableContractMapped(address contractInRootchain, address contractInChildchain) 12678 func (_RootChainEvent *RootChainEventFilterer) ParseRequestableContractMapped(log types.Log) (*RootChainEventRequestableContractMapped, error) { 12679 event := new(RootChainEventRequestableContractMapped) 12680 if err := _RootChainEvent.contract.UnpackLog(event, "RequestableContractMapped", log); err != nil { 12681 return nil, err 12682 } 12683 return event, nil 12684 } 12685 12686 // RootChainEventSessionTimeoutIterator is returned from FilterSessionTimeout and is used to iterate over the raw logs and unpacked data for SessionTimeout events raised by the RootChainEvent contract. 12687 type RootChainEventSessionTimeoutIterator struct { 12688 Event *RootChainEventSessionTimeout // Event containing the contract specifics and raw log 12689 12690 contract *bind.BoundContract // Generic contract to use for unpacking event data 12691 event string // Event name to use for unpacking event data 12692 12693 logs chan types.Log // Log channel receiving the found contract events 12694 sub ethereum.Subscription // Subscription for errors, completion and termination 12695 done bool // Whether the subscription completed delivering logs 12696 fail error // Occurred error to stop iteration 12697 } 12698 12699 // Next advances the iterator to the subsequent event, returning whether there 12700 // are any more events found. In case of a retrieval or parsing error, false is 12701 // returned and Error() can be queried for the exact failure. 12702 func (it *RootChainEventSessionTimeoutIterator) Next() bool { 12703 // If the iterator failed, stop iterating 12704 if it.fail != nil { 12705 return false 12706 } 12707 // If the iterator completed, deliver directly whatever's available 12708 if it.done { 12709 select { 12710 case log := <-it.logs: 12711 it.Event = new(RootChainEventSessionTimeout) 12712 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12713 it.fail = err 12714 return false 12715 } 12716 it.Event.Raw = log 12717 return true 12718 12719 default: 12720 return false 12721 } 12722 } 12723 // Iterator still in progress, wait for either a data or an error event 12724 select { 12725 case log := <-it.logs: 12726 it.Event = new(RootChainEventSessionTimeout) 12727 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 12728 it.fail = err 12729 return false 12730 } 12731 it.Event.Raw = log 12732 return true 12733 12734 case err := <-it.sub.Err(): 12735 it.done = true 12736 it.fail = err 12737 return it.Next() 12738 } 12739 } 12740 12741 // Error returns any retrieval or parsing error occurred during filtering. 12742 func (it *RootChainEventSessionTimeoutIterator) Error() error { 12743 return it.fail 12744 } 12745 12746 // Close terminates the iteration process, releasing any pending underlying 12747 // resources. 12748 func (it *RootChainEventSessionTimeoutIterator) Close() error { 12749 it.sub.Unsubscribe() 12750 return nil 12751 } 12752 12753 // RootChainEventSessionTimeout represents a SessionTimeout event raised by the RootChainEvent contract. 12754 type RootChainEventSessionTimeout struct { 12755 UserActivated bool 12756 Raw types.Log // Blockchain specific contextual infos 12757 } 12758 12759 // FilterSessionTimeout is a free log retrieval operation binding the contract event 0x2122ec719581cd177f225f59a1ee005831211196831f8f1ccffa817d2e7bd108. 12760 // 12761 // Solidity: event SessionTimeout(bool userActivated) 12762 func (_RootChainEvent *RootChainEventFilterer) FilterSessionTimeout(opts *bind.FilterOpts) (*RootChainEventSessionTimeoutIterator, error) { 12763 12764 logs, sub, err := _RootChainEvent.contract.FilterLogs(opts, "SessionTimeout") 12765 if err != nil { 12766 return nil, err 12767 } 12768 return &RootChainEventSessionTimeoutIterator{contract: _RootChainEvent.contract, event: "SessionTimeout", logs: logs, sub: sub}, nil 12769 } 12770 12771 // WatchSessionTimeout is a free log subscription operation binding the contract event 0x2122ec719581cd177f225f59a1ee005831211196831f8f1ccffa817d2e7bd108. 12772 // 12773 // Solidity: event SessionTimeout(bool userActivated) 12774 func (_RootChainEvent *RootChainEventFilterer) WatchSessionTimeout(opts *bind.WatchOpts, sink chan<- *RootChainEventSessionTimeout) (event.Subscription, error) { 12775 12776 logs, sub, err := _RootChainEvent.contract.WatchLogs(opts, "SessionTimeout") 12777 if err != nil { 12778 return nil, err 12779 } 12780 return event.NewSubscription(func(quit <-chan struct{}) error { 12781 defer sub.Unsubscribe() 12782 for { 12783 select { 12784 case log := <-logs: 12785 // New log arrived, parse the event and forward to the user 12786 event := new(RootChainEventSessionTimeout) 12787 if err := _RootChainEvent.contract.UnpackLog(event, "SessionTimeout", log); err != nil { 12788 return err 12789 } 12790 event.Raw = log 12791 12792 select { 12793 case sink <- event: 12794 case err := <-sub.Err(): 12795 return err 12796 case <-quit: 12797 return nil 12798 } 12799 case err := <-sub.Err(): 12800 return err 12801 case <-quit: 12802 return nil 12803 } 12804 } 12805 }), nil 12806 } 12807 12808 // ParseSessionTimeout is a log parse operation binding the contract event 0x2122ec719581cd177f225f59a1ee005831211196831f8f1ccffa817d2e7bd108. 12809 // 12810 // Solidity: event SessionTimeout(bool userActivated) 12811 func (_RootChainEvent *RootChainEventFilterer) ParseSessionTimeout(log types.Log) (*RootChainEventSessionTimeout, error) { 12812 event := new(RootChainEventSessionTimeout) 12813 if err := _RootChainEvent.contract.UnpackLog(event, "SessionTimeout", log); err != nil { 12814 return nil, err 12815 } 12816 return event, nil 12817 } 12818 12819 // RootChainStorageABI is the input ABI used to generate the binding from. 12820 const RootChainStorageABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"COST_ERO\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_ERU\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_NRB\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_ORB\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_URB\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"COST_URB_PREPARE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"CP_COMPUTATION\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"CP_EXIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"CP_WITHHOLDING\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"EROIdToFinalize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"EROs\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isExit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isTransfer\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"finalized\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challenged\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"value\",\"type\":\"uint128\"},{\"internalType\":\"addresspayable\",\"name\":\"requestor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"trieKey\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"trieValue\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"ERUIdToFinalize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"ERUs\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isExit\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isTransfer\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"finalized\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"challenged\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"value\",\"type\":\"uint128\"},{\"internalType\":\"addresspayable\",\"name\":\"requestor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"trieKey\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"trieValue\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"NRELength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"NULL_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"ORBs\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"submitted\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"numEnter\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"epochNumber\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestEnd\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"trie\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"PREPARE_TIMEOUT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"REQUEST_GAS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"URBs\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"submitted\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"numEnter\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"epochNumber\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestStart\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"requestEnd\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"trie\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"development\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"epochHandler\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"etherToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"firstFilledORENumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"firstNonEmptyRequestEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"forks\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"forkedBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"firstEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"firstBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastFinalizedEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastFinalizedBlock\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"firstEnterEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastEnterEpoch\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"nextBlockToRebase\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"rebased\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isRootChain\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastAppliedBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastAppliedEpochNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastAppliedForkNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lastNonEmptyRequestEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"numEnterForORB\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"requestableContracts\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"seigManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"submitHandler\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" 12821 12822 // RootChainStorageFuncSigs maps the 4-byte function signature to its string representation. 12823 var RootChainStorageFuncSigs = map[string]string{ 12824 "d691acd8": "COST_ERO()", 12825 "8b5172d0": "COST_ERU()", 12826 "94be3aa5": "COST_NRB()", 12827 "b2ae9ba8": "COST_ORB()", 12828 "192adc5b": "COST_URB()", 12829 "033cfbed": "COST_URB_PREPARE()", 12830 "08c4fff0": "CP_COMPUTATION()", 12831 "8155717d": "CP_EXIT()", 12832 "b17fa6e9": "CP_WITHHOLDING()", 12833 "2dc6bb7b": "EROIdToFinalize()", 12834 "b443f3cc": "EROs(uint256)", 12835 "c54626cc": "ERUIdToFinalize()", 12836 "f4f31de4": "ERUs(uint256)", 12837 "ab96da2d": "NRELength()", 12838 "de0ce17d": "NULL_ADDRESS()", 12839 "ea7f22a8": "ORBs(uint256)", 12840 "c2bc88fa": "PREPARE_TIMEOUT()", 12841 "8eb288ca": "REQUEST_GAS()", 12842 "c0e86064": "URBs(uint256)", 12843 "183d2d1c": "currentFork()", 12844 "7b929c27": "development()", 12845 "e7b88b80": "epochHandler()", 12846 "b8066bcb": "etherToken()", 12847 "72ecb9a8": "firstFilledORENumber(uint256)", 12848 "ca6f6380": "firstNonEmptyRequestEpoch(uint256)", 12849 "4ba3a126": "forks(uint256)", 12850 "420bb4b8": "isRootChain()", 12851 "fb788a27": "lastAppliedBlockNumber()", 12852 "c8ad329f": "lastAppliedEpochNumber()", 12853 "164bc2ae": "lastAppliedForkNumber()", 12854 "b6715647": "lastNonEmptyRequestEpoch(uint256)", 12855 "23691566": "numEnterForORB()", 12856 "570ca735": "operator()", 12857 "da0185f8": "requestableContracts(address)", 12858 "6fb7f558": "seigManager()", 12859 "e259faf7": "submitHandler()", 12860 } 12861 12862 // RootChainStorageBin is the compiled bytecode used for deploying new contracts. 12863 var RootChainStorageBin = "0x608060405234801561001057600080fd5b50610927806100206000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c8063b17fa6e911610125578063ca6f6380116100ad578063e259faf71161007c578063e259faf714610585578063e7b88b801461058d578063ea7f22a814610595578063f4f31de4146105b2578063fb788a27146105cf5761021c565b8063ca6f63801461053a578063d691acd814610221578063da0185f814610557578063de0ce17d1461057d5761021c565b8063b8066bcb116100f4578063b8066bcb146104b1578063c0e86064146104b9578063c2bc88fa14610522578063c54626cc1461052a578063c8ad329f146105325761021c565b8063b17fa6e91461037c578063b2ae9ba814610221578063b443f3cc14610384578063b6715647146104945761021c565b8063570ca735116101a85780638155717d116101775780638155717d146103645780638b5172d0146102215780638eb288ca1461036c57806394be3aa514610221578063ab96da2d146103745761021c565b8063570ca735146103135780636fb7f5581461033757806372ecb9a81461033f5780637b929c271461035c5761021c565b8063192adc5b116101ef578063192adc5b1461022157806323691566146102535780632dc6bb7b1461025b578063420bb4b8146102635780634ba3a1261461027f5761021c565b8063033cfbed1461022157806308c4fff01461023b578063164bc2ae14610243578063183d2d1c1461024b575b600080fd5b6102296105d7565b60408051918252519081900360200190f35b6102296105dc565b6102296105e1565b6102296105e7565b6102296105ed565b6102296105f3565b61026b6105f9565b604080519115158252519081900360200190f35b61029c6004803603602081101561029557600080fd5b50356105fe565b6040805167ffffffffffffffff9d8e1681529b8d1660208d0152998c168b8b0152978b1660608b0152958a1660808a015293891660a089015291881660c0880152871660e0870152861661010086015285166101208501529093166101408301529115156101608201529051908190036101800190f35b61031b610676565b604080516001600160a01b039092168252519081900360200190f35b61031b61068a565b6102296004803603602081101561035557600080fd5b5035610699565b61026b6106ab565b6102296106b4565b6102296106b9565b6102296106c0565b6102296106c6565b6103a16004803603602081101561039a57600080fd5b50356106cb565b6040805167ffffffffffffffff8d1681528b15156020808301919091528b151592820192909252891515606082015288151560808201526001600160801b03881660a08201526001600160a01b0380881660c0830152861660e082015261010081018590526101208101849052610160610140820181815284519183019190915283519192909161018084019185019080838360005b8381101561044f578181015183820152602001610437565b50505050905090810190601f16801561047c5780820380516001836020036101000a031916815260200191505b509c5050505050505050505050505060405180910390f35b610229600480360360208110156104aa57600080fd5b50356107ed565b61031b6107ff565b6104d6600480360360208110156104cf57600080fd5b503561080e565b60408051961515875267ffffffffffffffff958616602088015293851686850152918416606086015290921660808401526001600160a01b0390911660a0830152519081900360c00190f35b610229610876565b61022961087b565b610229610881565b6102296004803603602081101561055057600080fd5b5035610887565b61031b6004803603602081101561056d57600080fd5b50356001600160a01b0316610899565b61031b6105d7565b61031b6108b4565b61031b6108c3565b6104d6600480360360208110156105ab57600080fd5b50356108d2565b6103a1600480360360208110156105c857600080fd5b50356108df565b6102296108ec565b600081565b600f81565b60105481565b60065481565b600d5481565b60135481565b600181565b60086020526000908152604090208054600182015460029092015467ffffffffffffffff80831693600160401b808504831694600160801b808204851695600160c01b92839004861695858116958581048216958482048316959182900483169484841694918204841693908204169160ff9104168c565b60005461010090046001600160a01b031681565b6004546001600160a01b031681565b60076020526000908152604090205481565b60005460ff1681565b600a81565b620186a081565b60055481565b601481565b600981815481106106d857fe5b6000918252602091829020600691909102018054600180830154600280850154600386015460048701546005880180546040805161010099831615999099026000190190911695909504601f81018b90048b0288018b0190955284875267ffffffffffffffff88169a50600160401b880460ff9081169a600160481b8a0482169a600160501b8b0483169a600160581b810490931699600160601b9093046001600160801b0316986001600160a01b03908116989716969093918301828280156107e35780601f106107b8576101008083540402835291602001916107e3565b820191906000526020600020905b8154815290600101906020018083116107c657829003601f168201915b505050505090508b565b600e6020526000908152604090205481565b6003546001600160a01b031681565b600c818154811061081b57fe5b60009182526020909120600290910201805460019091015460ff8216925067ffffffffffffffff6101008304811692600160481b8104821692600160881b9091048216918116906001600160a01b03600160401b9091041686565b603c81565b60145481565b60115481565b600f6020526000908152604090205481565b6015602052600090815260409020546001600160a01b031681565b6002546001600160a01b031681565b6001546001600160a01b031681565b600b818154811061081b57fe5b600a81815481106106d857fe5b6012548156fea265627a7a7231582050fb340a9c8ce204a949c7618e67ebead6f9d9e0b47c5a41d2ac573628ef8de264736f6c634300050c0032" 12864 12865 // DeployRootChainStorage deploys a new Ethereum contract, binding an instance of RootChainStorage to it. 12866 func DeployRootChainStorage(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *RootChainStorage, error) { 12867 parsed, err := abi.JSON(strings.NewReader(RootChainStorageABI)) 12868 if err != nil { 12869 return common.Address{}, nil, nil, err 12870 } 12871 12872 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(RootChainStorageBin), backend) 12873 if err != nil { 12874 return common.Address{}, nil, nil, err 12875 } 12876 return address, tx, &RootChainStorage{RootChainStorageCaller: RootChainStorageCaller{contract: contract}, RootChainStorageTransactor: RootChainStorageTransactor{contract: contract}, RootChainStorageFilterer: RootChainStorageFilterer{contract: contract}}, nil 12877 } 12878 12879 // RootChainStorage is an auto generated Go binding around an Ethereum contract. 12880 type RootChainStorage struct { 12881 RootChainStorageCaller // Read-only binding to the contract 12882 RootChainStorageTransactor // Write-only binding to the contract 12883 RootChainStorageFilterer // Log filterer for contract events 12884 } 12885 12886 // RootChainStorageCaller is an auto generated read-only Go binding around an Ethereum contract. 12887 type RootChainStorageCaller struct { 12888 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12889 } 12890 12891 // RootChainStorageTransactor is an auto generated write-only Go binding around an Ethereum contract. 12892 type RootChainStorageTransactor struct { 12893 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12894 } 12895 12896 // RootChainStorageFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 12897 type RootChainStorageFilterer struct { 12898 contract *bind.BoundContract // Generic contract wrapper for the low level calls 12899 } 12900 12901 // RootChainStorageSession is an auto generated Go binding around an Ethereum contract, 12902 // with pre-set call and transact options. 12903 type RootChainStorageSession struct { 12904 Contract *RootChainStorage // Generic contract binding to set the session for 12905 CallOpts bind.CallOpts // Call options to use throughout this session 12906 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12907 } 12908 12909 // RootChainStorageCallerSession is an auto generated read-only Go binding around an Ethereum contract, 12910 // with pre-set call options. 12911 type RootChainStorageCallerSession struct { 12912 Contract *RootChainStorageCaller // Generic contract caller binding to set the session for 12913 CallOpts bind.CallOpts // Call options to use throughout this session 12914 } 12915 12916 // RootChainStorageTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 12917 // with pre-set transact options. 12918 type RootChainStorageTransactorSession struct { 12919 Contract *RootChainStorageTransactor // Generic contract transactor binding to set the session for 12920 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 12921 } 12922 12923 // RootChainStorageRaw is an auto generated low-level Go binding around an Ethereum contract. 12924 type RootChainStorageRaw struct { 12925 Contract *RootChainStorage // Generic contract binding to access the raw methods on 12926 } 12927 12928 // RootChainStorageCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 12929 type RootChainStorageCallerRaw struct { 12930 Contract *RootChainStorageCaller // Generic read-only contract binding to access the raw methods on 12931 } 12932 12933 // RootChainStorageTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 12934 type RootChainStorageTransactorRaw struct { 12935 Contract *RootChainStorageTransactor // Generic write-only contract binding to access the raw methods on 12936 } 12937 12938 // NewRootChainStorage creates a new instance of RootChainStorage, bound to a specific deployed contract. 12939 func NewRootChainStorage(address common.Address, backend bind.ContractBackend) (*RootChainStorage, error) { 12940 contract, err := bindRootChainStorage(address, backend, backend, backend) 12941 if err != nil { 12942 return nil, err 12943 } 12944 return &RootChainStorage{RootChainStorageCaller: RootChainStorageCaller{contract: contract}, RootChainStorageTransactor: RootChainStorageTransactor{contract: contract}, RootChainStorageFilterer: RootChainStorageFilterer{contract: contract}}, nil 12945 } 12946 12947 // NewRootChainStorageCaller creates a new read-only instance of RootChainStorage, bound to a specific deployed contract. 12948 func NewRootChainStorageCaller(address common.Address, caller bind.ContractCaller) (*RootChainStorageCaller, error) { 12949 contract, err := bindRootChainStorage(address, caller, nil, nil) 12950 if err != nil { 12951 return nil, err 12952 } 12953 return &RootChainStorageCaller{contract: contract}, nil 12954 } 12955 12956 // NewRootChainStorageTransactor creates a new write-only instance of RootChainStorage, bound to a specific deployed contract. 12957 func NewRootChainStorageTransactor(address common.Address, transactor bind.ContractTransactor) (*RootChainStorageTransactor, error) { 12958 contract, err := bindRootChainStorage(address, nil, transactor, nil) 12959 if err != nil { 12960 return nil, err 12961 } 12962 return &RootChainStorageTransactor{contract: contract}, nil 12963 } 12964 12965 // NewRootChainStorageFilterer creates a new log filterer instance of RootChainStorage, bound to a specific deployed contract. 12966 func NewRootChainStorageFilterer(address common.Address, filterer bind.ContractFilterer) (*RootChainStorageFilterer, error) { 12967 contract, err := bindRootChainStorage(address, nil, nil, filterer) 12968 if err != nil { 12969 return nil, err 12970 } 12971 return &RootChainStorageFilterer{contract: contract}, nil 12972 } 12973 12974 // bindRootChainStorage binds a generic wrapper to an already deployed contract. 12975 func bindRootChainStorage(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 12976 parsed, err := abi.JSON(strings.NewReader(RootChainStorageABI)) 12977 if err != nil { 12978 return nil, err 12979 } 12980 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 12981 } 12982 12983 // Call invokes the (constant) contract method with params as input values and 12984 // sets the output to result. The result type might be a single field for simple 12985 // returns, a slice of interfaces for anonymous returns and a struct for named 12986 // returns. 12987 func (_RootChainStorage *RootChainStorageRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 12988 return _RootChainStorage.Contract.RootChainStorageCaller.contract.Call(opts, result, method, params...) 12989 } 12990 12991 // Transfer initiates a plain transaction to move funds to the contract, calling 12992 // its default method if one is available. 12993 func (_RootChainStorage *RootChainStorageRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 12994 return _RootChainStorage.Contract.RootChainStorageTransactor.contract.Transfer(opts) 12995 } 12996 12997 // Transact invokes the (paid) contract method with params as input values. 12998 func (_RootChainStorage *RootChainStorageRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 12999 return _RootChainStorage.Contract.RootChainStorageTransactor.contract.Transact(opts, method, params...) 13000 } 13001 13002 // Call invokes the (constant) contract method with params as input values and 13003 // sets the output to result. The result type might be a single field for simple 13004 // returns, a slice of interfaces for anonymous returns and a struct for named 13005 // returns. 13006 func (_RootChainStorage *RootChainStorageCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 13007 return _RootChainStorage.Contract.contract.Call(opts, result, method, params...) 13008 } 13009 13010 // Transfer initiates a plain transaction to move funds to the contract, calling 13011 // its default method if one is available. 13012 func (_RootChainStorage *RootChainStorageTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 13013 return _RootChainStorage.Contract.contract.Transfer(opts) 13014 } 13015 13016 // Transact invokes the (paid) contract method with params as input values. 13017 func (_RootChainStorage *RootChainStorageTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 13018 return _RootChainStorage.Contract.contract.Transact(opts, method, params...) 13019 } 13020 13021 // COSTERO is a free data retrieval call binding the contract method 0xd691acd8. 13022 // 13023 // Solidity: function COST_ERO() constant returns(uint256) 13024 func (_RootChainStorage *RootChainStorageCaller) COSTERO(opts *bind.CallOpts) (*big.Int, error) { 13025 var ( 13026 ret0 = new(*big.Int) 13027 ) 13028 out := ret0 13029 err := _RootChainStorage.contract.Call(opts, out, "COST_ERO") 13030 return *ret0, err 13031 } 13032 13033 // COSTERO is a free data retrieval call binding the contract method 0xd691acd8. 13034 // 13035 // Solidity: function COST_ERO() constant returns(uint256) 13036 func (_RootChainStorage *RootChainStorageSession) COSTERO() (*big.Int, error) { 13037 return _RootChainStorage.Contract.COSTERO(&_RootChainStorage.CallOpts) 13038 } 13039 13040 // COSTERO is a free data retrieval call binding the contract method 0xd691acd8. 13041 // 13042 // Solidity: function COST_ERO() constant returns(uint256) 13043 func (_RootChainStorage *RootChainStorageCallerSession) COSTERO() (*big.Int, error) { 13044 return _RootChainStorage.Contract.COSTERO(&_RootChainStorage.CallOpts) 13045 } 13046 13047 // COSTERU is a free data retrieval call binding the contract method 0x8b5172d0. 13048 // 13049 // Solidity: function COST_ERU() constant returns(uint256) 13050 func (_RootChainStorage *RootChainStorageCaller) COSTERU(opts *bind.CallOpts) (*big.Int, error) { 13051 var ( 13052 ret0 = new(*big.Int) 13053 ) 13054 out := ret0 13055 err := _RootChainStorage.contract.Call(opts, out, "COST_ERU") 13056 return *ret0, err 13057 } 13058 13059 // COSTERU is a free data retrieval call binding the contract method 0x8b5172d0. 13060 // 13061 // Solidity: function COST_ERU() constant returns(uint256) 13062 func (_RootChainStorage *RootChainStorageSession) COSTERU() (*big.Int, error) { 13063 return _RootChainStorage.Contract.COSTERU(&_RootChainStorage.CallOpts) 13064 } 13065 13066 // COSTERU is a free data retrieval call binding the contract method 0x8b5172d0. 13067 // 13068 // Solidity: function COST_ERU() constant returns(uint256) 13069 func (_RootChainStorage *RootChainStorageCallerSession) COSTERU() (*big.Int, error) { 13070 return _RootChainStorage.Contract.COSTERU(&_RootChainStorage.CallOpts) 13071 } 13072 13073 // COSTNRB is a free data retrieval call binding the contract method 0x94be3aa5. 13074 // 13075 // Solidity: function COST_NRB() constant returns(uint256) 13076 func (_RootChainStorage *RootChainStorageCaller) COSTNRB(opts *bind.CallOpts) (*big.Int, error) { 13077 var ( 13078 ret0 = new(*big.Int) 13079 ) 13080 out := ret0 13081 err := _RootChainStorage.contract.Call(opts, out, "COST_NRB") 13082 return *ret0, err 13083 } 13084 13085 // COSTNRB is a free data retrieval call binding the contract method 0x94be3aa5. 13086 // 13087 // Solidity: function COST_NRB() constant returns(uint256) 13088 func (_RootChainStorage *RootChainStorageSession) COSTNRB() (*big.Int, error) { 13089 return _RootChainStorage.Contract.COSTNRB(&_RootChainStorage.CallOpts) 13090 } 13091 13092 // COSTNRB is a free data retrieval call binding the contract method 0x94be3aa5. 13093 // 13094 // Solidity: function COST_NRB() constant returns(uint256) 13095 func (_RootChainStorage *RootChainStorageCallerSession) COSTNRB() (*big.Int, error) { 13096 return _RootChainStorage.Contract.COSTNRB(&_RootChainStorage.CallOpts) 13097 } 13098 13099 // COSTORB is a free data retrieval call binding the contract method 0xb2ae9ba8. 13100 // 13101 // Solidity: function COST_ORB() constant returns(uint256) 13102 func (_RootChainStorage *RootChainStorageCaller) COSTORB(opts *bind.CallOpts) (*big.Int, error) { 13103 var ( 13104 ret0 = new(*big.Int) 13105 ) 13106 out := ret0 13107 err := _RootChainStorage.contract.Call(opts, out, "COST_ORB") 13108 return *ret0, err 13109 } 13110 13111 // COSTORB is a free data retrieval call binding the contract method 0xb2ae9ba8. 13112 // 13113 // Solidity: function COST_ORB() constant returns(uint256) 13114 func (_RootChainStorage *RootChainStorageSession) COSTORB() (*big.Int, error) { 13115 return _RootChainStorage.Contract.COSTORB(&_RootChainStorage.CallOpts) 13116 } 13117 13118 // COSTORB is a free data retrieval call binding the contract method 0xb2ae9ba8. 13119 // 13120 // Solidity: function COST_ORB() constant returns(uint256) 13121 func (_RootChainStorage *RootChainStorageCallerSession) COSTORB() (*big.Int, error) { 13122 return _RootChainStorage.Contract.COSTORB(&_RootChainStorage.CallOpts) 13123 } 13124 13125 // COSTURB is a free data retrieval call binding the contract method 0x192adc5b. 13126 // 13127 // Solidity: function COST_URB() constant returns(uint256) 13128 func (_RootChainStorage *RootChainStorageCaller) COSTURB(opts *bind.CallOpts) (*big.Int, error) { 13129 var ( 13130 ret0 = new(*big.Int) 13131 ) 13132 out := ret0 13133 err := _RootChainStorage.contract.Call(opts, out, "COST_URB") 13134 return *ret0, err 13135 } 13136 13137 // COSTURB is a free data retrieval call binding the contract method 0x192adc5b. 13138 // 13139 // Solidity: function COST_URB() constant returns(uint256) 13140 func (_RootChainStorage *RootChainStorageSession) COSTURB() (*big.Int, error) { 13141 return _RootChainStorage.Contract.COSTURB(&_RootChainStorage.CallOpts) 13142 } 13143 13144 // COSTURB is a free data retrieval call binding the contract method 0x192adc5b. 13145 // 13146 // Solidity: function COST_URB() constant returns(uint256) 13147 func (_RootChainStorage *RootChainStorageCallerSession) COSTURB() (*big.Int, error) { 13148 return _RootChainStorage.Contract.COSTURB(&_RootChainStorage.CallOpts) 13149 } 13150 13151 // COSTURBPREPARE is a free data retrieval call binding the contract method 0x033cfbed. 13152 // 13153 // Solidity: function COST_URB_PREPARE() constant returns(uint256) 13154 func (_RootChainStorage *RootChainStorageCaller) COSTURBPREPARE(opts *bind.CallOpts) (*big.Int, error) { 13155 var ( 13156 ret0 = new(*big.Int) 13157 ) 13158 out := ret0 13159 err := _RootChainStorage.contract.Call(opts, out, "COST_URB_PREPARE") 13160 return *ret0, err 13161 } 13162 13163 // COSTURBPREPARE is a free data retrieval call binding the contract method 0x033cfbed. 13164 // 13165 // Solidity: function COST_URB_PREPARE() constant returns(uint256) 13166 func (_RootChainStorage *RootChainStorageSession) COSTURBPREPARE() (*big.Int, error) { 13167 return _RootChainStorage.Contract.COSTURBPREPARE(&_RootChainStorage.CallOpts) 13168 } 13169 13170 // COSTURBPREPARE is a free data retrieval call binding the contract method 0x033cfbed. 13171 // 13172 // Solidity: function COST_URB_PREPARE() constant returns(uint256) 13173 func (_RootChainStorage *RootChainStorageCallerSession) COSTURBPREPARE() (*big.Int, error) { 13174 return _RootChainStorage.Contract.COSTURBPREPARE(&_RootChainStorage.CallOpts) 13175 } 13176 13177 // CPCOMPUTATION is a free data retrieval call binding the contract method 0x08c4fff0. 13178 // 13179 // Solidity: function CP_COMPUTATION() constant returns(uint256) 13180 func (_RootChainStorage *RootChainStorageCaller) CPCOMPUTATION(opts *bind.CallOpts) (*big.Int, error) { 13181 var ( 13182 ret0 = new(*big.Int) 13183 ) 13184 out := ret0 13185 err := _RootChainStorage.contract.Call(opts, out, "CP_COMPUTATION") 13186 return *ret0, err 13187 } 13188 13189 // CPCOMPUTATION is a free data retrieval call binding the contract method 0x08c4fff0. 13190 // 13191 // Solidity: function CP_COMPUTATION() constant returns(uint256) 13192 func (_RootChainStorage *RootChainStorageSession) CPCOMPUTATION() (*big.Int, error) { 13193 return _RootChainStorage.Contract.CPCOMPUTATION(&_RootChainStorage.CallOpts) 13194 } 13195 13196 // CPCOMPUTATION is a free data retrieval call binding the contract method 0x08c4fff0. 13197 // 13198 // Solidity: function CP_COMPUTATION() constant returns(uint256) 13199 func (_RootChainStorage *RootChainStorageCallerSession) CPCOMPUTATION() (*big.Int, error) { 13200 return _RootChainStorage.Contract.CPCOMPUTATION(&_RootChainStorage.CallOpts) 13201 } 13202 13203 // CPEXIT is a free data retrieval call binding the contract method 0x8155717d. 13204 // 13205 // Solidity: function CP_EXIT() constant returns(uint256) 13206 func (_RootChainStorage *RootChainStorageCaller) CPEXIT(opts *bind.CallOpts) (*big.Int, error) { 13207 var ( 13208 ret0 = new(*big.Int) 13209 ) 13210 out := ret0 13211 err := _RootChainStorage.contract.Call(opts, out, "CP_EXIT") 13212 return *ret0, err 13213 } 13214 13215 // CPEXIT is a free data retrieval call binding the contract method 0x8155717d. 13216 // 13217 // Solidity: function CP_EXIT() constant returns(uint256) 13218 func (_RootChainStorage *RootChainStorageSession) CPEXIT() (*big.Int, error) { 13219 return _RootChainStorage.Contract.CPEXIT(&_RootChainStorage.CallOpts) 13220 } 13221 13222 // CPEXIT is a free data retrieval call binding the contract method 0x8155717d. 13223 // 13224 // Solidity: function CP_EXIT() constant returns(uint256) 13225 func (_RootChainStorage *RootChainStorageCallerSession) CPEXIT() (*big.Int, error) { 13226 return _RootChainStorage.Contract.CPEXIT(&_RootChainStorage.CallOpts) 13227 } 13228 13229 // CPWITHHOLDING is a free data retrieval call binding the contract method 0xb17fa6e9. 13230 // 13231 // Solidity: function CP_WITHHOLDING() constant returns(uint256) 13232 func (_RootChainStorage *RootChainStorageCaller) CPWITHHOLDING(opts *bind.CallOpts) (*big.Int, error) { 13233 var ( 13234 ret0 = new(*big.Int) 13235 ) 13236 out := ret0 13237 err := _RootChainStorage.contract.Call(opts, out, "CP_WITHHOLDING") 13238 return *ret0, err 13239 } 13240 13241 // CPWITHHOLDING is a free data retrieval call binding the contract method 0xb17fa6e9. 13242 // 13243 // Solidity: function CP_WITHHOLDING() constant returns(uint256) 13244 func (_RootChainStorage *RootChainStorageSession) CPWITHHOLDING() (*big.Int, error) { 13245 return _RootChainStorage.Contract.CPWITHHOLDING(&_RootChainStorage.CallOpts) 13246 } 13247 13248 // CPWITHHOLDING is a free data retrieval call binding the contract method 0xb17fa6e9. 13249 // 13250 // Solidity: function CP_WITHHOLDING() constant returns(uint256) 13251 func (_RootChainStorage *RootChainStorageCallerSession) CPWITHHOLDING() (*big.Int, error) { 13252 return _RootChainStorage.Contract.CPWITHHOLDING(&_RootChainStorage.CallOpts) 13253 } 13254 13255 // EROIdToFinalize is a free data retrieval call binding the contract method 0x2dc6bb7b. 13256 // 13257 // Solidity: function EROIdToFinalize() constant returns(uint256) 13258 func (_RootChainStorage *RootChainStorageCaller) EROIdToFinalize(opts *bind.CallOpts) (*big.Int, error) { 13259 var ( 13260 ret0 = new(*big.Int) 13261 ) 13262 out := ret0 13263 err := _RootChainStorage.contract.Call(opts, out, "EROIdToFinalize") 13264 return *ret0, err 13265 } 13266 13267 // EROIdToFinalize is a free data retrieval call binding the contract method 0x2dc6bb7b. 13268 // 13269 // Solidity: function EROIdToFinalize() constant returns(uint256) 13270 func (_RootChainStorage *RootChainStorageSession) EROIdToFinalize() (*big.Int, error) { 13271 return _RootChainStorage.Contract.EROIdToFinalize(&_RootChainStorage.CallOpts) 13272 } 13273 13274 // EROIdToFinalize is a free data retrieval call binding the contract method 0x2dc6bb7b. 13275 // 13276 // Solidity: function EROIdToFinalize() constant returns(uint256) 13277 func (_RootChainStorage *RootChainStorageCallerSession) EROIdToFinalize() (*big.Int, error) { 13278 return _RootChainStorage.Contract.EROIdToFinalize(&_RootChainStorage.CallOpts) 13279 } 13280 13281 // EROs is a free data retrieval call binding the contract method 0xb443f3cc. 13282 // 13283 // Solidity: function EROs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 13284 func (_RootChainStorage *RootChainStorageCaller) EROs(opts *bind.CallOpts, arg0 *big.Int) (struct { 13285 Timestamp uint64 13286 IsExit bool 13287 IsTransfer bool 13288 Finalized bool 13289 Challenged bool 13290 Value *big.Int 13291 Requestor common.Address 13292 To common.Address 13293 TrieKey [32]byte 13294 Hash [32]byte 13295 TrieValue []byte 13296 }, error) { 13297 ret := new(struct { 13298 Timestamp uint64 13299 IsExit bool 13300 IsTransfer bool 13301 Finalized bool 13302 Challenged bool 13303 Value *big.Int 13304 Requestor common.Address 13305 To common.Address 13306 TrieKey [32]byte 13307 Hash [32]byte 13308 TrieValue []byte 13309 }) 13310 out := ret 13311 err := _RootChainStorage.contract.Call(opts, out, "EROs", arg0) 13312 return *ret, err 13313 } 13314 13315 // EROs is a free data retrieval call binding the contract method 0xb443f3cc. 13316 // 13317 // Solidity: function EROs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 13318 func (_RootChainStorage *RootChainStorageSession) EROs(arg0 *big.Int) (struct { 13319 Timestamp uint64 13320 IsExit bool 13321 IsTransfer bool 13322 Finalized bool 13323 Challenged bool 13324 Value *big.Int 13325 Requestor common.Address 13326 To common.Address 13327 TrieKey [32]byte 13328 Hash [32]byte 13329 TrieValue []byte 13330 }, error) { 13331 return _RootChainStorage.Contract.EROs(&_RootChainStorage.CallOpts, arg0) 13332 } 13333 13334 // EROs is a free data retrieval call binding the contract method 0xb443f3cc. 13335 // 13336 // Solidity: function EROs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 13337 func (_RootChainStorage *RootChainStorageCallerSession) EROs(arg0 *big.Int) (struct { 13338 Timestamp uint64 13339 IsExit bool 13340 IsTransfer bool 13341 Finalized bool 13342 Challenged bool 13343 Value *big.Int 13344 Requestor common.Address 13345 To common.Address 13346 TrieKey [32]byte 13347 Hash [32]byte 13348 TrieValue []byte 13349 }, error) { 13350 return _RootChainStorage.Contract.EROs(&_RootChainStorage.CallOpts, arg0) 13351 } 13352 13353 // ERUIdToFinalize is a free data retrieval call binding the contract method 0xc54626cc. 13354 // 13355 // Solidity: function ERUIdToFinalize() constant returns(uint256) 13356 func (_RootChainStorage *RootChainStorageCaller) ERUIdToFinalize(opts *bind.CallOpts) (*big.Int, error) { 13357 var ( 13358 ret0 = new(*big.Int) 13359 ) 13360 out := ret0 13361 err := _RootChainStorage.contract.Call(opts, out, "ERUIdToFinalize") 13362 return *ret0, err 13363 } 13364 13365 // ERUIdToFinalize is a free data retrieval call binding the contract method 0xc54626cc. 13366 // 13367 // Solidity: function ERUIdToFinalize() constant returns(uint256) 13368 func (_RootChainStorage *RootChainStorageSession) ERUIdToFinalize() (*big.Int, error) { 13369 return _RootChainStorage.Contract.ERUIdToFinalize(&_RootChainStorage.CallOpts) 13370 } 13371 13372 // ERUIdToFinalize is a free data retrieval call binding the contract method 0xc54626cc. 13373 // 13374 // Solidity: function ERUIdToFinalize() constant returns(uint256) 13375 func (_RootChainStorage *RootChainStorageCallerSession) ERUIdToFinalize() (*big.Int, error) { 13376 return _RootChainStorage.Contract.ERUIdToFinalize(&_RootChainStorage.CallOpts) 13377 } 13378 13379 // ERUs is a free data retrieval call binding the contract method 0xf4f31de4. 13380 // 13381 // Solidity: function ERUs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 13382 func (_RootChainStorage *RootChainStorageCaller) ERUs(opts *bind.CallOpts, arg0 *big.Int) (struct { 13383 Timestamp uint64 13384 IsExit bool 13385 IsTransfer bool 13386 Finalized bool 13387 Challenged bool 13388 Value *big.Int 13389 Requestor common.Address 13390 To common.Address 13391 TrieKey [32]byte 13392 Hash [32]byte 13393 TrieValue []byte 13394 }, error) { 13395 ret := new(struct { 13396 Timestamp uint64 13397 IsExit bool 13398 IsTransfer bool 13399 Finalized bool 13400 Challenged bool 13401 Value *big.Int 13402 Requestor common.Address 13403 To common.Address 13404 TrieKey [32]byte 13405 Hash [32]byte 13406 TrieValue []byte 13407 }) 13408 out := ret 13409 err := _RootChainStorage.contract.Call(opts, out, "ERUs", arg0) 13410 return *ret, err 13411 } 13412 13413 // ERUs is a free data retrieval call binding the contract method 0xf4f31de4. 13414 // 13415 // Solidity: function ERUs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 13416 func (_RootChainStorage *RootChainStorageSession) ERUs(arg0 *big.Int) (struct { 13417 Timestamp uint64 13418 IsExit bool 13419 IsTransfer bool 13420 Finalized bool 13421 Challenged bool 13422 Value *big.Int 13423 Requestor common.Address 13424 To common.Address 13425 TrieKey [32]byte 13426 Hash [32]byte 13427 TrieValue []byte 13428 }, error) { 13429 return _RootChainStorage.Contract.ERUs(&_RootChainStorage.CallOpts, arg0) 13430 } 13431 13432 // ERUs is a free data retrieval call binding the contract method 0xf4f31de4. 13433 // 13434 // Solidity: function ERUs(uint256 ) constant returns(uint64 timestamp, bool isExit, bool isTransfer, bool finalized, bool challenged, uint128 value, address requestor, address to, bytes32 trieKey, bytes32 hash, bytes trieValue) 13435 func (_RootChainStorage *RootChainStorageCallerSession) ERUs(arg0 *big.Int) (struct { 13436 Timestamp uint64 13437 IsExit bool 13438 IsTransfer bool 13439 Finalized bool 13440 Challenged bool 13441 Value *big.Int 13442 Requestor common.Address 13443 To common.Address 13444 TrieKey [32]byte 13445 Hash [32]byte 13446 TrieValue []byte 13447 }, error) { 13448 return _RootChainStorage.Contract.ERUs(&_RootChainStorage.CallOpts, arg0) 13449 } 13450 13451 // NRELength is a free data retrieval call binding the contract method 0xab96da2d. 13452 // 13453 // Solidity: function NRELength() constant returns(uint256) 13454 func (_RootChainStorage *RootChainStorageCaller) NRELength(opts *bind.CallOpts) (*big.Int, error) { 13455 var ( 13456 ret0 = new(*big.Int) 13457 ) 13458 out := ret0 13459 err := _RootChainStorage.contract.Call(opts, out, "NRELength") 13460 return *ret0, err 13461 } 13462 13463 // NRELength is a free data retrieval call binding the contract method 0xab96da2d. 13464 // 13465 // Solidity: function NRELength() constant returns(uint256) 13466 func (_RootChainStorage *RootChainStorageSession) NRELength() (*big.Int, error) { 13467 return _RootChainStorage.Contract.NRELength(&_RootChainStorage.CallOpts) 13468 } 13469 13470 // NRELength is a free data retrieval call binding the contract method 0xab96da2d. 13471 // 13472 // Solidity: function NRELength() constant returns(uint256) 13473 func (_RootChainStorage *RootChainStorageCallerSession) NRELength() (*big.Int, error) { 13474 return _RootChainStorage.Contract.NRELength(&_RootChainStorage.CallOpts) 13475 } 13476 13477 // NULLADDRESS is a free data retrieval call binding the contract method 0xde0ce17d. 13478 // 13479 // Solidity: function NULL_ADDRESS() constant returns(address) 13480 func (_RootChainStorage *RootChainStorageCaller) NULLADDRESS(opts *bind.CallOpts) (common.Address, error) { 13481 var ( 13482 ret0 = new(common.Address) 13483 ) 13484 out := ret0 13485 err := _RootChainStorage.contract.Call(opts, out, "NULL_ADDRESS") 13486 return *ret0, err 13487 } 13488 13489 // NULLADDRESS is a free data retrieval call binding the contract method 0xde0ce17d. 13490 // 13491 // Solidity: function NULL_ADDRESS() constant returns(address) 13492 func (_RootChainStorage *RootChainStorageSession) NULLADDRESS() (common.Address, error) { 13493 return _RootChainStorage.Contract.NULLADDRESS(&_RootChainStorage.CallOpts) 13494 } 13495 13496 // NULLADDRESS is a free data retrieval call binding the contract method 0xde0ce17d. 13497 // 13498 // Solidity: function NULL_ADDRESS() constant returns(address) 13499 func (_RootChainStorage *RootChainStorageCallerSession) NULLADDRESS() (common.Address, error) { 13500 return _RootChainStorage.Contract.NULLADDRESS(&_RootChainStorage.CallOpts) 13501 } 13502 13503 // ORBs is a free data retrieval call binding the contract method 0xea7f22a8. 13504 // 13505 // Solidity: function ORBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 13506 func (_RootChainStorage *RootChainStorageCaller) ORBs(opts *bind.CallOpts, arg0 *big.Int) (struct { 13507 Submitted bool 13508 NumEnter uint64 13509 EpochNumber uint64 13510 RequestStart uint64 13511 RequestEnd uint64 13512 Trie common.Address 13513 }, error) { 13514 ret := new(struct { 13515 Submitted bool 13516 NumEnter uint64 13517 EpochNumber uint64 13518 RequestStart uint64 13519 RequestEnd uint64 13520 Trie common.Address 13521 }) 13522 out := ret 13523 err := _RootChainStorage.contract.Call(opts, out, "ORBs", arg0) 13524 return *ret, err 13525 } 13526 13527 // ORBs is a free data retrieval call binding the contract method 0xea7f22a8. 13528 // 13529 // Solidity: function ORBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 13530 func (_RootChainStorage *RootChainStorageSession) ORBs(arg0 *big.Int) (struct { 13531 Submitted bool 13532 NumEnter uint64 13533 EpochNumber uint64 13534 RequestStart uint64 13535 RequestEnd uint64 13536 Trie common.Address 13537 }, error) { 13538 return _RootChainStorage.Contract.ORBs(&_RootChainStorage.CallOpts, arg0) 13539 } 13540 13541 // ORBs is a free data retrieval call binding the contract method 0xea7f22a8. 13542 // 13543 // Solidity: function ORBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 13544 func (_RootChainStorage *RootChainStorageCallerSession) ORBs(arg0 *big.Int) (struct { 13545 Submitted bool 13546 NumEnter uint64 13547 EpochNumber uint64 13548 RequestStart uint64 13549 RequestEnd uint64 13550 Trie common.Address 13551 }, error) { 13552 return _RootChainStorage.Contract.ORBs(&_RootChainStorage.CallOpts, arg0) 13553 } 13554 13555 // PREPARETIMEOUT is a free data retrieval call binding the contract method 0xc2bc88fa. 13556 // 13557 // Solidity: function PREPARE_TIMEOUT() constant returns(uint256) 13558 func (_RootChainStorage *RootChainStorageCaller) PREPARETIMEOUT(opts *bind.CallOpts) (*big.Int, error) { 13559 var ( 13560 ret0 = new(*big.Int) 13561 ) 13562 out := ret0 13563 err := _RootChainStorage.contract.Call(opts, out, "PREPARE_TIMEOUT") 13564 return *ret0, err 13565 } 13566 13567 // PREPARETIMEOUT is a free data retrieval call binding the contract method 0xc2bc88fa. 13568 // 13569 // Solidity: function PREPARE_TIMEOUT() constant returns(uint256) 13570 func (_RootChainStorage *RootChainStorageSession) PREPARETIMEOUT() (*big.Int, error) { 13571 return _RootChainStorage.Contract.PREPARETIMEOUT(&_RootChainStorage.CallOpts) 13572 } 13573 13574 // PREPARETIMEOUT is a free data retrieval call binding the contract method 0xc2bc88fa. 13575 // 13576 // Solidity: function PREPARE_TIMEOUT() constant returns(uint256) 13577 func (_RootChainStorage *RootChainStorageCallerSession) PREPARETIMEOUT() (*big.Int, error) { 13578 return _RootChainStorage.Contract.PREPARETIMEOUT(&_RootChainStorage.CallOpts) 13579 } 13580 13581 // REQUESTGAS is a free data retrieval call binding the contract method 0x8eb288ca. 13582 // 13583 // Solidity: function REQUEST_GAS() constant returns(uint256) 13584 func (_RootChainStorage *RootChainStorageCaller) REQUESTGAS(opts *bind.CallOpts) (*big.Int, error) { 13585 var ( 13586 ret0 = new(*big.Int) 13587 ) 13588 out := ret0 13589 err := _RootChainStorage.contract.Call(opts, out, "REQUEST_GAS") 13590 return *ret0, err 13591 } 13592 13593 // REQUESTGAS is a free data retrieval call binding the contract method 0x8eb288ca. 13594 // 13595 // Solidity: function REQUEST_GAS() constant returns(uint256) 13596 func (_RootChainStorage *RootChainStorageSession) REQUESTGAS() (*big.Int, error) { 13597 return _RootChainStorage.Contract.REQUESTGAS(&_RootChainStorage.CallOpts) 13598 } 13599 13600 // REQUESTGAS is a free data retrieval call binding the contract method 0x8eb288ca. 13601 // 13602 // Solidity: function REQUEST_GAS() constant returns(uint256) 13603 func (_RootChainStorage *RootChainStorageCallerSession) REQUESTGAS() (*big.Int, error) { 13604 return _RootChainStorage.Contract.REQUESTGAS(&_RootChainStorage.CallOpts) 13605 } 13606 13607 // URBs is a free data retrieval call binding the contract method 0xc0e86064. 13608 // 13609 // Solidity: function URBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 13610 func (_RootChainStorage *RootChainStorageCaller) URBs(opts *bind.CallOpts, arg0 *big.Int) (struct { 13611 Submitted bool 13612 NumEnter uint64 13613 EpochNumber uint64 13614 RequestStart uint64 13615 RequestEnd uint64 13616 Trie common.Address 13617 }, error) { 13618 ret := new(struct { 13619 Submitted bool 13620 NumEnter uint64 13621 EpochNumber uint64 13622 RequestStart uint64 13623 RequestEnd uint64 13624 Trie common.Address 13625 }) 13626 out := ret 13627 err := _RootChainStorage.contract.Call(opts, out, "URBs", arg0) 13628 return *ret, err 13629 } 13630 13631 // URBs is a free data retrieval call binding the contract method 0xc0e86064. 13632 // 13633 // Solidity: function URBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 13634 func (_RootChainStorage *RootChainStorageSession) URBs(arg0 *big.Int) (struct { 13635 Submitted bool 13636 NumEnter uint64 13637 EpochNumber uint64 13638 RequestStart uint64 13639 RequestEnd uint64 13640 Trie common.Address 13641 }, error) { 13642 return _RootChainStorage.Contract.URBs(&_RootChainStorage.CallOpts, arg0) 13643 } 13644 13645 // URBs is a free data retrieval call binding the contract method 0xc0e86064. 13646 // 13647 // Solidity: function URBs(uint256 ) constant returns(bool submitted, uint64 numEnter, uint64 epochNumber, uint64 requestStart, uint64 requestEnd, address trie) 13648 func (_RootChainStorage *RootChainStorageCallerSession) URBs(arg0 *big.Int) (struct { 13649 Submitted bool 13650 NumEnter uint64 13651 EpochNumber uint64 13652 RequestStart uint64 13653 RequestEnd uint64 13654 Trie common.Address 13655 }, error) { 13656 return _RootChainStorage.Contract.URBs(&_RootChainStorage.CallOpts, arg0) 13657 } 13658 13659 // CurrentFork is a free data retrieval call binding the contract method 0x183d2d1c. 13660 // 13661 // Solidity: function currentFork() constant returns(uint256) 13662 func (_RootChainStorage *RootChainStorageCaller) CurrentFork(opts *bind.CallOpts) (*big.Int, error) { 13663 var ( 13664 ret0 = new(*big.Int) 13665 ) 13666 out := ret0 13667 err := _RootChainStorage.contract.Call(opts, out, "currentFork") 13668 return *ret0, err 13669 } 13670 13671 // CurrentFork is a free data retrieval call binding the contract method 0x183d2d1c. 13672 // 13673 // Solidity: function currentFork() constant returns(uint256) 13674 func (_RootChainStorage *RootChainStorageSession) CurrentFork() (*big.Int, error) { 13675 return _RootChainStorage.Contract.CurrentFork(&_RootChainStorage.CallOpts) 13676 } 13677 13678 // CurrentFork is a free data retrieval call binding the contract method 0x183d2d1c. 13679 // 13680 // Solidity: function currentFork() constant returns(uint256) 13681 func (_RootChainStorage *RootChainStorageCallerSession) CurrentFork() (*big.Int, error) { 13682 return _RootChainStorage.Contract.CurrentFork(&_RootChainStorage.CallOpts) 13683 } 13684 13685 // Development is a free data retrieval call binding the contract method 0x7b929c27. 13686 // 13687 // Solidity: function development() constant returns(bool) 13688 func (_RootChainStorage *RootChainStorageCaller) Development(opts *bind.CallOpts) (bool, error) { 13689 var ( 13690 ret0 = new(bool) 13691 ) 13692 out := ret0 13693 err := _RootChainStorage.contract.Call(opts, out, "development") 13694 return *ret0, err 13695 } 13696 13697 // Development is a free data retrieval call binding the contract method 0x7b929c27. 13698 // 13699 // Solidity: function development() constant returns(bool) 13700 func (_RootChainStorage *RootChainStorageSession) Development() (bool, error) { 13701 return _RootChainStorage.Contract.Development(&_RootChainStorage.CallOpts) 13702 } 13703 13704 // Development is a free data retrieval call binding the contract method 0x7b929c27. 13705 // 13706 // Solidity: function development() constant returns(bool) 13707 func (_RootChainStorage *RootChainStorageCallerSession) Development() (bool, error) { 13708 return _RootChainStorage.Contract.Development(&_RootChainStorage.CallOpts) 13709 } 13710 13711 // EpochHandler is a free data retrieval call binding the contract method 0xe7b88b80. 13712 // 13713 // Solidity: function epochHandler() constant returns(address) 13714 func (_RootChainStorage *RootChainStorageCaller) EpochHandler(opts *bind.CallOpts) (common.Address, error) { 13715 var ( 13716 ret0 = new(common.Address) 13717 ) 13718 out := ret0 13719 err := _RootChainStorage.contract.Call(opts, out, "epochHandler") 13720 return *ret0, err 13721 } 13722 13723 // EpochHandler is a free data retrieval call binding the contract method 0xe7b88b80. 13724 // 13725 // Solidity: function epochHandler() constant returns(address) 13726 func (_RootChainStorage *RootChainStorageSession) EpochHandler() (common.Address, error) { 13727 return _RootChainStorage.Contract.EpochHandler(&_RootChainStorage.CallOpts) 13728 } 13729 13730 // EpochHandler is a free data retrieval call binding the contract method 0xe7b88b80. 13731 // 13732 // Solidity: function epochHandler() constant returns(address) 13733 func (_RootChainStorage *RootChainStorageCallerSession) EpochHandler() (common.Address, error) { 13734 return _RootChainStorage.Contract.EpochHandler(&_RootChainStorage.CallOpts) 13735 } 13736 13737 // EtherToken is a free data retrieval call binding the contract method 0xb8066bcb. 13738 // 13739 // Solidity: function etherToken() constant returns(address) 13740 func (_RootChainStorage *RootChainStorageCaller) EtherToken(opts *bind.CallOpts) (common.Address, error) { 13741 var ( 13742 ret0 = new(common.Address) 13743 ) 13744 out := ret0 13745 err := _RootChainStorage.contract.Call(opts, out, "etherToken") 13746 return *ret0, err 13747 } 13748 13749 // EtherToken is a free data retrieval call binding the contract method 0xb8066bcb. 13750 // 13751 // Solidity: function etherToken() constant returns(address) 13752 func (_RootChainStorage *RootChainStorageSession) EtherToken() (common.Address, error) { 13753 return _RootChainStorage.Contract.EtherToken(&_RootChainStorage.CallOpts) 13754 } 13755 13756 // EtherToken is a free data retrieval call binding the contract method 0xb8066bcb. 13757 // 13758 // Solidity: function etherToken() constant returns(address) 13759 func (_RootChainStorage *RootChainStorageCallerSession) EtherToken() (common.Address, error) { 13760 return _RootChainStorage.Contract.EtherToken(&_RootChainStorage.CallOpts) 13761 } 13762 13763 // FirstFilledORENumber is a free data retrieval call binding the contract method 0x72ecb9a8. 13764 // 13765 // Solidity: function firstFilledORENumber(uint256 ) constant returns(uint256) 13766 func (_RootChainStorage *RootChainStorageCaller) FirstFilledORENumber(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { 13767 var ( 13768 ret0 = new(*big.Int) 13769 ) 13770 out := ret0 13771 err := _RootChainStorage.contract.Call(opts, out, "firstFilledORENumber", arg0) 13772 return *ret0, err 13773 } 13774 13775 // FirstFilledORENumber is a free data retrieval call binding the contract method 0x72ecb9a8. 13776 // 13777 // Solidity: function firstFilledORENumber(uint256 ) constant returns(uint256) 13778 func (_RootChainStorage *RootChainStorageSession) FirstFilledORENumber(arg0 *big.Int) (*big.Int, error) { 13779 return _RootChainStorage.Contract.FirstFilledORENumber(&_RootChainStorage.CallOpts, arg0) 13780 } 13781 13782 // FirstFilledORENumber is a free data retrieval call binding the contract method 0x72ecb9a8. 13783 // 13784 // Solidity: function firstFilledORENumber(uint256 ) constant returns(uint256) 13785 func (_RootChainStorage *RootChainStorageCallerSession) FirstFilledORENumber(arg0 *big.Int) (*big.Int, error) { 13786 return _RootChainStorage.Contract.FirstFilledORENumber(&_RootChainStorage.CallOpts, arg0) 13787 } 13788 13789 // FirstNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xca6f6380. 13790 // 13791 // Solidity: function firstNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 13792 func (_RootChainStorage *RootChainStorageCaller) FirstNonEmptyRequestEpoch(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { 13793 var ( 13794 ret0 = new(*big.Int) 13795 ) 13796 out := ret0 13797 err := _RootChainStorage.contract.Call(opts, out, "firstNonEmptyRequestEpoch", arg0) 13798 return *ret0, err 13799 } 13800 13801 // FirstNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xca6f6380. 13802 // 13803 // Solidity: function firstNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 13804 func (_RootChainStorage *RootChainStorageSession) FirstNonEmptyRequestEpoch(arg0 *big.Int) (*big.Int, error) { 13805 return _RootChainStorage.Contract.FirstNonEmptyRequestEpoch(&_RootChainStorage.CallOpts, arg0) 13806 } 13807 13808 // FirstNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xca6f6380. 13809 // 13810 // Solidity: function firstNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 13811 func (_RootChainStorage *RootChainStorageCallerSession) FirstNonEmptyRequestEpoch(arg0 *big.Int) (*big.Int, error) { 13812 return _RootChainStorage.Contract.FirstNonEmptyRequestEpoch(&_RootChainStorage.CallOpts, arg0) 13813 } 13814 13815 // Forks is a free data retrieval call binding the contract method 0x4ba3a126. 13816 // 13817 // Solidity: function forks(uint256 ) constant returns(uint64 forkedBlock, uint64 firstEpoch, uint64 lastEpoch, uint64 firstBlock, uint64 lastBlock, uint64 lastFinalizedEpoch, uint64 lastFinalizedBlock, uint64 timestamp, uint64 firstEnterEpoch, uint64 lastEnterEpoch, uint64 nextBlockToRebase, bool rebased) 13818 func (_RootChainStorage *RootChainStorageCaller) Forks(opts *bind.CallOpts, arg0 *big.Int) (struct { 13819 ForkedBlock uint64 13820 FirstEpoch uint64 13821 LastEpoch uint64 13822 FirstBlock uint64 13823 LastBlock uint64 13824 LastFinalizedEpoch uint64 13825 LastFinalizedBlock uint64 13826 Timestamp uint64 13827 FirstEnterEpoch uint64 13828 LastEnterEpoch uint64 13829 NextBlockToRebase uint64 13830 Rebased bool 13831 }, error) { 13832 ret := new(struct { 13833 ForkedBlock uint64 13834 FirstEpoch uint64 13835 LastEpoch uint64 13836 FirstBlock uint64 13837 LastBlock uint64 13838 LastFinalizedEpoch uint64 13839 LastFinalizedBlock uint64 13840 Timestamp uint64 13841 FirstEnterEpoch uint64 13842 LastEnterEpoch uint64 13843 NextBlockToRebase uint64 13844 Rebased bool 13845 }) 13846 out := ret 13847 err := _RootChainStorage.contract.Call(opts, out, "forks", arg0) 13848 return *ret, err 13849 } 13850 13851 // Forks is a free data retrieval call binding the contract method 0x4ba3a126. 13852 // 13853 // Solidity: function forks(uint256 ) constant returns(uint64 forkedBlock, uint64 firstEpoch, uint64 lastEpoch, uint64 firstBlock, uint64 lastBlock, uint64 lastFinalizedEpoch, uint64 lastFinalizedBlock, uint64 timestamp, uint64 firstEnterEpoch, uint64 lastEnterEpoch, uint64 nextBlockToRebase, bool rebased) 13854 func (_RootChainStorage *RootChainStorageSession) Forks(arg0 *big.Int) (struct { 13855 ForkedBlock uint64 13856 FirstEpoch uint64 13857 LastEpoch uint64 13858 FirstBlock uint64 13859 LastBlock uint64 13860 LastFinalizedEpoch uint64 13861 LastFinalizedBlock uint64 13862 Timestamp uint64 13863 FirstEnterEpoch uint64 13864 LastEnterEpoch uint64 13865 NextBlockToRebase uint64 13866 Rebased bool 13867 }, error) { 13868 return _RootChainStorage.Contract.Forks(&_RootChainStorage.CallOpts, arg0) 13869 } 13870 13871 // Forks is a free data retrieval call binding the contract method 0x4ba3a126. 13872 // 13873 // Solidity: function forks(uint256 ) constant returns(uint64 forkedBlock, uint64 firstEpoch, uint64 lastEpoch, uint64 firstBlock, uint64 lastBlock, uint64 lastFinalizedEpoch, uint64 lastFinalizedBlock, uint64 timestamp, uint64 firstEnterEpoch, uint64 lastEnterEpoch, uint64 nextBlockToRebase, bool rebased) 13874 func (_RootChainStorage *RootChainStorageCallerSession) Forks(arg0 *big.Int) (struct { 13875 ForkedBlock uint64 13876 FirstEpoch uint64 13877 LastEpoch uint64 13878 FirstBlock uint64 13879 LastBlock uint64 13880 LastFinalizedEpoch uint64 13881 LastFinalizedBlock uint64 13882 Timestamp uint64 13883 FirstEnterEpoch uint64 13884 LastEnterEpoch uint64 13885 NextBlockToRebase uint64 13886 Rebased bool 13887 }, error) { 13888 return _RootChainStorage.Contract.Forks(&_RootChainStorage.CallOpts, arg0) 13889 } 13890 13891 // IsRootChain is a free data retrieval call binding the contract method 0x420bb4b8. 13892 // 13893 // Solidity: function isRootChain() constant returns(bool) 13894 func (_RootChainStorage *RootChainStorageCaller) IsRootChain(opts *bind.CallOpts) (bool, error) { 13895 var ( 13896 ret0 = new(bool) 13897 ) 13898 out := ret0 13899 err := _RootChainStorage.contract.Call(opts, out, "isRootChain") 13900 return *ret0, err 13901 } 13902 13903 // IsRootChain is a free data retrieval call binding the contract method 0x420bb4b8. 13904 // 13905 // Solidity: function isRootChain() constant returns(bool) 13906 func (_RootChainStorage *RootChainStorageSession) IsRootChain() (bool, error) { 13907 return _RootChainStorage.Contract.IsRootChain(&_RootChainStorage.CallOpts) 13908 } 13909 13910 // IsRootChain is a free data retrieval call binding the contract method 0x420bb4b8. 13911 // 13912 // Solidity: function isRootChain() constant returns(bool) 13913 func (_RootChainStorage *RootChainStorageCallerSession) IsRootChain() (bool, error) { 13914 return _RootChainStorage.Contract.IsRootChain(&_RootChainStorage.CallOpts) 13915 } 13916 13917 // LastAppliedBlockNumber is a free data retrieval call binding the contract method 0xfb788a27. 13918 // 13919 // Solidity: function lastAppliedBlockNumber() constant returns(uint256) 13920 func (_RootChainStorage *RootChainStorageCaller) LastAppliedBlockNumber(opts *bind.CallOpts) (*big.Int, error) { 13921 var ( 13922 ret0 = new(*big.Int) 13923 ) 13924 out := ret0 13925 err := _RootChainStorage.contract.Call(opts, out, "lastAppliedBlockNumber") 13926 return *ret0, err 13927 } 13928 13929 // LastAppliedBlockNumber is a free data retrieval call binding the contract method 0xfb788a27. 13930 // 13931 // Solidity: function lastAppliedBlockNumber() constant returns(uint256) 13932 func (_RootChainStorage *RootChainStorageSession) LastAppliedBlockNumber() (*big.Int, error) { 13933 return _RootChainStorage.Contract.LastAppliedBlockNumber(&_RootChainStorage.CallOpts) 13934 } 13935 13936 // LastAppliedBlockNumber is a free data retrieval call binding the contract method 0xfb788a27. 13937 // 13938 // Solidity: function lastAppliedBlockNumber() constant returns(uint256) 13939 func (_RootChainStorage *RootChainStorageCallerSession) LastAppliedBlockNumber() (*big.Int, error) { 13940 return _RootChainStorage.Contract.LastAppliedBlockNumber(&_RootChainStorage.CallOpts) 13941 } 13942 13943 // LastAppliedEpochNumber is a free data retrieval call binding the contract method 0xc8ad329f. 13944 // 13945 // Solidity: function lastAppliedEpochNumber() constant returns(uint256) 13946 func (_RootChainStorage *RootChainStorageCaller) LastAppliedEpochNumber(opts *bind.CallOpts) (*big.Int, error) { 13947 var ( 13948 ret0 = new(*big.Int) 13949 ) 13950 out := ret0 13951 err := _RootChainStorage.contract.Call(opts, out, "lastAppliedEpochNumber") 13952 return *ret0, err 13953 } 13954 13955 // LastAppliedEpochNumber is a free data retrieval call binding the contract method 0xc8ad329f. 13956 // 13957 // Solidity: function lastAppliedEpochNumber() constant returns(uint256) 13958 func (_RootChainStorage *RootChainStorageSession) LastAppliedEpochNumber() (*big.Int, error) { 13959 return _RootChainStorage.Contract.LastAppliedEpochNumber(&_RootChainStorage.CallOpts) 13960 } 13961 13962 // LastAppliedEpochNumber is a free data retrieval call binding the contract method 0xc8ad329f. 13963 // 13964 // Solidity: function lastAppliedEpochNumber() constant returns(uint256) 13965 func (_RootChainStorage *RootChainStorageCallerSession) LastAppliedEpochNumber() (*big.Int, error) { 13966 return _RootChainStorage.Contract.LastAppliedEpochNumber(&_RootChainStorage.CallOpts) 13967 } 13968 13969 // LastAppliedForkNumber is a free data retrieval call binding the contract method 0x164bc2ae. 13970 // 13971 // Solidity: function lastAppliedForkNumber() constant returns(uint256) 13972 func (_RootChainStorage *RootChainStorageCaller) LastAppliedForkNumber(opts *bind.CallOpts) (*big.Int, error) { 13973 var ( 13974 ret0 = new(*big.Int) 13975 ) 13976 out := ret0 13977 err := _RootChainStorage.contract.Call(opts, out, "lastAppliedForkNumber") 13978 return *ret0, err 13979 } 13980 13981 // LastAppliedForkNumber is a free data retrieval call binding the contract method 0x164bc2ae. 13982 // 13983 // Solidity: function lastAppliedForkNumber() constant returns(uint256) 13984 func (_RootChainStorage *RootChainStorageSession) LastAppliedForkNumber() (*big.Int, error) { 13985 return _RootChainStorage.Contract.LastAppliedForkNumber(&_RootChainStorage.CallOpts) 13986 } 13987 13988 // LastAppliedForkNumber is a free data retrieval call binding the contract method 0x164bc2ae. 13989 // 13990 // Solidity: function lastAppliedForkNumber() constant returns(uint256) 13991 func (_RootChainStorage *RootChainStorageCallerSession) LastAppliedForkNumber() (*big.Int, error) { 13992 return _RootChainStorage.Contract.LastAppliedForkNumber(&_RootChainStorage.CallOpts) 13993 } 13994 13995 // LastNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xb6715647. 13996 // 13997 // Solidity: function lastNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 13998 func (_RootChainStorage *RootChainStorageCaller) LastNonEmptyRequestEpoch(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { 13999 var ( 14000 ret0 = new(*big.Int) 14001 ) 14002 out := ret0 14003 err := _RootChainStorage.contract.Call(opts, out, "lastNonEmptyRequestEpoch", arg0) 14004 return *ret0, err 14005 } 14006 14007 // LastNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xb6715647. 14008 // 14009 // Solidity: function lastNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 14010 func (_RootChainStorage *RootChainStorageSession) LastNonEmptyRequestEpoch(arg0 *big.Int) (*big.Int, error) { 14011 return _RootChainStorage.Contract.LastNonEmptyRequestEpoch(&_RootChainStorage.CallOpts, arg0) 14012 } 14013 14014 // LastNonEmptyRequestEpoch is a free data retrieval call binding the contract method 0xb6715647. 14015 // 14016 // Solidity: function lastNonEmptyRequestEpoch(uint256 ) constant returns(uint256) 14017 func (_RootChainStorage *RootChainStorageCallerSession) LastNonEmptyRequestEpoch(arg0 *big.Int) (*big.Int, error) { 14018 return _RootChainStorage.Contract.LastNonEmptyRequestEpoch(&_RootChainStorage.CallOpts, arg0) 14019 } 14020 14021 // NumEnterForORB is a free data retrieval call binding the contract method 0x23691566. 14022 // 14023 // Solidity: function numEnterForORB() constant returns(uint256) 14024 func (_RootChainStorage *RootChainStorageCaller) NumEnterForORB(opts *bind.CallOpts) (*big.Int, error) { 14025 var ( 14026 ret0 = new(*big.Int) 14027 ) 14028 out := ret0 14029 err := _RootChainStorage.contract.Call(opts, out, "numEnterForORB") 14030 return *ret0, err 14031 } 14032 14033 // NumEnterForORB is a free data retrieval call binding the contract method 0x23691566. 14034 // 14035 // Solidity: function numEnterForORB() constant returns(uint256) 14036 func (_RootChainStorage *RootChainStorageSession) NumEnterForORB() (*big.Int, error) { 14037 return _RootChainStorage.Contract.NumEnterForORB(&_RootChainStorage.CallOpts) 14038 } 14039 14040 // NumEnterForORB is a free data retrieval call binding the contract method 0x23691566. 14041 // 14042 // Solidity: function numEnterForORB() constant returns(uint256) 14043 func (_RootChainStorage *RootChainStorageCallerSession) NumEnterForORB() (*big.Int, error) { 14044 return _RootChainStorage.Contract.NumEnterForORB(&_RootChainStorage.CallOpts) 14045 } 14046 14047 // Operator is a free data retrieval call binding the contract method 0x570ca735. 14048 // 14049 // Solidity: function operator() constant returns(address) 14050 func (_RootChainStorage *RootChainStorageCaller) Operator(opts *bind.CallOpts) (common.Address, error) { 14051 var ( 14052 ret0 = new(common.Address) 14053 ) 14054 out := ret0 14055 err := _RootChainStorage.contract.Call(opts, out, "operator") 14056 return *ret0, err 14057 } 14058 14059 // Operator is a free data retrieval call binding the contract method 0x570ca735. 14060 // 14061 // Solidity: function operator() constant returns(address) 14062 func (_RootChainStorage *RootChainStorageSession) Operator() (common.Address, error) { 14063 return _RootChainStorage.Contract.Operator(&_RootChainStorage.CallOpts) 14064 } 14065 14066 // Operator is a free data retrieval call binding the contract method 0x570ca735. 14067 // 14068 // Solidity: function operator() constant returns(address) 14069 func (_RootChainStorage *RootChainStorageCallerSession) Operator() (common.Address, error) { 14070 return _RootChainStorage.Contract.Operator(&_RootChainStorage.CallOpts) 14071 } 14072 14073 // RequestableContracts is a free data retrieval call binding the contract method 0xda0185f8. 14074 // 14075 // Solidity: function requestableContracts(address ) constant returns(address) 14076 func (_RootChainStorage *RootChainStorageCaller) RequestableContracts(opts *bind.CallOpts, arg0 common.Address) (common.Address, error) { 14077 var ( 14078 ret0 = new(common.Address) 14079 ) 14080 out := ret0 14081 err := _RootChainStorage.contract.Call(opts, out, "requestableContracts", arg0) 14082 return *ret0, err 14083 } 14084 14085 // RequestableContracts is a free data retrieval call binding the contract method 0xda0185f8. 14086 // 14087 // Solidity: function requestableContracts(address ) constant returns(address) 14088 func (_RootChainStorage *RootChainStorageSession) RequestableContracts(arg0 common.Address) (common.Address, error) { 14089 return _RootChainStorage.Contract.RequestableContracts(&_RootChainStorage.CallOpts, arg0) 14090 } 14091 14092 // RequestableContracts is a free data retrieval call binding the contract method 0xda0185f8. 14093 // 14094 // Solidity: function requestableContracts(address ) constant returns(address) 14095 func (_RootChainStorage *RootChainStorageCallerSession) RequestableContracts(arg0 common.Address) (common.Address, error) { 14096 return _RootChainStorage.Contract.RequestableContracts(&_RootChainStorage.CallOpts, arg0) 14097 } 14098 14099 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 14100 // 14101 // Solidity: function seigManager() constant returns(address) 14102 func (_RootChainStorage *RootChainStorageCaller) SeigManager(opts *bind.CallOpts) (common.Address, error) { 14103 var ( 14104 ret0 = new(common.Address) 14105 ) 14106 out := ret0 14107 err := _RootChainStorage.contract.Call(opts, out, "seigManager") 14108 return *ret0, err 14109 } 14110 14111 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 14112 // 14113 // Solidity: function seigManager() constant returns(address) 14114 func (_RootChainStorage *RootChainStorageSession) SeigManager() (common.Address, error) { 14115 return _RootChainStorage.Contract.SeigManager(&_RootChainStorage.CallOpts) 14116 } 14117 14118 // SeigManager is a free data retrieval call binding the contract method 0x6fb7f558. 14119 // 14120 // Solidity: function seigManager() constant returns(address) 14121 func (_RootChainStorage *RootChainStorageCallerSession) SeigManager() (common.Address, error) { 14122 return _RootChainStorage.Contract.SeigManager(&_RootChainStorage.CallOpts) 14123 } 14124 14125 // SubmitHandler is a free data retrieval call binding the contract method 0xe259faf7. 14126 // 14127 // Solidity: function submitHandler() constant returns(address) 14128 func (_RootChainStorage *RootChainStorageCaller) SubmitHandler(opts *bind.CallOpts) (common.Address, error) { 14129 var ( 14130 ret0 = new(common.Address) 14131 ) 14132 out := ret0 14133 err := _RootChainStorage.contract.Call(opts, out, "submitHandler") 14134 return *ret0, err 14135 } 14136 14137 // SubmitHandler is a free data retrieval call binding the contract method 0xe259faf7. 14138 // 14139 // Solidity: function submitHandler() constant returns(address) 14140 func (_RootChainStorage *RootChainStorageSession) SubmitHandler() (common.Address, error) { 14141 return _RootChainStorage.Contract.SubmitHandler(&_RootChainStorage.CallOpts) 14142 } 14143 14144 // SubmitHandler is a free data retrieval call binding the contract method 0xe259faf7. 14145 // 14146 // Solidity: function submitHandler() constant returns(address) 14147 func (_RootChainStorage *RootChainStorageCallerSession) SubmitHandler() (common.Address, error) { 14148 return _RootChainStorage.Contract.SubmitHandler(&_RootChainStorage.CallOpts) 14149 } 14150 14151 // SafeMathABI is the input ABI used to generate the binding from. 14152 const SafeMathABI = "[]" 14153 14154 // SafeMathBin is the compiled bytecode used for deploying new contracts. 14155 var SafeMathBin = "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582081abea5b57eb862cc535e559557e86893bc93410acfd1b3122d48a2c0cdee52a64736f6c634300050c0032" 14156 14157 // DeploySafeMath deploys a new Ethereum contract, binding an instance of SafeMath to it. 14158 func DeploySafeMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SafeMath, error) { 14159 parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) 14160 if err != nil { 14161 return common.Address{}, nil, nil, err 14162 } 14163 14164 address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(SafeMathBin), backend) 14165 if err != nil { 14166 return common.Address{}, nil, nil, err 14167 } 14168 return address, tx, &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 14169 } 14170 14171 // SafeMath is an auto generated Go binding around an Ethereum contract. 14172 type SafeMath struct { 14173 SafeMathCaller // Read-only binding to the contract 14174 SafeMathTransactor // Write-only binding to the contract 14175 SafeMathFilterer // Log filterer for contract events 14176 } 14177 14178 // SafeMathCaller is an auto generated read-only Go binding around an Ethereum contract. 14179 type SafeMathCaller struct { 14180 contract *bind.BoundContract // Generic contract wrapper for the low level calls 14181 } 14182 14183 // SafeMathTransactor is an auto generated write-only Go binding around an Ethereum contract. 14184 type SafeMathTransactor struct { 14185 contract *bind.BoundContract // Generic contract wrapper for the low level calls 14186 } 14187 14188 // SafeMathFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 14189 type SafeMathFilterer struct { 14190 contract *bind.BoundContract // Generic contract wrapper for the low level calls 14191 } 14192 14193 // SafeMathSession is an auto generated Go binding around an Ethereum contract, 14194 // with pre-set call and transact options. 14195 type SafeMathSession struct { 14196 Contract *SafeMath // Generic contract binding to set the session for 14197 CallOpts bind.CallOpts // Call options to use throughout this session 14198 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 14199 } 14200 14201 // SafeMathCallerSession is an auto generated read-only Go binding around an Ethereum contract, 14202 // with pre-set call options. 14203 type SafeMathCallerSession struct { 14204 Contract *SafeMathCaller // Generic contract caller binding to set the session for 14205 CallOpts bind.CallOpts // Call options to use throughout this session 14206 } 14207 14208 // SafeMathTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 14209 // with pre-set transact options. 14210 type SafeMathTransactorSession struct { 14211 Contract *SafeMathTransactor // Generic contract transactor binding to set the session for 14212 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 14213 } 14214 14215 // SafeMathRaw is an auto generated low-level Go binding around an Ethereum contract. 14216 type SafeMathRaw struct { 14217 Contract *SafeMath // Generic contract binding to access the raw methods on 14218 } 14219 14220 // SafeMathCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 14221 type SafeMathCallerRaw struct { 14222 Contract *SafeMathCaller // Generic read-only contract binding to access the raw methods on 14223 } 14224 14225 // SafeMathTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 14226 type SafeMathTransactorRaw struct { 14227 Contract *SafeMathTransactor // Generic write-only contract binding to access the raw methods on 14228 } 14229 14230 // NewSafeMath creates a new instance of SafeMath, bound to a specific deployed contract. 14231 func NewSafeMath(address common.Address, backend bind.ContractBackend) (*SafeMath, error) { 14232 contract, err := bindSafeMath(address, backend, backend, backend) 14233 if err != nil { 14234 return nil, err 14235 } 14236 return &SafeMath{SafeMathCaller: SafeMathCaller{contract: contract}, SafeMathTransactor: SafeMathTransactor{contract: contract}, SafeMathFilterer: SafeMathFilterer{contract: contract}}, nil 14237 } 14238 14239 // NewSafeMathCaller creates a new read-only instance of SafeMath, bound to a specific deployed contract. 14240 func NewSafeMathCaller(address common.Address, caller bind.ContractCaller) (*SafeMathCaller, error) { 14241 contract, err := bindSafeMath(address, caller, nil, nil) 14242 if err != nil { 14243 return nil, err 14244 } 14245 return &SafeMathCaller{contract: contract}, nil 14246 } 14247 14248 // NewSafeMathTransactor creates a new write-only instance of SafeMath, bound to a specific deployed contract. 14249 func NewSafeMathTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeMathTransactor, error) { 14250 contract, err := bindSafeMath(address, nil, transactor, nil) 14251 if err != nil { 14252 return nil, err 14253 } 14254 return &SafeMathTransactor{contract: contract}, nil 14255 } 14256 14257 // NewSafeMathFilterer creates a new log filterer instance of SafeMath, bound to a specific deployed contract. 14258 func NewSafeMathFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeMathFilterer, error) { 14259 contract, err := bindSafeMath(address, nil, nil, filterer) 14260 if err != nil { 14261 return nil, err 14262 } 14263 return &SafeMathFilterer{contract: contract}, nil 14264 } 14265 14266 // bindSafeMath binds a generic wrapper to an already deployed contract. 14267 func bindSafeMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 14268 parsed, err := abi.JSON(strings.NewReader(SafeMathABI)) 14269 if err != nil { 14270 return nil, err 14271 } 14272 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 14273 } 14274 14275 // Call invokes the (constant) contract method with params as input values and 14276 // sets the output to result. The result type might be a single field for simple 14277 // returns, a slice of interfaces for anonymous returns and a struct for named 14278 // returns. 14279 func (_SafeMath *SafeMathRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 14280 return _SafeMath.Contract.SafeMathCaller.contract.Call(opts, result, method, params...) 14281 } 14282 14283 // Transfer initiates a plain transaction to move funds to the contract, calling 14284 // its default method if one is available. 14285 func (_SafeMath *SafeMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 14286 return _SafeMath.Contract.SafeMathTransactor.contract.Transfer(opts) 14287 } 14288 14289 // Transact invokes the (paid) contract method with params as input values. 14290 func (_SafeMath *SafeMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 14291 return _SafeMath.Contract.SafeMathTransactor.contract.Transact(opts, method, params...) 14292 } 14293 14294 // Call invokes the (constant) contract method with params as input values and 14295 // sets the output to result. The result type might be a single field for simple 14296 // returns, a slice of interfaces for anonymous returns and a struct for named 14297 // returns. 14298 func (_SafeMath *SafeMathCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 14299 return _SafeMath.Contract.contract.Call(opts, result, method, params...) 14300 } 14301 14302 // Transfer initiates a plain transaction to move funds to the contract, calling 14303 // its default method if one is available. 14304 func (_SafeMath *SafeMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 14305 return _SafeMath.Contract.contract.Transfer(opts) 14306 } 14307 14308 // Transact invokes the (paid) contract method with params as input values. 14309 func (_SafeMath *SafeMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 14310 return _SafeMath.Contract.contract.Transact(opts, method, params...) 14311 } 14312 14313 // SubmitterRoleABI is the input ABI used to generate the binding from. 14314 const SubmitterRoleABI = "[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"SubmitterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"SubmitterRemoved\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addSubmitter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isSubmitter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceSubmitter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]" 14315 14316 // SubmitterRoleFuncSigs maps the 4-byte function signature to its string representation. 14317 var SubmitterRoleFuncSigs = map[string]string{ 14318 "072900f9": "addSubmitter(address)", 14319 "a926fdbc": "isSubmitter(address)", 14320 "5e0ca71b": "renounceSubmitter()", 14321 } 14322 14323 // SubmitterRole is an auto generated Go binding around an Ethereum contract. 14324 type SubmitterRole struct { 14325 SubmitterRoleCaller // Read-only binding to the contract 14326 SubmitterRoleTransactor // Write-only binding to the contract 14327 SubmitterRoleFilterer // Log filterer for contract events 14328 } 14329 14330 // SubmitterRoleCaller is an auto generated read-only Go binding around an Ethereum contract. 14331 type SubmitterRoleCaller struct { 14332 contract *bind.BoundContract // Generic contract wrapper for the low level calls 14333 } 14334 14335 // SubmitterRoleTransactor is an auto generated write-only Go binding around an Ethereum contract. 14336 type SubmitterRoleTransactor struct { 14337 contract *bind.BoundContract // Generic contract wrapper for the low level calls 14338 } 14339 14340 // SubmitterRoleFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 14341 type SubmitterRoleFilterer struct { 14342 contract *bind.BoundContract // Generic contract wrapper for the low level calls 14343 } 14344 14345 // SubmitterRoleSession is an auto generated Go binding around an Ethereum contract, 14346 // with pre-set call and transact options. 14347 type SubmitterRoleSession struct { 14348 Contract *SubmitterRole // Generic contract binding to set the session for 14349 CallOpts bind.CallOpts // Call options to use throughout this session 14350 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 14351 } 14352 14353 // SubmitterRoleCallerSession is an auto generated read-only Go binding around an Ethereum contract, 14354 // with pre-set call options. 14355 type SubmitterRoleCallerSession struct { 14356 Contract *SubmitterRoleCaller // Generic contract caller binding to set the session for 14357 CallOpts bind.CallOpts // Call options to use throughout this session 14358 } 14359 14360 // SubmitterRoleTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 14361 // with pre-set transact options. 14362 type SubmitterRoleTransactorSession struct { 14363 Contract *SubmitterRoleTransactor // Generic contract transactor binding to set the session for 14364 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 14365 } 14366 14367 // SubmitterRoleRaw is an auto generated low-level Go binding around an Ethereum contract. 14368 type SubmitterRoleRaw struct { 14369 Contract *SubmitterRole // Generic contract binding to access the raw methods on 14370 } 14371 14372 // SubmitterRoleCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 14373 type SubmitterRoleCallerRaw struct { 14374 Contract *SubmitterRoleCaller // Generic read-only contract binding to access the raw methods on 14375 } 14376 14377 // SubmitterRoleTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 14378 type SubmitterRoleTransactorRaw struct { 14379 Contract *SubmitterRoleTransactor // Generic write-only contract binding to access the raw methods on 14380 } 14381 14382 // NewSubmitterRole creates a new instance of SubmitterRole, bound to a specific deployed contract. 14383 func NewSubmitterRole(address common.Address, backend bind.ContractBackend) (*SubmitterRole, error) { 14384 contract, err := bindSubmitterRole(address, backend, backend, backend) 14385 if err != nil { 14386 return nil, err 14387 } 14388 return &SubmitterRole{SubmitterRoleCaller: SubmitterRoleCaller{contract: contract}, SubmitterRoleTransactor: SubmitterRoleTransactor{contract: contract}, SubmitterRoleFilterer: SubmitterRoleFilterer{contract: contract}}, nil 14389 } 14390 14391 // NewSubmitterRoleCaller creates a new read-only instance of SubmitterRole, bound to a specific deployed contract. 14392 func NewSubmitterRoleCaller(address common.Address, caller bind.ContractCaller) (*SubmitterRoleCaller, error) { 14393 contract, err := bindSubmitterRole(address, caller, nil, nil) 14394 if err != nil { 14395 return nil, err 14396 } 14397 return &SubmitterRoleCaller{contract: contract}, nil 14398 } 14399 14400 // NewSubmitterRoleTransactor creates a new write-only instance of SubmitterRole, bound to a specific deployed contract. 14401 func NewSubmitterRoleTransactor(address common.Address, transactor bind.ContractTransactor) (*SubmitterRoleTransactor, error) { 14402 contract, err := bindSubmitterRole(address, nil, transactor, nil) 14403 if err != nil { 14404 return nil, err 14405 } 14406 return &SubmitterRoleTransactor{contract: contract}, nil 14407 } 14408 14409 // NewSubmitterRoleFilterer creates a new log filterer instance of SubmitterRole, bound to a specific deployed contract. 14410 func NewSubmitterRoleFilterer(address common.Address, filterer bind.ContractFilterer) (*SubmitterRoleFilterer, error) { 14411 contract, err := bindSubmitterRole(address, nil, nil, filterer) 14412 if err != nil { 14413 return nil, err 14414 } 14415 return &SubmitterRoleFilterer{contract: contract}, nil 14416 } 14417 14418 // bindSubmitterRole binds a generic wrapper to an already deployed contract. 14419 func bindSubmitterRole(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 14420 parsed, err := abi.JSON(strings.NewReader(SubmitterRoleABI)) 14421 if err != nil { 14422 return nil, err 14423 } 14424 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 14425 } 14426 14427 // Call invokes the (constant) contract method with params as input values and 14428 // sets the output to result. The result type might be a single field for simple 14429 // returns, a slice of interfaces for anonymous returns and a struct for named 14430 // returns. 14431 func (_SubmitterRole *SubmitterRoleRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 14432 return _SubmitterRole.Contract.SubmitterRoleCaller.contract.Call(opts, result, method, params...) 14433 } 14434 14435 // Transfer initiates a plain transaction to move funds to the contract, calling 14436 // its default method if one is available. 14437 func (_SubmitterRole *SubmitterRoleRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 14438 return _SubmitterRole.Contract.SubmitterRoleTransactor.contract.Transfer(opts) 14439 } 14440 14441 // Transact invokes the (paid) contract method with params as input values. 14442 func (_SubmitterRole *SubmitterRoleRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 14443 return _SubmitterRole.Contract.SubmitterRoleTransactor.contract.Transact(opts, method, params...) 14444 } 14445 14446 // Call invokes the (constant) contract method with params as input values and 14447 // sets the output to result. The result type might be a single field for simple 14448 // returns, a slice of interfaces for anonymous returns and a struct for named 14449 // returns. 14450 func (_SubmitterRole *SubmitterRoleCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error { 14451 return _SubmitterRole.Contract.contract.Call(opts, result, method, params...) 14452 } 14453 14454 // Transfer initiates a plain transaction to move funds to the contract, calling 14455 // its default method if one is available. 14456 func (_SubmitterRole *SubmitterRoleTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 14457 return _SubmitterRole.Contract.contract.Transfer(opts) 14458 } 14459 14460 // Transact invokes the (paid) contract method with params as input values. 14461 func (_SubmitterRole *SubmitterRoleTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 14462 return _SubmitterRole.Contract.contract.Transact(opts, method, params...) 14463 } 14464 14465 // IsSubmitter is a free data retrieval call binding the contract method 0xa926fdbc. 14466 // 14467 // Solidity: function isSubmitter(address account) constant returns(bool) 14468 func (_SubmitterRole *SubmitterRoleCaller) IsSubmitter(opts *bind.CallOpts, account common.Address) (bool, error) { 14469 var ( 14470 ret0 = new(bool) 14471 ) 14472 out := ret0 14473 err := _SubmitterRole.contract.Call(opts, out, "isSubmitter", account) 14474 return *ret0, err 14475 } 14476 14477 // IsSubmitter is a free data retrieval call binding the contract method 0xa926fdbc. 14478 // 14479 // Solidity: function isSubmitter(address account) constant returns(bool) 14480 func (_SubmitterRole *SubmitterRoleSession) IsSubmitter(account common.Address) (bool, error) { 14481 return _SubmitterRole.Contract.IsSubmitter(&_SubmitterRole.CallOpts, account) 14482 } 14483 14484 // IsSubmitter is a free data retrieval call binding the contract method 0xa926fdbc. 14485 // 14486 // Solidity: function isSubmitter(address account) constant returns(bool) 14487 func (_SubmitterRole *SubmitterRoleCallerSession) IsSubmitter(account common.Address) (bool, error) { 14488 return _SubmitterRole.Contract.IsSubmitter(&_SubmitterRole.CallOpts, account) 14489 } 14490 14491 // AddSubmitter is a paid mutator transaction binding the contract method 0x072900f9. 14492 // 14493 // Solidity: function addSubmitter(address account) returns() 14494 func (_SubmitterRole *SubmitterRoleTransactor) AddSubmitter(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { 14495 return _SubmitterRole.contract.Transact(opts, "addSubmitter", account) 14496 } 14497 14498 // AddSubmitter is a paid mutator transaction binding the contract method 0x072900f9. 14499 // 14500 // Solidity: function addSubmitter(address account) returns() 14501 func (_SubmitterRole *SubmitterRoleSession) AddSubmitter(account common.Address) (*types.Transaction, error) { 14502 return _SubmitterRole.Contract.AddSubmitter(&_SubmitterRole.TransactOpts, account) 14503 } 14504 14505 // AddSubmitter is a paid mutator transaction binding the contract method 0x072900f9. 14506 // 14507 // Solidity: function addSubmitter(address account) returns() 14508 func (_SubmitterRole *SubmitterRoleTransactorSession) AddSubmitter(account common.Address) (*types.Transaction, error) { 14509 return _SubmitterRole.Contract.AddSubmitter(&_SubmitterRole.TransactOpts, account) 14510 } 14511 14512 // RenounceSubmitter is a paid mutator transaction binding the contract method 0x5e0ca71b. 14513 // 14514 // Solidity: function renounceSubmitter() returns() 14515 func (_SubmitterRole *SubmitterRoleTransactor) RenounceSubmitter(opts *bind.TransactOpts) (*types.Transaction, error) { 14516 return _SubmitterRole.contract.Transact(opts, "renounceSubmitter") 14517 } 14518 14519 // RenounceSubmitter is a paid mutator transaction binding the contract method 0x5e0ca71b. 14520 // 14521 // Solidity: function renounceSubmitter() returns() 14522 func (_SubmitterRole *SubmitterRoleSession) RenounceSubmitter() (*types.Transaction, error) { 14523 return _SubmitterRole.Contract.RenounceSubmitter(&_SubmitterRole.TransactOpts) 14524 } 14525 14526 // RenounceSubmitter is a paid mutator transaction binding the contract method 0x5e0ca71b. 14527 // 14528 // Solidity: function renounceSubmitter() returns() 14529 func (_SubmitterRole *SubmitterRoleTransactorSession) RenounceSubmitter() (*types.Transaction, error) { 14530 return _SubmitterRole.Contract.RenounceSubmitter(&_SubmitterRole.TransactOpts) 14531 } 14532 14533 // SubmitterRoleSubmitterAddedIterator is returned from FilterSubmitterAdded and is used to iterate over the raw logs and unpacked data for SubmitterAdded events raised by the SubmitterRole contract. 14534 type SubmitterRoleSubmitterAddedIterator struct { 14535 Event *SubmitterRoleSubmitterAdded // Event containing the contract specifics and raw log 14536 14537 contract *bind.BoundContract // Generic contract to use for unpacking event data 14538 event string // Event name to use for unpacking event data 14539 14540 logs chan types.Log // Log channel receiving the found contract events 14541 sub ethereum.Subscription // Subscription for errors, completion and termination 14542 done bool // Whether the subscription completed delivering logs 14543 fail error // Occurred error to stop iteration 14544 } 14545 14546 // Next advances the iterator to the subsequent event, returning whether there 14547 // are any more events found. In case of a retrieval or parsing error, false is 14548 // returned and Error() can be queried for the exact failure. 14549 func (it *SubmitterRoleSubmitterAddedIterator) Next() bool { 14550 // If the iterator failed, stop iterating 14551 if it.fail != nil { 14552 return false 14553 } 14554 // If the iterator completed, deliver directly whatever's available 14555 if it.done { 14556 select { 14557 case log := <-it.logs: 14558 it.Event = new(SubmitterRoleSubmitterAdded) 14559 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14560 it.fail = err 14561 return false 14562 } 14563 it.Event.Raw = log 14564 return true 14565 14566 default: 14567 return false 14568 } 14569 } 14570 // Iterator still in progress, wait for either a data or an error event 14571 select { 14572 case log := <-it.logs: 14573 it.Event = new(SubmitterRoleSubmitterAdded) 14574 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14575 it.fail = err 14576 return false 14577 } 14578 it.Event.Raw = log 14579 return true 14580 14581 case err := <-it.sub.Err(): 14582 it.done = true 14583 it.fail = err 14584 return it.Next() 14585 } 14586 } 14587 14588 // Error returns any retrieval or parsing error occurred during filtering. 14589 func (it *SubmitterRoleSubmitterAddedIterator) Error() error { 14590 return it.fail 14591 } 14592 14593 // Close terminates the iteration process, releasing any pending underlying 14594 // resources. 14595 func (it *SubmitterRoleSubmitterAddedIterator) Close() error { 14596 it.sub.Unsubscribe() 14597 return nil 14598 } 14599 14600 // SubmitterRoleSubmitterAdded represents a SubmitterAdded event raised by the SubmitterRole contract. 14601 type SubmitterRoleSubmitterAdded struct { 14602 Account common.Address 14603 Raw types.Log // Blockchain specific contextual infos 14604 } 14605 14606 // FilterSubmitterAdded is a free log retrieval operation binding the contract event 0xb079bc2cbde1f186e0b351d4a87c4597e3ed098f571548617449e73506428d8b. 14607 // 14608 // Solidity: event SubmitterAdded(address indexed account) 14609 func (_SubmitterRole *SubmitterRoleFilterer) FilterSubmitterAdded(opts *bind.FilterOpts, account []common.Address) (*SubmitterRoleSubmitterAddedIterator, error) { 14610 14611 var accountRule []interface{} 14612 for _, accountItem := range account { 14613 accountRule = append(accountRule, accountItem) 14614 } 14615 14616 logs, sub, err := _SubmitterRole.contract.FilterLogs(opts, "SubmitterAdded", accountRule) 14617 if err != nil { 14618 return nil, err 14619 } 14620 return &SubmitterRoleSubmitterAddedIterator{contract: _SubmitterRole.contract, event: "SubmitterAdded", logs: logs, sub: sub}, nil 14621 } 14622 14623 // WatchSubmitterAdded is a free log subscription operation binding the contract event 0xb079bc2cbde1f186e0b351d4a87c4597e3ed098f571548617449e73506428d8b. 14624 // 14625 // Solidity: event SubmitterAdded(address indexed account) 14626 func (_SubmitterRole *SubmitterRoleFilterer) WatchSubmitterAdded(opts *bind.WatchOpts, sink chan<- *SubmitterRoleSubmitterAdded, account []common.Address) (event.Subscription, error) { 14627 14628 var accountRule []interface{} 14629 for _, accountItem := range account { 14630 accountRule = append(accountRule, accountItem) 14631 } 14632 14633 logs, sub, err := _SubmitterRole.contract.WatchLogs(opts, "SubmitterAdded", accountRule) 14634 if err != nil { 14635 return nil, err 14636 } 14637 return event.NewSubscription(func(quit <-chan struct{}) error { 14638 defer sub.Unsubscribe() 14639 for { 14640 select { 14641 case log := <-logs: 14642 // New log arrived, parse the event and forward to the user 14643 event := new(SubmitterRoleSubmitterAdded) 14644 if err := _SubmitterRole.contract.UnpackLog(event, "SubmitterAdded", log); err != nil { 14645 return err 14646 } 14647 event.Raw = log 14648 14649 select { 14650 case sink <- event: 14651 case err := <-sub.Err(): 14652 return err 14653 case <-quit: 14654 return nil 14655 } 14656 case err := <-sub.Err(): 14657 return err 14658 case <-quit: 14659 return nil 14660 } 14661 } 14662 }), nil 14663 } 14664 14665 // ParseSubmitterAdded is a log parse operation binding the contract event 0xb079bc2cbde1f186e0b351d4a87c4597e3ed098f571548617449e73506428d8b. 14666 // 14667 // Solidity: event SubmitterAdded(address indexed account) 14668 func (_SubmitterRole *SubmitterRoleFilterer) ParseSubmitterAdded(log types.Log) (*SubmitterRoleSubmitterAdded, error) { 14669 event := new(SubmitterRoleSubmitterAdded) 14670 if err := _SubmitterRole.contract.UnpackLog(event, "SubmitterAdded", log); err != nil { 14671 return nil, err 14672 } 14673 return event, nil 14674 } 14675 14676 // SubmitterRoleSubmitterRemovedIterator is returned from FilterSubmitterRemoved and is used to iterate over the raw logs and unpacked data for SubmitterRemoved events raised by the SubmitterRole contract. 14677 type SubmitterRoleSubmitterRemovedIterator struct { 14678 Event *SubmitterRoleSubmitterRemoved // Event containing the contract specifics and raw log 14679 14680 contract *bind.BoundContract // Generic contract to use for unpacking event data 14681 event string // Event name to use for unpacking event data 14682 14683 logs chan types.Log // Log channel receiving the found contract events 14684 sub ethereum.Subscription // Subscription for errors, completion and termination 14685 done bool // Whether the subscription completed delivering logs 14686 fail error // Occurred error to stop iteration 14687 } 14688 14689 // Next advances the iterator to the subsequent event, returning whether there 14690 // are any more events found. In case of a retrieval or parsing error, false is 14691 // returned and Error() can be queried for the exact failure. 14692 func (it *SubmitterRoleSubmitterRemovedIterator) Next() bool { 14693 // If the iterator failed, stop iterating 14694 if it.fail != nil { 14695 return false 14696 } 14697 // If the iterator completed, deliver directly whatever's available 14698 if it.done { 14699 select { 14700 case log := <-it.logs: 14701 it.Event = new(SubmitterRoleSubmitterRemoved) 14702 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14703 it.fail = err 14704 return false 14705 } 14706 it.Event.Raw = log 14707 return true 14708 14709 default: 14710 return false 14711 } 14712 } 14713 // Iterator still in progress, wait for either a data or an error event 14714 select { 14715 case log := <-it.logs: 14716 it.Event = new(SubmitterRoleSubmitterRemoved) 14717 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 14718 it.fail = err 14719 return false 14720 } 14721 it.Event.Raw = log 14722 return true 14723 14724 case err := <-it.sub.Err(): 14725 it.done = true 14726 it.fail = err 14727 return it.Next() 14728 } 14729 } 14730 14731 // Error returns any retrieval or parsing error occurred during filtering. 14732 func (it *SubmitterRoleSubmitterRemovedIterator) Error() error { 14733 return it.fail 14734 } 14735 14736 // Close terminates the iteration process, releasing any pending underlying 14737 // resources. 14738 func (it *SubmitterRoleSubmitterRemovedIterator) Close() error { 14739 it.sub.Unsubscribe() 14740 return nil 14741 } 14742 14743 // SubmitterRoleSubmitterRemoved represents a SubmitterRemoved event raised by the SubmitterRole contract. 14744 type SubmitterRoleSubmitterRemoved struct { 14745 Account common.Address 14746 Raw types.Log // Blockchain specific contextual infos 14747 } 14748 14749 // FilterSubmitterRemoved is a free log retrieval operation binding the contract event 0xf84a004e1673d2f349a7c93c72b3794b8eba6d2f9338044d8c8cd260e51a57a1. 14750 // 14751 // Solidity: event SubmitterRemoved(address indexed account) 14752 func (_SubmitterRole *SubmitterRoleFilterer) FilterSubmitterRemoved(opts *bind.FilterOpts, account []common.Address) (*SubmitterRoleSubmitterRemovedIterator, error) { 14753 14754 var accountRule []interface{} 14755 for _, accountItem := range account { 14756 accountRule = append(accountRule, accountItem) 14757 } 14758 14759 logs, sub, err := _SubmitterRole.contract.FilterLogs(opts, "SubmitterRemoved", accountRule) 14760 if err != nil { 14761 return nil, err 14762 } 14763 return &SubmitterRoleSubmitterRemovedIterator{contract: _SubmitterRole.contract, event: "SubmitterRemoved", logs: logs, sub: sub}, nil 14764 } 14765 14766 // WatchSubmitterRemoved is a free log subscription operation binding the contract event 0xf84a004e1673d2f349a7c93c72b3794b8eba6d2f9338044d8c8cd260e51a57a1. 14767 // 14768 // Solidity: event SubmitterRemoved(address indexed account) 14769 func (_SubmitterRole *SubmitterRoleFilterer) WatchSubmitterRemoved(opts *bind.WatchOpts, sink chan<- *SubmitterRoleSubmitterRemoved, account []common.Address) (event.Subscription, error) { 14770 14771 var accountRule []interface{} 14772 for _, accountItem := range account { 14773 accountRule = append(accountRule, accountItem) 14774 } 14775 14776 logs, sub, err := _SubmitterRole.contract.WatchLogs(opts, "SubmitterRemoved", accountRule) 14777 if err != nil { 14778 return nil, err 14779 } 14780 return event.NewSubscription(func(quit <-chan struct{}) error { 14781 defer sub.Unsubscribe() 14782 for { 14783 select { 14784 case log := <-logs: 14785 // New log arrived, parse the event and forward to the user 14786 event := new(SubmitterRoleSubmitterRemoved) 14787 if err := _SubmitterRole.contract.UnpackLog(event, "SubmitterRemoved", log); err != nil { 14788 return err 14789 } 14790 event.Raw = log 14791 14792 select { 14793 case sink <- event: 14794 case err := <-sub.Err(): 14795 return err 14796 case <-quit: 14797 return nil 14798 } 14799 case err := <-sub.Err(): 14800 return err 14801 case <-quit: 14802 return nil 14803 } 14804 } 14805 }), nil 14806 } 14807 14808 // ParseSubmitterRemoved is a log parse operation binding the contract event 0xf84a004e1673d2f349a7c93c72b3794b8eba6d2f9338044d8c8cd260e51a57a1. 14809 // 14810 // Solidity: event SubmitterRemoved(address indexed account) 14811 func (_SubmitterRole *SubmitterRoleFilterer) ParseSubmitterRemoved(log types.Log) (*SubmitterRoleSubmitterRemoved, error) { 14812 event := new(SubmitterRoleSubmitterRemoved) 14813 if err := _SubmitterRole.contract.UnpackLog(event, "SubmitterRemoved", log); err != nil { 14814 return nil, err 14815 } 14816 return event, nil 14817 }