github.com/unicornultrafoundation/go-u2u@v1.0.0-rc1.0.20240205080301-e74a83d3fadc/gossip/contract/sfc100/contract.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 sfc100 5 6 import ( 7 "errors" 8 "math/big" 9 "strings" 10 11 u2u "github.com/unicornultrafoundation/go-u2u" 12 "github.com/unicornultrafoundation/go-u2u/accounts/abi" 13 "github.com/unicornultrafoundation/go-u2u/accounts/abi/bind" 14 "github.com/unicornultrafoundation/go-u2u/common" 15 "github.com/unicornultrafoundation/go-u2u/core/types" 16 "github.com/unicornultrafoundation/go-u2u/event" 17 ) 18 19 // Reference imports to suppress errors if they are not otherwise used. 20 var ( 21 _ = errors.New 22 _ = big.NewInt 23 _ = strings.NewReader 24 _ = u2u.NotFound 25 _ = bind.Bind 26 _ = common.Big1 27 _ = types.BloomLookup 28 _ = event.NewSubscription 29 ) 30 31 // ContractMetaData contains all meta data concerning the Contract contract. 32 var ContractMetaData = &bind.MetaData{ 33 ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"validatorID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"status\",\"type\":\"uint256\"}],\"name\":\"ChangedValidatorStatus\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"validatorID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"deactivatedEpoch\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"deactivatedTime\",\"type\":\"uint256\"}],\"name\":\"DeactivatedValidator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"UpdatedBaseRewardPerSec\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"blocksNum\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"period\",\"type\":\"uint256\"}],\"name\":\"UpdatedOfflinePenaltyThreshold\",\"type\":\"event\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"validatorID\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"syncPubkey\",\"type\":\"bool\"}],\"name\":\"_syncValidator\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"currentSealedEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getEpochSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"endTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"epochFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalBaseRewardWeight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalTxRewardWeight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRewardPerSecond\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalStake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"toValidatorID\",\"type\":\"uint256\"}],\"name\":\"getLockedStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getLockupInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lockedStake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fromEpoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getStashedLockupRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lockupExtraReward\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lockupBaseReward\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unlockedReward\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getValidator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"status\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deactivatedTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deactivatedEpoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"receivedStake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdEpoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdTime\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"auth\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getValidatorID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getValidatorPubkey\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getWithdrawalRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"time\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"toValidatorID\",\"type\":\"uint256\"}],\"name\":\"isLockedUp\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"lastValidatorID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minGasPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"slashingRefundRatio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"stakeTokenizerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"stashedRewardsUntilEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalActiveStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSlashedStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"treasuryAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"bytes3\",\"name\":\"\",\"type\":\"bytes3\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"voteBookAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"sealedEpoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"nodeDriver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"lib\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_c\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"updateStakeTokenizerAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"v\",\"type\":\"address\"}],\"name\":\"updateLibAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"v\",\"type\":\"address\"}],\"name\":\"updateTreasuryAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"v\",\"type\":\"address\"}],\"name\":\"updateConstsAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"constsAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"v\",\"type\":\"address\"}],\"name\":\"updateVoteBookAddress\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"offlineTime\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"offlineBlocks\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"uptimes\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"originatedTxsFee\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"epochGas\",\"type\":\"uint256\"}],\"name\":\"sealEpoch\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"nextValidatorIDs\",\"type\":\"uint256[]\"}],\"name\":\"sealEpochValidators\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", 34 Bin: "0x608060405234801561001057600080fd5b506133bc806100206000396000f3fe6080604052600436106102855760003560e01c80638b0e9f3f11610153578063c65ee0e1116100cb578063d46fa5181161007f578063e08d7e6611610064578063e08d7e6614610b1f578063e6f45adf14610b9c578063f2fde38b14610bcf57610285565b8063d46fa51814610af5578063d96ed50514610b0a57610285565b8063cc8343aa116100b0578063cc8343aa14610a51578063cfd4766314610a83578063cfdbb7cd14610abc57610285565b8063c65ee0e114610a12578063c7be95de14610a3c57610285565b8063a2f6e6bc11610122578063b5d8962711610107578063b5d8962714610959578063b810e411146109c4578063c5f956af146109fd57610285565b8063a2f6e6bc146108ed578063a86a056f1461092057610285565b80638b0e9f3f1461083b5780638da5cb5b146108505780638f32d59b1461086557806396c7ee461461088e57610285565b8063592fe0c0116102015780637cacb1d6116101b5578063854873e11161019a578063854873e114610754578063860c2750146107f3578063893675c61461082657610285565b80637cacb1d61461070c578063841e45611461072157610285565b8063670322f8116101e6578063670322f8146106a9578063715018a6146106e257806376671808146106f757610285565b8063592fe0c0146105215780635fab23a81461069457610285565b80631f2701521161025857806339b80c001161023d57806339b80c001461044257806354fd4d50146104a4578063550359a0146104ee57610285565b80631f270152146103d057806328f731481461042d57610285565b80630135b1db146102ee5780630e559d821461033357806310e51e141461036457806318160ddd146103bb575b366102d7576040805162461bcd60e51b815260206004820152601560248201527f7472616e7366657273206e6f7420616c6c6f7765640000000000000000000000604482015290519081900360640190fd5b6080546102ec906001600160a01b0316610c02565b005b3480156102fa57600080fd5b506103216004803603602081101561031157600080fd5b50356001600160a01b0316610c2b565b60408051918252519081900360200190f35b34801561033f57600080fd5b50610348610c3d565b604080516001600160a01b039092168252519081900360200190f35b34801561037057600080fd5b506102ec600480360360c081101561038757600080fd5b508035906020810135906001600160a01b0360408201358116916060810135821691608082013581169160a0013516610c4c565b3480156103c757600080fd5b50610321610dd9565b3480156103dc57600080fd5b5061040f600480360360608110156103f357600080fd5b506001600160a01b038135169060208101359060400135610ddf565b60408051938452602084019290925282820152519081900360600190f35b34801561043957600080fd5b50610321610e11565b34801561044e57600080fd5b5061046c6004803603602081101561046557600080fd5b5035610e17565b604080519788526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b3480156104b057600080fd5b506104b9610e59565b604080517fffffff00000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b3480156104fa57600080fd5b506102ec6004803603602081101561051157600080fd5b50356001600160a01b0316610e7e565b34801561052d57600080fd5b506102ec600480360360a081101561054457600080fd5b81019060208101813564010000000081111561055f57600080fd5b82018360208201111561057157600080fd5b8035906020019184602083028401116401000000008311171561059357600080fd5b9193909290916020810190356401000000008111156105b157600080fd5b8201836020820111156105c357600080fd5b803590602001918460208302840111640100000000831117156105e557600080fd5b91939092909160208101903564010000000081111561060357600080fd5b82018360208201111561061557600080fd5b8035906020019184602083028401116401000000008311171561063757600080fd5b91939092909160208101903564010000000081111561065557600080fd5b82018360208201111561066757600080fd5b8035906020019184602083028401116401000000008311171561068957600080fd5b919350915035610f11565b3480156106a057600080fd5b506103216111cc565b3480156106b557600080fd5b50610321600480360360408110156106cc57600080fd5b506001600160a01b0381351690602001356111d2565b3480156106ee57600080fd5b506102ec611216565b34801561070357600080fd5b506103216112d1565b34801561071857600080fd5b506103216112da565b34801561072d57600080fd5b506102ec6004803603602081101561074457600080fd5b50356001600160a01b03166112e0565b34801561076057600080fd5b5061077e6004803603602081101561077757600080fd5b5035611373565b6040805160208082528351818301528351919283929083019185019080838360005b838110156107b85781810151838201526020016107a0565b50505050905090810190601f1680156107e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107ff57600080fd5b506102ec6004803603602081101561081657600080fd5b50356001600160a01b031661142c565b34801561083257600080fd5b506103486114bf565b34801561084757600080fd5b506103216114ce565b34801561085c57600080fd5b506103486114d4565b34801561087157600080fd5b5061087a6114e3565b604080519115158252519081900360200190f35b34801561089a57600080fd5b506108c7600480360360408110156108b157600080fd5b506001600160a01b0381351690602001356114f4565b604080519485526020850193909352838301919091526060830152519081900360800190f35b3480156108f957600080fd5b506102ec6004803603602081101561091057600080fd5b50356001600160a01b0316611526565b34801561092c57600080fd5b506103216004803603604081101561094357600080fd5b506001600160a01b0381351690602001356115b9565b34801561096557600080fd5b506109836004803603602081101561097c57600080fd5b50356115d6565b604080519788526020880196909652868601949094526060860192909252608085015260a08401526001600160a01b031660c0830152519081900360e00190f35b3480156109d057600080fd5b5061040f600480360360408110156109e757600080fd5b506001600160a01b03813516906020013561161c565b348015610a0957600080fd5b50610348611648565b348015610a1e57600080fd5b5061032160048036036020811015610a3557600080fd5b5035611657565b348015610a4857600080fd5b50610321611669565b348015610a5d57600080fd5b506102ec60048036036040811015610a7457600080fd5b5080359060200135151561166f565b348015610a8f57600080fd5b5061032160048036036040811015610aa657600080fd5b506001600160a01b03813516906020013561189e565b348015610ac857600080fd5b5061087a60048036036040811015610adf57600080fd5b506001600160a01b0381351690602001356118bb565b348015610b0157600080fd5b50610348611952565b348015610b1657600080fd5b50610321611961565b348015610b2b57600080fd5b506102ec60048036036020811015610b4257600080fd5b810190602081018135640100000000811115610b5d57600080fd5b820183602082011115610b6f57600080fd5b80359060200191846020830284011164010000000083111715610b9157600080fd5b509092509050611967565b348015610ba857600080fd5b506102ec60048036036020811015610bbf57600080fd5b50356001600160a01b0316611aab565b348015610bdb57600080fd5b506102ec60048036036020811015610bf257600080fd5b50356001600160a01b0316611b3e565b3660008037600080366000845af43d6000803e808015610c21573d6000f35b3d6000fd5b505050565b60696020526000908152604090205481565b607b546001600160a01b031681565b600054610100900460ff1680610c655750610c65611ba3565b80610c73575060005460ff16155b610cae5760405162461bcd60e51b815260040180806020018281038252602e81526020018061335a602e913960400191505060405180910390fd5b600054610100900460ff16158015610d1457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b610d1d82611ba9565b6067879055606680546001600160a01b038088167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556080805487841690831617905560818054928616929091169190911790556076869055610d84611d0b565b607e55610d8f611d14565b6000888152607760205260409020600701558015610dd057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b50505050505050565b60765481565b607160209081526000938452604080852082529284528284209052825290208054600182015460029092015490919083565b606d5481565b607760205280600052604060002060009150905080600701549080600801549080600901549080600a01549080600b01549080600c01549080600d0154905087565b7f33303400000000000000000000000000000000000000000000000000000000005b90565b610e866114e3565b610ed7576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b608280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610f1a33611d18565b610f555760405162461bcd60e51b81526004018080602001828103825260298152602001806133106029913960400191505060405180910390fd5b600060776000610f636112d1565b81526020019081526020016000209050606081600601805480602002602001604051908101604052809291908181526020018280548015610fc357602002820191906000526020600020905b815481526020019060010190808311610faf575b5050505050905061104a82828d8d80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508c8c80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611d2f92505050565b6067546000908152607760205260409020600781015460019061106b611d14565b111561108257816007015461107e611d14565b0390505b611104818584868d8d80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508c8c80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611f3692505050565b61110e8186612720565b50506111186112d1565b606755611123611d14565b6007830155608154604080517fd9a7c1f900000000000000000000000000000000000000000000000000000000815290516001600160a01b039092169163d9a7c1f991600480820192602092909190829003018186803b15801561118657600080fd5b505afa15801561119a573d6000803e3d6000fd5b505050506040513d60208110156111b057600080fd5b5051600b83015550607654600d90910155505050505050505050565b606e5481565b60006111de83836118bb565b6111ea57506000611210565b506001600160a01b03821660009081526073602090815260408083208484529091529020545b92915050565b61121e6114e3565b61126f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60675460010190565b60675481565b6112e86114e3565b611339576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b607f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b606a6020908152600091825260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100600186161502019093169290920491820184900484028101840190945280845290918301828280156114245780601f106113f957610100808354040283529160200191611424565b820191906000526020600020905b81548152906001019060200180831161140757829003601f168201915b505050505081565b6114346114e3565b611485576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b608180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6082546001600160a01b031681565b606c5481565b6033546001600160a01b031690565b6033546001600160a01b0316331490565b607360209081526000928352604080842090915290825290208054600182015460028301546003909301549192909184565b61152e6114e3565b61157f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b607b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b607060209081526000928352604080842090915290825290205481565b606860205260009081526040902080546001820154600283015460038401546004850154600586015460069096015494959394929391929091906001600160a01b031687565b607460209081526000928352604080842090915290825290208054600182015460029092015490919083565b607f546001600160a01b031681565b607a6020526000908152604090205481565b606b5481565b61167882612899565b6116c9576040805162461bcd60e51b815260206004820152601760248201527f76616c696461746f7220646f65736e2774206578697374000000000000000000604482015290519081900360640190fd5b600082815260686020526040902060038101549054156116e7575060005b606654604080517fa4066fbe000000000000000000000000000000000000000000000000000000008152600481018690526024810184905290516001600160a01b039092169163a4066fbe9160448082019260009290919082900301818387803b15801561175457600080fd5b505af1158015611768573d6000803e3d6000fd5b5050505081801561177857508015155b15610c26576066546000848152606a60205260409081902081517f242a6e3f0000000000000000000000000000000000000000000000000000000081526004810187815260248201938452825460027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001831615610100020190911604604483018190526001600160a01b039095169463242a6e3f948994939091606490910190849080156118695780601f1061183e57610100808354040283529160200191611869565b820191906000526020600020905b81548152906001019060200180831161184c57829003601f168201915b50509350505050600060405180830381600087803b15801561188a57600080fd5b505af1158015610dd0573d6000803e3d6000fd5b607260209081526000928352604080842090915290825290205481565b6001600160a01b03821660009081526073602090815260408083208484529091528120600201541580159061191257506001600160a01b038316600090815260736020908152604080832085845290915290205415155b801561194b57506001600160a01b0383166000908152607360209081526040808320858452909152902060020154611948611d14565b11155b9392505050565b6081546001600160a01b031690565b607e5481565b61197033611d18565b6119ab5760405162461bcd60e51b81526004018080602001828103825260298152602001806133106029913960400191505060405180910390fd5b6000607760006119b96112d1565b8152602001908152602001600020905060008090505b82811015611a325760008484838181106119e557fe5b60209081029290920135600081815260688452604080822060030154948890529020839055600c860154909350611a2391508263ffffffff6128b016565b600c85015550506001016119cf565b50611a41600682018484613238565b50606654607e54604080517f07aaf3440000000000000000000000000000000000000000000000000000000081526004810192909252516001600160a01b03909216916307aaf3449160248082019260009290919082900301818387803b15801561188a57600080fd5b611ab36114e3565b611b04576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b608080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b611b466114e3565b611b97576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b611ba08161290a565b50565b303b1590565b600054610100900460ff1680611bc25750611bc2611ba3565b80611bd0575060005460ff16155b611c0b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061335a602e913960400191505060405180910390fd5b600054610100900460ff16158015611c7157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b603380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015611d0757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b64174876e80090565b4290565b6066546001600160a01b038281169116145b919050565b60005b8351811015611f2f57608160009054906101000a90046001600160a01b03166001600160a01b0316635a68f01a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d8957600080fd5b505afa158015611d9d573d6000803e3d6000fd5b505050506040513d6020811015611db357600080fd5b50518251839083908110611dc357fe5b6020026020010151118015611e655750608160009054906101000a90046001600160a01b03166001600160a01b031662cc7f836040518163ffffffff1660e01b815260040160206040518083038186803b158015611e2057600080fd5b505afa158015611e34573d6000803e3d6000fd5b505050506040513d6020811015611e4a57600080fd5b50518351849083908110611e5a57fe5b602002602001015110155b15611ea657611e88848281518110611e7957fe5b602002602001015160086129c3565b611ea6848281518110611e9757fe5b6020026020010151600061166f565b828181518110611eb257fe5b6020026020010151856004016000868481518110611ecc57fe5b6020026020010151815260200190815260200160002081905550818181518110611ef257fe5b6020026020010151856005016000868481518110611f0c57fe5b602090810291909101810151825281019190915260400160002055600101611d32565b5050505050565b611f3e61327f565b6040518060a001604052808551604051908082528060200260200182016040528015611f74578160200160208202803883390190505b508152602001600081526020018551604051908082528060200260200182016040528015611fac578160200160208202803883390190505b508152602001600081526020016000815250905060008090505b84518110156120c7576000866003016000878481518110611fe357fe5b6020026020010151815260200190815260200160002054905060008090508185848151811061200e57fe5b60200260200101511115612035578185848151811061202957fe5b60200260200101510390505b8986848151811061204257fe5b602002602001015182028161205357fe5b048460400151848151811061206457fe5b60200260200101818152505061209e8460400151848151811061208357fe5b602002602001015185606001516128b090919063ffffffff16565b606085015260808401516120b8908263ffffffff6128b016565b60808501525050600101611fc6565b5060005b845181101561219057878482815181106120e157fe5b6020026020010151898684815181106120f657fe5b60200260200101518a60000160008a878151811061211057fe5b6020026020010151815260200190815260200160002054028161212f57fe5b04028161213857fe5b048260000151828151811061214957fe5b6020026020010181815250506121838260000151828151811061216857fe5b602002602001015183602001516128b090919063ffffffff16565b60208301526001016120cb565b5060005b84518110156125cf57600061223d89608160009054906101000a90046001600160a01b03166001600160a01b031663d9a7c1f96040518163ffffffff1660e01b815260040160206040518083038186803b1580156121f157600080fd5b505afa158015612205573d6000803e3d6000fd5b505050506040513d602081101561221b57600080fd5b5051855180518690811061222b57fe5b60200260200101518660200151612aed565b905061227961226c84608001518560400151858151811061225a57fe5b60200260200101518660600151612b3c565b829063ffffffff6128b016565b9050600086838151811061228957fe5b60209081029190910181015160008181526068835260408082206006015460815482517fa778651500000000000000000000000000000000000000000000000000000000815292519496506001600160a01b0391821695939461233f948994929093169263a77865159260048082019391829003018186803b15801561230e57600080fd5b505afa158015612322573d6000803e3d6000fd5b505050506040513d602081101561233857600080fd5b5051612ca5565b6001600160a01b038316600090815260726020908152604080832087845290915290205490915080156124e65760008161237985876111d2565b84028161238257fe5b0490508083036123906132ae565b6001600160a01b03861660009081526073602090815260408083208a84529091529020600301546123c2908490612cc2565b90506123cc6132ae565b6123d7836000612cc2565b6001600160a01b0388166000908152606f602090815260408083208c8452825291829020825160608101845281548152600182015492810192909252600201549181019190915290915061242c908383612e84565b6001600160a01b0388166000818152606f602090815260408083208d84528252808320855181558583015160018083019190915595820151600291820155938352607482528083208d8452825291829020825160608101845281548152948101549185019190915290910154908201526124a7908383612e84565b6001600160a01b03881660009081526074602090815260408083208c845282529182902083518155908301516001820155910151600290910155505050505b600084815260686020526040812060030154838703918115612518578161250b612e9f565b84028161251457fe5b0490505b808e600101600089815260200190815260200160002054018f6001016000898152602001908152602001600020819055508a898151811061255557fe5b60200260200101518f6003016000898152602001908152602001600020819055508b898151811061258257fe5b60200260200101518e600201600089815260200190815260200160002054018f60020160008981526020019081526020016000208190555050505050505050508080600101915050612194565b50608081015160088701819055602082015160098801556060820151600a880155607654111561260d57600886015460768054919091039055612613565b60006076555b607f546001600160a01b031615610dd057600061262e612e9f565b608160009054906101000a90046001600160a01b03166001600160a01b03166394c3e9146040518163ffffffff1660e01b815260040160206040518083038186803b15801561267c57600080fd5b505afa158015612690573d6000803e3d6000fd5b505050506040513d60208110156126a657600080fd5b5051608084015102816126b557fe5b0490506126c181612eab565b607f546040516001600160a01b03909116908290600081818185875af1925050503d806000811461270e576040519150601f19603f3d011682016040523d82523d6000602084013e612713565b606091505b5050505050505050505050565b608154604080517f3a3ef66c00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691633a3ef66c916004808301926020929190829003018186803b15801561277e57600080fd5b505afa158015612792573d6000803e3d6000fd5b505050506040513d60208110156127a857600080fd5b5051830260010190506000816127bc612e9f565b8402816127c557fe5b0490506000608160009054906101000a90046001600160a01b03166001600160a01b0316632c8c36a56040518163ffffffff1660e01b815260040160206040518083038186803b15801561281857600080fd5b505afa15801561282c573d6000803e3d6000fd5b505050506040513d602081101561284257600080fd5b50519050848101612851612e9f565b8202838702018161285e57fe5b04915061286a82612f49565b91506000612876612e9f565b83607e54028161288257fe5b04905061288e81612fb7565b607e55505050505050565b600090815260686020526040902060050154151590565b60008282018381101561194b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03811661294f5760405162461bcd60e51b81526004018080602001828103825260268152602001806132ea6026913960400191505060405180910390fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6000828152606860205260409020541580156129de57508015155b15612a0b57600082815260686020526040902060030154606d54612a079163ffffffff612fed16565b606d555b600082815260686020526040902054811115611d0757600082815260686020526040902081815560020154612ab357612a426112d1565b600083815260686020526040902060020155612a5c611d14565b6000838152606860209081526040918290206001810184905560020154825190815290810192909252805184927fac4801c32a6067ff757446524ee4e7a373797278ac3c883eac5c693b4ad72e4792908290030190a25b60408051828152905183917fcd35267e7654194727477d6c78b541a553483cff7f92a055d17868d3da6e953e919081900360200190a25050565b600082612afc57506000612b34565b6000612b0e868663ffffffff61302f16565b9050612b3083612b24838763ffffffff61302f16565b9063ffffffff61308816565b9150505b949350505050565b600082612b4b5750600061194b565b6000612b6183612b24878763ffffffff61302f16565b9050612c9c612b6e612e9f565b608154604080517f94c3e9140000000000000000000000000000000000000000000000000000000081529051612b24926001600160a01b0316916394c3e914916004808301926020929190829003018186803b158015612bcd57600080fd5b505afa158015612be1573d6000803e3d6000fd5b505050506040513d6020811015612bf757600080fd5b5051608154604080517fc74dd62100000000000000000000000000000000000000000000000000000000815290516001600160a01b039092169163c74dd62191600480820192602092909190829003018186803b158015612c5757600080fd5b505afa158015612c6b573d6000803e3d6000fd5b505050506040513d6020811015612c8157600080fd5b5051612c8b612e9f565b03038461302f90919063ffffffff16565b95945050505050565b600061194b612cb2612e9f565b612b24858563ffffffff61302f16565b612cca6132ae565b60405180606001604052806000815260200160008152602001600081525090506000608160009054906101000a90046001600160a01b03166001600160a01b0316635e2308d26040518163ffffffff1660e01b815260040160206040518083038186803b158015612d3a57600080fd5b505afa158015612d4e573d6000803e3d6000fd5b505050506040513d6020811015612d6457600080fd5b505190508215612e5c57600081612d79612e9f565b0390506000612e0b608160009054906101000a90046001600160a01b03166001600160a01b0316630d4955e36040518163ffffffff1660e01b815260040160206040518083038186803b158015612dcf57600080fd5b505afa158015612de3573d6000803e3d6000fd5b505050506040513d6020811015612df957600080fd5b5051612b24848863ffffffff61302f16565b90506000612e2c612e1a612e9f565b612b248987860163ffffffff61302f16565b9050612e49612e39612e9f565b612b24898763ffffffff61302f16565b602086018190529003845250612e7d9050565b612e77612e67612e9f565b612b24868463ffffffff61302f16565b60408301525b5092915050565b612e8c6132ae565b612b34612e9985856130ca565b836130ca565b670de0b6b3a764000090565b606654604080517f66e7ea0f0000000000000000000000000000000000000000000000000000000081523060048201526024810184905290516001600160a01b03909216916366e7ea0f9160448082019260009290919082900301818387803b158015612f1757600080fd5b505af1158015612f2b573d6000803e3d6000fd5b5050607654612f43925090508263ffffffff6128b016565b60765550565b60006064612f55612e9f565b60690281612f5f57fe5b04821115612f83576064612f71612e9f565b60690281612f7b57fe5b049050611d2a565b6064612f8d612e9f565b605f0281612f9757fe5b04821015612fb3576064612fa9612e9f565b605f0281612f7b57fe5b5090565b600066038d7ea4c68000821115612fd6575066038d7ea4c68000611d2a565b633b9aca00821015612fb35750633b9aca00611d2a565b600061194b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061313c565b60008261303e57506000611210565b8282028284828161304b57fe5b041461194b5760405162461bcd60e51b81526004018080602001828103825260218152602001806133396021913960400191505060405180910390fd5b600061194b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506131d3565b6130d26132ae565b60408051606081019091528251845182916130f3919063ffffffff6128b016565b8152602001613113846020015186602001516128b090919063ffffffff16565b8152602001613133846040015186604001516128b090919063ffffffff16565b90529392505050565b600081848411156131cb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613190578181015183820152602001613178565b50505050905090810190601f1680156131bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836132225760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613190578181015183820152602001613178565b50600083858161322e57fe5b0495945050505050565b828054828255906000526020600020908101928215613273579160200282015b82811115613273578235825591602001919060010190613258565b50612fb39291506132cf565b6040518060a0016040528060608152602001600081526020016060815260200160008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b610e7b91905b80821115612fb357600081556001016132d556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737363616c6c6572206973206e6f7420746865204e6f64654472697665724175746820636f6e7472616374536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a723158202e03a7f7bebc4feaccc27e3c21e1033d901c6a29dc0061bd3121a9ffe136abe164736f6c63430005110032", 35 } 36 37 // ContractABI is the input ABI used to generate the binding from. 38 // Deprecated: Use ContractMetaData.ABI instead. 39 var ContractABI = ContractMetaData.ABI 40 41 // ContractBin is the compiled bytecode used for deploying new contracts. 42 // Deprecated: Use ContractMetaData.Bin instead. 43 var ContractBin = ContractMetaData.Bin 44 45 // DeployContract deploys a new Ethereum contract, binding an instance of Contract to it. 46 func DeployContract(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Contract, error) { 47 parsed, err := ContractMetaData.GetAbi() 48 if err != nil { 49 return common.Address{}, nil, nil, err 50 } 51 if parsed == nil { 52 return common.Address{}, nil, nil, errors.New("GetABI returned nil") 53 } 54 55 address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ContractBin), backend) 56 if err != nil { 57 return common.Address{}, nil, nil, err 58 } 59 return address, tx, &Contract{ContractCaller: ContractCaller{contract: contract}, ContractTransactor: ContractTransactor{contract: contract}, ContractFilterer: ContractFilterer{contract: contract}}, nil 60 } 61 62 // Contract is an auto generated Go binding around an Ethereum contract. 63 type Contract struct { 64 ContractCaller // Read-only binding to the contract 65 ContractTransactor // Write-only binding to the contract 66 ContractFilterer // Log filterer for contract events 67 } 68 69 // ContractCaller is an auto generated read-only Go binding around an Ethereum contract. 70 type ContractCaller struct { 71 contract *bind.BoundContract // Generic contract wrapper for the low level calls 72 } 73 74 // ContractTransactor is an auto generated write-only Go binding around an Ethereum contract. 75 type ContractTransactor struct { 76 contract *bind.BoundContract // Generic contract wrapper for the low level calls 77 } 78 79 // ContractFilterer is an auto generated log filtering Go binding around an Ethereum contract events. 80 type ContractFilterer struct { 81 contract *bind.BoundContract // Generic contract wrapper for the low level calls 82 } 83 84 // ContractSession is an auto generated Go binding around an Ethereum contract, 85 // with pre-set call and transact options. 86 type ContractSession struct { 87 Contract *Contract // Generic contract binding to set the session for 88 CallOpts bind.CallOpts // Call options to use throughout this session 89 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 90 } 91 92 // ContractCallerSession is an auto generated read-only Go binding around an Ethereum contract, 93 // with pre-set call options. 94 type ContractCallerSession struct { 95 Contract *ContractCaller // Generic contract caller binding to set the session for 96 CallOpts bind.CallOpts // Call options to use throughout this session 97 } 98 99 // ContractTransactorSession is an auto generated write-only Go binding around an Ethereum contract, 100 // with pre-set transact options. 101 type ContractTransactorSession struct { 102 Contract *ContractTransactor // Generic contract transactor binding to set the session for 103 TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session 104 } 105 106 // ContractRaw is an auto generated low-level Go binding around an Ethereum contract. 107 type ContractRaw struct { 108 Contract *Contract // Generic contract binding to access the raw methods on 109 } 110 111 // ContractCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. 112 type ContractCallerRaw struct { 113 Contract *ContractCaller // Generic read-only contract binding to access the raw methods on 114 } 115 116 // ContractTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. 117 type ContractTransactorRaw struct { 118 Contract *ContractTransactor // Generic write-only contract binding to access the raw methods on 119 } 120 121 // NewContract creates a new instance of Contract, bound to a specific deployed contract. 122 func NewContract(address common.Address, backend bind.ContractBackend) (*Contract, error) { 123 contract, err := bindContract(address, backend, backend, backend) 124 if err != nil { 125 return nil, err 126 } 127 return &Contract{ContractCaller: ContractCaller{contract: contract}, ContractTransactor: ContractTransactor{contract: contract}, ContractFilterer: ContractFilterer{contract: contract}}, nil 128 } 129 130 // NewContractCaller creates a new read-only instance of Contract, bound to a specific deployed contract. 131 func NewContractCaller(address common.Address, caller bind.ContractCaller) (*ContractCaller, error) { 132 contract, err := bindContract(address, caller, nil, nil) 133 if err != nil { 134 return nil, err 135 } 136 return &ContractCaller{contract: contract}, nil 137 } 138 139 // NewContractTransactor creates a new write-only instance of Contract, bound to a specific deployed contract. 140 func NewContractTransactor(address common.Address, transactor bind.ContractTransactor) (*ContractTransactor, error) { 141 contract, err := bindContract(address, nil, transactor, nil) 142 if err != nil { 143 return nil, err 144 } 145 return &ContractTransactor{contract: contract}, nil 146 } 147 148 // NewContractFilterer creates a new log filterer instance of Contract, bound to a specific deployed contract. 149 func NewContractFilterer(address common.Address, filterer bind.ContractFilterer) (*ContractFilterer, error) { 150 contract, err := bindContract(address, nil, nil, filterer) 151 if err != nil { 152 return nil, err 153 } 154 return &ContractFilterer{contract: contract}, nil 155 } 156 157 // bindContract binds a generic wrapper to an already deployed contract. 158 func bindContract(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { 159 parsed, err := abi.JSON(strings.NewReader(ContractABI)) 160 if err != nil { 161 return nil, err 162 } 163 return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil 164 } 165 166 // Call invokes the (constant) contract method with params as input values and 167 // sets the output to result. The result type might be a single field for simple 168 // returns, a slice of interfaces for anonymous returns and a struct for named 169 // returns. 170 func (_Contract *ContractRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 171 return _Contract.Contract.ContractCaller.contract.Call(opts, result, method, params...) 172 } 173 174 // Transfer initiates a plain transaction to move funds to the contract, calling 175 // its default method if one is available. 176 func (_Contract *ContractRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 177 return _Contract.Contract.ContractTransactor.contract.Transfer(opts) 178 } 179 180 // Transact invokes the (paid) contract method with params as input values. 181 func (_Contract *ContractRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 182 return _Contract.Contract.ContractTransactor.contract.Transact(opts, method, params...) 183 } 184 185 // Call invokes the (constant) contract method with params as input values and 186 // sets the output to result. The result type might be a single field for simple 187 // returns, a slice of interfaces for anonymous returns and a struct for named 188 // returns. 189 func (_Contract *ContractCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { 190 return _Contract.Contract.contract.Call(opts, result, method, params...) 191 } 192 193 // Transfer initiates a plain transaction to move funds to the contract, calling 194 // its default method if one is available. 195 func (_Contract *ContractTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { 196 return _Contract.Contract.contract.Transfer(opts) 197 } 198 199 // Transact invokes the (paid) contract method with params as input values. 200 func (_Contract *ContractTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { 201 return _Contract.Contract.contract.Transact(opts, method, params...) 202 } 203 204 // ConstsAddress is a free data retrieval call binding the contract method 0xd46fa518. 205 // 206 // Solidity: function constsAddress() view returns(address) 207 func (_Contract *ContractCaller) ConstsAddress(opts *bind.CallOpts) (common.Address, error) { 208 var out []interface{} 209 err := _Contract.contract.Call(opts, &out, "constsAddress") 210 211 if err != nil { 212 return *new(common.Address), err 213 } 214 215 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 216 217 return out0, err 218 219 } 220 221 // ConstsAddress is a free data retrieval call binding the contract method 0xd46fa518. 222 // 223 // Solidity: function constsAddress() view returns(address) 224 func (_Contract *ContractSession) ConstsAddress() (common.Address, error) { 225 return _Contract.Contract.ConstsAddress(&_Contract.CallOpts) 226 } 227 228 // ConstsAddress is a free data retrieval call binding the contract method 0xd46fa518. 229 // 230 // Solidity: function constsAddress() view returns(address) 231 func (_Contract *ContractCallerSession) ConstsAddress() (common.Address, error) { 232 return _Contract.Contract.ConstsAddress(&_Contract.CallOpts) 233 } 234 235 // CurrentEpoch is a free data retrieval call binding the contract method 0x76671808. 236 // 237 // Solidity: function currentEpoch() view returns(uint256) 238 func (_Contract *ContractCaller) CurrentEpoch(opts *bind.CallOpts) (*big.Int, error) { 239 var out []interface{} 240 err := _Contract.contract.Call(opts, &out, "currentEpoch") 241 242 if err != nil { 243 return *new(*big.Int), err 244 } 245 246 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 247 248 return out0, err 249 250 } 251 252 // CurrentEpoch is a free data retrieval call binding the contract method 0x76671808. 253 // 254 // Solidity: function currentEpoch() view returns(uint256) 255 func (_Contract *ContractSession) CurrentEpoch() (*big.Int, error) { 256 return _Contract.Contract.CurrentEpoch(&_Contract.CallOpts) 257 } 258 259 // CurrentEpoch is a free data retrieval call binding the contract method 0x76671808. 260 // 261 // Solidity: function currentEpoch() view returns(uint256) 262 func (_Contract *ContractCallerSession) CurrentEpoch() (*big.Int, error) { 263 return _Contract.Contract.CurrentEpoch(&_Contract.CallOpts) 264 } 265 266 // CurrentSealedEpoch is a free data retrieval call binding the contract method 0x7cacb1d6. 267 // 268 // Solidity: function currentSealedEpoch() view returns(uint256) 269 func (_Contract *ContractCaller) CurrentSealedEpoch(opts *bind.CallOpts) (*big.Int, error) { 270 var out []interface{} 271 err := _Contract.contract.Call(opts, &out, "currentSealedEpoch") 272 273 if err != nil { 274 return *new(*big.Int), err 275 } 276 277 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 278 279 return out0, err 280 281 } 282 283 // CurrentSealedEpoch is a free data retrieval call binding the contract method 0x7cacb1d6. 284 // 285 // Solidity: function currentSealedEpoch() view returns(uint256) 286 func (_Contract *ContractSession) CurrentSealedEpoch() (*big.Int, error) { 287 return _Contract.Contract.CurrentSealedEpoch(&_Contract.CallOpts) 288 } 289 290 // CurrentSealedEpoch is a free data retrieval call binding the contract method 0x7cacb1d6. 291 // 292 // Solidity: function currentSealedEpoch() view returns(uint256) 293 func (_Contract *ContractCallerSession) CurrentSealedEpoch() (*big.Int, error) { 294 return _Contract.Contract.CurrentSealedEpoch(&_Contract.CallOpts) 295 } 296 297 // GetEpochSnapshot is a free data retrieval call binding the contract method 0x39b80c00. 298 // 299 // Solidity: function getEpochSnapshot(uint256 ) view returns(uint256 endTime, uint256 epochFee, uint256 totalBaseRewardWeight, uint256 totalTxRewardWeight, uint256 baseRewardPerSecond, uint256 totalStake, uint256 totalSupply) 300 func (_Contract *ContractCaller) GetEpochSnapshot(opts *bind.CallOpts, arg0 *big.Int) (struct { 301 EndTime *big.Int 302 EpochFee *big.Int 303 TotalBaseRewardWeight *big.Int 304 TotalTxRewardWeight *big.Int 305 BaseRewardPerSecond *big.Int 306 TotalStake *big.Int 307 TotalSupply *big.Int 308 }, error) { 309 var out []interface{} 310 err := _Contract.contract.Call(opts, &out, "getEpochSnapshot", arg0) 311 312 outstruct := new(struct { 313 EndTime *big.Int 314 EpochFee *big.Int 315 TotalBaseRewardWeight *big.Int 316 TotalTxRewardWeight *big.Int 317 BaseRewardPerSecond *big.Int 318 TotalStake *big.Int 319 TotalSupply *big.Int 320 }) 321 if err != nil { 322 return *outstruct, err 323 } 324 325 outstruct.EndTime = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 326 outstruct.EpochFee = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) 327 outstruct.TotalBaseRewardWeight = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) 328 outstruct.TotalTxRewardWeight = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int) 329 outstruct.BaseRewardPerSecond = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int) 330 outstruct.TotalStake = *abi.ConvertType(out[5], new(*big.Int)).(**big.Int) 331 outstruct.TotalSupply = *abi.ConvertType(out[6], new(*big.Int)).(**big.Int) 332 333 return *outstruct, err 334 335 } 336 337 // GetEpochSnapshot is a free data retrieval call binding the contract method 0x39b80c00. 338 // 339 // Solidity: function getEpochSnapshot(uint256 ) view returns(uint256 endTime, uint256 epochFee, uint256 totalBaseRewardWeight, uint256 totalTxRewardWeight, uint256 baseRewardPerSecond, uint256 totalStake, uint256 totalSupply) 340 func (_Contract *ContractSession) GetEpochSnapshot(arg0 *big.Int) (struct { 341 EndTime *big.Int 342 EpochFee *big.Int 343 TotalBaseRewardWeight *big.Int 344 TotalTxRewardWeight *big.Int 345 BaseRewardPerSecond *big.Int 346 TotalStake *big.Int 347 TotalSupply *big.Int 348 }, error) { 349 return _Contract.Contract.GetEpochSnapshot(&_Contract.CallOpts, arg0) 350 } 351 352 // GetEpochSnapshot is a free data retrieval call binding the contract method 0x39b80c00. 353 // 354 // Solidity: function getEpochSnapshot(uint256 ) view returns(uint256 endTime, uint256 epochFee, uint256 totalBaseRewardWeight, uint256 totalTxRewardWeight, uint256 baseRewardPerSecond, uint256 totalStake, uint256 totalSupply) 355 func (_Contract *ContractCallerSession) GetEpochSnapshot(arg0 *big.Int) (struct { 356 EndTime *big.Int 357 EpochFee *big.Int 358 TotalBaseRewardWeight *big.Int 359 TotalTxRewardWeight *big.Int 360 BaseRewardPerSecond *big.Int 361 TotalStake *big.Int 362 TotalSupply *big.Int 363 }, error) { 364 return _Contract.Contract.GetEpochSnapshot(&_Contract.CallOpts, arg0) 365 } 366 367 // GetLockedStake is a free data retrieval call binding the contract method 0x670322f8. 368 // 369 // Solidity: function getLockedStake(address delegator, uint256 toValidatorID) view returns(uint256) 370 func (_Contract *ContractCaller) GetLockedStake(opts *bind.CallOpts, delegator common.Address, toValidatorID *big.Int) (*big.Int, error) { 371 var out []interface{} 372 err := _Contract.contract.Call(opts, &out, "getLockedStake", delegator, toValidatorID) 373 374 if err != nil { 375 return *new(*big.Int), err 376 } 377 378 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 379 380 return out0, err 381 382 } 383 384 // GetLockedStake is a free data retrieval call binding the contract method 0x670322f8. 385 // 386 // Solidity: function getLockedStake(address delegator, uint256 toValidatorID) view returns(uint256) 387 func (_Contract *ContractSession) GetLockedStake(delegator common.Address, toValidatorID *big.Int) (*big.Int, error) { 388 return _Contract.Contract.GetLockedStake(&_Contract.CallOpts, delegator, toValidatorID) 389 } 390 391 // GetLockedStake is a free data retrieval call binding the contract method 0x670322f8. 392 // 393 // Solidity: function getLockedStake(address delegator, uint256 toValidatorID) view returns(uint256) 394 func (_Contract *ContractCallerSession) GetLockedStake(delegator common.Address, toValidatorID *big.Int) (*big.Int, error) { 395 return _Contract.Contract.GetLockedStake(&_Contract.CallOpts, delegator, toValidatorID) 396 } 397 398 // GetLockupInfo is a free data retrieval call binding the contract method 0x96c7ee46. 399 // 400 // Solidity: function getLockupInfo(address , uint256 ) view returns(uint256 lockedStake, uint256 fromEpoch, uint256 endTime, uint256 duration) 401 func (_Contract *ContractCaller) GetLockupInfo(opts *bind.CallOpts, arg0 common.Address, arg1 *big.Int) (struct { 402 LockedStake *big.Int 403 FromEpoch *big.Int 404 EndTime *big.Int 405 Duration *big.Int 406 }, error) { 407 var out []interface{} 408 err := _Contract.contract.Call(opts, &out, "getLockupInfo", arg0, arg1) 409 410 outstruct := new(struct { 411 LockedStake *big.Int 412 FromEpoch *big.Int 413 EndTime *big.Int 414 Duration *big.Int 415 }) 416 if err != nil { 417 return *outstruct, err 418 } 419 420 outstruct.LockedStake = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 421 outstruct.FromEpoch = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) 422 outstruct.EndTime = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) 423 outstruct.Duration = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int) 424 425 return *outstruct, err 426 427 } 428 429 // GetLockupInfo is a free data retrieval call binding the contract method 0x96c7ee46. 430 // 431 // Solidity: function getLockupInfo(address , uint256 ) view returns(uint256 lockedStake, uint256 fromEpoch, uint256 endTime, uint256 duration) 432 func (_Contract *ContractSession) GetLockupInfo(arg0 common.Address, arg1 *big.Int) (struct { 433 LockedStake *big.Int 434 FromEpoch *big.Int 435 EndTime *big.Int 436 Duration *big.Int 437 }, error) { 438 return _Contract.Contract.GetLockupInfo(&_Contract.CallOpts, arg0, arg1) 439 } 440 441 // GetLockupInfo is a free data retrieval call binding the contract method 0x96c7ee46. 442 // 443 // Solidity: function getLockupInfo(address , uint256 ) view returns(uint256 lockedStake, uint256 fromEpoch, uint256 endTime, uint256 duration) 444 func (_Contract *ContractCallerSession) GetLockupInfo(arg0 common.Address, arg1 *big.Int) (struct { 445 LockedStake *big.Int 446 FromEpoch *big.Int 447 EndTime *big.Int 448 Duration *big.Int 449 }, error) { 450 return _Contract.Contract.GetLockupInfo(&_Contract.CallOpts, arg0, arg1) 451 } 452 453 // GetStake is a free data retrieval call binding the contract method 0xcfd47663. 454 // 455 // Solidity: function getStake(address , uint256 ) view returns(uint256) 456 func (_Contract *ContractCaller) GetStake(opts *bind.CallOpts, arg0 common.Address, arg1 *big.Int) (*big.Int, error) { 457 var out []interface{} 458 err := _Contract.contract.Call(opts, &out, "getStake", arg0, arg1) 459 460 if err != nil { 461 return *new(*big.Int), err 462 } 463 464 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 465 466 return out0, err 467 468 } 469 470 // GetStake is a free data retrieval call binding the contract method 0xcfd47663. 471 // 472 // Solidity: function getStake(address , uint256 ) view returns(uint256) 473 func (_Contract *ContractSession) GetStake(arg0 common.Address, arg1 *big.Int) (*big.Int, error) { 474 return _Contract.Contract.GetStake(&_Contract.CallOpts, arg0, arg1) 475 } 476 477 // GetStake is a free data retrieval call binding the contract method 0xcfd47663. 478 // 479 // Solidity: function getStake(address , uint256 ) view returns(uint256) 480 func (_Contract *ContractCallerSession) GetStake(arg0 common.Address, arg1 *big.Int) (*big.Int, error) { 481 return _Contract.Contract.GetStake(&_Contract.CallOpts, arg0, arg1) 482 } 483 484 // GetStashedLockupRewards is a free data retrieval call binding the contract method 0xb810e411. 485 // 486 // Solidity: function getStashedLockupRewards(address , uint256 ) view returns(uint256 lockupExtraReward, uint256 lockupBaseReward, uint256 unlockedReward) 487 func (_Contract *ContractCaller) GetStashedLockupRewards(opts *bind.CallOpts, arg0 common.Address, arg1 *big.Int) (struct { 488 LockupExtraReward *big.Int 489 LockupBaseReward *big.Int 490 UnlockedReward *big.Int 491 }, error) { 492 var out []interface{} 493 err := _Contract.contract.Call(opts, &out, "getStashedLockupRewards", arg0, arg1) 494 495 outstruct := new(struct { 496 LockupExtraReward *big.Int 497 LockupBaseReward *big.Int 498 UnlockedReward *big.Int 499 }) 500 if err != nil { 501 return *outstruct, err 502 } 503 504 outstruct.LockupExtraReward = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 505 outstruct.LockupBaseReward = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) 506 outstruct.UnlockedReward = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) 507 508 return *outstruct, err 509 510 } 511 512 // GetStashedLockupRewards is a free data retrieval call binding the contract method 0xb810e411. 513 // 514 // Solidity: function getStashedLockupRewards(address , uint256 ) view returns(uint256 lockupExtraReward, uint256 lockupBaseReward, uint256 unlockedReward) 515 func (_Contract *ContractSession) GetStashedLockupRewards(arg0 common.Address, arg1 *big.Int) (struct { 516 LockupExtraReward *big.Int 517 LockupBaseReward *big.Int 518 UnlockedReward *big.Int 519 }, error) { 520 return _Contract.Contract.GetStashedLockupRewards(&_Contract.CallOpts, arg0, arg1) 521 } 522 523 // GetStashedLockupRewards is a free data retrieval call binding the contract method 0xb810e411. 524 // 525 // Solidity: function getStashedLockupRewards(address , uint256 ) view returns(uint256 lockupExtraReward, uint256 lockupBaseReward, uint256 unlockedReward) 526 func (_Contract *ContractCallerSession) GetStashedLockupRewards(arg0 common.Address, arg1 *big.Int) (struct { 527 LockupExtraReward *big.Int 528 LockupBaseReward *big.Int 529 UnlockedReward *big.Int 530 }, error) { 531 return _Contract.Contract.GetStashedLockupRewards(&_Contract.CallOpts, arg0, arg1) 532 } 533 534 // GetValidator is a free data retrieval call binding the contract method 0xb5d89627. 535 // 536 // Solidity: function getValidator(uint256 ) view returns(uint256 status, uint256 deactivatedTime, uint256 deactivatedEpoch, uint256 receivedStake, uint256 createdEpoch, uint256 createdTime, address auth) 537 func (_Contract *ContractCaller) GetValidator(opts *bind.CallOpts, arg0 *big.Int) (struct { 538 Status *big.Int 539 DeactivatedTime *big.Int 540 DeactivatedEpoch *big.Int 541 ReceivedStake *big.Int 542 CreatedEpoch *big.Int 543 CreatedTime *big.Int 544 Auth common.Address 545 }, error) { 546 var out []interface{} 547 err := _Contract.contract.Call(opts, &out, "getValidator", arg0) 548 549 outstruct := new(struct { 550 Status *big.Int 551 DeactivatedTime *big.Int 552 DeactivatedEpoch *big.Int 553 ReceivedStake *big.Int 554 CreatedEpoch *big.Int 555 CreatedTime *big.Int 556 Auth common.Address 557 }) 558 if err != nil { 559 return *outstruct, err 560 } 561 562 outstruct.Status = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 563 outstruct.DeactivatedTime = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) 564 outstruct.DeactivatedEpoch = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) 565 outstruct.ReceivedStake = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int) 566 outstruct.CreatedEpoch = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int) 567 outstruct.CreatedTime = *abi.ConvertType(out[5], new(*big.Int)).(**big.Int) 568 outstruct.Auth = *abi.ConvertType(out[6], new(common.Address)).(*common.Address) 569 570 return *outstruct, err 571 572 } 573 574 // GetValidator is a free data retrieval call binding the contract method 0xb5d89627. 575 // 576 // Solidity: function getValidator(uint256 ) view returns(uint256 status, uint256 deactivatedTime, uint256 deactivatedEpoch, uint256 receivedStake, uint256 createdEpoch, uint256 createdTime, address auth) 577 func (_Contract *ContractSession) GetValidator(arg0 *big.Int) (struct { 578 Status *big.Int 579 DeactivatedTime *big.Int 580 DeactivatedEpoch *big.Int 581 ReceivedStake *big.Int 582 CreatedEpoch *big.Int 583 CreatedTime *big.Int 584 Auth common.Address 585 }, error) { 586 return _Contract.Contract.GetValidator(&_Contract.CallOpts, arg0) 587 } 588 589 // GetValidator is a free data retrieval call binding the contract method 0xb5d89627. 590 // 591 // Solidity: function getValidator(uint256 ) view returns(uint256 status, uint256 deactivatedTime, uint256 deactivatedEpoch, uint256 receivedStake, uint256 createdEpoch, uint256 createdTime, address auth) 592 func (_Contract *ContractCallerSession) GetValidator(arg0 *big.Int) (struct { 593 Status *big.Int 594 DeactivatedTime *big.Int 595 DeactivatedEpoch *big.Int 596 ReceivedStake *big.Int 597 CreatedEpoch *big.Int 598 CreatedTime *big.Int 599 Auth common.Address 600 }, error) { 601 return _Contract.Contract.GetValidator(&_Contract.CallOpts, arg0) 602 } 603 604 // GetValidatorID is a free data retrieval call binding the contract method 0x0135b1db. 605 // 606 // Solidity: function getValidatorID(address ) view returns(uint256) 607 func (_Contract *ContractCaller) GetValidatorID(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { 608 var out []interface{} 609 err := _Contract.contract.Call(opts, &out, "getValidatorID", arg0) 610 611 if err != nil { 612 return *new(*big.Int), err 613 } 614 615 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 616 617 return out0, err 618 619 } 620 621 // GetValidatorID is a free data retrieval call binding the contract method 0x0135b1db. 622 // 623 // Solidity: function getValidatorID(address ) view returns(uint256) 624 func (_Contract *ContractSession) GetValidatorID(arg0 common.Address) (*big.Int, error) { 625 return _Contract.Contract.GetValidatorID(&_Contract.CallOpts, arg0) 626 } 627 628 // GetValidatorID is a free data retrieval call binding the contract method 0x0135b1db. 629 // 630 // Solidity: function getValidatorID(address ) view returns(uint256) 631 func (_Contract *ContractCallerSession) GetValidatorID(arg0 common.Address) (*big.Int, error) { 632 return _Contract.Contract.GetValidatorID(&_Contract.CallOpts, arg0) 633 } 634 635 // GetValidatorPubkey is a free data retrieval call binding the contract method 0x854873e1. 636 // 637 // Solidity: function getValidatorPubkey(uint256 ) view returns(bytes) 638 func (_Contract *ContractCaller) GetValidatorPubkey(opts *bind.CallOpts, arg0 *big.Int) ([]byte, error) { 639 var out []interface{} 640 err := _Contract.contract.Call(opts, &out, "getValidatorPubkey", arg0) 641 642 if err != nil { 643 return *new([]byte), err 644 } 645 646 out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) 647 648 return out0, err 649 650 } 651 652 // GetValidatorPubkey is a free data retrieval call binding the contract method 0x854873e1. 653 // 654 // Solidity: function getValidatorPubkey(uint256 ) view returns(bytes) 655 func (_Contract *ContractSession) GetValidatorPubkey(arg0 *big.Int) ([]byte, error) { 656 return _Contract.Contract.GetValidatorPubkey(&_Contract.CallOpts, arg0) 657 } 658 659 // GetValidatorPubkey is a free data retrieval call binding the contract method 0x854873e1. 660 // 661 // Solidity: function getValidatorPubkey(uint256 ) view returns(bytes) 662 func (_Contract *ContractCallerSession) GetValidatorPubkey(arg0 *big.Int) ([]byte, error) { 663 return _Contract.Contract.GetValidatorPubkey(&_Contract.CallOpts, arg0) 664 } 665 666 // GetWithdrawalRequest is a free data retrieval call binding the contract method 0x1f270152. 667 // 668 // Solidity: function getWithdrawalRequest(address , uint256 , uint256 ) view returns(uint256 epoch, uint256 time, uint256 amount) 669 func (_Contract *ContractCaller) GetWithdrawalRequest(opts *bind.CallOpts, arg0 common.Address, arg1 *big.Int, arg2 *big.Int) (struct { 670 Epoch *big.Int 671 Time *big.Int 672 Amount *big.Int 673 }, error) { 674 var out []interface{} 675 err := _Contract.contract.Call(opts, &out, "getWithdrawalRequest", arg0, arg1, arg2) 676 677 outstruct := new(struct { 678 Epoch *big.Int 679 Time *big.Int 680 Amount *big.Int 681 }) 682 if err != nil { 683 return *outstruct, err 684 } 685 686 outstruct.Epoch = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 687 outstruct.Time = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int) 688 outstruct.Amount = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int) 689 690 return *outstruct, err 691 692 } 693 694 // GetWithdrawalRequest is a free data retrieval call binding the contract method 0x1f270152. 695 // 696 // Solidity: function getWithdrawalRequest(address , uint256 , uint256 ) view returns(uint256 epoch, uint256 time, uint256 amount) 697 func (_Contract *ContractSession) GetWithdrawalRequest(arg0 common.Address, arg1 *big.Int, arg2 *big.Int) (struct { 698 Epoch *big.Int 699 Time *big.Int 700 Amount *big.Int 701 }, error) { 702 return _Contract.Contract.GetWithdrawalRequest(&_Contract.CallOpts, arg0, arg1, arg2) 703 } 704 705 // GetWithdrawalRequest is a free data retrieval call binding the contract method 0x1f270152. 706 // 707 // Solidity: function getWithdrawalRequest(address , uint256 , uint256 ) view returns(uint256 epoch, uint256 time, uint256 amount) 708 func (_Contract *ContractCallerSession) GetWithdrawalRequest(arg0 common.Address, arg1 *big.Int, arg2 *big.Int) (struct { 709 Epoch *big.Int 710 Time *big.Int 711 Amount *big.Int 712 }, error) { 713 return _Contract.Contract.GetWithdrawalRequest(&_Contract.CallOpts, arg0, arg1, arg2) 714 } 715 716 // IsLockedUp is a free data retrieval call binding the contract method 0xcfdbb7cd. 717 // 718 // Solidity: function isLockedUp(address delegator, uint256 toValidatorID) view returns(bool) 719 func (_Contract *ContractCaller) IsLockedUp(opts *bind.CallOpts, delegator common.Address, toValidatorID *big.Int) (bool, error) { 720 var out []interface{} 721 err := _Contract.contract.Call(opts, &out, "isLockedUp", delegator, toValidatorID) 722 723 if err != nil { 724 return *new(bool), err 725 } 726 727 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 728 729 return out0, err 730 731 } 732 733 // IsLockedUp is a free data retrieval call binding the contract method 0xcfdbb7cd. 734 // 735 // Solidity: function isLockedUp(address delegator, uint256 toValidatorID) view returns(bool) 736 func (_Contract *ContractSession) IsLockedUp(delegator common.Address, toValidatorID *big.Int) (bool, error) { 737 return _Contract.Contract.IsLockedUp(&_Contract.CallOpts, delegator, toValidatorID) 738 } 739 740 // IsLockedUp is a free data retrieval call binding the contract method 0xcfdbb7cd. 741 // 742 // Solidity: function isLockedUp(address delegator, uint256 toValidatorID) view returns(bool) 743 func (_Contract *ContractCallerSession) IsLockedUp(delegator common.Address, toValidatorID *big.Int) (bool, error) { 744 return _Contract.Contract.IsLockedUp(&_Contract.CallOpts, delegator, toValidatorID) 745 } 746 747 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 748 // 749 // Solidity: function isOwner() view returns(bool) 750 func (_Contract *ContractCaller) IsOwner(opts *bind.CallOpts) (bool, error) { 751 var out []interface{} 752 err := _Contract.contract.Call(opts, &out, "isOwner") 753 754 if err != nil { 755 return *new(bool), err 756 } 757 758 out0 := *abi.ConvertType(out[0], new(bool)).(*bool) 759 760 return out0, err 761 762 } 763 764 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 765 // 766 // Solidity: function isOwner() view returns(bool) 767 func (_Contract *ContractSession) IsOwner() (bool, error) { 768 return _Contract.Contract.IsOwner(&_Contract.CallOpts) 769 } 770 771 // IsOwner is a free data retrieval call binding the contract method 0x8f32d59b. 772 // 773 // Solidity: function isOwner() view returns(bool) 774 func (_Contract *ContractCallerSession) IsOwner() (bool, error) { 775 return _Contract.Contract.IsOwner(&_Contract.CallOpts) 776 } 777 778 // LastValidatorID is a free data retrieval call binding the contract method 0xc7be95de. 779 // 780 // Solidity: function lastValidatorID() view returns(uint256) 781 func (_Contract *ContractCaller) LastValidatorID(opts *bind.CallOpts) (*big.Int, error) { 782 var out []interface{} 783 err := _Contract.contract.Call(opts, &out, "lastValidatorID") 784 785 if err != nil { 786 return *new(*big.Int), err 787 } 788 789 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 790 791 return out0, err 792 793 } 794 795 // LastValidatorID is a free data retrieval call binding the contract method 0xc7be95de. 796 // 797 // Solidity: function lastValidatorID() view returns(uint256) 798 func (_Contract *ContractSession) LastValidatorID() (*big.Int, error) { 799 return _Contract.Contract.LastValidatorID(&_Contract.CallOpts) 800 } 801 802 // LastValidatorID is a free data retrieval call binding the contract method 0xc7be95de. 803 // 804 // Solidity: function lastValidatorID() view returns(uint256) 805 func (_Contract *ContractCallerSession) LastValidatorID() (*big.Int, error) { 806 return _Contract.Contract.LastValidatorID(&_Contract.CallOpts) 807 } 808 809 // MinGasPrice is a free data retrieval call binding the contract method 0xd96ed505. 810 // 811 // Solidity: function minGasPrice() view returns(uint256) 812 func (_Contract *ContractCaller) MinGasPrice(opts *bind.CallOpts) (*big.Int, error) { 813 var out []interface{} 814 err := _Contract.contract.Call(opts, &out, "minGasPrice") 815 816 if err != nil { 817 return *new(*big.Int), err 818 } 819 820 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 821 822 return out0, err 823 824 } 825 826 // MinGasPrice is a free data retrieval call binding the contract method 0xd96ed505. 827 // 828 // Solidity: function minGasPrice() view returns(uint256) 829 func (_Contract *ContractSession) MinGasPrice() (*big.Int, error) { 830 return _Contract.Contract.MinGasPrice(&_Contract.CallOpts) 831 } 832 833 // MinGasPrice is a free data retrieval call binding the contract method 0xd96ed505. 834 // 835 // Solidity: function minGasPrice() view returns(uint256) 836 func (_Contract *ContractCallerSession) MinGasPrice() (*big.Int, error) { 837 return _Contract.Contract.MinGasPrice(&_Contract.CallOpts) 838 } 839 840 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 841 // 842 // Solidity: function owner() view returns(address) 843 func (_Contract *ContractCaller) Owner(opts *bind.CallOpts) (common.Address, error) { 844 var out []interface{} 845 err := _Contract.contract.Call(opts, &out, "owner") 846 847 if err != nil { 848 return *new(common.Address), err 849 } 850 851 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 852 853 return out0, err 854 855 } 856 857 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 858 // 859 // Solidity: function owner() view returns(address) 860 func (_Contract *ContractSession) Owner() (common.Address, error) { 861 return _Contract.Contract.Owner(&_Contract.CallOpts) 862 } 863 864 // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. 865 // 866 // Solidity: function owner() view returns(address) 867 func (_Contract *ContractCallerSession) Owner() (common.Address, error) { 868 return _Contract.Contract.Owner(&_Contract.CallOpts) 869 } 870 871 // SlashingRefundRatio is a free data retrieval call binding the contract method 0xc65ee0e1. 872 // 873 // Solidity: function slashingRefundRatio(uint256 ) view returns(uint256) 874 func (_Contract *ContractCaller) SlashingRefundRatio(opts *bind.CallOpts, arg0 *big.Int) (*big.Int, error) { 875 var out []interface{} 876 err := _Contract.contract.Call(opts, &out, "slashingRefundRatio", arg0) 877 878 if err != nil { 879 return *new(*big.Int), err 880 } 881 882 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 883 884 return out0, err 885 886 } 887 888 // SlashingRefundRatio is a free data retrieval call binding the contract method 0xc65ee0e1. 889 // 890 // Solidity: function slashingRefundRatio(uint256 ) view returns(uint256) 891 func (_Contract *ContractSession) SlashingRefundRatio(arg0 *big.Int) (*big.Int, error) { 892 return _Contract.Contract.SlashingRefundRatio(&_Contract.CallOpts, arg0) 893 } 894 895 // SlashingRefundRatio is a free data retrieval call binding the contract method 0xc65ee0e1. 896 // 897 // Solidity: function slashingRefundRatio(uint256 ) view returns(uint256) 898 func (_Contract *ContractCallerSession) SlashingRefundRatio(arg0 *big.Int) (*big.Int, error) { 899 return _Contract.Contract.SlashingRefundRatio(&_Contract.CallOpts, arg0) 900 } 901 902 // StakeTokenizerAddress is a free data retrieval call binding the contract method 0x0e559d82. 903 // 904 // Solidity: function stakeTokenizerAddress() view returns(address) 905 func (_Contract *ContractCaller) StakeTokenizerAddress(opts *bind.CallOpts) (common.Address, error) { 906 var out []interface{} 907 err := _Contract.contract.Call(opts, &out, "stakeTokenizerAddress") 908 909 if err != nil { 910 return *new(common.Address), err 911 } 912 913 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 914 915 return out0, err 916 917 } 918 919 // StakeTokenizerAddress is a free data retrieval call binding the contract method 0x0e559d82. 920 // 921 // Solidity: function stakeTokenizerAddress() view returns(address) 922 func (_Contract *ContractSession) StakeTokenizerAddress() (common.Address, error) { 923 return _Contract.Contract.StakeTokenizerAddress(&_Contract.CallOpts) 924 } 925 926 // StakeTokenizerAddress is a free data retrieval call binding the contract method 0x0e559d82. 927 // 928 // Solidity: function stakeTokenizerAddress() view returns(address) 929 func (_Contract *ContractCallerSession) StakeTokenizerAddress() (common.Address, error) { 930 return _Contract.Contract.StakeTokenizerAddress(&_Contract.CallOpts) 931 } 932 933 // StashedRewardsUntilEpoch is a free data retrieval call binding the contract method 0xa86a056f. 934 // 935 // Solidity: function stashedRewardsUntilEpoch(address , uint256 ) view returns(uint256) 936 func (_Contract *ContractCaller) StashedRewardsUntilEpoch(opts *bind.CallOpts, arg0 common.Address, arg1 *big.Int) (*big.Int, error) { 937 var out []interface{} 938 err := _Contract.contract.Call(opts, &out, "stashedRewardsUntilEpoch", arg0, arg1) 939 940 if err != nil { 941 return *new(*big.Int), err 942 } 943 944 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 945 946 return out0, err 947 948 } 949 950 // StashedRewardsUntilEpoch is a free data retrieval call binding the contract method 0xa86a056f. 951 // 952 // Solidity: function stashedRewardsUntilEpoch(address , uint256 ) view returns(uint256) 953 func (_Contract *ContractSession) StashedRewardsUntilEpoch(arg0 common.Address, arg1 *big.Int) (*big.Int, error) { 954 return _Contract.Contract.StashedRewardsUntilEpoch(&_Contract.CallOpts, arg0, arg1) 955 } 956 957 // StashedRewardsUntilEpoch is a free data retrieval call binding the contract method 0xa86a056f. 958 // 959 // Solidity: function stashedRewardsUntilEpoch(address , uint256 ) view returns(uint256) 960 func (_Contract *ContractCallerSession) StashedRewardsUntilEpoch(arg0 common.Address, arg1 *big.Int) (*big.Int, error) { 961 return _Contract.Contract.StashedRewardsUntilEpoch(&_Contract.CallOpts, arg0, arg1) 962 } 963 964 // TotalActiveStake is a free data retrieval call binding the contract method 0x28f73148. 965 // 966 // Solidity: function totalActiveStake() view returns(uint256) 967 func (_Contract *ContractCaller) TotalActiveStake(opts *bind.CallOpts) (*big.Int, error) { 968 var out []interface{} 969 err := _Contract.contract.Call(opts, &out, "totalActiveStake") 970 971 if err != nil { 972 return *new(*big.Int), err 973 } 974 975 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 976 977 return out0, err 978 979 } 980 981 // TotalActiveStake is a free data retrieval call binding the contract method 0x28f73148. 982 // 983 // Solidity: function totalActiveStake() view returns(uint256) 984 func (_Contract *ContractSession) TotalActiveStake() (*big.Int, error) { 985 return _Contract.Contract.TotalActiveStake(&_Contract.CallOpts) 986 } 987 988 // TotalActiveStake is a free data retrieval call binding the contract method 0x28f73148. 989 // 990 // Solidity: function totalActiveStake() view returns(uint256) 991 func (_Contract *ContractCallerSession) TotalActiveStake() (*big.Int, error) { 992 return _Contract.Contract.TotalActiveStake(&_Contract.CallOpts) 993 } 994 995 // TotalSlashedStake is a free data retrieval call binding the contract method 0x5fab23a8. 996 // 997 // Solidity: function totalSlashedStake() view returns(uint256) 998 func (_Contract *ContractCaller) TotalSlashedStake(opts *bind.CallOpts) (*big.Int, error) { 999 var out []interface{} 1000 err := _Contract.contract.Call(opts, &out, "totalSlashedStake") 1001 1002 if err != nil { 1003 return *new(*big.Int), err 1004 } 1005 1006 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1007 1008 return out0, err 1009 1010 } 1011 1012 // TotalSlashedStake is a free data retrieval call binding the contract method 0x5fab23a8. 1013 // 1014 // Solidity: function totalSlashedStake() view returns(uint256) 1015 func (_Contract *ContractSession) TotalSlashedStake() (*big.Int, error) { 1016 return _Contract.Contract.TotalSlashedStake(&_Contract.CallOpts) 1017 } 1018 1019 // TotalSlashedStake is a free data retrieval call binding the contract method 0x5fab23a8. 1020 // 1021 // Solidity: function totalSlashedStake() view returns(uint256) 1022 func (_Contract *ContractCallerSession) TotalSlashedStake() (*big.Int, error) { 1023 return _Contract.Contract.TotalSlashedStake(&_Contract.CallOpts) 1024 } 1025 1026 // TotalStake is a free data retrieval call binding the contract method 0x8b0e9f3f. 1027 // 1028 // Solidity: function totalStake() view returns(uint256) 1029 func (_Contract *ContractCaller) TotalStake(opts *bind.CallOpts) (*big.Int, error) { 1030 var out []interface{} 1031 err := _Contract.contract.Call(opts, &out, "totalStake") 1032 1033 if err != nil { 1034 return *new(*big.Int), err 1035 } 1036 1037 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1038 1039 return out0, err 1040 1041 } 1042 1043 // TotalStake is a free data retrieval call binding the contract method 0x8b0e9f3f. 1044 // 1045 // Solidity: function totalStake() view returns(uint256) 1046 func (_Contract *ContractSession) TotalStake() (*big.Int, error) { 1047 return _Contract.Contract.TotalStake(&_Contract.CallOpts) 1048 } 1049 1050 // TotalStake is a free data retrieval call binding the contract method 0x8b0e9f3f. 1051 // 1052 // Solidity: function totalStake() view returns(uint256) 1053 func (_Contract *ContractCallerSession) TotalStake() (*big.Int, error) { 1054 return _Contract.Contract.TotalStake(&_Contract.CallOpts) 1055 } 1056 1057 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1058 // 1059 // Solidity: function totalSupply() view returns(uint256) 1060 func (_Contract *ContractCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { 1061 var out []interface{} 1062 err := _Contract.contract.Call(opts, &out, "totalSupply") 1063 1064 if err != nil { 1065 return *new(*big.Int), err 1066 } 1067 1068 out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) 1069 1070 return out0, err 1071 1072 } 1073 1074 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1075 // 1076 // Solidity: function totalSupply() view returns(uint256) 1077 func (_Contract *ContractSession) TotalSupply() (*big.Int, error) { 1078 return _Contract.Contract.TotalSupply(&_Contract.CallOpts) 1079 } 1080 1081 // TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. 1082 // 1083 // Solidity: function totalSupply() view returns(uint256) 1084 func (_Contract *ContractCallerSession) TotalSupply() (*big.Int, error) { 1085 return _Contract.Contract.TotalSupply(&_Contract.CallOpts) 1086 } 1087 1088 // TreasuryAddress is a free data retrieval call binding the contract method 0xc5f956af. 1089 // 1090 // Solidity: function treasuryAddress() view returns(address) 1091 func (_Contract *ContractCaller) TreasuryAddress(opts *bind.CallOpts) (common.Address, error) { 1092 var out []interface{} 1093 err := _Contract.contract.Call(opts, &out, "treasuryAddress") 1094 1095 if err != nil { 1096 return *new(common.Address), err 1097 } 1098 1099 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 1100 1101 return out0, err 1102 1103 } 1104 1105 // TreasuryAddress is a free data retrieval call binding the contract method 0xc5f956af. 1106 // 1107 // Solidity: function treasuryAddress() view returns(address) 1108 func (_Contract *ContractSession) TreasuryAddress() (common.Address, error) { 1109 return _Contract.Contract.TreasuryAddress(&_Contract.CallOpts) 1110 } 1111 1112 // TreasuryAddress is a free data retrieval call binding the contract method 0xc5f956af. 1113 // 1114 // Solidity: function treasuryAddress() view returns(address) 1115 func (_Contract *ContractCallerSession) TreasuryAddress() (common.Address, error) { 1116 return _Contract.Contract.TreasuryAddress(&_Contract.CallOpts) 1117 } 1118 1119 // Version is a free data retrieval call binding the contract method 0x54fd4d50. 1120 // 1121 // Solidity: function version() pure returns(bytes3) 1122 func (_Contract *ContractCaller) Version(opts *bind.CallOpts) ([3]byte, error) { 1123 var out []interface{} 1124 err := _Contract.contract.Call(opts, &out, "version") 1125 1126 if err != nil { 1127 return *new([3]byte), err 1128 } 1129 1130 out0 := *abi.ConvertType(out[0], new([3]byte)).(*[3]byte) 1131 1132 return out0, err 1133 1134 } 1135 1136 // Version is a free data retrieval call binding the contract method 0x54fd4d50. 1137 // 1138 // Solidity: function version() pure returns(bytes3) 1139 func (_Contract *ContractSession) Version() ([3]byte, error) { 1140 return _Contract.Contract.Version(&_Contract.CallOpts) 1141 } 1142 1143 // Version is a free data retrieval call binding the contract method 0x54fd4d50. 1144 // 1145 // Solidity: function version() pure returns(bytes3) 1146 func (_Contract *ContractCallerSession) Version() ([3]byte, error) { 1147 return _Contract.Contract.Version(&_Contract.CallOpts) 1148 } 1149 1150 // VoteBookAddress is a free data retrieval call binding the contract method 0x893675c6. 1151 // 1152 // Solidity: function voteBookAddress() view returns(address) 1153 func (_Contract *ContractCaller) VoteBookAddress(opts *bind.CallOpts) (common.Address, error) { 1154 var out []interface{} 1155 err := _Contract.contract.Call(opts, &out, "voteBookAddress") 1156 1157 if err != nil { 1158 return *new(common.Address), err 1159 } 1160 1161 out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) 1162 1163 return out0, err 1164 1165 } 1166 1167 // VoteBookAddress is a free data retrieval call binding the contract method 0x893675c6. 1168 // 1169 // Solidity: function voteBookAddress() view returns(address) 1170 func (_Contract *ContractSession) VoteBookAddress() (common.Address, error) { 1171 return _Contract.Contract.VoteBookAddress(&_Contract.CallOpts) 1172 } 1173 1174 // VoteBookAddress is a free data retrieval call binding the contract method 0x893675c6. 1175 // 1176 // Solidity: function voteBookAddress() view returns(address) 1177 func (_Contract *ContractCallerSession) VoteBookAddress() (common.Address, error) { 1178 return _Contract.Contract.VoteBookAddress(&_Contract.CallOpts) 1179 } 1180 1181 // SyncValidator is a paid mutator transaction binding the contract method 0xcc8343aa. 1182 // 1183 // Solidity: function _syncValidator(uint256 validatorID, bool syncPubkey) returns() 1184 func (_Contract *ContractTransactor) SyncValidator(opts *bind.TransactOpts, validatorID *big.Int, syncPubkey bool) (*types.Transaction, error) { 1185 return _Contract.contract.Transact(opts, "_syncValidator", validatorID, syncPubkey) 1186 } 1187 1188 // SyncValidator is a paid mutator transaction binding the contract method 0xcc8343aa. 1189 // 1190 // Solidity: function _syncValidator(uint256 validatorID, bool syncPubkey) returns() 1191 func (_Contract *ContractSession) SyncValidator(validatorID *big.Int, syncPubkey bool) (*types.Transaction, error) { 1192 return _Contract.Contract.SyncValidator(&_Contract.TransactOpts, validatorID, syncPubkey) 1193 } 1194 1195 // SyncValidator is a paid mutator transaction binding the contract method 0xcc8343aa. 1196 // 1197 // Solidity: function _syncValidator(uint256 validatorID, bool syncPubkey) returns() 1198 func (_Contract *ContractTransactorSession) SyncValidator(validatorID *big.Int, syncPubkey bool) (*types.Transaction, error) { 1199 return _Contract.Contract.SyncValidator(&_Contract.TransactOpts, validatorID, syncPubkey) 1200 } 1201 1202 // Initialize is a paid mutator transaction binding the contract method 0x10e51e14. 1203 // 1204 // Solidity: function initialize(uint256 sealedEpoch, uint256 _totalSupply, address nodeDriver, address lib, address _c, address owner) returns() 1205 func (_Contract *ContractTransactor) Initialize(opts *bind.TransactOpts, sealedEpoch *big.Int, _totalSupply *big.Int, nodeDriver common.Address, lib common.Address, _c common.Address, owner common.Address) (*types.Transaction, error) { 1206 return _Contract.contract.Transact(opts, "initialize", sealedEpoch, _totalSupply, nodeDriver, lib, _c, owner) 1207 } 1208 1209 // Initialize is a paid mutator transaction binding the contract method 0x10e51e14. 1210 // 1211 // Solidity: function initialize(uint256 sealedEpoch, uint256 _totalSupply, address nodeDriver, address lib, address _c, address owner) returns() 1212 func (_Contract *ContractSession) Initialize(sealedEpoch *big.Int, _totalSupply *big.Int, nodeDriver common.Address, lib common.Address, _c common.Address, owner common.Address) (*types.Transaction, error) { 1213 return _Contract.Contract.Initialize(&_Contract.TransactOpts, sealedEpoch, _totalSupply, nodeDriver, lib, _c, owner) 1214 } 1215 1216 // Initialize is a paid mutator transaction binding the contract method 0x10e51e14. 1217 // 1218 // Solidity: function initialize(uint256 sealedEpoch, uint256 _totalSupply, address nodeDriver, address lib, address _c, address owner) returns() 1219 func (_Contract *ContractTransactorSession) Initialize(sealedEpoch *big.Int, _totalSupply *big.Int, nodeDriver common.Address, lib common.Address, _c common.Address, owner common.Address) (*types.Transaction, error) { 1220 return _Contract.Contract.Initialize(&_Contract.TransactOpts, sealedEpoch, _totalSupply, nodeDriver, lib, _c, owner) 1221 } 1222 1223 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 1224 // 1225 // Solidity: function renounceOwnership() returns() 1226 func (_Contract *ContractTransactor) RenounceOwnership(opts *bind.TransactOpts) (*types.Transaction, error) { 1227 return _Contract.contract.Transact(opts, "renounceOwnership") 1228 } 1229 1230 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 1231 // 1232 // Solidity: function renounceOwnership() returns() 1233 func (_Contract *ContractSession) RenounceOwnership() (*types.Transaction, error) { 1234 return _Contract.Contract.RenounceOwnership(&_Contract.TransactOpts) 1235 } 1236 1237 // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. 1238 // 1239 // Solidity: function renounceOwnership() returns() 1240 func (_Contract *ContractTransactorSession) RenounceOwnership() (*types.Transaction, error) { 1241 return _Contract.Contract.RenounceOwnership(&_Contract.TransactOpts) 1242 } 1243 1244 // SealEpoch is a paid mutator transaction binding the contract method 0x592fe0c0. 1245 // 1246 // Solidity: function sealEpoch(uint256[] offlineTime, uint256[] offlineBlocks, uint256[] uptimes, uint256[] originatedTxsFee, uint256 epochGas) returns() 1247 func (_Contract *ContractTransactor) SealEpoch(opts *bind.TransactOpts, offlineTime []*big.Int, offlineBlocks []*big.Int, uptimes []*big.Int, originatedTxsFee []*big.Int, epochGas *big.Int) (*types.Transaction, error) { 1248 return _Contract.contract.Transact(opts, "sealEpoch", offlineTime, offlineBlocks, uptimes, originatedTxsFee, epochGas) 1249 } 1250 1251 // SealEpoch is a paid mutator transaction binding the contract method 0x592fe0c0. 1252 // 1253 // Solidity: function sealEpoch(uint256[] offlineTime, uint256[] offlineBlocks, uint256[] uptimes, uint256[] originatedTxsFee, uint256 epochGas) returns() 1254 func (_Contract *ContractSession) SealEpoch(offlineTime []*big.Int, offlineBlocks []*big.Int, uptimes []*big.Int, originatedTxsFee []*big.Int, epochGas *big.Int) (*types.Transaction, error) { 1255 return _Contract.Contract.SealEpoch(&_Contract.TransactOpts, offlineTime, offlineBlocks, uptimes, originatedTxsFee, epochGas) 1256 } 1257 1258 // SealEpoch is a paid mutator transaction binding the contract method 0x592fe0c0. 1259 // 1260 // Solidity: function sealEpoch(uint256[] offlineTime, uint256[] offlineBlocks, uint256[] uptimes, uint256[] originatedTxsFee, uint256 epochGas) returns() 1261 func (_Contract *ContractTransactorSession) SealEpoch(offlineTime []*big.Int, offlineBlocks []*big.Int, uptimes []*big.Int, originatedTxsFee []*big.Int, epochGas *big.Int) (*types.Transaction, error) { 1262 return _Contract.Contract.SealEpoch(&_Contract.TransactOpts, offlineTime, offlineBlocks, uptimes, originatedTxsFee, epochGas) 1263 } 1264 1265 // SealEpochValidators is a paid mutator transaction binding the contract method 0xe08d7e66. 1266 // 1267 // Solidity: function sealEpochValidators(uint256[] nextValidatorIDs) returns() 1268 func (_Contract *ContractTransactor) SealEpochValidators(opts *bind.TransactOpts, nextValidatorIDs []*big.Int) (*types.Transaction, error) { 1269 return _Contract.contract.Transact(opts, "sealEpochValidators", nextValidatorIDs) 1270 } 1271 1272 // SealEpochValidators is a paid mutator transaction binding the contract method 0xe08d7e66. 1273 // 1274 // Solidity: function sealEpochValidators(uint256[] nextValidatorIDs) returns() 1275 func (_Contract *ContractSession) SealEpochValidators(nextValidatorIDs []*big.Int) (*types.Transaction, error) { 1276 return _Contract.Contract.SealEpochValidators(&_Contract.TransactOpts, nextValidatorIDs) 1277 } 1278 1279 // SealEpochValidators is a paid mutator transaction binding the contract method 0xe08d7e66. 1280 // 1281 // Solidity: function sealEpochValidators(uint256[] nextValidatorIDs) returns() 1282 func (_Contract *ContractTransactorSession) SealEpochValidators(nextValidatorIDs []*big.Int) (*types.Transaction, error) { 1283 return _Contract.Contract.SealEpochValidators(&_Contract.TransactOpts, nextValidatorIDs) 1284 } 1285 1286 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 1287 // 1288 // Solidity: function transferOwnership(address newOwner) returns() 1289 func (_Contract *ContractTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address) (*types.Transaction, error) { 1290 return _Contract.contract.Transact(opts, "transferOwnership", newOwner) 1291 } 1292 1293 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 1294 // 1295 // Solidity: function transferOwnership(address newOwner) returns() 1296 func (_Contract *ContractSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 1297 return _Contract.Contract.TransferOwnership(&_Contract.TransactOpts, newOwner) 1298 } 1299 1300 // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. 1301 // 1302 // Solidity: function transferOwnership(address newOwner) returns() 1303 func (_Contract *ContractTransactorSession) TransferOwnership(newOwner common.Address) (*types.Transaction, error) { 1304 return _Contract.Contract.TransferOwnership(&_Contract.TransactOpts, newOwner) 1305 } 1306 1307 // UpdateConstsAddress is a paid mutator transaction binding the contract method 0x860c2750. 1308 // 1309 // Solidity: function updateConstsAddress(address v) returns() 1310 func (_Contract *ContractTransactor) UpdateConstsAddress(opts *bind.TransactOpts, v common.Address) (*types.Transaction, error) { 1311 return _Contract.contract.Transact(opts, "updateConstsAddress", v) 1312 } 1313 1314 // UpdateConstsAddress is a paid mutator transaction binding the contract method 0x860c2750. 1315 // 1316 // Solidity: function updateConstsAddress(address v) returns() 1317 func (_Contract *ContractSession) UpdateConstsAddress(v common.Address) (*types.Transaction, error) { 1318 return _Contract.Contract.UpdateConstsAddress(&_Contract.TransactOpts, v) 1319 } 1320 1321 // UpdateConstsAddress is a paid mutator transaction binding the contract method 0x860c2750. 1322 // 1323 // Solidity: function updateConstsAddress(address v) returns() 1324 func (_Contract *ContractTransactorSession) UpdateConstsAddress(v common.Address) (*types.Transaction, error) { 1325 return _Contract.Contract.UpdateConstsAddress(&_Contract.TransactOpts, v) 1326 } 1327 1328 // UpdateLibAddress is a paid mutator transaction binding the contract method 0xe6f45adf. 1329 // 1330 // Solidity: function updateLibAddress(address v) returns() 1331 func (_Contract *ContractTransactor) UpdateLibAddress(opts *bind.TransactOpts, v common.Address) (*types.Transaction, error) { 1332 return _Contract.contract.Transact(opts, "updateLibAddress", v) 1333 } 1334 1335 // UpdateLibAddress is a paid mutator transaction binding the contract method 0xe6f45adf. 1336 // 1337 // Solidity: function updateLibAddress(address v) returns() 1338 func (_Contract *ContractSession) UpdateLibAddress(v common.Address) (*types.Transaction, error) { 1339 return _Contract.Contract.UpdateLibAddress(&_Contract.TransactOpts, v) 1340 } 1341 1342 // UpdateLibAddress is a paid mutator transaction binding the contract method 0xe6f45adf. 1343 // 1344 // Solidity: function updateLibAddress(address v) returns() 1345 func (_Contract *ContractTransactorSession) UpdateLibAddress(v common.Address) (*types.Transaction, error) { 1346 return _Contract.Contract.UpdateLibAddress(&_Contract.TransactOpts, v) 1347 } 1348 1349 // UpdateStakeTokenizerAddress is a paid mutator transaction binding the contract method 0xa2f6e6bc. 1350 // 1351 // Solidity: function updateStakeTokenizerAddress(address addr) returns() 1352 func (_Contract *ContractTransactor) UpdateStakeTokenizerAddress(opts *bind.TransactOpts, addr common.Address) (*types.Transaction, error) { 1353 return _Contract.contract.Transact(opts, "updateStakeTokenizerAddress", addr) 1354 } 1355 1356 // UpdateStakeTokenizerAddress is a paid mutator transaction binding the contract method 0xa2f6e6bc. 1357 // 1358 // Solidity: function updateStakeTokenizerAddress(address addr) returns() 1359 func (_Contract *ContractSession) UpdateStakeTokenizerAddress(addr common.Address) (*types.Transaction, error) { 1360 return _Contract.Contract.UpdateStakeTokenizerAddress(&_Contract.TransactOpts, addr) 1361 } 1362 1363 // UpdateStakeTokenizerAddress is a paid mutator transaction binding the contract method 0xa2f6e6bc. 1364 // 1365 // Solidity: function updateStakeTokenizerAddress(address addr) returns() 1366 func (_Contract *ContractTransactorSession) UpdateStakeTokenizerAddress(addr common.Address) (*types.Transaction, error) { 1367 return _Contract.Contract.UpdateStakeTokenizerAddress(&_Contract.TransactOpts, addr) 1368 } 1369 1370 // UpdateTreasuryAddress is a paid mutator transaction binding the contract method 0x841e4561. 1371 // 1372 // Solidity: function updateTreasuryAddress(address v) returns() 1373 func (_Contract *ContractTransactor) UpdateTreasuryAddress(opts *bind.TransactOpts, v common.Address) (*types.Transaction, error) { 1374 return _Contract.contract.Transact(opts, "updateTreasuryAddress", v) 1375 } 1376 1377 // UpdateTreasuryAddress is a paid mutator transaction binding the contract method 0x841e4561. 1378 // 1379 // Solidity: function updateTreasuryAddress(address v) returns() 1380 func (_Contract *ContractSession) UpdateTreasuryAddress(v common.Address) (*types.Transaction, error) { 1381 return _Contract.Contract.UpdateTreasuryAddress(&_Contract.TransactOpts, v) 1382 } 1383 1384 // UpdateTreasuryAddress is a paid mutator transaction binding the contract method 0x841e4561. 1385 // 1386 // Solidity: function updateTreasuryAddress(address v) returns() 1387 func (_Contract *ContractTransactorSession) UpdateTreasuryAddress(v common.Address) (*types.Transaction, error) { 1388 return _Contract.Contract.UpdateTreasuryAddress(&_Contract.TransactOpts, v) 1389 } 1390 1391 // UpdateVoteBookAddress is a paid mutator transaction binding the contract method 0x550359a0. 1392 // 1393 // Solidity: function updateVoteBookAddress(address v) returns() 1394 func (_Contract *ContractTransactor) UpdateVoteBookAddress(opts *bind.TransactOpts, v common.Address) (*types.Transaction, error) { 1395 return _Contract.contract.Transact(opts, "updateVoteBookAddress", v) 1396 } 1397 1398 // UpdateVoteBookAddress is a paid mutator transaction binding the contract method 0x550359a0. 1399 // 1400 // Solidity: function updateVoteBookAddress(address v) returns() 1401 func (_Contract *ContractSession) UpdateVoteBookAddress(v common.Address) (*types.Transaction, error) { 1402 return _Contract.Contract.UpdateVoteBookAddress(&_Contract.TransactOpts, v) 1403 } 1404 1405 // UpdateVoteBookAddress is a paid mutator transaction binding the contract method 0x550359a0. 1406 // 1407 // Solidity: function updateVoteBookAddress(address v) returns() 1408 func (_Contract *ContractTransactorSession) UpdateVoteBookAddress(v common.Address) (*types.Transaction, error) { 1409 return _Contract.Contract.UpdateVoteBookAddress(&_Contract.TransactOpts, v) 1410 } 1411 1412 // Fallback is a paid mutator transaction binding the contract fallback function. 1413 // 1414 // Solidity: fallback() payable returns() 1415 func (_Contract *ContractTransactor) Fallback(opts *bind.TransactOpts, calldata []byte) (*types.Transaction, error) { 1416 return _Contract.contract.RawTransact(opts, calldata) 1417 } 1418 1419 // Fallback is a paid mutator transaction binding the contract fallback function. 1420 // 1421 // Solidity: fallback() payable returns() 1422 func (_Contract *ContractSession) Fallback(calldata []byte) (*types.Transaction, error) { 1423 return _Contract.Contract.Fallback(&_Contract.TransactOpts, calldata) 1424 } 1425 1426 // Fallback is a paid mutator transaction binding the contract fallback function. 1427 // 1428 // Solidity: fallback() payable returns() 1429 func (_Contract *ContractTransactorSession) Fallback(calldata []byte) (*types.Transaction, error) { 1430 return _Contract.Contract.Fallback(&_Contract.TransactOpts, calldata) 1431 } 1432 1433 // ContractChangedValidatorStatusIterator is returned from FilterChangedValidatorStatus and is used to iterate over the raw logs and unpacked data for ChangedValidatorStatus events raised by the Contract contract. 1434 type ContractChangedValidatorStatusIterator struct { 1435 Event *ContractChangedValidatorStatus // Event containing the contract specifics and raw log 1436 1437 contract *bind.BoundContract // Generic contract to use for unpacking event data 1438 event string // Event name to use for unpacking event data 1439 1440 logs chan types.Log // Log channel receiving the found contract events 1441 sub u2u.Subscription // Subscription for errors, completion and termination 1442 done bool // Whether the subscription completed delivering logs 1443 fail error // Occurred error to stop iteration 1444 } 1445 1446 // Next advances the iterator to the subsequent event, returning whether there 1447 // are any more events found. In case of a retrieval or parsing error, false is 1448 // returned and Error() can be queried for the exact failure. 1449 func (it *ContractChangedValidatorStatusIterator) Next() bool { 1450 // If the iterator failed, stop iterating 1451 if it.fail != nil { 1452 return false 1453 } 1454 // If the iterator completed, deliver directly whatever's available 1455 if it.done { 1456 select { 1457 case log := <-it.logs: 1458 it.Event = new(ContractChangedValidatorStatus) 1459 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1460 it.fail = err 1461 return false 1462 } 1463 it.Event.Raw = log 1464 return true 1465 1466 default: 1467 return false 1468 } 1469 } 1470 // Iterator still in progress, wait for either a data or an error event 1471 select { 1472 case log := <-it.logs: 1473 it.Event = new(ContractChangedValidatorStatus) 1474 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1475 it.fail = err 1476 return false 1477 } 1478 it.Event.Raw = log 1479 return true 1480 1481 case err := <-it.sub.Err(): 1482 it.done = true 1483 it.fail = err 1484 return it.Next() 1485 } 1486 } 1487 1488 // Error returns any retrieval or parsing error occurred during filtering. 1489 func (it *ContractChangedValidatorStatusIterator) Error() error { 1490 return it.fail 1491 } 1492 1493 // Close terminates the iteration process, releasing any pending underlying 1494 // resources. 1495 func (it *ContractChangedValidatorStatusIterator) Close() error { 1496 it.sub.Unsubscribe() 1497 return nil 1498 } 1499 1500 // ContractChangedValidatorStatus represents a ChangedValidatorStatus event raised by the Contract contract. 1501 type ContractChangedValidatorStatus struct { 1502 ValidatorID *big.Int 1503 Status *big.Int 1504 Raw types.Log // Blockchain specific contextual infos 1505 } 1506 1507 // FilterChangedValidatorStatus is a free log retrieval operation binding the contract event 0xcd35267e7654194727477d6c78b541a553483cff7f92a055d17868d3da6e953e. 1508 // 1509 // Solidity: event ChangedValidatorStatus(uint256 indexed validatorID, uint256 status) 1510 func (_Contract *ContractFilterer) FilterChangedValidatorStatus(opts *bind.FilterOpts, validatorID []*big.Int) (*ContractChangedValidatorStatusIterator, error) { 1511 1512 var validatorIDRule []interface{} 1513 for _, validatorIDItem := range validatorID { 1514 validatorIDRule = append(validatorIDRule, validatorIDItem) 1515 } 1516 1517 logs, sub, err := _Contract.contract.FilterLogs(opts, "ChangedValidatorStatus", validatorIDRule) 1518 if err != nil { 1519 return nil, err 1520 } 1521 return &ContractChangedValidatorStatusIterator{contract: _Contract.contract, event: "ChangedValidatorStatus", logs: logs, sub: sub}, nil 1522 } 1523 1524 // WatchChangedValidatorStatus is a free log subscription operation binding the contract event 0xcd35267e7654194727477d6c78b541a553483cff7f92a055d17868d3da6e953e. 1525 // 1526 // Solidity: event ChangedValidatorStatus(uint256 indexed validatorID, uint256 status) 1527 func (_Contract *ContractFilterer) WatchChangedValidatorStatus(opts *bind.WatchOpts, sink chan<- *ContractChangedValidatorStatus, validatorID []*big.Int) (event.Subscription, error) { 1528 1529 var validatorIDRule []interface{} 1530 for _, validatorIDItem := range validatorID { 1531 validatorIDRule = append(validatorIDRule, validatorIDItem) 1532 } 1533 1534 logs, sub, err := _Contract.contract.WatchLogs(opts, "ChangedValidatorStatus", validatorIDRule) 1535 if err != nil { 1536 return nil, err 1537 } 1538 return event.NewSubscription(func(quit <-chan struct{}) error { 1539 defer sub.Unsubscribe() 1540 for { 1541 select { 1542 case log := <-logs: 1543 // New log arrived, parse the event and forward to the user 1544 event := new(ContractChangedValidatorStatus) 1545 if err := _Contract.contract.UnpackLog(event, "ChangedValidatorStatus", log); err != nil { 1546 return err 1547 } 1548 event.Raw = log 1549 1550 select { 1551 case sink <- event: 1552 case err := <-sub.Err(): 1553 return err 1554 case <-quit: 1555 return nil 1556 } 1557 case err := <-sub.Err(): 1558 return err 1559 case <-quit: 1560 return nil 1561 } 1562 } 1563 }), nil 1564 } 1565 1566 // ParseChangedValidatorStatus is a log parse operation binding the contract event 0xcd35267e7654194727477d6c78b541a553483cff7f92a055d17868d3da6e953e. 1567 // 1568 // Solidity: event ChangedValidatorStatus(uint256 indexed validatorID, uint256 status) 1569 func (_Contract *ContractFilterer) ParseChangedValidatorStatus(log types.Log) (*ContractChangedValidatorStatus, error) { 1570 event := new(ContractChangedValidatorStatus) 1571 if err := _Contract.contract.UnpackLog(event, "ChangedValidatorStatus", log); err != nil { 1572 return nil, err 1573 } 1574 event.Raw = log 1575 return event, nil 1576 } 1577 1578 // ContractDeactivatedValidatorIterator is returned from FilterDeactivatedValidator and is used to iterate over the raw logs and unpacked data for DeactivatedValidator events raised by the Contract contract. 1579 type ContractDeactivatedValidatorIterator struct { 1580 Event *ContractDeactivatedValidator // Event containing the contract specifics and raw log 1581 1582 contract *bind.BoundContract // Generic contract to use for unpacking event data 1583 event string // Event name to use for unpacking event data 1584 1585 logs chan types.Log // Log channel receiving the found contract events 1586 sub u2u.Subscription // Subscription for errors, completion and termination 1587 done bool // Whether the subscription completed delivering logs 1588 fail error // Occurred error to stop iteration 1589 } 1590 1591 // Next advances the iterator to the subsequent event, returning whether there 1592 // are any more events found. In case of a retrieval or parsing error, false is 1593 // returned and Error() can be queried for the exact failure. 1594 func (it *ContractDeactivatedValidatorIterator) Next() bool { 1595 // If the iterator failed, stop iterating 1596 if it.fail != nil { 1597 return false 1598 } 1599 // If the iterator completed, deliver directly whatever's available 1600 if it.done { 1601 select { 1602 case log := <-it.logs: 1603 it.Event = new(ContractDeactivatedValidator) 1604 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1605 it.fail = err 1606 return false 1607 } 1608 it.Event.Raw = log 1609 return true 1610 1611 default: 1612 return false 1613 } 1614 } 1615 // Iterator still in progress, wait for either a data or an error event 1616 select { 1617 case log := <-it.logs: 1618 it.Event = new(ContractDeactivatedValidator) 1619 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1620 it.fail = err 1621 return false 1622 } 1623 it.Event.Raw = log 1624 return true 1625 1626 case err := <-it.sub.Err(): 1627 it.done = true 1628 it.fail = err 1629 return it.Next() 1630 } 1631 } 1632 1633 // Error returns any retrieval or parsing error occurred during filtering. 1634 func (it *ContractDeactivatedValidatorIterator) Error() error { 1635 return it.fail 1636 } 1637 1638 // Close terminates the iteration process, releasing any pending underlying 1639 // resources. 1640 func (it *ContractDeactivatedValidatorIterator) Close() error { 1641 it.sub.Unsubscribe() 1642 return nil 1643 } 1644 1645 // ContractDeactivatedValidator represents a DeactivatedValidator event raised by the Contract contract. 1646 type ContractDeactivatedValidator struct { 1647 ValidatorID *big.Int 1648 DeactivatedEpoch *big.Int 1649 DeactivatedTime *big.Int 1650 Raw types.Log // Blockchain specific contextual infos 1651 } 1652 1653 // FilterDeactivatedValidator is a free log retrieval operation binding the contract event 0xac4801c32a6067ff757446524ee4e7a373797278ac3c883eac5c693b4ad72e47. 1654 // 1655 // Solidity: event DeactivatedValidator(uint256 indexed validatorID, uint256 deactivatedEpoch, uint256 deactivatedTime) 1656 func (_Contract *ContractFilterer) FilterDeactivatedValidator(opts *bind.FilterOpts, validatorID []*big.Int) (*ContractDeactivatedValidatorIterator, error) { 1657 1658 var validatorIDRule []interface{} 1659 for _, validatorIDItem := range validatorID { 1660 validatorIDRule = append(validatorIDRule, validatorIDItem) 1661 } 1662 1663 logs, sub, err := _Contract.contract.FilterLogs(opts, "DeactivatedValidator", validatorIDRule) 1664 if err != nil { 1665 return nil, err 1666 } 1667 return &ContractDeactivatedValidatorIterator{contract: _Contract.contract, event: "DeactivatedValidator", logs: logs, sub: sub}, nil 1668 } 1669 1670 // WatchDeactivatedValidator is a free log subscription operation binding the contract event 0xac4801c32a6067ff757446524ee4e7a373797278ac3c883eac5c693b4ad72e47. 1671 // 1672 // Solidity: event DeactivatedValidator(uint256 indexed validatorID, uint256 deactivatedEpoch, uint256 deactivatedTime) 1673 func (_Contract *ContractFilterer) WatchDeactivatedValidator(opts *bind.WatchOpts, sink chan<- *ContractDeactivatedValidator, validatorID []*big.Int) (event.Subscription, error) { 1674 1675 var validatorIDRule []interface{} 1676 for _, validatorIDItem := range validatorID { 1677 validatorIDRule = append(validatorIDRule, validatorIDItem) 1678 } 1679 1680 logs, sub, err := _Contract.contract.WatchLogs(opts, "DeactivatedValidator", validatorIDRule) 1681 if err != nil { 1682 return nil, err 1683 } 1684 return event.NewSubscription(func(quit <-chan struct{}) error { 1685 defer sub.Unsubscribe() 1686 for { 1687 select { 1688 case log := <-logs: 1689 // New log arrived, parse the event and forward to the user 1690 event := new(ContractDeactivatedValidator) 1691 if err := _Contract.contract.UnpackLog(event, "DeactivatedValidator", log); err != nil { 1692 return err 1693 } 1694 event.Raw = log 1695 1696 select { 1697 case sink <- event: 1698 case err := <-sub.Err(): 1699 return err 1700 case <-quit: 1701 return nil 1702 } 1703 case err := <-sub.Err(): 1704 return err 1705 case <-quit: 1706 return nil 1707 } 1708 } 1709 }), nil 1710 } 1711 1712 // ParseDeactivatedValidator is a log parse operation binding the contract event 0xac4801c32a6067ff757446524ee4e7a373797278ac3c883eac5c693b4ad72e47. 1713 // 1714 // Solidity: event DeactivatedValidator(uint256 indexed validatorID, uint256 deactivatedEpoch, uint256 deactivatedTime) 1715 func (_Contract *ContractFilterer) ParseDeactivatedValidator(log types.Log) (*ContractDeactivatedValidator, error) { 1716 event := new(ContractDeactivatedValidator) 1717 if err := _Contract.contract.UnpackLog(event, "DeactivatedValidator", log); err != nil { 1718 return nil, err 1719 } 1720 event.Raw = log 1721 return event, nil 1722 } 1723 1724 // ContractOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Contract contract. 1725 type ContractOwnershipTransferredIterator struct { 1726 Event *ContractOwnershipTransferred // Event containing the contract specifics and raw log 1727 1728 contract *bind.BoundContract // Generic contract to use for unpacking event data 1729 event string // Event name to use for unpacking event data 1730 1731 logs chan types.Log // Log channel receiving the found contract events 1732 sub u2u.Subscription // Subscription for errors, completion and termination 1733 done bool // Whether the subscription completed delivering logs 1734 fail error // Occurred error to stop iteration 1735 } 1736 1737 // Next advances the iterator to the subsequent event, returning whether there 1738 // are any more events found. In case of a retrieval or parsing error, false is 1739 // returned and Error() can be queried for the exact failure. 1740 func (it *ContractOwnershipTransferredIterator) Next() bool { 1741 // If the iterator failed, stop iterating 1742 if it.fail != nil { 1743 return false 1744 } 1745 // If the iterator completed, deliver directly whatever's available 1746 if it.done { 1747 select { 1748 case log := <-it.logs: 1749 it.Event = new(ContractOwnershipTransferred) 1750 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1751 it.fail = err 1752 return false 1753 } 1754 it.Event.Raw = log 1755 return true 1756 1757 default: 1758 return false 1759 } 1760 } 1761 // Iterator still in progress, wait for either a data or an error event 1762 select { 1763 case log := <-it.logs: 1764 it.Event = new(ContractOwnershipTransferred) 1765 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1766 it.fail = err 1767 return false 1768 } 1769 it.Event.Raw = log 1770 return true 1771 1772 case err := <-it.sub.Err(): 1773 it.done = true 1774 it.fail = err 1775 return it.Next() 1776 } 1777 } 1778 1779 // Error returns any retrieval or parsing error occurred during filtering. 1780 func (it *ContractOwnershipTransferredIterator) Error() error { 1781 return it.fail 1782 } 1783 1784 // Close terminates the iteration process, releasing any pending underlying 1785 // resources. 1786 func (it *ContractOwnershipTransferredIterator) Close() error { 1787 it.sub.Unsubscribe() 1788 return nil 1789 } 1790 1791 // ContractOwnershipTransferred represents a OwnershipTransferred event raised by the Contract contract. 1792 type ContractOwnershipTransferred struct { 1793 PreviousOwner common.Address 1794 NewOwner common.Address 1795 Raw types.Log // Blockchain specific contextual infos 1796 } 1797 1798 // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 1799 // 1800 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 1801 func (_Contract *ContractFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*ContractOwnershipTransferredIterator, error) { 1802 1803 var previousOwnerRule []interface{} 1804 for _, previousOwnerItem := range previousOwner { 1805 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 1806 } 1807 var newOwnerRule []interface{} 1808 for _, newOwnerItem := range newOwner { 1809 newOwnerRule = append(newOwnerRule, newOwnerItem) 1810 } 1811 1812 logs, sub, err := _Contract.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 1813 if err != nil { 1814 return nil, err 1815 } 1816 return &ContractOwnershipTransferredIterator{contract: _Contract.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil 1817 } 1818 1819 // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 1820 // 1821 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 1822 func (_Contract *ContractFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *ContractOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) { 1823 1824 var previousOwnerRule []interface{} 1825 for _, previousOwnerItem := range previousOwner { 1826 previousOwnerRule = append(previousOwnerRule, previousOwnerItem) 1827 } 1828 var newOwnerRule []interface{} 1829 for _, newOwnerItem := range newOwner { 1830 newOwnerRule = append(newOwnerRule, newOwnerItem) 1831 } 1832 1833 logs, sub, err := _Contract.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule) 1834 if err != nil { 1835 return nil, err 1836 } 1837 return event.NewSubscription(func(quit <-chan struct{}) error { 1838 defer sub.Unsubscribe() 1839 for { 1840 select { 1841 case log := <-logs: 1842 // New log arrived, parse the event and forward to the user 1843 event := new(ContractOwnershipTransferred) 1844 if err := _Contract.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 1845 return err 1846 } 1847 event.Raw = log 1848 1849 select { 1850 case sink <- event: 1851 case err := <-sub.Err(): 1852 return err 1853 case <-quit: 1854 return nil 1855 } 1856 case err := <-sub.Err(): 1857 return err 1858 case <-quit: 1859 return nil 1860 } 1861 } 1862 }), nil 1863 } 1864 1865 // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0. 1866 // 1867 // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner) 1868 func (_Contract *ContractFilterer) ParseOwnershipTransferred(log types.Log) (*ContractOwnershipTransferred, error) { 1869 event := new(ContractOwnershipTransferred) 1870 if err := _Contract.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil { 1871 return nil, err 1872 } 1873 event.Raw = log 1874 return event, nil 1875 } 1876 1877 // ContractUpdatedBaseRewardPerSecIterator is returned from FilterUpdatedBaseRewardPerSec and is used to iterate over the raw logs and unpacked data for UpdatedBaseRewardPerSec events raised by the Contract contract. 1878 type ContractUpdatedBaseRewardPerSecIterator struct { 1879 Event *ContractUpdatedBaseRewardPerSec // Event containing the contract specifics and raw log 1880 1881 contract *bind.BoundContract // Generic contract to use for unpacking event data 1882 event string // Event name to use for unpacking event data 1883 1884 logs chan types.Log // Log channel receiving the found contract events 1885 sub u2u.Subscription // Subscription for errors, completion and termination 1886 done bool // Whether the subscription completed delivering logs 1887 fail error // Occurred error to stop iteration 1888 } 1889 1890 // Next advances the iterator to the subsequent event, returning whether there 1891 // are any more events found. In case of a retrieval or parsing error, false is 1892 // returned and Error() can be queried for the exact failure. 1893 func (it *ContractUpdatedBaseRewardPerSecIterator) Next() bool { 1894 // If the iterator failed, stop iterating 1895 if it.fail != nil { 1896 return false 1897 } 1898 // If the iterator completed, deliver directly whatever's available 1899 if it.done { 1900 select { 1901 case log := <-it.logs: 1902 it.Event = new(ContractUpdatedBaseRewardPerSec) 1903 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1904 it.fail = err 1905 return false 1906 } 1907 it.Event.Raw = log 1908 return true 1909 1910 default: 1911 return false 1912 } 1913 } 1914 // Iterator still in progress, wait for either a data or an error event 1915 select { 1916 case log := <-it.logs: 1917 it.Event = new(ContractUpdatedBaseRewardPerSec) 1918 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 1919 it.fail = err 1920 return false 1921 } 1922 it.Event.Raw = log 1923 return true 1924 1925 case err := <-it.sub.Err(): 1926 it.done = true 1927 it.fail = err 1928 return it.Next() 1929 } 1930 } 1931 1932 // Error returns any retrieval or parsing error occurred during filtering. 1933 func (it *ContractUpdatedBaseRewardPerSecIterator) Error() error { 1934 return it.fail 1935 } 1936 1937 // Close terminates the iteration process, releasing any pending underlying 1938 // resources. 1939 func (it *ContractUpdatedBaseRewardPerSecIterator) Close() error { 1940 it.sub.Unsubscribe() 1941 return nil 1942 } 1943 1944 // ContractUpdatedBaseRewardPerSec represents a UpdatedBaseRewardPerSec event raised by the Contract contract. 1945 type ContractUpdatedBaseRewardPerSec struct { 1946 Value *big.Int 1947 Raw types.Log // Blockchain specific contextual infos 1948 } 1949 1950 // FilterUpdatedBaseRewardPerSec is a free log retrieval operation binding the contract event 0x8cd9dae1bbea2bc8a5e80ffce2c224727a25925130a03ae100619a8861ae2396. 1951 // 1952 // Solidity: event UpdatedBaseRewardPerSec(uint256 value) 1953 func (_Contract *ContractFilterer) FilterUpdatedBaseRewardPerSec(opts *bind.FilterOpts) (*ContractUpdatedBaseRewardPerSecIterator, error) { 1954 1955 logs, sub, err := _Contract.contract.FilterLogs(opts, "UpdatedBaseRewardPerSec") 1956 if err != nil { 1957 return nil, err 1958 } 1959 return &ContractUpdatedBaseRewardPerSecIterator{contract: _Contract.contract, event: "UpdatedBaseRewardPerSec", logs: logs, sub: sub}, nil 1960 } 1961 1962 // WatchUpdatedBaseRewardPerSec is a free log subscription operation binding the contract event 0x8cd9dae1bbea2bc8a5e80ffce2c224727a25925130a03ae100619a8861ae2396. 1963 // 1964 // Solidity: event UpdatedBaseRewardPerSec(uint256 value) 1965 func (_Contract *ContractFilterer) WatchUpdatedBaseRewardPerSec(opts *bind.WatchOpts, sink chan<- *ContractUpdatedBaseRewardPerSec) (event.Subscription, error) { 1966 1967 logs, sub, err := _Contract.contract.WatchLogs(opts, "UpdatedBaseRewardPerSec") 1968 if err != nil { 1969 return nil, err 1970 } 1971 return event.NewSubscription(func(quit <-chan struct{}) error { 1972 defer sub.Unsubscribe() 1973 for { 1974 select { 1975 case log := <-logs: 1976 // New log arrived, parse the event and forward to the user 1977 event := new(ContractUpdatedBaseRewardPerSec) 1978 if err := _Contract.contract.UnpackLog(event, "UpdatedBaseRewardPerSec", log); err != nil { 1979 return err 1980 } 1981 event.Raw = log 1982 1983 select { 1984 case sink <- event: 1985 case err := <-sub.Err(): 1986 return err 1987 case <-quit: 1988 return nil 1989 } 1990 case err := <-sub.Err(): 1991 return err 1992 case <-quit: 1993 return nil 1994 } 1995 } 1996 }), nil 1997 } 1998 1999 // ParseUpdatedBaseRewardPerSec is a log parse operation binding the contract event 0x8cd9dae1bbea2bc8a5e80ffce2c224727a25925130a03ae100619a8861ae2396. 2000 // 2001 // Solidity: event UpdatedBaseRewardPerSec(uint256 value) 2002 func (_Contract *ContractFilterer) ParseUpdatedBaseRewardPerSec(log types.Log) (*ContractUpdatedBaseRewardPerSec, error) { 2003 event := new(ContractUpdatedBaseRewardPerSec) 2004 if err := _Contract.contract.UnpackLog(event, "UpdatedBaseRewardPerSec", log); err != nil { 2005 return nil, err 2006 } 2007 event.Raw = log 2008 return event, nil 2009 } 2010 2011 // ContractUpdatedOfflinePenaltyThresholdIterator is returned from FilterUpdatedOfflinePenaltyThreshold and is used to iterate over the raw logs and unpacked data for UpdatedOfflinePenaltyThreshold events raised by the Contract contract. 2012 type ContractUpdatedOfflinePenaltyThresholdIterator struct { 2013 Event *ContractUpdatedOfflinePenaltyThreshold // Event containing the contract specifics and raw log 2014 2015 contract *bind.BoundContract // Generic contract to use for unpacking event data 2016 event string // Event name to use for unpacking event data 2017 2018 logs chan types.Log // Log channel receiving the found contract events 2019 sub u2u.Subscription // Subscription for errors, completion and termination 2020 done bool // Whether the subscription completed delivering logs 2021 fail error // Occurred error to stop iteration 2022 } 2023 2024 // Next advances the iterator to the subsequent event, returning whether there 2025 // are any more events found. In case of a retrieval or parsing error, false is 2026 // returned and Error() can be queried for the exact failure. 2027 func (it *ContractUpdatedOfflinePenaltyThresholdIterator) Next() bool { 2028 // If the iterator failed, stop iterating 2029 if it.fail != nil { 2030 return false 2031 } 2032 // If the iterator completed, deliver directly whatever's available 2033 if it.done { 2034 select { 2035 case log := <-it.logs: 2036 it.Event = new(ContractUpdatedOfflinePenaltyThreshold) 2037 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2038 it.fail = err 2039 return false 2040 } 2041 it.Event.Raw = log 2042 return true 2043 2044 default: 2045 return false 2046 } 2047 } 2048 // Iterator still in progress, wait for either a data or an error event 2049 select { 2050 case log := <-it.logs: 2051 it.Event = new(ContractUpdatedOfflinePenaltyThreshold) 2052 if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { 2053 it.fail = err 2054 return false 2055 } 2056 it.Event.Raw = log 2057 return true 2058 2059 case err := <-it.sub.Err(): 2060 it.done = true 2061 it.fail = err 2062 return it.Next() 2063 } 2064 } 2065 2066 // Error returns any retrieval or parsing error occurred during filtering. 2067 func (it *ContractUpdatedOfflinePenaltyThresholdIterator) Error() error { 2068 return it.fail 2069 } 2070 2071 // Close terminates the iteration process, releasing any pending underlying 2072 // resources. 2073 func (it *ContractUpdatedOfflinePenaltyThresholdIterator) Close() error { 2074 it.sub.Unsubscribe() 2075 return nil 2076 } 2077 2078 // ContractUpdatedOfflinePenaltyThreshold represents a UpdatedOfflinePenaltyThreshold event raised by the Contract contract. 2079 type ContractUpdatedOfflinePenaltyThreshold struct { 2080 BlocksNum *big.Int 2081 Period *big.Int 2082 Raw types.Log // Blockchain specific contextual infos 2083 } 2084 2085 // FilterUpdatedOfflinePenaltyThreshold is a free log retrieval operation binding the contract event 0x702756a07c05d0bbfd06fc17b67951a5f4deb7bb6b088407e68a58969daf2a34. 2086 // 2087 // Solidity: event UpdatedOfflinePenaltyThreshold(uint256 blocksNum, uint256 period) 2088 func (_Contract *ContractFilterer) FilterUpdatedOfflinePenaltyThreshold(opts *bind.FilterOpts) (*ContractUpdatedOfflinePenaltyThresholdIterator, error) { 2089 2090 logs, sub, err := _Contract.contract.FilterLogs(opts, "UpdatedOfflinePenaltyThreshold") 2091 if err != nil { 2092 return nil, err 2093 } 2094 return &ContractUpdatedOfflinePenaltyThresholdIterator{contract: _Contract.contract, event: "UpdatedOfflinePenaltyThreshold", logs: logs, sub: sub}, nil 2095 } 2096 2097 // WatchUpdatedOfflinePenaltyThreshold is a free log subscription operation binding the contract event 0x702756a07c05d0bbfd06fc17b67951a5f4deb7bb6b088407e68a58969daf2a34. 2098 // 2099 // Solidity: event UpdatedOfflinePenaltyThreshold(uint256 blocksNum, uint256 period) 2100 func (_Contract *ContractFilterer) WatchUpdatedOfflinePenaltyThreshold(opts *bind.WatchOpts, sink chan<- *ContractUpdatedOfflinePenaltyThreshold) (event.Subscription, error) { 2101 2102 logs, sub, err := _Contract.contract.WatchLogs(opts, "UpdatedOfflinePenaltyThreshold") 2103 if err != nil { 2104 return nil, err 2105 } 2106 return event.NewSubscription(func(quit <-chan struct{}) error { 2107 defer sub.Unsubscribe() 2108 for { 2109 select { 2110 case log := <-logs: 2111 // New log arrived, parse the event and forward to the user 2112 event := new(ContractUpdatedOfflinePenaltyThreshold) 2113 if err := _Contract.contract.UnpackLog(event, "UpdatedOfflinePenaltyThreshold", log); err != nil { 2114 return err 2115 } 2116 event.Raw = log 2117 2118 select { 2119 case sink <- event: 2120 case err := <-sub.Err(): 2121 return err 2122 case <-quit: 2123 return nil 2124 } 2125 case err := <-sub.Err(): 2126 return err 2127 case <-quit: 2128 return nil 2129 } 2130 } 2131 }), nil 2132 } 2133 2134 // ParseUpdatedOfflinePenaltyThreshold is a log parse operation binding the contract event 0x702756a07c05d0bbfd06fc17b67951a5f4deb7bb6b088407e68a58969daf2a34. 2135 // 2136 // Solidity: event UpdatedOfflinePenaltyThreshold(uint256 blocksNum, uint256 period) 2137 func (_Contract *ContractFilterer) ParseUpdatedOfflinePenaltyThreshold(log types.Log) (*ContractUpdatedOfflinePenaltyThreshold, error) { 2138 event := new(ContractUpdatedOfflinePenaltyThreshold) 2139 if err := _Contract.contract.UnpackLog(event, "UpdatedOfflinePenaltyThreshold", log); err != nil { 2140 return nil, err 2141 } 2142 event.Raw = log 2143 return event, nil 2144 } 2145 2146 var ContractBinRuntime = "0x6080604052600436106102855760003560e01c80638b0e9f3f11610153578063c65ee0e1116100cb578063d46fa5181161007f578063e08d7e6611610064578063e08d7e6614610b1f578063e6f45adf14610b9c578063f2fde38b14610bcf57610285565b8063d46fa51814610af5578063d96ed50514610b0a57610285565b8063cc8343aa116100b0578063cc8343aa14610a51578063cfd4766314610a83578063cfdbb7cd14610abc57610285565b8063c65ee0e114610a12578063c7be95de14610a3c57610285565b8063a2f6e6bc11610122578063b5d8962711610107578063b5d8962714610959578063b810e411146109c4578063c5f956af146109fd57610285565b8063a2f6e6bc146108ed578063a86a056f1461092057610285565b80638b0e9f3f1461083b5780638da5cb5b146108505780638f32d59b1461086557806396c7ee461461088e57610285565b8063592fe0c0116102015780637cacb1d6116101b5578063854873e11161019a578063854873e114610754578063860c2750146107f3578063893675c61461082657610285565b80637cacb1d61461070c578063841e45611461072157610285565b8063670322f8116101e6578063670322f8146106a9578063715018a6146106e257806376671808146106f757610285565b8063592fe0c0146105215780635fab23a81461069457610285565b80631f2701521161025857806339b80c001161023d57806339b80c001461044257806354fd4d50146104a4578063550359a0146104ee57610285565b80631f270152146103d057806328f731481461042d57610285565b80630135b1db146102ee5780630e559d821461033357806310e51e141461036457806318160ddd146103bb575b366102d7576040805162461bcd60e51b815260206004820152601560248201527f7472616e7366657273206e6f7420616c6c6f7765640000000000000000000000604482015290519081900360640190fd5b6080546102ec906001600160a01b0316610c02565b005b3480156102fa57600080fd5b506103216004803603602081101561031157600080fd5b50356001600160a01b0316610c2b565b60408051918252519081900360200190f35b34801561033f57600080fd5b50610348610c3d565b604080516001600160a01b039092168252519081900360200190f35b34801561037057600080fd5b506102ec600480360360c081101561038757600080fd5b508035906020810135906001600160a01b0360408201358116916060810135821691608082013581169160a0013516610c4c565b3480156103c757600080fd5b50610321610dd9565b3480156103dc57600080fd5b5061040f600480360360608110156103f357600080fd5b506001600160a01b038135169060208101359060400135610ddf565b60408051938452602084019290925282820152519081900360600190f35b34801561043957600080fd5b50610321610e11565b34801561044e57600080fd5b5061046c6004803603602081101561046557600080fd5b5035610e17565b604080519788526020880196909652868601949094526060860192909252608085015260a084015260c0830152519081900360e00190f35b3480156104b057600080fd5b506104b9610e59565b604080517fffffff00000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b3480156104fa57600080fd5b506102ec6004803603602081101561051157600080fd5b50356001600160a01b0316610e7e565b34801561052d57600080fd5b506102ec600480360360a081101561054457600080fd5b81019060208101813564010000000081111561055f57600080fd5b82018360208201111561057157600080fd5b8035906020019184602083028401116401000000008311171561059357600080fd5b9193909290916020810190356401000000008111156105b157600080fd5b8201836020820111156105c357600080fd5b803590602001918460208302840111640100000000831117156105e557600080fd5b91939092909160208101903564010000000081111561060357600080fd5b82018360208201111561061557600080fd5b8035906020019184602083028401116401000000008311171561063757600080fd5b91939092909160208101903564010000000081111561065557600080fd5b82018360208201111561066757600080fd5b8035906020019184602083028401116401000000008311171561068957600080fd5b919350915035610f11565b3480156106a057600080fd5b506103216111cc565b3480156106b557600080fd5b50610321600480360360408110156106cc57600080fd5b506001600160a01b0381351690602001356111d2565b3480156106ee57600080fd5b506102ec611216565b34801561070357600080fd5b506103216112d1565b34801561071857600080fd5b506103216112da565b34801561072d57600080fd5b506102ec6004803603602081101561074457600080fd5b50356001600160a01b03166112e0565b34801561076057600080fd5b5061077e6004803603602081101561077757600080fd5b5035611373565b6040805160208082528351818301528351919283929083019185019080838360005b838110156107b85781810151838201526020016107a0565b50505050905090810190601f1680156107e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107ff57600080fd5b506102ec6004803603602081101561081657600080fd5b50356001600160a01b031661142c565b34801561083257600080fd5b506103486114bf565b34801561084757600080fd5b506103216114ce565b34801561085c57600080fd5b506103486114d4565b34801561087157600080fd5b5061087a6114e3565b604080519115158252519081900360200190f35b34801561089a57600080fd5b506108c7600480360360408110156108b157600080fd5b506001600160a01b0381351690602001356114f4565b604080519485526020850193909352838301919091526060830152519081900360800190f35b3480156108f957600080fd5b506102ec6004803603602081101561091057600080fd5b50356001600160a01b0316611526565b34801561092c57600080fd5b506103216004803603604081101561094357600080fd5b506001600160a01b0381351690602001356115b9565b34801561096557600080fd5b506109836004803603602081101561097c57600080fd5b50356115d6565b604080519788526020880196909652868601949094526060860192909252608085015260a08401526001600160a01b031660c0830152519081900360e00190f35b3480156109d057600080fd5b5061040f600480360360408110156109e757600080fd5b506001600160a01b03813516906020013561161c565b348015610a0957600080fd5b50610348611648565b348015610a1e57600080fd5b5061032160048036036020811015610a3557600080fd5b5035611657565b348015610a4857600080fd5b50610321611669565b348015610a5d57600080fd5b506102ec60048036036040811015610a7457600080fd5b5080359060200135151561166f565b348015610a8f57600080fd5b5061032160048036036040811015610aa657600080fd5b506001600160a01b03813516906020013561189e565b348015610ac857600080fd5b5061087a60048036036040811015610adf57600080fd5b506001600160a01b0381351690602001356118bb565b348015610b0157600080fd5b50610348611952565b348015610b1657600080fd5b50610321611961565b348015610b2b57600080fd5b506102ec60048036036020811015610b4257600080fd5b810190602081018135640100000000811115610b5d57600080fd5b820183602082011115610b6f57600080fd5b80359060200191846020830284011164010000000083111715610b9157600080fd5b509092509050611967565b348015610ba857600080fd5b506102ec60048036036020811015610bbf57600080fd5b50356001600160a01b0316611aab565b348015610bdb57600080fd5b506102ec60048036036020811015610bf257600080fd5b50356001600160a01b0316611b3e565b3660008037600080366000845af43d6000803e808015610c21573d6000f35b3d6000fd5b505050565b60696020526000908152604090205481565b607b546001600160a01b031681565b600054610100900460ff1680610c655750610c65611ba3565b80610c73575060005460ff16155b610cae5760405162461bcd60e51b815260040180806020018281038252602e81526020018061335a602e913960400191505060405180910390fd5b600054610100900460ff16158015610d1457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b610d1d82611ba9565b6067879055606680546001600160a01b038088167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556080805487841690831617905560818054928616929091169190911790556076869055610d84611d0b565b607e55610d8f611d14565b6000888152607760205260409020600701558015610dd057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b50505050505050565b60765481565b607160209081526000938452604080852082529284528284209052825290208054600182015460029092015490919083565b606d5481565b607760205280600052604060002060009150905080600701549080600801549080600901549080600a01549080600b01549080600c01549080600d0154905087565b7f33303400000000000000000000000000000000000000000000000000000000005b90565b610e866114e3565b610ed7576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b608280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610f1a33611d18565b610f555760405162461bcd60e51b81526004018080602001828103825260298152602001806133106029913960400191505060405180910390fd5b600060776000610f636112d1565b81526020019081526020016000209050606081600601805480602002602001604051908101604052809291908181526020018280548015610fc357602002820191906000526020600020905b815481526020019060010190808311610faf575b5050505050905061104a82828d8d80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508c8c80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611d2f92505050565b6067546000908152607760205260409020600781015460019061106b611d14565b111561108257816007015461107e611d14565b0390505b611104818584868d8d80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508c8c80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611f3692505050565b61110e8186612720565b50506111186112d1565b606755611123611d14565b6007830155608154604080517fd9a7c1f900000000000000000000000000000000000000000000000000000000815290516001600160a01b039092169163d9a7c1f991600480820192602092909190829003018186803b15801561118657600080fd5b505afa15801561119a573d6000803e3d6000fd5b505050506040513d60208110156111b057600080fd5b5051600b83015550607654600d90910155505050505050505050565b606e5481565b60006111de83836118bb565b6111ea57506000611210565b506001600160a01b03821660009081526073602090815260408083208484529091529020545b92915050565b61121e6114e3565b61126f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60675460010190565b60675481565b6112e86114e3565b611339576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b607f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b606a6020908152600091825260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100600186161502019093169290920491820184900484028101840190945280845290918301828280156114245780601f106113f957610100808354040283529160200191611424565b820191906000526020600020905b81548152906001019060200180831161140757829003601f168201915b505050505081565b6114346114e3565b611485576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b608180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6082546001600160a01b031681565b606c5481565b6033546001600160a01b031690565b6033546001600160a01b0316331490565b607360209081526000928352604080842090915290825290208054600182015460028301546003909301549192909184565b61152e6114e3565b61157f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b607b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b607060209081526000928352604080842090915290825290205481565b606860205260009081526040902080546001820154600283015460038401546004850154600586015460069096015494959394929391929091906001600160a01b031687565b607460209081526000928352604080842090915290825290208054600182015460029092015490919083565b607f546001600160a01b031681565b607a6020526000908152604090205481565b606b5481565b61167882612899565b6116c9576040805162461bcd60e51b815260206004820152601760248201527f76616c696461746f7220646f65736e2774206578697374000000000000000000604482015290519081900360640190fd5b600082815260686020526040902060038101549054156116e7575060005b606654604080517fa4066fbe000000000000000000000000000000000000000000000000000000008152600481018690526024810184905290516001600160a01b039092169163a4066fbe9160448082019260009290919082900301818387803b15801561175457600080fd5b505af1158015611768573d6000803e3d6000fd5b5050505081801561177857508015155b15610c26576066546000848152606a60205260409081902081517f242a6e3f0000000000000000000000000000000000000000000000000000000081526004810187815260248201938452825460027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001831615610100020190911604604483018190526001600160a01b039095169463242a6e3f948994939091606490910190849080156118695780601f1061183e57610100808354040283529160200191611869565b820191906000526020600020905b81548152906001019060200180831161184c57829003601f168201915b50509350505050600060405180830381600087803b15801561188a57600080fd5b505af1158015610dd0573d6000803e3d6000fd5b607260209081526000928352604080842090915290825290205481565b6001600160a01b03821660009081526073602090815260408083208484529091528120600201541580159061191257506001600160a01b038316600090815260736020908152604080832085845290915290205415155b801561194b57506001600160a01b0383166000908152607360209081526040808320858452909152902060020154611948611d14565b11155b9392505050565b6081546001600160a01b031690565b607e5481565b61197033611d18565b6119ab5760405162461bcd60e51b81526004018080602001828103825260298152602001806133106029913960400191505060405180910390fd5b6000607760006119b96112d1565b8152602001908152602001600020905060008090505b82811015611a325760008484838181106119e557fe5b60209081029290920135600081815260688452604080822060030154948890529020839055600c860154909350611a2391508263ffffffff6128b016565b600c85015550506001016119cf565b50611a41600682018484613238565b50606654607e54604080517f07aaf3440000000000000000000000000000000000000000000000000000000081526004810192909252516001600160a01b03909216916307aaf3449160248082019260009290919082900301818387803b15801561188a57600080fd5b611ab36114e3565b611b04576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b608080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b611b466114e3565b611b97576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b611ba08161290a565b50565b303b1590565b600054610100900460ff1680611bc25750611bc2611ba3565b80611bd0575060005460ff16155b611c0b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061335a602e913960400191505060405180910390fd5b600054610100900460ff16158015611c7157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b603380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015611d0757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b64174876e80090565b4290565b6066546001600160a01b038281169116145b919050565b60005b8351811015611f2f57608160009054906101000a90046001600160a01b03166001600160a01b0316635a68f01a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d8957600080fd5b505afa158015611d9d573d6000803e3d6000fd5b505050506040513d6020811015611db357600080fd5b50518251839083908110611dc357fe5b6020026020010151118015611e655750608160009054906101000a90046001600160a01b03166001600160a01b031662cc7f836040518163ffffffff1660e01b815260040160206040518083038186803b158015611e2057600080fd5b505afa158015611e34573d6000803e3d6000fd5b505050506040513d6020811015611e4a57600080fd5b50518351849083908110611e5a57fe5b602002602001015110155b15611ea657611e88848281518110611e7957fe5b602002602001015160086129c3565b611ea6848281518110611e9757fe5b6020026020010151600061166f565b828181518110611eb257fe5b6020026020010151856004016000868481518110611ecc57fe5b6020026020010151815260200190815260200160002081905550818181518110611ef257fe5b6020026020010151856005016000868481518110611f0c57fe5b602090810291909101810151825281019190915260400160002055600101611d32565b5050505050565b611f3e61327f565b6040518060a001604052808551604051908082528060200260200182016040528015611f74578160200160208202803883390190505b508152602001600081526020018551604051908082528060200260200182016040528015611fac578160200160208202803883390190505b508152602001600081526020016000815250905060008090505b84518110156120c7576000866003016000878481518110611fe357fe5b6020026020010151815260200190815260200160002054905060008090508185848151811061200e57fe5b60200260200101511115612035578185848151811061202957fe5b60200260200101510390505b8986848151811061204257fe5b602002602001015182028161205357fe5b048460400151848151811061206457fe5b60200260200101818152505061209e8460400151848151811061208357fe5b602002602001015185606001516128b090919063ffffffff16565b606085015260808401516120b8908263ffffffff6128b016565b60808501525050600101611fc6565b5060005b845181101561219057878482815181106120e157fe5b6020026020010151898684815181106120f657fe5b60200260200101518a60000160008a878151811061211057fe5b6020026020010151815260200190815260200160002054028161212f57fe5b04028161213857fe5b048260000151828151811061214957fe5b6020026020010181815250506121838260000151828151811061216857fe5b602002602001015183602001516128b090919063ffffffff16565b60208301526001016120cb565b5060005b84518110156125cf57600061223d89608160009054906101000a90046001600160a01b03166001600160a01b031663d9a7c1f96040518163ffffffff1660e01b815260040160206040518083038186803b1580156121f157600080fd5b505afa158015612205573d6000803e3d6000fd5b505050506040513d602081101561221b57600080fd5b5051855180518690811061222b57fe5b60200260200101518660200151612aed565b905061227961226c84608001518560400151858151811061225a57fe5b60200260200101518660600151612b3c565b829063ffffffff6128b016565b9050600086838151811061228957fe5b60209081029190910181015160008181526068835260408082206006015460815482517fa778651500000000000000000000000000000000000000000000000000000000815292519496506001600160a01b0391821695939461233f948994929093169263a77865159260048082019391829003018186803b15801561230e57600080fd5b505afa158015612322573d6000803e3d6000fd5b505050506040513d602081101561233857600080fd5b5051612ca5565b6001600160a01b038316600090815260726020908152604080832087845290915290205490915080156124e65760008161237985876111d2565b84028161238257fe5b0490508083036123906132ae565b6001600160a01b03861660009081526073602090815260408083208a84529091529020600301546123c2908490612cc2565b90506123cc6132ae565b6123d7836000612cc2565b6001600160a01b0388166000908152606f602090815260408083208c8452825291829020825160608101845281548152600182015492810192909252600201549181019190915290915061242c908383612e84565b6001600160a01b0388166000818152606f602090815260408083208d84528252808320855181558583015160018083019190915595820151600291820155938352607482528083208d8452825291829020825160608101845281548152948101549185019190915290910154908201526124a7908383612e84565b6001600160a01b03881660009081526074602090815260408083208c845282529182902083518155908301516001820155910151600290910155505050505b600084815260686020526040812060030154838703918115612518578161250b612e9f565b84028161251457fe5b0490505b808e600101600089815260200190815260200160002054018f6001016000898152602001908152602001600020819055508a898151811061255557fe5b60200260200101518f6003016000898152602001908152602001600020819055508b898151811061258257fe5b60200260200101518e600201600089815260200190815260200160002054018f60020160008981526020019081526020016000208190555050505050505050508080600101915050612194565b50608081015160088701819055602082015160098801556060820151600a880155607654111561260d57600886015460768054919091039055612613565b60006076555b607f546001600160a01b031615610dd057600061262e612e9f565b608160009054906101000a90046001600160a01b03166001600160a01b03166394c3e9146040518163ffffffff1660e01b815260040160206040518083038186803b15801561267c57600080fd5b505afa158015612690573d6000803e3d6000fd5b505050506040513d60208110156126a657600080fd5b5051608084015102816126b557fe5b0490506126c181612eab565b607f546040516001600160a01b03909116908290600081818185875af1925050503d806000811461270e576040519150601f19603f3d011682016040523d82523d6000602084013e612713565b606091505b5050505050505050505050565b608154604080517f3a3ef66c00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691633a3ef66c916004808301926020929190829003018186803b15801561277e57600080fd5b505afa158015612792573d6000803e3d6000fd5b505050506040513d60208110156127a857600080fd5b5051830260010190506000816127bc612e9f565b8402816127c557fe5b0490506000608160009054906101000a90046001600160a01b03166001600160a01b0316632c8c36a56040518163ffffffff1660e01b815260040160206040518083038186803b15801561281857600080fd5b505afa15801561282c573d6000803e3d6000fd5b505050506040513d602081101561284257600080fd5b50519050848101612851612e9f565b8202838702018161285e57fe5b04915061286a82612f49565b91506000612876612e9f565b83607e54028161288257fe5b04905061288e81612fb7565b607e55505050505050565b600090815260686020526040902060050154151590565b60008282018381101561194b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03811661294f5760405162461bcd60e51b81526004018080602001828103825260268152602001806132ea6026913960400191505060405180910390fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6000828152606860205260409020541580156129de57508015155b15612a0b57600082815260686020526040902060030154606d54612a079163ffffffff612fed16565b606d555b600082815260686020526040902054811115611d0757600082815260686020526040902081815560020154612ab357612a426112d1565b600083815260686020526040902060020155612a5c611d14565b6000838152606860209081526040918290206001810184905560020154825190815290810192909252805184927fac4801c32a6067ff757446524ee4e7a373797278ac3c883eac5c693b4ad72e4792908290030190a25b60408051828152905183917fcd35267e7654194727477d6c78b541a553483cff7f92a055d17868d3da6e953e919081900360200190a25050565b600082612afc57506000612b34565b6000612b0e868663ffffffff61302f16565b9050612b3083612b24838763ffffffff61302f16565b9063ffffffff61308816565b9150505b949350505050565b600082612b4b5750600061194b565b6000612b6183612b24878763ffffffff61302f16565b9050612c9c612b6e612e9f565b608154604080517f94c3e9140000000000000000000000000000000000000000000000000000000081529051612b24926001600160a01b0316916394c3e914916004808301926020929190829003018186803b158015612bcd57600080fd5b505afa158015612be1573d6000803e3d6000fd5b505050506040513d6020811015612bf757600080fd5b5051608154604080517fc74dd62100000000000000000000000000000000000000000000000000000000815290516001600160a01b039092169163c74dd62191600480820192602092909190829003018186803b158015612c5757600080fd5b505afa158015612c6b573d6000803e3d6000fd5b505050506040513d6020811015612c8157600080fd5b5051612c8b612e9f565b03038461302f90919063ffffffff16565b95945050505050565b600061194b612cb2612e9f565b612b24858563ffffffff61302f16565b612cca6132ae565b60405180606001604052806000815260200160008152602001600081525090506000608160009054906101000a90046001600160a01b03166001600160a01b0316635e2308d26040518163ffffffff1660e01b815260040160206040518083038186803b158015612d3a57600080fd5b505afa158015612d4e573d6000803e3d6000fd5b505050506040513d6020811015612d6457600080fd5b505190508215612e5c57600081612d79612e9f565b0390506000612e0b608160009054906101000a90046001600160a01b03166001600160a01b0316630d4955e36040518163ffffffff1660e01b815260040160206040518083038186803b158015612dcf57600080fd5b505afa158015612de3573d6000803e3d6000fd5b505050506040513d6020811015612df957600080fd5b5051612b24848863ffffffff61302f16565b90506000612e2c612e1a612e9f565b612b248987860163ffffffff61302f16565b9050612e49612e39612e9f565b612b24898763ffffffff61302f16565b602086018190529003845250612e7d9050565b612e77612e67612e9f565b612b24868463ffffffff61302f16565b60408301525b5092915050565b612e8c6132ae565b612b34612e9985856130ca565b836130ca565b670de0b6b3a764000090565b606654604080517f66e7ea0f0000000000000000000000000000000000000000000000000000000081523060048201526024810184905290516001600160a01b03909216916366e7ea0f9160448082019260009290919082900301818387803b158015612f1757600080fd5b505af1158015612f2b573d6000803e3d6000fd5b5050607654612f43925090508263ffffffff6128b016565b60765550565b60006064612f55612e9f565b60690281612f5f57fe5b04821115612f83576064612f71612e9f565b60690281612f7b57fe5b049050611d2a565b6064612f8d612e9f565b605f0281612f9757fe5b04821015612fb3576064612fa9612e9f565b605f0281612f7b57fe5b5090565b600066038d7ea4c68000821115612fd6575066038d7ea4c68000611d2a565b633b9aca00821015612fb35750633b9aca00611d2a565b600061194b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061313c565b60008261303e57506000611210565b8282028284828161304b57fe5b041461194b5760405162461bcd60e51b81526004018080602001828103825260218152602001806133396021913960400191505060405180910390fd5b600061194b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506131d3565b6130d26132ae565b60408051606081019091528251845182916130f3919063ffffffff6128b016565b8152602001613113846020015186602001516128b090919063ffffffff16565b8152602001613133846040015186604001516128b090919063ffffffff16565b90529392505050565b600081848411156131cb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613190578181015183820152602001613178565b50505050905090810190601f1680156131bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836132225760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315613190578181015183820152602001613178565b50600083858161322e57fe5b0495945050505050565b828054828255906000526020600020908101928215613273579160200282015b82811115613273578235825591602001919060010190613258565b50612fb39291506132cf565b6040518060a0016040528060608152602001600081526020016060815260200160008152602001600081525090565b60405180606001604052806000815260200160008152602001600081525090565b610e7b91905b80821115612fb357600081556001016132d556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737363616c6c6572206973206e6f7420746865204e6f64654472697665724175746820636f6e7472616374536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a723158202e03a7f7bebc4feaccc27e3c21e1033d901c6a29dc0061bd3121a9ffe136abe164736f6c63430005110032"