github.com/hungdoo/bot@v0.0.0-20240325145135-dd1f386f7b81/src/packages/tombplus/TombPlus.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 tombplus
     5  
     6  import (
     7  	"errors"
     8  	"math/big"
     9  	"strings"
    10  
    11  	ethereum "github.com/ethereum/go-ethereum"
    12  	"github.com/ethereum/go-ethereum/accounts/abi"
    13  	"github.com/ethereum/go-ethereum/accounts/abi/bind"
    14  	"github.com/ethereum/go-ethereum/common"
    15  	"github.com/ethereum/go-ethereum/core/types"
    16  	"github.com/ethereum/go-ethereum/event"
    17  )
    18  
    19  // Reference imports to suppress errors if they are not otherwise used.
    20  var (
    21  	_ = errors.New
    22  	_ = big.NewInt
    23  	_ = strings.NewReader
    24  	_ = ethereum.NotFound
    25  	_ = bind.Bind
    26  	_ = common.Big1
    27  	_ = types.BloomLookup
    28  	_ = event.NewSubscription
    29  	_ = abi.ConvertType
    30  )
    31  
    32  // MasonryPlusFlip is an auto generated low-level Go binding around an user-defined struct.
    33  type MasonryPlusFlip struct {
    34  	EpochId           *big.Int
    35  	Up                bool
    36  	TsharePlusBalance *big.Int
    37  }
    38  
    39  // MasonryPlusHistoricEpochData is an auto generated low-level Go binding around an user-defined struct.
    40  type MasonryPlusHistoricEpochData struct {
    41  	VolatilityReached             bool
    42  	WinnerIsUp                    bool
    43  	RewardPerWinningVoteNumerator *big.Int
    44  }
    45  
    46  // MasonryPlusIndexedHistoricEpochData is an auto generated low-level Go binding around an user-defined struct.
    47  type MasonryPlusIndexedHistoricEpochData struct {
    48  	EpochId           *big.Int
    49  	HistoricEpochData MasonryPlusHistoricEpochData
    50  }
    51  
    52  // TombplusMetaData contains all meta data concerning the Tombplus contract.
    53  var TombplusMetaData = &bind.MetaData{
    54  	ABI: "[{\"inputs\":[{\"internalType\":\"contractITombPlus\",\"name\":\"_tombplus\",\"type\":\"address\"},{\"internalType\":\"contractIOTombPlus\",\"name\":\"_otombplus\",\"type\":\"address\"},{\"internalType\":\"contractITsharePlus\",\"name\":\"_tshareplus\",\"type\":\"address\"},{\"internalType\":\"contractIPyth\",\"name\":\"_pyth\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_pythPriceID\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_gameStartTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_distributor\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_distribRate\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochStartPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochEndPrice\",\"type\":\"uint256\"}],\"name\":\"EmergencyFinishEpoch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochNumber\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochStartPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochEndPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"volatilityReached\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"winnerIsUp\",\"type\":\"bool\"}],\"name\":\"EpochFinished\",\"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\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"flipId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"up\",\"type\":\"bool\"}],\"name\":\"UserFlipped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"UserWon\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"users\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"numsOfFlips\",\"type\":\"uint256[]\"}],\"name\":\"batchSetMaxAllowedFutureFlipsOverride\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"users\",\"type\":\"address[]\"}],\"name\":\"batchUnsetMaxAllowedFutureFlipsOverride\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canFlipForCurrentEpoch\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentEpochId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"denominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"distribRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"distributor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"startTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endPrice\",\"type\":\"uint256\"}],\"name\":\"emergencyFinishEpoch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"startTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"bytes[]\",\"name\":\"startPriceData\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"endPriceData\",\"type\":\"bytes[]\"}],\"name\":\"finishEpoch\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"startTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"endTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"bytes[]\",\"name\":\"startPriceData\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"endPriceData\",\"type\":\"bytes[]\"}],\"name\":\"finishEpochPermissionless\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"up\",\"type\":\"bool\"}],\"name\":\"flip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"ups\",\"type\":\"bool[]\"}],\"name\":\"flipMultiple\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flipWindow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gameStartTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gameStarted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"t\",\"type\":\"uint256\"}],\"name\":\"getEpochIdFromTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epochId\",\"type\":\"uint256\"}],\"name\":\"getEpochObservationTimestamps\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"observationStartTimestamp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"observationEndTimestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"numOfEpochs\",\"type\":\"uint256\"}],\"name\":\"getLastFinishedEpochs\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"epochId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"volatilityReached\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"winnerIsUp\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"rewardPerWinningVoteNumerator\",\"type\":\"uint256\"}],\"internalType\":\"structMasonryPlus.HistoricEpochData\",\"name\":\"historicEpochData\",\"type\":\"tuple\"}],\"internalType\":\"structMasonryPlus.IndexedHistoricEpochData[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"t\",\"type\":\"uint256\"}],\"name\":\"getTimeInEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"epochId\",\"type\":\"uint256\"}],\"name\":\"getUserFlipIdByEpochId\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"found\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserFlips\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"epochId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"up\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"tsharePlusBalance\",\"type\":\"uint256\"}],\"internalType\":\"structMasonryPlus.Flip[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"historicEpochData\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"volatilityReached\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"winnerIsUp\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"rewardPerWinningVoteNumerator\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastFinishedEpochId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lottery\",\"outputs\":[{\"internalType\":\"contractILottery\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAllowedFutureFlips\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"maxAllowedFutureFlipsOverride\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"otombplus\",\"outputs\":[{\"internalType\":\"contractIOTombPlus\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epochId\",\"type\":\"uint256\"}],\"name\":\"pauseGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGameAtEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGameImmediately\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"processUserFlips\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"processedRewardBalances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pyth\",\"outputs\":[{\"internalType\":\"contractIPyth\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pythPriceID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"removeFlips\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"rewardBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rewardPerTshareNumerator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_distributor\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_distribRate\",\"type\":\"uint256\"}],\"name\":\"setDistribCfg\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_flipWindow\",\"type\":\"uint256\"}],\"name\":\"setFlipWindow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gameStartTimestamp\",\"type\":\"uint256\"}],\"name\":\"setGameStartTimestamp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractILottery\",\"name\":\"_lottery\",\"type\":\"address\"}],\"name\":\"setLottery\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxAllowedFutureFlips\",\"type\":\"uint256\"}],\"name\":\"setMaxAllowedFutureFlips\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"numOfFlips\",\"type\":\"uint256\"}],\"name\":\"setMaxAllowedFutureFlipsOverride\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIOTombPlus\",\"name\":\"_otombplus\",\"type\":\"address\"}],\"name\":\"setOTombPlus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"setOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIPyth\",\"name\":\"_pyth\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_pythPriceID\",\"type\":\"bytes32\"}],\"name\":\"setPriceFeed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_pythAllowedTimeOvershoot\",\"type\":\"uint64\"}],\"name\":\"setPythAllowedTimeOvershoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_rewardPerTshareNumerator\",\"type\":\"uint256\"}],\"name\":\"setRewardPerTshareNumerator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contractIUpgradedMasonry\",\"name\":\"_upgradedMasonry\",\"type\":\"address\"}],\"name\":\"setUpgradedMasonry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_volatilityThresholdBase\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_volatilityThreshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_volatilityThresholdStep\",\"type\":\"uint256\"}],\"name\":\"setVolatilityThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tombplus\",\"outputs\":[{\"internalType\":\"contractITombPlus\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"direct\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"renounce\",\"type\":\"bool\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tshareplus\",\"outputs\":[{\"internalType\":\"contractITsharePlus\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpauseGame\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"unsetMaxAllowedFutureFlipsOverride\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"upcomingEpochData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tshareVotesUp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tshareVotesDown\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tshareUsersUp\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tshareUsersDown\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tshareTotalSupply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"updateUserTsharePlusBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"upgradedMasonry\",\"outputs\":[{\"internalType\":\"contractIUpgradedMasonry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"userCanPlaceOneMoreFlip\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"userFlipIdsByEpochId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"userFlips\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"epochId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"up\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"tsharePlusBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"volatilityThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"volatilityThresholdBase\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"volatilityThresholdStep\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
    55  }
    56  
    57  // TombplusABI is the input ABI used to generate the binding from.
    58  // Deprecated: Use TombplusMetaData.ABI instead.
    59  var TombplusABI = TombplusMetaData.ABI
    60  
    61  // Tombplus is an auto generated Go binding around an Ethereum contract.
    62  type Tombplus struct {
    63  	TombplusCaller     // Read-only binding to the contract
    64  	TombplusTransactor // Write-only binding to the contract
    65  	TombplusFilterer   // Log filterer for contract events
    66  }
    67  
    68  // TombplusCaller is an auto generated read-only Go binding around an Ethereum contract.
    69  type TombplusCaller struct {
    70  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    71  }
    72  
    73  // TombplusTransactor is an auto generated write-only Go binding around an Ethereum contract.
    74  type TombplusTransactor struct {
    75  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    76  }
    77  
    78  // TombplusFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    79  type TombplusFilterer struct {
    80  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    81  }
    82  
    83  // TombplusSession is an auto generated Go binding around an Ethereum contract,
    84  // with pre-set call and transact options.
    85  type TombplusSession struct {
    86  	Contract     *Tombplus         // Generic contract binding to set the session for
    87  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    88  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    89  }
    90  
    91  // TombplusCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    92  // with pre-set call options.
    93  type TombplusCallerSession struct {
    94  	Contract *TombplusCaller // Generic contract caller binding to set the session for
    95  	CallOpts bind.CallOpts   // Call options to use throughout this session
    96  }
    97  
    98  // TombplusTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    99  // with pre-set transact options.
   100  type TombplusTransactorSession struct {
   101  	Contract     *TombplusTransactor // Generic contract transactor binding to set the session for
   102  	TransactOpts bind.TransactOpts   // Transaction auth options to use throughout this session
   103  }
   104  
   105  // TombplusRaw is an auto generated low-level Go binding around an Ethereum contract.
   106  type TombplusRaw struct {
   107  	Contract *Tombplus // Generic contract binding to access the raw methods on
   108  }
   109  
   110  // TombplusCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   111  type TombplusCallerRaw struct {
   112  	Contract *TombplusCaller // Generic read-only contract binding to access the raw methods on
   113  }
   114  
   115  // TombplusTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   116  type TombplusTransactorRaw struct {
   117  	Contract *TombplusTransactor // Generic write-only contract binding to access the raw methods on
   118  }
   119  
   120  // NewTombplus creates a new instance of Tombplus, bound to a specific deployed contract.
   121  func NewTombplus(address common.Address, backend bind.ContractBackend) (*Tombplus, error) {
   122  	contract, err := bindTombplus(address, backend, backend, backend)
   123  	if err != nil {
   124  		return nil, err
   125  	}
   126  	return &Tombplus{TombplusCaller: TombplusCaller{contract: contract}, TombplusTransactor: TombplusTransactor{contract: contract}, TombplusFilterer: TombplusFilterer{contract: contract}}, nil
   127  }
   128  
   129  // NewTombplusCaller creates a new read-only instance of Tombplus, bound to a specific deployed contract.
   130  func NewTombplusCaller(address common.Address, caller bind.ContractCaller) (*TombplusCaller, error) {
   131  	contract, err := bindTombplus(address, caller, nil, nil)
   132  	if err != nil {
   133  		return nil, err
   134  	}
   135  	return &TombplusCaller{contract: contract}, nil
   136  }
   137  
   138  // NewTombplusTransactor creates a new write-only instance of Tombplus, bound to a specific deployed contract.
   139  func NewTombplusTransactor(address common.Address, transactor bind.ContractTransactor) (*TombplusTransactor, error) {
   140  	contract, err := bindTombplus(address, nil, transactor, nil)
   141  	if err != nil {
   142  		return nil, err
   143  	}
   144  	return &TombplusTransactor{contract: contract}, nil
   145  }
   146  
   147  // NewTombplusFilterer creates a new log filterer instance of Tombplus, bound to a specific deployed contract.
   148  func NewTombplusFilterer(address common.Address, filterer bind.ContractFilterer) (*TombplusFilterer, error) {
   149  	contract, err := bindTombplus(address, nil, nil, filterer)
   150  	if err != nil {
   151  		return nil, err
   152  	}
   153  	return &TombplusFilterer{contract: contract}, nil
   154  }
   155  
   156  // bindTombplus binds a generic wrapper to an already deployed contract.
   157  func bindTombplus(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   158  	parsed, err := TombplusMetaData.GetAbi()
   159  	if err != nil {
   160  		return nil, err
   161  	}
   162  	return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil
   163  }
   164  
   165  // Call invokes the (constant) contract method with params as input values and
   166  // sets the output to result. The result type might be a single field for simple
   167  // returns, a slice of interfaces for anonymous returns and a struct for named
   168  // returns.
   169  func (_Tombplus *TombplusRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   170  	return _Tombplus.Contract.TombplusCaller.contract.Call(opts, result, method, params...)
   171  }
   172  
   173  // Transfer initiates a plain transaction to move funds to the contract, calling
   174  // its default method if one is available.
   175  func (_Tombplus *TombplusRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   176  	return _Tombplus.Contract.TombplusTransactor.contract.Transfer(opts)
   177  }
   178  
   179  // Transact invokes the (paid) contract method with params as input values.
   180  func (_Tombplus *TombplusRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   181  	return _Tombplus.Contract.TombplusTransactor.contract.Transact(opts, method, params...)
   182  }
   183  
   184  // Call invokes the (constant) contract method with params as input values and
   185  // sets the output to result. The result type might be a single field for simple
   186  // returns, a slice of interfaces for anonymous returns and a struct for named
   187  // returns.
   188  func (_Tombplus *TombplusCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error {
   189  	return _Tombplus.Contract.contract.Call(opts, result, method, params...)
   190  }
   191  
   192  // Transfer initiates a plain transaction to move funds to the contract, calling
   193  // its default method if one is available.
   194  func (_Tombplus *TombplusTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   195  	return _Tombplus.Contract.contract.Transfer(opts)
   196  }
   197  
   198  // Transact invokes the (paid) contract method with params as input values.
   199  func (_Tombplus *TombplusTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   200  	return _Tombplus.Contract.contract.Transact(opts, method, params...)
   201  }
   202  
   203  // CanFlipForCurrentEpoch is a free data retrieval call binding the contract method 0x7d766406.
   204  //
   205  // Solidity: function canFlipForCurrentEpoch() view returns(bool)
   206  func (_Tombplus *TombplusCaller) CanFlipForCurrentEpoch(opts *bind.CallOpts) (bool, error) {
   207  	var out []interface{}
   208  	err := _Tombplus.contract.Call(opts, &out, "canFlipForCurrentEpoch")
   209  
   210  	if err != nil {
   211  		return *new(bool), err
   212  	}
   213  
   214  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   215  
   216  	return out0, err
   217  
   218  }
   219  
   220  // CanFlipForCurrentEpoch is a free data retrieval call binding the contract method 0x7d766406.
   221  //
   222  // Solidity: function canFlipForCurrentEpoch() view returns(bool)
   223  func (_Tombplus *TombplusSession) CanFlipForCurrentEpoch() (bool, error) {
   224  	return _Tombplus.Contract.CanFlipForCurrentEpoch(&_Tombplus.CallOpts)
   225  }
   226  
   227  // CanFlipForCurrentEpoch is a free data retrieval call binding the contract method 0x7d766406.
   228  //
   229  // Solidity: function canFlipForCurrentEpoch() view returns(bool)
   230  func (_Tombplus *TombplusCallerSession) CanFlipForCurrentEpoch() (bool, error) {
   231  	return _Tombplus.Contract.CanFlipForCurrentEpoch(&_Tombplus.CallOpts)
   232  }
   233  
   234  // CurrentEpochId is a free data retrieval call binding the contract method 0xeacdc5ff.
   235  //
   236  // Solidity: function currentEpochId() view returns(uint256)
   237  func (_Tombplus *TombplusCaller) CurrentEpochId(opts *bind.CallOpts) (*big.Int, error) {
   238  	var out []interface{}
   239  	err := _Tombplus.contract.Call(opts, &out, "currentEpochId")
   240  
   241  	if err != nil {
   242  		return *new(*big.Int), err
   243  	}
   244  
   245  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   246  
   247  	return out0, err
   248  
   249  }
   250  
   251  // CurrentEpochId is a free data retrieval call binding the contract method 0xeacdc5ff.
   252  //
   253  // Solidity: function currentEpochId() view returns(uint256)
   254  func (_Tombplus *TombplusSession) CurrentEpochId() (*big.Int, error) {
   255  	return _Tombplus.Contract.CurrentEpochId(&_Tombplus.CallOpts)
   256  }
   257  
   258  // CurrentEpochId is a free data retrieval call binding the contract method 0xeacdc5ff.
   259  //
   260  // Solidity: function currentEpochId() view returns(uint256)
   261  func (_Tombplus *TombplusCallerSession) CurrentEpochId() (*big.Int, error) {
   262  	return _Tombplus.Contract.CurrentEpochId(&_Tombplus.CallOpts)
   263  }
   264  
   265  // Denominator is a free data retrieval call binding the contract method 0x96ce0795.
   266  //
   267  // Solidity: function denominator() view returns(uint256)
   268  func (_Tombplus *TombplusCaller) Denominator(opts *bind.CallOpts) (*big.Int, error) {
   269  	var out []interface{}
   270  	err := _Tombplus.contract.Call(opts, &out, "denominator")
   271  
   272  	if err != nil {
   273  		return *new(*big.Int), err
   274  	}
   275  
   276  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   277  
   278  	return out0, err
   279  
   280  }
   281  
   282  // Denominator is a free data retrieval call binding the contract method 0x96ce0795.
   283  //
   284  // Solidity: function denominator() view returns(uint256)
   285  func (_Tombplus *TombplusSession) Denominator() (*big.Int, error) {
   286  	return _Tombplus.Contract.Denominator(&_Tombplus.CallOpts)
   287  }
   288  
   289  // Denominator is a free data retrieval call binding the contract method 0x96ce0795.
   290  //
   291  // Solidity: function denominator() view returns(uint256)
   292  func (_Tombplus *TombplusCallerSession) Denominator() (*big.Int, error) {
   293  	return _Tombplus.Contract.Denominator(&_Tombplus.CallOpts)
   294  }
   295  
   296  // DistribRate is a free data retrieval call binding the contract method 0xb4bce820.
   297  //
   298  // Solidity: function distribRate() view returns(uint256)
   299  func (_Tombplus *TombplusCaller) DistribRate(opts *bind.CallOpts) (*big.Int, error) {
   300  	var out []interface{}
   301  	err := _Tombplus.contract.Call(opts, &out, "distribRate")
   302  
   303  	if err != nil {
   304  		return *new(*big.Int), err
   305  	}
   306  
   307  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   308  
   309  	return out0, err
   310  
   311  }
   312  
   313  // DistribRate is a free data retrieval call binding the contract method 0xb4bce820.
   314  //
   315  // Solidity: function distribRate() view returns(uint256)
   316  func (_Tombplus *TombplusSession) DistribRate() (*big.Int, error) {
   317  	return _Tombplus.Contract.DistribRate(&_Tombplus.CallOpts)
   318  }
   319  
   320  // DistribRate is a free data retrieval call binding the contract method 0xb4bce820.
   321  //
   322  // Solidity: function distribRate() view returns(uint256)
   323  func (_Tombplus *TombplusCallerSession) DistribRate() (*big.Int, error) {
   324  	return _Tombplus.Contract.DistribRate(&_Tombplus.CallOpts)
   325  }
   326  
   327  // Distributor is a free data retrieval call binding the contract method 0xbfe10928.
   328  //
   329  // Solidity: function distributor() view returns(address)
   330  func (_Tombplus *TombplusCaller) Distributor(opts *bind.CallOpts) (common.Address, error) {
   331  	var out []interface{}
   332  	err := _Tombplus.contract.Call(opts, &out, "distributor")
   333  
   334  	if err != nil {
   335  		return *new(common.Address), err
   336  	}
   337  
   338  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   339  
   340  	return out0, err
   341  
   342  }
   343  
   344  // Distributor is a free data retrieval call binding the contract method 0xbfe10928.
   345  //
   346  // Solidity: function distributor() view returns(address)
   347  func (_Tombplus *TombplusSession) Distributor() (common.Address, error) {
   348  	return _Tombplus.Contract.Distributor(&_Tombplus.CallOpts)
   349  }
   350  
   351  // Distributor is a free data retrieval call binding the contract method 0xbfe10928.
   352  //
   353  // Solidity: function distributor() view returns(address)
   354  func (_Tombplus *TombplusCallerSession) Distributor() (common.Address, error) {
   355  	return _Tombplus.Contract.Distributor(&_Tombplus.CallOpts)
   356  }
   357  
   358  // EpochDuration is a free data retrieval call binding the contract method 0x4ff0876a.
   359  //
   360  // Solidity: function epochDuration() view returns(uint256)
   361  func (_Tombplus *TombplusCaller) EpochDuration(opts *bind.CallOpts) (*big.Int, error) {
   362  	var out []interface{}
   363  	err := _Tombplus.contract.Call(opts, &out, "epochDuration")
   364  
   365  	if err != nil {
   366  		return *new(*big.Int), err
   367  	}
   368  
   369  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   370  
   371  	return out0, err
   372  
   373  }
   374  
   375  // EpochDuration is a free data retrieval call binding the contract method 0x4ff0876a.
   376  //
   377  // Solidity: function epochDuration() view returns(uint256)
   378  func (_Tombplus *TombplusSession) EpochDuration() (*big.Int, error) {
   379  	return _Tombplus.Contract.EpochDuration(&_Tombplus.CallOpts)
   380  }
   381  
   382  // EpochDuration is a free data retrieval call binding the contract method 0x4ff0876a.
   383  //
   384  // Solidity: function epochDuration() view returns(uint256)
   385  func (_Tombplus *TombplusCallerSession) EpochDuration() (*big.Int, error) {
   386  	return _Tombplus.Contract.EpochDuration(&_Tombplus.CallOpts)
   387  }
   388  
   389  // FlipWindow is a free data retrieval call binding the contract method 0x43f6ab38.
   390  //
   391  // Solidity: function flipWindow() view returns(uint256)
   392  func (_Tombplus *TombplusCaller) FlipWindow(opts *bind.CallOpts) (*big.Int, error) {
   393  	var out []interface{}
   394  	err := _Tombplus.contract.Call(opts, &out, "flipWindow")
   395  
   396  	if err != nil {
   397  		return *new(*big.Int), err
   398  	}
   399  
   400  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   401  
   402  	return out0, err
   403  
   404  }
   405  
   406  // FlipWindow is a free data retrieval call binding the contract method 0x43f6ab38.
   407  //
   408  // Solidity: function flipWindow() view returns(uint256)
   409  func (_Tombplus *TombplusSession) FlipWindow() (*big.Int, error) {
   410  	return _Tombplus.Contract.FlipWindow(&_Tombplus.CallOpts)
   411  }
   412  
   413  // FlipWindow is a free data retrieval call binding the contract method 0x43f6ab38.
   414  //
   415  // Solidity: function flipWindow() view returns(uint256)
   416  func (_Tombplus *TombplusCallerSession) FlipWindow() (*big.Int, error) {
   417  	return _Tombplus.Contract.FlipWindow(&_Tombplus.CallOpts)
   418  }
   419  
   420  // GameStartTimestamp is a free data retrieval call binding the contract method 0x5bfe6e00.
   421  //
   422  // Solidity: function gameStartTimestamp() view returns(uint256)
   423  func (_Tombplus *TombplusCaller) GameStartTimestamp(opts *bind.CallOpts) (*big.Int, error) {
   424  	var out []interface{}
   425  	err := _Tombplus.contract.Call(opts, &out, "gameStartTimestamp")
   426  
   427  	if err != nil {
   428  		return *new(*big.Int), err
   429  	}
   430  
   431  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   432  
   433  	return out0, err
   434  
   435  }
   436  
   437  // GameStartTimestamp is a free data retrieval call binding the contract method 0x5bfe6e00.
   438  //
   439  // Solidity: function gameStartTimestamp() view returns(uint256)
   440  func (_Tombplus *TombplusSession) GameStartTimestamp() (*big.Int, error) {
   441  	return _Tombplus.Contract.GameStartTimestamp(&_Tombplus.CallOpts)
   442  }
   443  
   444  // GameStartTimestamp is a free data retrieval call binding the contract method 0x5bfe6e00.
   445  //
   446  // Solidity: function gameStartTimestamp() view returns(uint256)
   447  func (_Tombplus *TombplusCallerSession) GameStartTimestamp() (*big.Int, error) {
   448  	return _Tombplus.Contract.GameStartTimestamp(&_Tombplus.CallOpts)
   449  }
   450  
   451  // GameStarted is a free data retrieval call binding the contract method 0x5e123ce4.
   452  //
   453  // Solidity: function gameStarted() view returns(bool)
   454  func (_Tombplus *TombplusCaller) GameStarted(opts *bind.CallOpts) (bool, error) {
   455  	var out []interface{}
   456  	err := _Tombplus.contract.Call(opts, &out, "gameStarted")
   457  
   458  	if err != nil {
   459  		return *new(bool), err
   460  	}
   461  
   462  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
   463  
   464  	return out0, err
   465  
   466  }
   467  
   468  // GameStarted is a free data retrieval call binding the contract method 0x5e123ce4.
   469  //
   470  // Solidity: function gameStarted() view returns(bool)
   471  func (_Tombplus *TombplusSession) GameStarted() (bool, error) {
   472  	return _Tombplus.Contract.GameStarted(&_Tombplus.CallOpts)
   473  }
   474  
   475  // GameStarted is a free data retrieval call binding the contract method 0x5e123ce4.
   476  //
   477  // Solidity: function gameStarted() view returns(bool)
   478  func (_Tombplus *TombplusCallerSession) GameStarted() (bool, error) {
   479  	return _Tombplus.Contract.GameStarted(&_Tombplus.CallOpts)
   480  }
   481  
   482  // GetEpochIdFromTimestamp is a free data retrieval call binding the contract method 0x741c90b2.
   483  //
   484  // Solidity: function getEpochIdFromTimestamp(uint256 t) view returns(uint256)
   485  func (_Tombplus *TombplusCaller) GetEpochIdFromTimestamp(opts *bind.CallOpts, t *big.Int) (*big.Int, error) {
   486  	var out []interface{}
   487  	err := _Tombplus.contract.Call(opts, &out, "getEpochIdFromTimestamp", t)
   488  
   489  	if err != nil {
   490  		return *new(*big.Int), err
   491  	}
   492  
   493  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   494  
   495  	return out0, err
   496  
   497  }
   498  
   499  // GetEpochIdFromTimestamp is a free data retrieval call binding the contract method 0x741c90b2.
   500  //
   501  // Solidity: function getEpochIdFromTimestamp(uint256 t) view returns(uint256)
   502  func (_Tombplus *TombplusSession) GetEpochIdFromTimestamp(t *big.Int) (*big.Int, error) {
   503  	return _Tombplus.Contract.GetEpochIdFromTimestamp(&_Tombplus.CallOpts, t)
   504  }
   505  
   506  // GetEpochIdFromTimestamp is a free data retrieval call binding the contract method 0x741c90b2.
   507  //
   508  // Solidity: function getEpochIdFromTimestamp(uint256 t) view returns(uint256)
   509  func (_Tombplus *TombplusCallerSession) GetEpochIdFromTimestamp(t *big.Int) (*big.Int, error) {
   510  	return _Tombplus.Contract.GetEpochIdFromTimestamp(&_Tombplus.CallOpts, t)
   511  }
   512  
   513  // GetEpochObservationTimestamps is a free data retrieval call binding the contract method 0x8eda0878.
   514  //
   515  // Solidity: function getEpochObservationTimestamps(uint256 epochId) view returns(uint256 observationStartTimestamp, uint256 observationEndTimestamp)
   516  func (_Tombplus *TombplusCaller) GetEpochObservationTimestamps(opts *bind.CallOpts, epochId *big.Int) (struct {
   517  	ObservationStartTimestamp *big.Int
   518  	ObservationEndTimestamp   *big.Int
   519  }, error) {
   520  	var out []interface{}
   521  	err := _Tombplus.contract.Call(opts, &out, "getEpochObservationTimestamps", epochId)
   522  
   523  	outstruct := new(struct {
   524  		ObservationStartTimestamp *big.Int
   525  		ObservationEndTimestamp   *big.Int
   526  	})
   527  	if err != nil {
   528  		return *outstruct, err
   529  	}
   530  
   531  	outstruct.ObservationStartTimestamp = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   532  	outstruct.ObservationEndTimestamp = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int)
   533  
   534  	return *outstruct, err
   535  
   536  }
   537  
   538  // GetEpochObservationTimestamps is a free data retrieval call binding the contract method 0x8eda0878.
   539  //
   540  // Solidity: function getEpochObservationTimestamps(uint256 epochId) view returns(uint256 observationStartTimestamp, uint256 observationEndTimestamp)
   541  func (_Tombplus *TombplusSession) GetEpochObservationTimestamps(epochId *big.Int) (struct {
   542  	ObservationStartTimestamp *big.Int
   543  	ObservationEndTimestamp   *big.Int
   544  }, error) {
   545  	return _Tombplus.Contract.GetEpochObservationTimestamps(&_Tombplus.CallOpts, epochId)
   546  }
   547  
   548  // GetEpochObservationTimestamps is a free data retrieval call binding the contract method 0x8eda0878.
   549  //
   550  // Solidity: function getEpochObservationTimestamps(uint256 epochId) view returns(uint256 observationStartTimestamp, uint256 observationEndTimestamp)
   551  func (_Tombplus *TombplusCallerSession) GetEpochObservationTimestamps(epochId *big.Int) (struct {
   552  	ObservationStartTimestamp *big.Int
   553  	ObservationEndTimestamp   *big.Int
   554  }, error) {
   555  	return _Tombplus.Contract.GetEpochObservationTimestamps(&_Tombplus.CallOpts, epochId)
   556  }
   557  
   558  // GetLastFinishedEpochs is a free data retrieval call binding the contract method 0xa5586593.
   559  //
   560  // Solidity: function getLastFinishedEpochs(uint256 numOfEpochs) view returns((uint256,(bool,bool,uint256))[])
   561  func (_Tombplus *TombplusCaller) GetLastFinishedEpochs(opts *bind.CallOpts, numOfEpochs *big.Int) ([]MasonryPlusIndexedHistoricEpochData, error) {
   562  	var out []interface{}
   563  	err := _Tombplus.contract.Call(opts, &out, "getLastFinishedEpochs", numOfEpochs)
   564  
   565  	if err != nil {
   566  		return *new([]MasonryPlusIndexedHistoricEpochData), err
   567  	}
   568  
   569  	out0 := *abi.ConvertType(out[0], new([]MasonryPlusIndexedHistoricEpochData)).(*[]MasonryPlusIndexedHistoricEpochData)
   570  
   571  	return out0, err
   572  
   573  }
   574  
   575  // GetLastFinishedEpochs is a free data retrieval call binding the contract method 0xa5586593.
   576  //
   577  // Solidity: function getLastFinishedEpochs(uint256 numOfEpochs) view returns((uint256,(bool,bool,uint256))[])
   578  func (_Tombplus *TombplusSession) GetLastFinishedEpochs(numOfEpochs *big.Int) ([]MasonryPlusIndexedHistoricEpochData, error) {
   579  	return _Tombplus.Contract.GetLastFinishedEpochs(&_Tombplus.CallOpts, numOfEpochs)
   580  }
   581  
   582  // GetLastFinishedEpochs is a free data retrieval call binding the contract method 0xa5586593.
   583  //
   584  // Solidity: function getLastFinishedEpochs(uint256 numOfEpochs) view returns((uint256,(bool,bool,uint256))[])
   585  func (_Tombplus *TombplusCallerSession) GetLastFinishedEpochs(numOfEpochs *big.Int) ([]MasonryPlusIndexedHistoricEpochData, error) {
   586  	return _Tombplus.Contract.GetLastFinishedEpochs(&_Tombplus.CallOpts, numOfEpochs)
   587  }
   588  
   589  // GetTimeInEpoch is a free data retrieval call binding the contract method 0x3e8add35.
   590  //
   591  // Solidity: function getTimeInEpoch(uint256 t) view returns(uint256)
   592  func (_Tombplus *TombplusCaller) GetTimeInEpoch(opts *bind.CallOpts, t *big.Int) (*big.Int, error) {
   593  	var out []interface{}
   594  	err := _Tombplus.contract.Call(opts, &out, "getTimeInEpoch", t)
   595  
   596  	if err != nil {
   597  		return *new(*big.Int), err
   598  	}
   599  
   600  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   601  
   602  	return out0, err
   603  
   604  }
   605  
   606  // GetTimeInEpoch is a free data retrieval call binding the contract method 0x3e8add35.
   607  //
   608  // Solidity: function getTimeInEpoch(uint256 t) view returns(uint256)
   609  func (_Tombplus *TombplusSession) GetTimeInEpoch(t *big.Int) (*big.Int, error) {
   610  	return _Tombplus.Contract.GetTimeInEpoch(&_Tombplus.CallOpts, t)
   611  }
   612  
   613  // GetTimeInEpoch is a free data retrieval call binding the contract method 0x3e8add35.
   614  //
   615  // Solidity: function getTimeInEpoch(uint256 t) view returns(uint256)
   616  func (_Tombplus *TombplusCallerSession) GetTimeInEpoch(t *big.Int) (*big.Int, error) {
   617  	return _Tombplus.Contract.GetTimeInEpoch(&_Tombplus.CallOpts, t)
   618  }
   619  
   620  // GetUserFlipIdByEpochId is a free data retrieval call binding the contract method 0x968277ea.
   621  //
   622  // Solidity: function getUserFlipIdByEpochId(address user, uint256 epochId) view returns(bool found, uint256 id)
   623  func (_Tombplus *TombplusCaller) GetUserFlipIdByEpochId(opts *bind.CallOpts, user common.Address, epochId *big.Int) (struct {
   624  	Found bool
   625  	Id    *big.Int
   626  }, error) {
   627  	var out []interface{}
   628  	err := _Tombplus.contract.Call(opts, &out, "getUserFlipIdByEpochId", user, epochId)
   629  
   630  	outstruct := new(struct {
   631  		Found bool
   632  		Id    *big.Int
   633  	})
   634  	if err != nil {
   635  		return *outstruct, err
   636  	}
   637  
   638  	outstruct.Found = *abi.ConvertType(out[0], new(bool)).(*bool)
   639  	outstruct.Id = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int)
   640  
   641  	return *outstruct, err
   642  
   643  }
   644  
   645  // GetUserFlipIdByEpochId is a free data retrieval call binding the contract method 0x968277ea.
   646  //
   647  // Solidity: function getUserFlipIdByEpochId(address user, uint256 epochId) view returns(bool found, uint256 id)
   648  func (_Tombplus *TombplusSession) GetUserFlipIdByEpochId(user common.Address, epochId *big.Int) (struct {
   649  	Found bool
   650  	Id    *big.Int
   651  }, error) {
   652  	return _Tombplus.Contract.GetUserFlipIdByEpochId(&_Tombplus.CallOpts, user, epochId)
   653  }
   654  
   655  // GetUserFlipIdByEpochId is a free data retrieval call binding the contract method 0x968277ea.
   656  //
   657  // Solidity: function getUserFlipIdByEpochId(address user, uint256 epochId) view returns(bool found, uint256 id)
   658  func (_Tombplus *TombplusCallerSession) GetUserFlipIdByEpochId(user common.Address, epochId *big.Int) (struct {
   659  	Found bool
   660  	Id    *big.Int
   661  }, error) {
   662  	return _Tombplus.Contract.GetUserFlipIdByEpochId(&_Tombplus.CallOpts, user, epochId)
   663  }
   664  
   665  // GetUserFlips is a free data retrieval call binding the contract method 0x75271cb4.
   666  //
   667  // Solidity: function getUserFlips(address user) view returns((uint256,bool,uint256)[])
   668  func (_Tombplus *TombplusCaller) GetUserFlips(opts *bind.CallOpts, user common.Address) ([]MasonryPlusFlip, error) {
   669  	var out []interface{}
   670  	err := _Tombplus.contract.Call(opts, &out, "getUserFlips", user)
   671  
   672  	if err != nil {
   673  		return *new([]MasonryPlusFlip), err
   674  	}
   675  
   676  	out0 := *abi.ConvertType(out[0], new([]MasonryPlusFlip)).(*[]MasonryPlusFlip)
   677  
   678  	return out0, err
   679  
   680  }
   681  
   682  // GetUserFlips is a free data retrieval call binding the contract method 0x75271cb4.
   683  //
   684  // Solidity: function getUserFlips(address user) view returns((uint256,bool,uint256)[])
   685  func (_Tombplus *TombplusSession) GetUserFlips(user common.Address) ([]MasonryPlusFlip, error) {
   686  	return _Tombplus.Contract.GetUserFlips(&_Tombplus.CallOpts, user)
   687  }
   688  
   689  // GetUserFlips is a free data retrieval call binding the contract method 0x75271cb4.
   690  //
   691  // Solidity: function getUserFlips(address user) view returns((uint256,bool,uint256)[])
   692  func (_Tombplus *TombplusCallerSession) GetUserFlips(user common.Address) ([]MasonryPlusFlip, error) {
   693  	return _Tombplus.Contract.GetUserFlips(&_Tombplus.CallOpts, user)
   694  }
   695  
   696  // HistoricEpochData is a free data retrieval call binding the contract method 0x256bd5cf.
   697  //
   698  // Solidity: function historicEpochData(uint256 ) view returns(bool volatilityReached, bool winnerIsUp, uint256 rewardPerWinningVoteNumerator)
   699  func (_Tombplus *TombplusCaller) HistoricEpochData(opts *bind.CallOpts, arg0 *big.Int) (struct {
   700  	VolatilityReached             bool
   701  	WinnerIsUp                    bool
   702  	RewardPerWinningVoteNumerator *big.Int
   703  }, error) {
   704  	var out []interface{}
   705  	err := _Tombplus.contract.Call(opts, &out, "historicEpochData", arg0)
   706  
   707  	outstruct := new(struct {
   708  		VolatilityReached             bool
   709  		WinnerIsUp                    bool
   710  		RewardPerWinningVoteNumerator *big.Int
   711  	})
   712  	if err != nil {
   713  		return *outstruct, err
   714  	}
   715  
   716  	outstruct.VolatilityReached = *abi.ConvertType(out[0], new(bool)).(*bool)
   717  	outstruct.WinnerIsUp = *abi.ConvertType(out[1], new(bool)).(*bool)
   718  	outstruct.RewardPerWinningVoteNumerator = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int)
   719  
   720  	return *outstruct, err
   721  
   722  }
   723  
   724  // HistoricEpochData is a free data retrieval call binding the contract method 0x256bd5cf.
   725  //
   726  // Solidity: function historicEpochData(uint256 ) view returns(bool volatilityReached, bool winnerIsUp, uint256 rewardPerWinningVoteNumerator)
   727  func (_Tombplus *TombplusSession) HistoricEpochData(arg0 *big.Int) (struct {
   728  	VolatilityReached             bool
   729  	WinnerIsUp                    bool
   730  	RewardPerWinningVoteNumerator *big.Int
   731  }, error) {
   732  	return _Tombplus.Contract.HistoricEpochData(&_Tombplus.CallOpts, arg0)
   733  }
   734  
   735  // HistoricEpochData is a free data retrieval call binding the contract method 0x256bd5cf.
   736  //
   737  // Solidity: function historicEpochData(uint256 ) view returns(bool volatilityReached, bool winnerIsUp, uint256 rewardPerWinningVoteNumerator)
   738  func (_Tombplus *TombplusCallerSession) HistoricEpochData(arg0 *big.Int) (struct {
   739  	VolatilityReached             bool
   740  	WinnerIsUp                    bool
   741  	RewardPerWinningVoteNumerator *big.Int
   742  }, error) {
   743  	return _Tombplus.Contract.HistoricEpochData(&_Tombplus.CallOpts, arg0)
   744  }
   745  
   746  // LastFinishedEpochId is a free data retrieval call binding the contract method 0x9d656aad.
   747  //
   748  // Solidity: function lastFinishedEpochId() view returns(uint256)
   749  func (_Tombplus *TombplusCaller) LastFinishedEpochId(opts *bind.CallOpts) (*big.Int, error) {
   750  	var out []interface{}
   751  	err := _Tombplus.contract.Call(opts, &out, "lastFinishedEpochId")
   752  
   753  	if err != nil {
   754  		return *new(*big.Int), err
   755  	}
   756  
   757  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   758  
   759  	return out0, err
   760  
   761  }
   762  
   763  // LastFinishedEpochId is a free data retrieval call binding the contract method 0x9d656aad.
   764  //
   765  // Solidity: function lastFinishedEpochId() view returns(uint256)
   766  func (_Tombplus *TombplusSession) LastFinishedEpochId() (*big.Int, error) {
   767  	return _Tombplus.Contract.LastFinishedEpochId(&_Tombplus.CallOpts)
   768  }
   769  
   770  // LastFinishedEpochId is a free data retrieval call binding the contract method 0x9d656aad.
   771  //
   772  // Solidity: function lastFinishedEpochId() view returns(uint256)
   773  func (_Tombplus *TombplusCallerSession) LastFinishedEpochId() (*big.Int, error) {
   774  	return _Tombplus.Contract.LastFinishedEpochId(&_Tombplus.CallOpts)
   775  }
   776  
   777  // Lottery is a free data retrieval call binding the contract method 0xba13a572.
   778  //
   779  // Solidity: function lottery() view returns(address)
   780  func (_Tombplus *TombplusCaller) Lottery(opts *bind.CallOpts) (common.Address, error) {
   781  	var out []interface{}
   782  	err := _Tombplus.contract.Call(opts, &out, "lottery")
   783  
   784  	if err != nil {
   785  		return *new(common.Address), err
   786  	}
   787  
   788  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   789  
   790  	return out0, err
   791  
   792  }
   793  
   794  // Lottery is a free data retrieval call binding the contract method 0xba13a572.
   795  //
   796  // Solidity: function lottery() view returns(address)
   797  func (_Tombplus *TombplusSession) Lottery() (common.Address, error) {
   798  	return _Tombplus.Contract.Lottery(&_Tombplus.CallOpts)
   799  }
   800  
   801  // Lottery is a free data retrieval call binding the contract method 0xba13a572.
   802  //
   803  // Solidity: function lottery() view returns(address)
   804  func (_Tombplus *TombplusCallerSession) Lottery() (common.Address, error) {
   805  	return _Tombplus.Contract.Lottery(&_Tombplus.CallOpts)
   806  }
   807  
   808  // MaxAllowedFutureFlips is a free data retrieval call binding the contract method 0x71bc2606.
   809  //
   810  // Solidity: function maxAllowedFutureFlips() view returns(uint256)
   811  func (_Tombplus *TombplusCaller) MaxAllowedFutureFlips(opts *bind.CallOpts) (*big.Int, error) {
   812  	var out []interface{}
   813  	err := _Tombplus.contract.Call(opts, &out, "maxAllowedFutureFlips")
   814  
   815  	if err != nil {
   816  		return *new(*big.Int), err
   817  	}
   818  
   819  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   820  
   821  	return out0, err
   822  
   823  }
   824  
   825  // MaxAllowedFutureFlips is a free data retrieval call binding the contract method 0x71bc2606.
   826  //
   827  // Solidity: function maxAllowedFutureFlips() view returns(uint256)
   828  func (_Tombplus *TombplusSession) MaxAllowedFutureFlips() (*big.Int, error) {
   829  	return _Tombplus.Contract.MaxAllowedFutureFlips(&_Tombplus.CallOpts)
   830  }
   831  
   832  // MaxAllowedFutureFlips is a free data retrieval call binding the contract method 0x71bc2606.
   833  //
   834  // Solidity: function maxAllowedFutureFlips() view returns(uint256)
   835  func (_Tombplus *TombplusCallerSession) MaxAllowedFutureFlips() (*big.Int, error) {
   836  	return _Tombplus.Contract.MaxAllowedFutureFlips(&_Tombplus.CallOpts)
   837  }
   838  
   839  // MaxAllowedFutureFlipsOverride is a free data retrieval call binding the contract method 0xc814e77b.
   840  //
   841  // Solidity: function maxAllowedFutureFlipsOverride(address ) view returns(uint256)
   842  func (_Tombplus *TombplusCaller) MaxAllowedFutureFlipsOverride(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) {
   843  	var out []interface{}
   844  	err := _Tombplus.contract.Call(opts, &out, "maxAllowedFutureFlipsOverride", arg0)
   845  
   846  	if err != nil {
   847  		return *new(*big.Int), err
   848  	}
   849  
   850  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   851  
   852  	return out0, err
   853  
   854  }
   855  
   856  // MaxAllowedFutureFlipsOverride is a free data retrieval call binding the contract method 0xc814e77b.
   857  //
   858  // Solidity: function maxAllowedFutureFlipsOverride(address ) view returns(uint256)
   859  func (_Tombplus *TombplusSession) MaxAllowedFutureFlipsOverride(arg0 common.Address) (*big.Int, error) {
   860  	return _Tombplus.Contract.MaxAllowedFutureFlipsOverride(&_Tombplus.CallOpts, arg0)
   861  }
   862  
   863  // MaxAllowedFutureFlipsOverride is a free data retrieval call binding the contract method 0xc814e77b.
   864  //
   865  // Solidity: function maxAllowedFutureFlipsOverride(address ) view returns(uint256)
   866  func (_Tombplus *TombplusCallerSession) MaxAllowedFutureFlipsOverride(arg0 common.Address) (*big.Int, error) {
   867  	return _Tombplus.Contract.MaxAllowedFutureFlipsOverride(&_Tombplus.CallOpts, arg0)
   868  }
   869  
   870  // Operator is a free data retrieval call binding the contract method 0x570ca735.
   871  //
   872  // Solidity: function operator() view returns(address)
   873  func (_Tombplus *TombplusCaller) Operator(opts *bind.CallOpts) (common.Address, error) {
   874  	var out []interface{}
   875  	err := _Tombplus.contract.Call(opts, &out, "operator")
   876  
   877  	if err != nil {
   878  		return *new(common.Address), err
   879  	}
   880  
   881  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   882  
   883  	return out0, err
   884  
   885  }
   886  
   887  // Operator is a free data retrieval call binding the contract method 0x570ca735.
   888  //
   889  // Solidity: function operator() view returns(address)
   890  func (_Tombplus *TombplusSession) Operator() (common.Address, error) {
   891  	return _Tombplus.Contract.Operator(&_Tombplus.CallOpts)
   892  }
   893  
   894  // Operator is a free data retrieval call binding the contract method 0x570ca735.
   895  //
   896  // Solidity: function operator() view returns(address)
   897  func (_Tombplus *TombplusCallerSession) Operator() (common.Address, error) {
   898  	return _Tombplus.Contract.Operator(&_Tombplus.CallOpts)
   899  }
   900  
   901  // Otombplus is a free data retrieval call binding the contract method 0x5ef5d76c.
   902  //
   903  // Solidity: function otombplus() view returns(address)
   904  func (_Tombplus *TombplusCaller) Otombplus(opts *bind.CallOpts) (common.Address, error) {
   905  	var out []interface{}
   906  	err := _Tombplus.contract.Call(opts, &out, "otombplus")
   907  
   908  	if err != nil {
   909  		return *new(common.Address), err
   910  	}
   911  
   912  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   913  
   914  	return out0, err
   915  
   916  }
   917  
   918  // Otombplus is a free data retrieval call binding the contract method 0x5ef5d76c.
   919  //
   920  // Solidity: function otombplus() view returns(address)
   921  func (_Tombplus *TombplusSession) Otombplus() (common.Address, error) {
   922  	return _Tombplus.Contract.Otombplus(&_Tombplus.CallOpts)
   923  }
   924  
   925  // Otombplus is a free data retrieval call binding the contract method 0x5ef5d76c.
   926  //
   927  // Solidity: function otombplus() view returns(address)
   928  func (_Tombplus *TombplusCallerSession) Otombplus() (common.Address, error) {
   929  	return _Tombplus.Contract.Otombplus(&_Tombplus.CallOpts)
   930  }
   931  
   932  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   933  //
   934  // Solidity: function owner() view returns(address)
   935  func (_Tombplus *TombplusCaller) Owner(opts *bind.CallOpts) (common.Address, error) {
   936  	var out []interface{}
   937  	err := _Tombplus.contract.Call(opts, &out, "owner")
   938  
   939  	if err != nil {
   940  		return *new(common.Address), err
   941  	}
   942  
   943  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
   944  
   945  	return out0, err
   946  
   947  }
   948  
   949  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   950  //
   951  // Solidity: function owner() view returns(address)
   952  func (_Tombplus *TombplusSession) Owner() (common.Address, error) {
   953  	return _Tombplus.Contract.Owner(&_Tombplus.CallOpts)
   954  }
   955  
   956  // Owner is a free data retrieval call binding the contract method 0x8da5cb5b.
   957  //
   958  // Solidity: function owner() view returns(address)
   959  func (_Tombplus *TombplusCallerSession) Owner() (common.Address, error) {
   960  	return _Tombplus.Contract.Owner(&_Tombplus.CallOpts)
   961  }
   962  
   963  // PauseGameAtEpoch is a free data retrieval call binding the contract method 0x9432fd84.
   964  //
   965  // Solidity: function pauseGameAtEpoch() view returns(uint256)
   966  func (_Tombplus *TombplusCaller) PauseGameAtEpoch(opts *bind.CallOpts) (*big.Int, error) {
   967  	var out []interface{}
   968  	err := _Tombplus.contract.Call(opts, &out, "pauseGameAtEpoch")
   969  
   970  	if err != nil {
   971  		return *new(*big.Int), err
   972  	}
   973  
   974  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
   975  
   976  	return out0, err
   977  
   978  }
   979  
   980  // PauseGameAtEpoch is a free data retrieval call binding the contract method 0x9432fd84.
   981  //
   982  // Solidity: function pauseGameAtEpoch() view returns(uint256)
   983  func (_Tombplus *TombplusSession) PauseGameAtEpoch() (*big.Int, error) {
   984  	return _Tombplus.Contract.PauseGameAtEpoch(&_Tombplus.CallOpts)
   985  }
   986  
   987  // PauseGameAtEpoch is a free data retrieval call binding the contract method 0x9432fd84.
   988  //
   989  // Solidity: function pauseGameAtEpoch() view returns(uint256)
   990  func (_Tombplus *TombplusCallerSession) PauseGameAtEpoch() (*big.Int, error) {
   991  	return _Tombplus.Contract.PauseGameAtEpoch(&_Tombplus.CallOpts)
   992  }
   993  
   994  // PendingOwner is a free data retrieval call binding the contract method 0xe30c3978.
   995  //
   996  // Solidity: function pendingOwner() view returns(address)
   997  func (_Tombplus *TombplusCaller) PendingOwner(opts *bind.CallOpts) (common.Address, error) {
   998  	var out []interface{}
   999  	err := _Tombplus.contract.Call(opts, &out, "pendingOwner")
  1000  
  1001  	if err != nil {
  1002  		return *new(common.Address), err
  1003  	}
  1004  
  1005  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  1006  
  1007  	return out0, err
  1008  
  1009  }
  1010  
  1011  // PendingOwner is a free data retrieval call binding the contract method 0xe30c3978.
  1012  //
  1013  // Solidity: function pendingOwner() view returns(address)
  1014  func (_Tombplus *TombplusSession) PendingOwner() (common.Address, error) {
  1015  	return _Tombplus.Contract.PendingOwner(&_Tombplus.CallOpts)
  1016  }
  1017  
  1018  // PendingOwner is a free data retrieval call binding the contract method 0xe30c3978.
  1019  //
  1020  // Solidity: function pendingOwner() view returns(address)
  1021  func (_Tombplus *TombplusCallerSession) PendingOwner() (common.Address, error) {
  1022  	return _Tombplus.Contract.PendingOwner(&_Tombplus.CallOpts)
  1023  }
  1024  
  1025  // ProcessedRewardBalances is a free data retrieval call binding the contract method 0xf04badf6.
  1026  //
  1027  // Solidity: function processedRewardBalances(address ) view returns(uint256)
  1028  func (_Tombplus *TombplusCaller) ProcessedRewardBalances(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) {
  1029  	var out []interface{}
  1030  	err := _Tombplus.contract.Call(opts, &out, "processedRewardBalances", arg0)
  1031  
  1032  	if err != nil {
  1033  		return *new(*big.Int), err
  1034  	}
  1035  
  1036  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1037  
  1038  	return out0, err
  1039  
  1040  }
  1041  
  1042  // ProcessedRewardBalances is a free data retrieval call binding the contract method 0xf04badf6.
  1043  //
  1044  // Solidity: function processedRewardBalances(address ) view returns(uint256)
  1045  func (_Tombplus *TombplusSession) ProcessedRewardBalances(arg0 common.Address) (*big.Int, error) {
  1046  	return _Tombplus.Contract.ProcessedRewardBalances(&_Tombplus.CallOpts, arg0)
  1047  }
  1048  
  1049  // ProcessedRewardBalances is a free data retrieval call binding the contract method 0xf04badf6.
  1050  //
  1051  // Solidity: function processedRewardBalances(address ) view returns(uint256)
  1052  func (_Tombplus *TombplusCallerSession) ProcessedRewardBalances(arg0 common.Address) (*big.Int, error) {
  1053  	return _Tombplus.Contract.ProcessedRewardBalances(&_Tombplus.CallOpts, arg0)
  1054  }
  1055  
  1056  // Pyth is a free data retrieval call binding the contract method 0xf98d06f0.
  1057  //
  1058  // Solidity: function pyth() view returns(address)
  1059  func (_Tombplus *TombplusCaller) Pyth(opts *bind.CallOpts) (common.Address, error) {
  1060  	var out []interface{}
  1061  	err := _Tombplus.contract.Call(opts, &out, "pyth")
  1062  
  1063  	if err != nil {
  1064  		return *new(common.Address), err
  1065  	}
  1066  
  1067  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  1068  
  1069  	return out0, err
  1070  
  1071  }
  1072  
  1073  // Pyth is a free data retrieval call binding the contract method 0xf98d06f0.
  1074  //
  1075  // Solidity: function pyth() view returns(address)
  1076  func (_Tombplus *TombplusSession) Pyth() (common.Address, error) {
  1077  	return _Tombplus.Contract.Pyth(&_Tombplus.CallOpts)
  1078  }
  1079  
  1080  // Pyth is a free data retrieval call binding the contract method 0xf98d06f0.
  1081  //
  1082  // Solidity: function pyth() view returns(address)
  1083  func (_Tombplus *TombplusCallerSession) Pyth() (common.Address, error) {
  1084  	return _Tombplus.Contract.Pyth(&_Tombplus.CallOpts)
  1085  }
  1086  
  1087  // PythPriceID is a free data retrieval call binding the contract method 0xa2673ff4.
  1088  //
  1089  // Solidity: function pythPriceID() view returns(bytes32)
  1090  func (_Tombplus *TombplusCaller) PythPriceID(opts *bind.CallOpts) ([32]byte, error) {
  1091  	var out []interface{}
  1092  	err := _Tombplus.contract.Call(opts, &out, "pythPriceID")
  1093  
  1094  	if err != nil {
  1095  		return *new([32]byte), err
  1096  	}
  1097  
  1098  	out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte)
  1099  
  1100  	return out0, err
  1101  
  1102  }
  1103  
  1104  // PythPriceID is a free data retrieval call binding the contract method 0xa2673ff4.
  1105  //
  1106  // Solidity: function pythPriceID() view returns(bytes32)
  1107  func (_Tombplus *TombplusSession) PythPriceID() ([32]byte, error) {
  1108  	return _Tombplus.Contract.PythPriceID(&_Tombplus.CallOpts)
  1109  }
  1110  
  1111  // PythPriceID is a free data retrieval call binding the contract method 0xa2673ff4.
  1112  //
  1113  // Solidity: function pythPriceID() view returns(bytes32)
  1114  func (_Tombplus *TombplusCallerSession) PythPriceID() ([32]byte, error) {
  1115  	return _Tombplus.Contract.PythPriceID(&_Tombplus.CallOpts)
  1116  }
  1117  
  1118  // RewardBalance is a free data retrieval call binding the contract method 0x67b40cf7.
  1119  //
  1120  // Solidity: function rewardBalance(address user) view returns(uint256 balance)
  1121  func (_Tombplus *TombplusCaller) RewardBalance(opts *bind.CallOpts, user common.Address) (*big.Int, error) {
  1122  	var out []interface{}
  1123  	err := _Tombplus.contract.Call(opts, &out, "rewardBalance", user)
  1124  
  1125  	if err != nil {
  1126  		return *new(*big.Int), err
  1127  	}
  1128  
  1129  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1130  
  1131  	return out0, err
  1132  
  1133  }
  1134  
  1135  // RewardBalance is a free data retrieval call binding the contract method 0x67b40cf7.
  1136  //
  1137  // Solidity: function rewardBalance(address user) view returns(uint256 balance)
  1138  func (_Tombplus *TombplusSession) RewardBalance(user common.Address) (*big.Int, error) {
  1139  	return _Tombplus.Contract.RewardBalance(&_Tombplus.CallOpts, user)
  1140  }
  1141  
  1142  // RewardBalance is a free data retrieval call binding the contract method 0x67b40cf7.
  1143  //
  1144  // Solidity: function rewardBalance(address user) view returns(uint256 balance)
  1145  func (_Tombplus *TombplusCallerSession) RewardBalance(user common.Address) (*big.Int, error) {
  1146  	return _Tombplus.Contract.RewardBalance(&_Tombplus.CallOpts, user)
  1147  }
  1148  
  1149  // RewardPerTshareNumerator is a free data retrieval call binding the contract method 0xe4188980.
  1150  //
  1151  // Solidity: function rewardPerTshareNumerator() view returns(uint256)
  1152  func (_Tombplus *TombplusCaller) RewardPerTshareNumerator(opts *bind.CallOpts) (*big.Int, error) {
  1153  	var out []interface{}
  1154  	err := _Tombplus.contract.Call(opts, &out, "rewardPerTshareNumerator")
  1155  
  1156  	if err != nil {
  1157  		return *new(*big.Int), err
  1158  	}
  1159  
  1160  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1161  
  1162  	return out0, err
  1163  
  1164  }
  1165  
  1166  // RewardPerTshareNumerator is a free data retrieval call binding the contract method 0xe4188980.
  1167  //
  1168  // Solidity: function rewardPerTshareNumerator() view returns(uint256)
  1169  func (_Tombplus *TombplusSession) RewardPerTshareNumerator() (*big.Int, error) {
  1170  	return _Tombplus.Contract.RewardPerTshareNumerator(&_Tombplus.CallOpts)
  1171  }
  1172  
  1173  // RewardPerTshareNumerator is a free data retrieval call binding the contract method 0xe4188980.
  1174  //
  1175  // Solidity: function rewardPerTshareNumerator() view returns(uint256)
  1176  func (_Tombplus *TombplusCallerSession) RewardPerTshareNumerator() (*big.Int, error) {
  1177  	return _Tombplus.Contract.RewardPerTshareNumerator(&_Tombplus.CallOpts)
  1178  }
  1179  
  1180  // Tombplus is a free data retrieval call binding the contract method 0x779c94df.
  1181  //
  1182  // Solidity: function tombplus() view returns(address)
  1183  func (_Tombplus *TombplusCaller) Tombplus(opts *bind.CallOpts) (common.Address, error) {
  1184  	var out []interface{}
  1185  	err := _Tombplus.contract.Call(opts, &out, "tombplus")
  1186  
  1187  	if err != nil {
  1188  		return *new(common.Address), err
  1189  	}
  1190  
  1191  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  1192  
  1193  	return out0, err
  1194  
  1195  }
  1196  
  1197  // Tombplus is a free data retrieval call binding the contract method 0x779c94df.
  1198  //
  1199  // Solidity: function tombplus() view returns(address)
  1200  func (_Tombplus *TombplusSession) Tombplus() (common.Address, error) {
  1201  	return _Tombplus.Contract.Tombplus(&_Tombplus.CallOpts)
  1202  }
  1203  
  1204  // Tombplus is a free data retrieval call binding the contract method 0x779c94df.
  1205  //
  1206  // Solidity: function tombplus() view returns(address)
  1207  func (_Tombplus *TombplusCallerSession) Tombplus() (common.Address, error) {
  1208  	return _Tombplus.Contract.Tombplus(&_Tombplus.CallOpts)
  1209  }
  1210  
  1211  // Tshareplus is a free data retrieval call binding the contract method 0x6200b680.
  1212  //
  1213  // Solidity: function tshareplus() view returns(address)
  1214  func (_Tombplus *TombplusCaller) Tshareplus(opts *bind.CallOpts) (common.Address, error) {
  1215  	var out []interface{}
  1216  	err := _Tombplus.contract.Call(opts, &out, "tshareplus")
  1217  
  1218  	if err != nil {
  1219  		return *new(common.Address), err
  1220  	}
  1221  
  1222  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  1223  
  1224  	return out0, err
  1225  
  1226  }
  1227  
  1228  // Tshareplus is a free data retrieval call binding the contract method 0x6200b680.
  1229  //
  1230  // Solidity: function tshareplus() view returns(address)
  1231  func (_Tombplus *TombplusSession) Tshareplus() (common.Address, error) {
  1232  	return _Tombplus.Contract.Tshareplus(&_Tombplus.CallOpts)
  1233  }
  1234  
  1235  // Tshareplus is a free data retrieval call binding the contract method 0x6200b680.
  1236  //
  1237  // Solidity: function tshareplus() view returns(address)
  1238  func (_Tombplus *TombplusCallerSession) Tshareplus() (common.Address, error) {
  1239  	return _Tombplus.Contract.Tshareplus(&_Tombplus.CallOpts)
  1240  }
  1241  
  1242  // UpcomingEpochData is a free data retrieval call binding the contract method 0x2ee31206.
  1243  //
  1244  // Solidity: function upcomingEpochData(uint256 ) view returns(uint256 tshareVotesUp, uint256 tshareVotesDown, uint256 tshareUsersUp, uint256 tshareUsersDown, uint256 tshareTotalSupply)
  1245  func (_Tombplus *TombplusCaller) UpcomingEpochData(opts *bind.CallOpts, arg0 *big.Int) (struct {
  1246  	TshareVotesUp     *big.Int
  1247  	TshareVotesDown   *big.Int
  1248  	TshareUsersUp     *big.Int
  1249  	TshareUsersDown   *big.Int
  1250  	TshareTotalSupply *big.Int
  1251  }, error) {
  1252  	var out []interface{}
  1253  	err := _Tombplus.contract.Call(opts, &out, "upcomingEpochData", arg0)
  1254  
  1255  	outstruct := new(struct {
  1256  		TshareVotesUp     *big.Int
  1257  		TshareVotesDown   *big.Int
  1258  		TshareUsersUp     *big.Int
  1259  		TshareUsersDown   *big.Int
  1260  		TshareTotalSupply *big.Int
  1261  	})
  1262  	if err != nil {
  1263  		return *outstruct, err
  1264  	}
  1265  
  1266  	outstruct.TshareVotesUp = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1267  	outstruct.TshareVotesDown = *abi.ConvertType(out[1], new(*big.Int)).(**big.Int)
  1268  	outstruct.TshareUsersUp = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int)
  1269  	outstruct.TshareUsersDown = *abi.ConvertType(out[3], new(*big.Int)).(**big.Int)
  1270  	outstruct.TshareTotalSupply = *abi.ConvertType(out[4], new(*big.Int)).(**big.Int)
  1271  
  1272  	return *outstruct, err
  1273  
  1274  }
  1275  
  1276  // UpcomingEpochData is a free data retrieval call binding the contract method 0x2ee31206.
  1277  //
  1278  // Solidity: function upcomingEpochData(uint256 ) view returns(uint256 tshareVotesUp, uint256 tshareVotesDown, uint256 tshareUsersUp, uint256 tshareUsersDown, uint256 tshareTotalSupply)
  1279  func (_Tombplus *TombplusSession) UpcomingEpochData(arg0 *big.Int) (struct {
  1280  	TshareVotesUp     *big.Int
  1281  	TshareVotesDown   *big.Int
  1282  	TshareUsersUp     *big.Int
  1283  	TshareUsersDown   *big.Int
  1284  	TshareTotalSupply *big.Int
  1285  }, error) {
  1286  	return _Tombplus.Contract.UpcomingEpochData(&_Tombplus.CallOpts, arg0)
  1287  }
  1288  
  1289  // UpcomingEpochData is a free data retrieval call binding the contract method 0x2ee31206.
  1290  //
  1291  // Solidity: function upcomingEpochData(uint256 ) view returns(uint256 tshareVotesUp, uint256 tshareVotesDown, uint256 tshareUsersUp, uint256 tshareUsersDown, uint256 tshareTotalSupply)
  1292  func (_Tombplus *TombplusCallerSession) UpcomingEpochData(arg0 *big.Int) (struct {
  1293  	TshareVotesUp     *big.Int
  1294  	TshareVotesDown   *big.Int
  1295  	TshareUsersUp     *big.Int
  1296  	TshareUsersDown   *big.Int
  1297  	TshareTotalSupply *big.Int
  1298  }, error) {
  1299  	return _Tombplus.Contract.UpcomingEpochData(&_Tombplus.CallOpts, arg0)
  1300  }
  1301  
  1302  // UpgradedMasonry is a free data retrieval call binding the contract method 0x902d2684.
  1303  //
  1304  // Solidity: function upgradedMasonry() view returns(address)
  1305  func (_Tombplus *TombplusCaller) UpgradedMasonry(opts *bind.CallOpts) (common.Address, error) {
  1306  	var out []interface{}
  1307  	err := _Tombplus.contract.Call(opts, &out, "upgradedMasonry")
  1308  
  1309  	if err != nil {
  1310  		return *new(common.Address), err
  1311  	}
  1312  
  1313  	out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address)
  1314  
  1315  	return out0, err
  1316  
  1317  }
  1318  
  1319  // UpgradedMasonry is a free data retrieval call binding the contract method 0x902d2684.
  1320  //
  1321  // Solidity: function upgradedMasonry() view returns(address)
  1322  func (_Tombplus *TombplusSession) UpgradedMasonry() (common.Address, error) {
  1323  	return _Tombplus.Contract.UpgradedMasonry(&_Tombplus.CallOpts)
  1324  }
  1325  
  1326  // UpgradedMasonry is a free data retrieval call binding the contract method 0x902d2684.
  1327  //
  1328  // Solidity: function upgradedMasonry() view returns(address)
  1329  func (_Tombplus *TombplusCallerSession) UpgradedMasonry() (common.Address, error) {
  1330  	return _Tombplus.Contract.UpgradedMasonry(&_Tombplus.CallOpts)
  1331  }
  1332  
  1333  // UserCanPlaceOneMoreFlip is a free data retrieval call binding the contract method 0xca4d56ce.
  1334  //
  1335  // Solidity: function userCanPlaceOneMoreFlip(address user) view returns(bool)
  1336  func (_Tombplus *TombplusCaller) UserCanPlaceOneMoreFlip(opts *bind.CallOpts, user common.Address) (bool, error) {
  1337  	var out []interface{}
  1338  	err := _Tombplus.contract.Call(opts, &out, "userCanPlaceOneMoreFlip", user)
  1339  
  1340  	if err != nil {
  1341  		return *new(bool), err
  1342  	}
  1343  
  1344  	out0 := *abi.ConvertType(out[0], new(bool)).(*bool)
  1345  
  1346  	return out0, err
  1347  
  1348  }
  1349  
  1350  // UserCanPlaceOneMoreFlip is a free data retrieval call binding the contract method 0xca4d56ce.
  1351  //
  1352  // Solidity: function userCanPlaceOneMoreFlip(address user) view returns(bool)
  1353  func (_Tombplus *TombplusSession) UserCanPlaceOneMoreFlip(user common.Address) (bool, error) {
  1354  	return _Tombplus.Contract.UserCanPlaceOneMoreFlip(&_Tombplus.CallOpts, user)
  1355  }
  1356  
  1357  // UserCanPlaceOneMoreFlip is a free data retrieval call binding the contract method 0xca4d56ce.
  1358  //
  1359  // Solidity: function userCanPlaceOneMoreFlip(address user) view returns(bool)
  1360  func (_Tombplus *TombplusCallerSession) UserCanPlaceOneMoreFlip(user common.Address) (bool, error) {
  1361  	return _Tombplus.Contract.UserCanPlaceOneMoreFlip(&_Tombplus.CallOpts, user)
  1362  }
  1363  
  1364  // UserFlipIdsByEpochId is a free data retrieval call binding the contract method 0x5fd94ef1.
  1365  //
  1366  // Solidity: function userFlipIdsByEpochId(address , uint256 ) view returns(uint256)
  1367  func (_Tombplus *TombplusCaller) UserFlipIdsByEpochId(opts *bind.CallOpts, arg0 common.Address, arg1 *big.Int) (*big.Int, error) {
  1368  	var out []interface{}
  1369  	err := _Tombplus.contract.Call(opts, &out, "userFlipIdsByEpochId", arg0, arg1)
  1370  
  1371  	if err != nil {
  1372  		return *new(*big.Int), err
  1373  	}
  1374  
  1375  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1376  
  1377  	return out0, err
  1378  
  1379  }
  1380  
  1381  // UserFlipIdsByEpochId is a free data retrieval call binding the contract method 0x5fd94ef1.
  1382  //
  1383  // Solidity: function userFlipIdsByEpochId(address , uint256 ) view returns(uint256)
  1384  func (_Tombplus *TombplusSession) UserFlipIdsByEpochId(arg0 common.Address, arg1 *big.Int) (*big.Int, error) {
  1385  	return _Tombplus.Contract.UserFlipIdsByEpochId(&_Tombplus.CallOpts, arg0, arg1)
  1386  }
  1387  
  1388  // UserFlipIdsByEpochId is a free data retrieval call binding the contract method 0x5fd94ef1.
  1389  //
  1390  // Solidity: function userFlipIdsByEpochId(address , uint256 ) view returns(uint256)
  1391  func (_Tombplus *TombplusCallerSession) UserFlipIdsByEpochId(arg0 common.Address, arg1 *big.Int) (*big.Int, error) {
  1392  	return _Tombplus.Contract.UserFlipIdsByEpochId(&_Tombplus.CallOpts, arg0, arg1)
  1393  }
  1394  
  1395  // UserFlips is a free data retrieval call binding the contract method 0x3c9e8907.
  1396  //
  1397  // Solidity: function userFlips(address , uint256 ) view returns(uint256 epochId, bool up, uint256 tsharePlusBalance)
  1398  func (_Tombplus *TombplusCaller) UserFlips(opts *bind.CallOpts, arg0 common.Address, arg1 *big.Int) (struct {
  1399  	EpochId           *big.Int
  1400  	Up                bool
  1401  	TsharePlusBalance *big.Int
  1402  }, error) {
  1403  	var out []interface{}
  1404  	err := _Tombplus.contract.Call(opts, &out, "userFlips", arg0, arg1)
  1405  
  1406  	outstruct := new(struct {
  1407  		EpochId           *big.Int
  1408  		Up                bool
  1409  		TsharePlusBalance *big.Int
  1410  	})
  1411  	if err != nil {
  1412  		return *outstruct, err
  1413  	}
  1414  
  1415  	outstruct.EpochId = *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1416  	outstruct.Up = *abi.ConvertType(out[1], new(bool)).(*bool)
  1417  	outstruct.TsharePlusBalance = *abi.ConvertType(out[2], new(*big.Int)).(**big.Int)
  1418  
  1419  	return *outstruct, err
  1420  
  1421  }
  1422  
  1423  // UserFlips is a free data retrieval call binding the contract method 0x3c9e8907.
  1424  //
  1425  // Solidity: function userFlips(address , uint256 ) view returns(uint256 epochId, bool up, uint256 tsharePlusBalance)
  1426  func (_Tombplus *TombplusSession) UserFlips(arg0 common.Address, arg1 *big.Int) (struct {
  1427  	EpochId           *big.Int
  1428  	Up                bool
  1429  	TsharePlusBalance *big.Int
  1430  }, error) {
  1431  	return _Tombplus.Contract.UserFlips(&_Tombplus.CallOpts, arg0, arg1)
  1432  }
  1433  
  1434  // UserFlips is a free data retrieval call binding the contract method 0x3c9e8907.
  1435  //
  1436  // Solidity: function userFlips(address , uint256 ) view returns(uint256 epochId, bool up, uint256 tsharePlusBalance)
  1437  func (_Tombplus *TombplusCallerSession) UserFlips(arg0 common.Address, arg1 *big.Int) (struct {
  1438  	EpochId           *big.Int
  1439  	Up                bool
  1440  	TsharePlusBalance *big.Int
  1441  }, error) {
  1442  	return _Tombplus.Contract.UserFlips(&_Tombplus.CallOpts, arg0, arg1)
  1443  }
  1444  
  1445  // VolatilityThreshold is a free data retrieval call binding the contract method 0x9fe88c84.
  1446  //
  1447  // Solidity: function volatilityThreshold() view returns(uint256)
  1448  func (_Tombplus *TombplusCaller) VolatilityThreshold(opts *bind.CallOpts) (*big.Int, error) {
  1449  	var out []interface{}
  1450  	err := _Tombplus.contract.Call(opts, &out, "volatilityThreshold")
  1451  
  1452  	if err != nil {
  1453  		return *new(*big.Int), err
  1454  	}
  1455  
  1456  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1457  
  1458  	return out0, err
  1459  
  1460  }
  1461  
  1462  // VolatilityThreshold is a free data retrieval call binding the contract method 0x9fe88c84.
  1463  //
  1464  // Solidity: function volatilityThreshold() view returns(uint256)
  1465  func (_Tombplus *TombplusSession) VolatilityThreshold() (*big.Int, error) {
  1466  	return _Tombplus.Contract.VolatilityThreshold(&_Tombplus.CallOpts)
  1467  }
  1468  
  1469  // VolatilityThreshold is a free data retrieval call binding the contract method 0x9fe88c84.
  1470  //
  1471  // Solidity: function volatilityThreshold() view returns(uint256)
  1472  func (_Tombplus *TombplusCallerSession) VolatilityThreshold() (*big.Int, error) {
  1473  	return _Tombplus.Contract.VolatilityThreshold(&_Tombplus.CallOpts)
  1474  }
  1475  
  1476  // VolatilityThresholdBase is a free data retrieval call binding the contract method 0x8b0b77b7.
  1477  //
  1478  // Solidity: function volatilityThresholdBase() view returns(uint256)
  1479  func (_Tombplus *TombplusCaller) VolatilityThresholdBase(opts *bind.CallOpts) (*big.Int, error) {
  1480  	var out []interface{}
  1481  	err := _Tombplus.contract.Call(opts, &out, "volatilityThresholdBase")
  1482  
  1483  	if err != nil {
  1484  		return *new(*big.Int), err
  1485  	}
  1486  
  1487  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1488  
  1489  	return out0, err
  1490  
  1491  }
  1492  
  1493  // VolatilityThresholdBase is a free data retrieval call binding the contract method 0x8b0b77b7.
  1494  //
  1495  // Solidity: function volatilityThresholdBase() view returns(uint256)
  1496  func (_Tombplus *TombplusSession) VolatilityThresholdBase() (*big.Int, error) {
  1497  	return _Tombplus.Contract.VolatilityThresholdBase(&_Tombplus.CallOpts)
  1498  }
  1499  
  1500  // VolatilityThresholdBase is a free data retrieval call binding the contract method 0x8b0b77b7.
  1501  //
  1502  // Solidity: function volatilityThresholdBase() view returns(uint256)
  1503  func (_Tombplus *TombplusCallerSession) VolatilityThresholdBase() (*big.Int, error) {
  1504  	return _Tombplus.Contract.VolatilityThresholdBase(&_Tombplus.CallOpts)
  1505  }
  1506  
  1507  // VolatilityThresholdStep is a free data retrieval call binding the contract method 0xda172a0c.
  1508  //
  1509  // Solidity: function volatilityThresholdStep() view returns(uint256)
  1510  func (_Tombplus *TombplusCaller) VolatilityThresholdStep(opts *bind.CallOpts) (*big.Int, error) {
  1511  	var out []interface{}
  1512  	err := _Tombplus.contract.Call(opts, &out, "volatilityThresholdStep")
  1513  
  1514  	if err != nil {
  1515  		return *new(*big.Int), err
  1516  	}
  1517  
  1518  	out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int)
  1519  
  1520  	return out0, err
  1521  
  1522  }
  1523  
  1524  // VolatilityThresholdStep is a free data retrieval call binding the contract method 0xda172a0c.
  1525  //
  1526  // Solidity: function volatilityThresholdStep() view returns(uint256)
  1527  func (_Tombplus *TombplusSession) VolatilityThresholdStep() (*big.Int, error) {
  1528  	return _Tombplus.Contract.VolatilityThresholdStep(&_Tombplus.CallOpts)
  1529  }
  1530  
  1531  // VolatilityThresholdStep is a free data retrieval call binding the contract method 0xda172a0c.
  1532  //
  1533  // Solidity: function volatilityThresholdStep() view returns(uint256)
  1534  func (_Tombplus *TombplusCallerSession) VolatilityThresholdStep() (*big.Int, error) {
  1535  	return _Tombplus.Contract.VolatilityThresholdStep(&_Tombplus.CallOpts)
  1536  }
  1537  
  1538  // BatchSetMaxAllowedFutureFlipsOverride is a paid mutator transaction binding the contract method 0xf3771d90.
  1539  //
  1540  // Solidity: function batchSetMaxAllowedFutureFlipsOverride(address[] users, uint256[] numsOfFlips) returns()
  1541  func (_Tombplus *TombplusTransactor) BatchSetMaxAllowedFutureFlipsOverride(opts *bind.TransactOpts, users []common.Address, numsOfFlips []*big.Int) (*types.Transaction, error) {
  1542  	return _Tombplus.contract.Transact(opts, "batchSetMaxAllowedFutureFlipsOverride", users, numsOfFlips)
  1543  }
  1544  
  1545  // BatchSetMaxAllowedFutureFlipsOverride is a paid mutator transaction binding the contract method 0xf3771d90.
  1546  //
  1547  // Solidity: function batchSetMaxAllowedFutureFlipsOverride(address[] users, uint256[] numsOfFlips) returns()
  1548  func (_Tombplus *TombplusSession) BatchSetMaxAllowedFutureFlipsOverride(users []common.Address, numsOfFlips []*big.Int) (*types.Transaction, error) {
  1549  	return _Tombplus.Contract.BatchSetMaxAllowedFutureFlipsOverride(&_Tombplus.TransactOpts, users, numsOfFlips)
  1550  }
  1551  
  1552  // BatchSetMaxAllowedFutureFlipsOverride is a paid mutator transaction binding the contract method 0xf3771d90.
  1553  //
  1554  // Solidity: function batchSetMaxAllowedFutureFlipsOverride(address[] users, uint256[] numsOfFlips) returns()
  1555  func (_Tombplus *TombplusTransactorSession) BatchSetMaxAllowedFutureFlipsOverride(users []common.Address, numsOfFlips []*big.Int) (*types.Transaction, error) {
  1556  	return _Tombplus.Contract.BatchSetMaxAllowedFutureFlipsOverride(&_Tombplus.TransactOpts, users, numsOfFlips)
  1557  }
  1558  
  1559  // BatchUnsetMaxAllowedFutureFlipsOverride is a paid mutator transaction binding the contract method 0x3bc8a212.
  1560  //
  1561  // Solidity: function batchUnsetMaxAllowedFutureFlipsOverride(address[] users) returns()
  1562  func (_Tombplus *TombplusTransactor) BatchUnsetMaxAllowedFutureFlipsOverride(opts *bind.TransactOpts, users []common.Address) (*types.Transaction, error) {
  1563  	return _Tombplus.contract.Transact(opts, "batchUnsetMaxAllowedFutureFlipsOverride", users)
  1564  }
  1565  
  1566  // BatchUnsetMaxAllowedFutureFlipsOverride is a paid mutator transaction binding the contract method 0x3bc8a212.
  1567  //
  1568  // Solidity: function batchUnsetMaxAllowedFutureFlipsOverride(address[] users) returns()
  1569  func (_Tombplus *TombplusSession) BatchUnsetMaxAllowedFutureFlipsOverride(users []common.Address) (*types.Transaction, error) {
  1570  	return _Tombplus.Contract.BatchUnsetMaxAllowedFutureFlipsOverride(&_Tombplus.TransactOpts, users)
  1571  }
  1572  
  1573  // BatchUnsetMaxAllowedFutureFlipsOverride is a paid mutator transaction binding the contract method 0x3bc8a212.
  1574  //
  1575  // Solidity: function batchUnsetMaxAllowedFutureFlipsOverride(address[] users) returns()
  1576  func (_Tombplus *TombplusTransactorSession) BatchUnsetMaxAllowedFutureFlipsOverride(users []common.Address) (*types.Transaction, error) {
  1577  	return _Tombplus.Contract.BatchUnsetMaxAllowedFutureFlipsOverride(&_Tombplus.TransactOpts, users)
  1578  }
  1579  
  1580  // Claim is a paid mutator transaction binding the contract method 0x4e71d92d.
  1581  //
  1582  // Solidity: function claim() returns()
  1583  func (_Tombplus *TombplusTransactor) Claim(opts *bind.TransactOpts) (*types.Transaction, error) {
  1584  	return _Tombplus.contract.Transact(opts, "claim")
  1585  }
  1586  
  1587  // Claim is a paid mutator transaction binding the contract method 0x4e71d92d.
  1588  //
  1589  // Solidity: function claim() returns()
  1590  func (_Tombplus *TombplusSession) Claim() (*types.Transaction, error) {
  1591  	return _Tombplus.Contract.Claim(&_Tombplus.TransactOpts)
  1592  }
  1593  
  1594  // Claim is a paid mutator transaction binding the contract method 0x4e71d92d.
  1595  //
  1596  // Solidity: function claim() returns()
  1597  func (_Tombplus *TombplusTransactorSession) Claim() (*types.Transaction, error) {
  1598  	return _Tombplus.Contract.Claim(&_Tombplus.TransactOpts)
  1599  }
  1600  
  1601  // ClaimOwnership is a paid mutator transaction binding the contract method 0x4e71e0c8.
  1602  //
  1603  // Solidity: function claimOwnership() returns()
  1604  func (_Tombplus *TombplusTransactor) ClaimOwnership(opts *bind.TransactOpts) (*types.Transaction, error) {
  1605  	return _Tombplus.contract.Transact(opts, "claimOwnership")
  1606  }
  1607  
  1608  // ClaimOwnership is a paid mutator transaction binding the contract method 0x4e71e0c8.
  1609  //
  1610  // Solidity: function claimOwnership() returns()
  1611  func (_Tombplus *TombplusSession) ClaimOwnership() (*types.Transaction, error) {
  1612  	return _Tombplus.Contract.ClaimOwnership(&_Tombplus.TransactOpts)
  1613  }
  1614  
  1615  // ClaimOwnership is a paid mutator transaction binding the contract method 0x4e71e0c8.
  1616  //
  1617  // Solidity: function claimOwnership() returns()
  1618  func (_Tombplus *TombplusTransactorSession) ClaimOwnership() (*types.Transaction, error) {
  1619  	return _Tombplus.Contract.ClaimOwnership(&_Tombplus.TransactOpts)
  1620  }
  1621  
  1622  // EmergencyFinishEpoch is a paid mutator transaction binding the contract method 0x88b9a220.
  1623  //
  1624  // Solidity: function emergencyFinishEpoch(uint256 startTimestamp, uint256 endTimestamp, uint256 startPrice, uint256 endPrice) returns()
  1625  func (_Tombplus *TombplusTransactor) EmergencyFinishEpoch(opts *bind.TransactOpts, startTimestamp *big.Int, endTimestamp *big.Int, startPrice *big.Int, endPrice *big.Int) (*types.Transaction, error) {
  1626  	return _Tombplus.contract.Transact(opts, "emergencyFinishEpoch", startTimestamp, endTimestamp, startPrice, endPrice)
  1627  }
  1628  
  1629  // EmergencyFinishEpoch is a paid mutator transaction binding the contract method 0x88b9a220.
  1630  //
  1631  // Solidity: function emergencyFinishEpoch(uint256 startTimestamp, uint256 endTimestamp, uint256 startPrice, uint256 endPrice) returns()
  1632  func (_Tombplus *TombplusSession) EmergencyFinishEpoch(startTimestamp *big.Int, endTimestamp *big.Int, startPrice *big.Int, endPrice *big.Int) (*types.Transaction, error) {
  1633  	return _Tombplus.Contract.EmergencyFinishEpoch(&_Tombplus.TransactOpts, startTimestamp, endTimestamp, startPrice, endPrice)
  1634  }
  1635  
  1636  // EmergencyFinishEpoch is a paid mutator transaction binding the contract method 0x88b9a220.
  1637  //
  1638  // Solidity: function emergencyFinishEpoch(uint256 startTimestamp, uint256 endTimestamp, uint256 startPrice, uint256 endPrice) returns()
  1639  func (_Tombplus *TombplusTransactorSession) EmergencyFinishEpoch(startTimestamp *big.Int, endTimestamp *big.Int, startPrice *big.Int, endPrice *big.Int) (*types.Transaction, error) {
  1640  	return _Tombplus.Contract.EmergencyFinishEpoch(&_Tombplus.TransactOpts, startTimestamp, endTimestamp, startPrice, endPrice)
  1641  }
  1642  
  1643  // FinishEpoch is a paid mutator transaction binding the contract method 0x8e0ddafa.
  1644  //
  1645  // Solidity: function finishEpoch(uint64 startTimestamp, uint64 endTimestamp, bytes[] startPriceData, bytes[] endPriceData) payable returns()
  1646  func (_Tombplus *TombplusTransactor) FinishEpoch(opts *bind.TransactOpts, startTimestamp uint64, endTimestamp uint64, startPriceData [][]byte, endPriceData [][]byte) (*types.Transaction, error) {
  1647  	return _Tombplus.contract.Transact(opts, "finishEpoch", startTimestamp, endTimestamp, startPriceData, endPriceData)
  1648  }
  1649  
  1650  // FinishEpoch is a paid mutator transaction binding the contract method 0x8e0ddafa.
  1651  //
  1652  // Solidity: function finishEpoch(uint64 startTimestamp, uint64 endTimestamp, bytes[] startPriceData, bytes[] endPriceData) payable returns()
  1653  func (_Tombplus *TombplusSession) FinishEpoch(startTimestamp uint64, endTimestamp uint64, startPriceData [][]byte, endPriceData [][]byte) (*types.Transaction, error) {
  1654  	return _Tombplus.Contract.FinishEpoch(&_Tombplus.TransactOpts, startTimestamp, endTimestamp, startPriceData, endPriceData)
  1655  }
  1656  
  1657  // FinishEpoch is a paid mutator transaction binding the contract method 0x8e0ddafa.
  1658  //
  1659  // Solidity: function finishEpoch(uint64 startTimestamp, uint64 endTimestamp, bytes[] startPriceData, bytes[] endPriceData) payable returns()
  1660  func (_Tombplus *TombplusTransactorSession) FinishEpoch(startTimestamp uint64, endTimestamp uint64, startPriceData [][]byte, endPriceData [][]byte) (*types.Transaction, error) {
  1661  	return _Tombplus.Contract.FinishEpoch(&_Tombplus.TransactOpts, startTimestamp, endTimestamp, startPriceData, endPriceData)
  1662  }
  1663  
  1664  // FinishEpochPermissionless is a paid mutator transaction binding the contract method 0x93ce912c.
  1665  //
  1666  // Solidity: function finishEpochPermissionless(uint64 startTimestamp, uint64 endTimestamp, bytes[] startPriceData, bytes[] endPriceData) payable returns()
  1667  func (_Tombplus *TombplusTransactor) FinishEpochPermissionless(opts *bind.TransactOpts, startTimestamp uint64, endTimestamp uint64, startPriceData [][]byte, endPriceData [][]byte) (*types.Transaction, error) {
  1668  	return _Tombplus.contract.Transact(opts, "finishEpochPermissionless", startTimestamp, endTimestamp, startPriceData, endPriceData)
  1669  }
  1670  
  1671  // FinishEpochPermissionless is a paid mutator transaction binding the contract method 0x93ce912c.
  1672  //
  1673  // Solidity: function finishEpochPermissionless(uint64 startTimestamp, uint64 endTimestamp, bytes[] startPriceData, bytes[] endPriceData) payable returns()
  1674  func (_Tombplus *TombplusSession) FinishEpochPermissionless(startTimestamp uint64, endTimestamp uint64, startPriceData [][]byte, endPriceData [][]byte) (*types.Transaction, error) {
  1675  	return _Tombplus.Contract.FinishEpochPermissionless(&_Tombplus.TransactOpts, startTimestamp, endTimestamp, startPriceData, endPriceData)
  1676  }
  1677  
  1678  // FinishEpochPermissionless is a paid mutator transaction binding the contract method 0x93ce912c.
  1679  //
  1680  // Solidity: function finishEpochPermissionless(uint64 startTimestamp, uint64 endTimestamp, bytes[] startPriceData, bytes[] endPriceData) payable returns()
  1681  func (_Tombplus *TombplusTransactorSession) FinishEpochPermissionless(startTimestamp uint64, endTimestamp uint64, startPriceData [][]byte, endPriceData [][]byte) (*types.Transaction, error) {
  1682  	return _Tombplus.Contract.FinishEpochPermissionless(&_Tombplus.TransactOpts, startTimestamp, endTimestamp, startPriceData, endPriceData)
  1683  }
  1684  
  1685  // Flip is a paid mutator transaction binding the contract method 0x1d263f67.
  1686  //
  1687  // Solidity: function flip(bool up) returns()
  1688  func (_Tombplus *TombplusTransactor) Flip(opts *bind.TransactOpts, up bool) (*types.Transaction, error) {
  1689  	return _Tombplus.contract.Transact(opts, "flip", up)
  1690  }
  1691  
  1692  // Flip is a paid mutator transaction binding the contract method 0x1d263f67.
  1693  //
  1694  // Solidity: function flip(bool up) returns()
  1695  func (_Tombplus *TombplusSession) Flip(up bool) (*types.Transaction, error) {
  1696  	return _Tombplus.Contract.Flip(&_Tombplus.TransactOpts, up)
  1697  }
  1698  
  1699  // Flip is a paid mutator transaction binding the contract method 0x1d263f67.
  1700  //
  1701  // Solidity: function flip(bool up) returns()
  1702  func (_Tombplus *TombplusTransactorSession) Flip(up bool) (*types.Transaction, error) {
  1703  	return _Tombplus.Contract.Flip(&_Tombplus.TransactOpts, up)
  1704  }
  1705  
  1706  // FlipMultiple is a paid mutator transaction binding the contract method 0x52add018.
  1707  //
  1708  // Solidity: function flipMultiple(bool[] ups) returns()
  1709  func (_Tombplus *TombplusTransactor) FlipMultiple(opts *bind.TransactOpts, ups []bool) (*types.Transaction, error) {
  1710  	return _Tombplus.contract.Transact(opts, "flipMultiple", ups)
  1711  }
  1712  
  1713  // FlipMultiple is a paid mutator transaction binding the contract method 0x52add018.
  1714  //
  1715  // Solidity: function flipMultiple(bool[] ups) returns()
  1716  func (_Tombplus *TombplusSession) FlipMultiple(ups []bool) (*types.Transaction, error) {
  1717  	return _Tombplus.Contract.FlipMultiple(&_Tombplus.TransactOpts, ups)
  1718  }
  1719  
  1720  // FlipMultiple is a paid mutator transaction binding the contract method 0x52add018.
  1721  //
  1722  // Solidity: function flipMultiple(bool[] ups) returns()
  1723  func (_Tombplus *TombplusTransactorSession) FlipMultiple(ups []bool) (*types.Transaction, error) {
  1724  	return _Tombplus.Contract.FlipMultiple(&_Tombplus.TransactOpts, ups)
  1725  }
  1726  
  1727  // PauseGame is a paid mutator transaction binding the contract method 0x1214e31e.
  1728  //
  1729  // Solidity: function pauseGame(uint256 epochId) returns()
  1730  func (_Tombplus *TombplusTransactor) PauseGame(opts *bind.TransactOpts, epochId *big.Int) (*types.Transaction, error) {
  1731  	return _Tombplus.contract.Transact(opts, "pauseGame", epochId)
  1732  }
  1733  
  1734  // PauseGame is a paid mutator transaction binding the contract method 0x1214e31e.
  1735  //
  1736  // Solidity: function pauseGame(uint256 epochId) returns()
  1737  func (_Tombplus *TombplusSession) PauseGame(epochId *big.Int) (*types.Transaction, error) {
  1738  	return _Tombplus.Contract.PauseGame(&_Tombplus.TransactOpts, epochId)
  1739  }
  1740  
  1741  // PauseGame is a paid mutator transaction binding the contract method 0x1214e31e.
  1742  //
  1743  // Solidity: function pauseGame(uint256 epochId) returns()
  1744  func (_Tombplus *TombplusTransactorSession) PauseGame(epochId *big.Int) (*types.Transaction, error) {
  1745  	return _Tombplus.Contract.PauseGame(&_Tombplus.TransactOpts, epochId)
  1746  }
  1747  
  1748  // PauseGameImmediately is a paid mutator transaction binding the contract method 0x7f463865.
  1749  //
  1750  // Solidity: function pauseGameImmediately() returns()
  1751  func (_Tombplus *TombplusTransactor) PauseGameImmediately(opts *bind.TransactOpts) (*types.Transaction, error) {
  1752  	return _Tombplus.contract.Transact(opts, "pauseGameImmediately")
  1753  }
  1754  
  1755  // PauseGameImmediately is a paid mutator transaction binding the contract method 0x7f463865.
  1756  //
  1757  // Solidity: function pauseGameImmediately() returns()
  1758  func (_Tombplus *TombplusSession) PauseGameImmediately() (*types.Transaction, error) {
  1759  	return _Tombplus.Contract.PauseGameImmediately(&_Tombplus.TransactOpts)
  1760  }
  1761  
  1762  // PauseGameImmediately is a paid mutator transaction binding the contract method 0x7f463865.
  1763  //
  1764  // Solidity: function pauseGameImmediately() returns()
  1765  func (_Tombplus *TombplusTransactorSession) PauseGameImmediately() (*types.Transaction, error) {
  1766  	return _Tombplus.Contract.PauseGameImmediately(&_Tombplus.TransactOpts)
  1767  }
  1768  
  1769  // ProcessUserFlips is a paid mutator transaction binding the contract method 0xbd39ee05.
  1770  //
  1771  // Solidity: function processUserFlips(address user) returns()
  1772  func (_Tombplus *TombplusTransactor) ProcessUserFlips(opts *bind.TransactOpts, user common.Address) (*types.Transaction, error) {
  1773  	return _Tombplus.contract.Transact(opts, "processUserFlips", user)
  1774  }
  1775  
  1776  // ProcessUserFlips is a paid mutator transaction binding the contract method 0xbd39ee05.
  1777  //
  1778  // Solidity: function processUserFlips(address user) returns()
  1779  func (_Tombplus *TombplusSession) ProcessUserFlips(user common.Address) (*types.Transaction, error) {
  1780  	return _Tombplus.Contract.ProcessUserFlips(&_Tombplus.TransactOpts, user)
  1781  }
  1782  
  1783  // ProcessUserFlips is a paid mutator transaction binding the contract method 0xbd39ee05.
  1784  //
  1785  // Solidity: function processUserFlips(address user) returns()
  1786  func (_Tombplus *TombplusTransactorSession) ProcessUserFlips(user common.Address) (*types.Transaction, error) {
  1787  	return _Tombplus.Contract.ProcessUserFlips(&_Tombplus.TransactOpts, user)
  1788  }
  1789  
  1790  // RemoveFlips is a paid mutator transaction binding the contract method 0x96b36b48.
  1791  //
  1792  // Solidity: function removeFlips(uint256 amount) returns()
  1793  func (_Tombplus *TombplusTransactor) RemoveFlips(opts *bind.TransactOpts, amount *big.Int) (*types.Transaction, error) {
  1794  	return _Tombplus.contract.Transact(opts, "removeFlips", amount)
  1795  }
  1796  
  1797  // RemoveFlips is a paid mutator transaction binding the contract method 0x96b36b48.
  1798  //
  1799  // Solidity: function removeFlips(uint256 amount) returns()
  1800  func (_Tombplus *TombplusSession) RemoveFlips(amount *big.Int) (*types.Transaction, error) {
  1801  	return _Tombplus.Contract.RemoveFlips(&_Tombplus.TransactOpts, amount)
  1802  }
  1803  
  1804  // RemoveFlips is a paid mutator transaction binding the contract method 0x96b36b48.
  1805  //
  1806  // Solidity: function removeFlips(uint256 amount) returns()
  1807  func (_Tombplus *TombplusTransactorSession) RemoveFlips(amount *big.Int) (*types.Transaction, error) {
  1808  	return _Tombplus.Contract.RemoveFlips(&_Tombplus.TransactOpts, amount)
  1809  }
  1810  
  1811  // SetDistribCfg is a paid mutator transaction binding the contract method 0xb7c7f9e4.
  1812  //
  1813  // Solidity: function setDistribCfg(address _distributor, uint256 _distribRate) returns()
  1814  func (_Tombplus *TombplusTransactor) SetDistribCfg(opts *bind.TransactOpts, _distributor common.Address, _distribRate *big.Int) (*types.Transaction, error) {
  1815  	return _Tombplus.contract.Transact(opts, "setDistribCfg", _distributor, _distribRate)
  1816  }
  1817  
  1818  // SetDistribCfg is a paid mutator transaction binding the contract method 0xb7c7f9e4.
  1819  //
  1820  // Solidity: function setDistribCfg(address _distributor, uint256 _distribRate) returns()
  1821  func (_Tombplus *TombplusSession) SetDistribCfg(_distributor common.Address, _distribRate *big.Int) (*types.Transaction, error) {
  1822  	return _Tombplus.Contract.SetDistribCfg(&_Tombplus.TransactOpts, _distributor, _distribRate)
  1823  }
  1824  
  1825  // SetDistribCfg is a paid mutator transaction binding the contract method 0xb7c7f9e4.
  1826  //
  1827  // Solidity: function setDistribCfg(address _distributor, uint256 _distribRate) returns()
  1828  func (_Tombplus *TombplusTransactorSession) SetDistribCfg(_distributor common.Address, _distribRate *big.Int) (*types.Transaction, error) {
  1829  	return _Tombplus.Contract.SetDistribCfg(&_Tombplus.TransactOpts, _distributor, _distribRate)
  1830  }
  1831  
  1832  // SetFlipWindow is a paid mutator transaction binding the contract method 0x81a640be.
  1833  //
  1834  // Solidity: function setFlipWindow(uint256 _flipWindow) returns()
  1835  func (_Tombplus *TombplusTransactor) SetFlipWindow(opts *bind.TransactOpts, _flipWindow *big.Int) (*types.Transaction, error) {
  1836  	return _Tombplus.contract.Transact(opts, "setFlipWindow", _flipWindow)
  1837  }
  1838  
  1839  // SetFlipWindow is a paid mutator transaction binding the contract method 0x81a640be.
  1840  //
  1841  // Solidity: function setFlipWindow(uint256 _flipWindow) returns()
  1842  func (_Tombplus *TombplusSession) SetFlipWindow(_flipWindow *big.Int) (*types.Transaction, error) {
  1843  	return _Tombplus.Contract.SetFlipWindow(&_Tombplus.TransactOpts, _flipWindow)
  1844  }
  1845  
  1846  // SetFlipWindow is a paid mutator transaction binding the contract method 0x81a640be.
  1847  //
  1848  // Solidity: function setFlipWindow(uint256 _flipWindow) returns()
  1849  func (_Tombplus *TombplusTransactorSession) SetFlipWindow(_flipWindow *big.Int) (*types.Transaction, error) {
  1850  	return _Tombplus.Contract.SetFlipWindow(&_Tombplus.TransactOpts, _flipWindow)
  1851  }
  1852  
  1853  // SetGameStartTimestamp is a paid mutator transaction binding the contract method 0xaa8cc03a.
  1854  //
  1855  // Solidity: function setGameStartTimestamp(uint256 _gameStartTimestamp) returns()
  1856  func (_Tombplus *TombplusTransactor) SetGameStartTimestamp(opts *bind.TransactOpts, _gameStartTimestamp *big.Int) (*types.Transaction, error) {
  1857  	return _Tombplus.contract.Transact(opts, "setGameStartTimestamp", _gameStartTimestamp)
  1858  }
  1859  
  1860  // SetGameStartTimestamp is a paid mutator transaction binding the contract method 0xaa8cc03a.
  1861  //
  1862  // Solidity: function setGameStartTimestamp(uint256 _gameStartTimestamp) returns()
  1863  func (_Tombplus *TombplusSession) SetGameStartTimestamp(_gameStartTimestamp *big.Int) (*types.Transaction, error) {
  1864  	return _Tombplus.Contract.SetGameStartTimestamp(&_Tombplus.TransactOpts, _gameStartTimestamp)
  1865  }
  1866  
  1867  // SetGameStartTimestamp is a paid mutator transaction binding the contract method 0xaa8cc03a.
  1868  //
  1869  // Solidity: function setGameStartTimestamp(uint256 _gameStartTimestamp) returns()
  1870  func (_Tombplus *TombplusTransactorSession) SetGameStartTimestamp(_gameStartTimestamp *big.Int) (*types.Transaction, error) {
  1871  	return _Tombplus.Contract.SetGameStartTimestamp(&_Tombplus.TransactOpts, _gameStartTimestamp)
  1872  }
  1873  
  1874  // SetLottery is a paid mutator transaction binding the contract method 0xf298083b.
  1875  //
  1876  // Solidity: function setLottery(address _lottery) returns()
  1877  func (_Tombplus *TombplusTransactor) SetLottery(opts *bind.TransactOpts, _lottery common.Address) (*types.Transaction, error) {
  1878  	return _Tombplus.contract.Transact(opts, "setLottery", _lottery)
  1879  }
  1880  
  1881  // SetLottery is a paid mutator transaction binding the contract method 0xf298083b.
  1882  //
  1883  // Solidity: function setLottery(address _lottery) returns()
  1884  func (_Tombplus *TombplusSession) SetLottery(_lottery common.Address) (*types.Transaction, error) {
  1885  	return _Tombplus.Contract.SetLottery(&_Tombplus.TransactOpts, _lottery)
  1886  }
  1887  
  1888  // SetLottery is a paid mutator transaction binding the contract method 0xf298083b.
  1889  //
  1890  // Solidity: function setLottery(address _lottery) returns()
  1891  func (_Tombplus *TombplusTransactorSession) SetLottery(_lottery common.Address) (*types.Transaction, error) {
  1892  	return _Tombplus.Contract.SetLottery(&_Tombplus.TransactOpts, _lottery)
  1893  }
  1894  
  1895  // SetMaxAllowedFutureFlips is a paid mutator transaction binding the contract method 0xd1f9574c.
  1896  //
  1897  // Solidity: function setMaxAllowedFutureFlips(uint256 _maxAllowedFutureFlips) returns()
  1898  func (_Tombplus *TombplusTransactor) SetMaxAllowedFutureFlips(opts *bind.TransactOpts, _maxAllowedFutureFlips *big.Int) (*types.Transaction, error) {
  1899  	return _Tombplus.contract.Transact(opts, "setMaxAllowedFutureFlips", _maxAllowedFutureFlips)
  1900  }
  1901  
  1902  // SetMaxAllowedFutureFlips is a paid mutator transaction binding the contract method 0xd1f9574c.
  1903  //
  1904  // Solidity: function setMaxAllowedFutureFlips(uint256 _maxAllowedFutureFlips) returns()
  1905  func (_Tombplus *TombplusSession) SetMaxAllowedFutureFlips(_maxAllowedFutureFlips *big.Int) (*types.Transaction, error) {
  1906  	return _Tombplus.Contract.SetMaxAllowedFutureFlips(&_Tombplus.TransactOpts, _maxAllowedFutureFlips)
  1907  }
  1908  
  1909  // SetMaxAllowedFutureFlips is a paid mutator transaction binding the contract method 0xd1f9574c.
  1910  //
  1911  // Solidity: function setMaxAllowedFutureFlips(uint256 _maxAllowedFutureFlips) returns()
  1912  func (_Tombplus *TombplusTransactorSession) SetMaxAllowedFutureFlips(_maxAllowedFutureFlips *big.Int) (*types.Transaction, error) {
  1913  	return _Tombplus.Contract.SetMaxAllowedFutureFlips(&_Tombplus.TransactOpts, _maxAllowedFutureFlips)
  1914  }
  1915  
  1916  // SetMaxAllowedFutureFlipsOverride is a paid mutator transaction binding the contract method 0xaa3ba9b4.
  1917  //
  1918  // Solidity: function setMaxAllowedFutureFlipsOverride(address user, uint256 numOfFlips) returns()
  1919  func (_Tombplus *TombplusTransactor) SetMaxAllowedFutureFlipsOverride(opts *bind.TransactOpts, user common.Address, numOfFlips *big.Int) (*types.Transaction, error) {
  1920  	return _Tombplus.contract.Transact(opts, "setMaxAllowedFutureFlipsOverride", user, numOfFlips)
  1921  }
  1922  
  1923  // SetMaxAllowedFutureFlipsOverride is a paid mutator transaction binding the contract method 0xaa3ba9b4.
  1924  //
  1925  // Solidity: function setMaxAllowedFutureFlipsOverride(address user, uint256 numOfFlips) returns()
  1926  func (_Tombplus *TombplusSession) SetMaxAllowedFutureFlipsOverride(user common.Address, numOfFlips *big.Int) (*types.Transaction, error) {
  1927  	return _Tombplus.Contract.SetMaxAllowedFutureFlipsOverride(&_Tombplus.TransactOpts, user, numOfFlips)
  1928  }
  1929  
  1930  // SetMaxAllowedFutureFlipsOverride is a paid mutator transaction binding the contract method 0xaa3ba9b4.
  1931  //
  1932  // Solidity: function setMaxAllowedFutureFlipsOverride(address user, uint256 numOfFlips) returns()
  1933  func (_Tombplus *TombplusTransactorSession) SetMaxAllowedFutureFlipsOverride(user common.Address, numOfFlips *big.Int) (*types.Transaction, error) {
  1934  	return _Tombplus.Contract.SetMaxAllowedFutureFlipsOverride(&_Tombplus.TransactOpts, user, numOfFlips)
  1935  }
  1936  
  1937  // SetOTombPlus is a paid mutator transaction binding the contract method 0xa22779b6.
  1938  //
  1939  // Solidity: function setOTombPlus(address _otombplus) returns()
  1940  func (_Tombplus *TombplusTransactor) SetOTombPlus(opts *bind.TransactOpts, _otombplus common.Address) (*types.Transaction, error) {
  1941  	return _Tombplus.contract.Transact(opts, "setOTombPlus", _otombplus)
  1942  }
  1943  
  1944  // SetOTombPlus is a paid mutator transaction binding the contract method 0xa22779b6.
  1945  //
  1946  // Solidity: function setOTombPlus(address _otombplus) returns()
  1947  func (_Tombplus *TombplusSession) SetOTombPlus(_otombplus common.Address) (*types.Transaction, error) {
  1948  	return _Tombplus.Contract.SetOTombPlus(&_Tombplus.TransactOpts, _otombplus)
  1949  }
  1950  
  1951  // SetOTombPlus is a paid mutator transaction binding the contract method 0xa22779b6.
  1952  //
  1953  // Solidity: function setOTombPlus(address _otombplus) returns()
  1954  func (_Tombplus *TombplusTransactorSession) SetOTombPlus(_otombplus common.Address) (*types.Transaction, error) {
  1955  	return _Tombplus.Contract.SetOTombPlus(&_Tombplus.TransactOpts, _otombplus)
  1956  }
  1957  
  1958  // SetOperator is a paid mutator transaction binding the contract method 0xb3ab15fb.
  1959  //
  1960  // Solidity: function setOperator(address _operator) returns()
  1961  func (_Tombplus *TombplusTransactor) SetOperator(opts *bind.TransactOpts, _operator common.Address) (*types.Transaction, error) {
  1962  	return _Tombplus.contract.Transact(opts, "setOperator", _operator)
  1963  }
  1964  
  1965  // SetOperator is a paid mutator transaction binding the contract method 0xb3ab15fb.
  1966  //
  1967  // Solidity: function setOperator(address _operator) returns()
  1968  func (_Tombplus *TombplusSession) SetOperator(_operator common.Address) (*types.Transaction, error) {
  1969  	return _Tombplus.Contract.SetOperator(&_Tombplus.TransactOpts, _operator)
  1970  }
  1971  
  1972  // SetOperator is a paid mutator transaction binding the contract method 0xb3ab15fb.
  1973  //
  1974  // Solidity: function setOperator(address _operator) returns()
  1975  func (_Tombplus *TombplusTransactorSession) SetOperator(_operator common.Address) (*types.Transaction, error) {
  1976  	return _Tombplus.Contract.SetOperator(&_Tombplus.TransactOpts, _operator)
  1977  }
  1978  
  1979  // SetPriceFeed is a paid mutator transaction binding the contract method 0xadcb085a.
  1980  //
  1981  // Solidity: function setPriceFeed(address _pyth, bytes32 _pythPriceID) returns()
  1982  func (_Tombplus *TombplusTransactor) SetPriceFeed(opts *bind.TransactOpts, _pyth common.Address, _pythPriceID [32]byte) (*types.Transaction, error) {
  1983  	return _Tombplus.contract.Transact(opts, "setPriceFeed", _pyth, _pythPriceID)
  1984  }
  1985  
  1986  // SetPriceFeed is a paid mutator transaction binding the contract method 0xadcb085a.
  1987  //
  1988  // Solidity: function setPriceFeed(address _pyth, bytes32 _pythPriceID) returns()
  1989  func (_Tombplus *TombplusSession) SetPriceFeed(_pyth common.Address, _pythPriceID [32]byte) (*types.Transaction, error) {
  1990  	return _Tombplus.Contract.SetPriceFeed(&_Tombplus.TransactOpts, _pyth, _pythPriceID)
  1991  }
  1992  
  1993  // SetPriceFeed is a paid mutator transaction binding the contract method 0xadcb085a.
  1994  //
  1995  // Solidity: function setPriceFeed(address _pyth, bytes32 _pythPriceID) returns()
  1996  func (_Tombplus *TombplusTransactorSession) SetPriceFeed(_pyth common.Address, _pythPriceID [32]byte) (*types.Transaction, error) {
  1997  	return _Tombplus.Contract.SetPriceFeed(&_Tombplus.TransactOpts, _pyth, _pythPriceID)
  1998  }
  1999  
  2000  // SetPythAllowedTimeOvershoot is a paid mutator transaction binding the contract method 0xce4125d8.
  2001  //
  2002  // Solidity: function setPythAllowedTimeOvershoot(uint64 _pythAllowedTimeOvershoot) returns()
  2003  func (_Tombplus *TombplusTransactor) SetPythAllowedTimeOvershoot(opts *bind.TransactOpts, _pythAllowedTimeOvershoot uint64) (*types.Transaction, error) {
  2004  	return _Tombplus.contract.Transact(opts, "setPythAllowedTimeOvershoot", _pythAllowedTimeOvershoot)
  2005  }
  2006  
  2007  // SetPythAllowedTimeOvershoot is a paid mutator transaction binding the contract method 0xce4125d8.
  2008  //
  2009  // Solidity: function setPythAllowedTimeOvershoot(uint64 _pythAllowedTimeOvershoot) returns()
  2010  func (_Tombplus *TombplusSession) SetPythAllowedTimeOvershoot(_pythAllowedTimeOvershoot uint64) (*types.Transaction, error) {
  2011  	return _Tombplus.Contract.SetPythAllowedTimeOvershoot(&_Tombplus.TransactOpts, _pythAllowedTimeOvershoot)
  2012  }
  2013  
  2014  // SetPythAllowedTimeOvershoot is a paid mutator transaction binding the contract method 0xce4125d8.
  2015  //
  2016  // Solidity: function setPythAllowedTimeOvershoot(uint64 _pythAllowedTimeOvershoot) returns()
  2017  func (_Tombplus *TombplusTransactorSession) SetPythAllowedTimeOvershoot(_pythAllowedTimeOvershoot uint64) (*types.Transaction, error) {
  2018  	return _Tombplus.Contract.SetPythAllowedTimeOvershoot(&_Tombplus.TransactOpts, _pythAllowedTimeOvershoot)
  2019  }
  2020  
  2021  // SetRewardPerTshareNumerator is a paid mutator transaction binding the contract method 0x694d3b2b.
  2022  //
  2023  // Solidity: function setRewardPerTshareNumerator(uint256 _rewardPerTshareNumerator) returns()
  2024  func (_Tombplus *TombplusTransactor) SetRewardPerTshareNumerator(opts *bind.TransactOpts, _rewardPerTshareNumerator *big.Int) (*types.Transaction, error) {
  2025  	return _Tombplus.contract.Transact(opts, "setRewardPerTshareNumerator", _rewardPerTshareNumerator)
  2026  }
  2027  
  2028  // SetRewardPerTshareNumerator is a paid mutator transaction binding the contract method 0x694d3b2b.
  2029  //
  2030  // Solidity: function setRewardPerTshareNumerator(uint256 _rewardPerTshareNumerator) returns()
  2031  func (_Tombplus *TombplusSession) SetRewardPerTshareNumerator(_rewardPerTshareNumerator *big.Int) (*types.Transaction, error) {
  2032  	return _Tombplus.Contract.SetRewardPerTshareNumerator(&_Tombplus.TransactOpts, _rewardPerTshareNumerator)
  2033  }
  2034  
  2035  // SetRewardPerTshareNumerator is a paid mutator transaction binding the contract method 0x694d3b2b.
  2036  //
  2037  // Solidity: function setRewardPerTshareNumerator(uint256 _rewardPerTshareNumerator) returns()
  2038  func (_Tombplus *TombplusTransactorSession) SetRewardPerTshareNumerator(_rewardPerTshareNumerator *big.Int) (*types.Transaction, error) {
  2039  	return _Tombplus.Contract.SetRewardPerTshareNumerator(&_Tombplus.TransactOpts, _rewardPerTshareNumerator)
  2040  }
  2041  
  2042  // SetUpgradedMasonry is a paid mutator transaction binding the contract method 0x5b8024a6.
  2043  //
  2044  // Solidity: function setUpgradedMasonry(address _upgradedMasonry) returns()
  2045  func (_Tombplus *TombplusTransactor) SetUpgradedMasonry(opts *bind.TransactOpts, _upgradedMasonry common.Address) (*types.Transaction, error) {
  2046  	return _Tombplus.contract.Transact(opts, "setUpgradedMasonry", _upgradedMasonry)
  2047  }
  2048  
  2049  // SetUpgradedMasonry is a paid mutator transaction binding the contract method 0x5b8024a6.
  2050  //
  2051  // Solidity: function setUpgradedMasonry(address _upgradedMasonry) returns()
  2052  func (_Tombplus *TombplusSession) SetUpgradedMasonry(_upgradedMasonry common.Address) (*types.Transaction, error) {
  2053  	return _Tombplus.Contract.SetUpgradedMasonry(&_Tombplus.TransactOpts, _upgradedMasonry)
  2054  }
  2055  
  2056  // SetUpgradedMasonry is a paid mutator transaction binding the contract method 0x5b8024a6.
  2057  //
  2058  // Solidity: function setUpgradedMasonry(address _upgradedMasonry) returns()
  2059  func (_Tombplus *TombplusTransactorSession) SetUpgradedMasonry(_upgradedMasonry common.Address) (*types.Transaction, error) {
  2060  	return _Tombplus.Contract.SetUpgradedMasonry(&_Tombplus.TransactOpts, _upgradedMasonry)
  2061  }
  2062  
  2063  // SetVolatilityThreshold is a paid mutator transaction binding the contract method 0x0b0eebb0.
  2064  //
  2065  // Solidity: function setVolatilityThreshold(uint256 _volatilityThresholdBase, uint256 _volatilityThreshold, uint256 _volatilityThresholdStep) returns()
  2066  func (_Tombplus *TombplusTransactor) SetVolatilityThreshold(opts *bind.TransactOpts, _volatilityThresholdBase *big.Int, _volatilityThreshold *big.Int, _volatilityThresholdStep *big.Int) (*types.Transaction, error) {
  2067  	return _Tombplus.contract.Transact(opts, "setVolatilityThreshold", _volatilityThresholdBase, _volatilityThreshold, _volatilityThresholdStep)
  2068  }
  2069  
  2070  // SetVolatilityThreshold is a paid mutator transaction binding the contract method 0x0b0eebb0.
  2071  //
  2072  // Solidity: function setVolatilityThreshold(uint256 _volatilityThresholdBase, uint256 _volatilityThreshold, uint256 _volatilityThresholdStep) returns()
  2073  func (_Tombplus *TombplusSession) SetVolatilityThreshold(_volatilityThresholdBase *big.Int, _volatilityThreshold *big.Int, _volatilityThresholdStep *big.Int) (*types.Transaction, error) {
  2074  	return _Tombplus.Contract.SetVolatilityThreshold(&_Tombplus.TransactOpts, _volatilityThresholdBase, _volatilityThreshold, _volatilityThresholdStep)
  2075  }
  2076  
  2077  // SetVolatilityThreshold is a paid mutator transaction binding the contract method 0x0b0eebb0.
  2078  //
  2079  // Solidity: function setVolatilityThreshold(uint256 _volatilityThresholdBase, uint256 _volatilityThreshold, uint256 _volatilityThresholdStep) returns()
  2080  func (_Tombplus *TombplusTransactorSession) SetVolatilityThreshold(_volatilityThresholdBase *big.Int, _volatilityThreshold *big.Int, _volatilityThresholdStep *big.Int) (*types.Transaction, error) {
  2081  	return _Tombplus.Contract.SetVolatilityThreshold(&_Tombplus.TransactOpts, _volatilityThresholdBase, _volatilityThreshold, _volatilityThresholdStep)
  2082  }
  2083  
  2084  // TransferOwnership is a paid mutator transaction binding the contract method 0x078dfbe7.
  2085  //
  2086  // Solidity: function transferOwnership(address newOwner, bool direct, bool renounce) returns()
  2087  func (_Tombplus *TombplusTransactor) TransferOwnership(opts *bind.TransactOpts, newOwner common.Address, direct bool, renounce bool) (*types.Transaction, error) {
  2088  	return _Tombplus.contract.Transact(opts, "transferOwnership", newOwner, direct, renounce)
  2089  }
  2090  
  2091  // TransferOwnership is a paid mutator transaction binding the contract method 0x078dfbe7.
  2092  //
  2093  // Solidity: function transferOwnership(address newOwner, bool direct, bool renounce) returns()
  2094  func (_Tombplus *TombplusSession) TransferOwnership(newOwner common.Address, direct bool, renounce bool) (*types.Transaction, error) {
  2095  	return _Tombplus.Contract.TransferOwnership(&_Tombplus.TransactOpts, newOwner, direct, renounce)
  2096  }
  2097  
  2098  // TransferOwnership is a paid mutator transaction binding the contract method 0x078dfbe7.
  2099  //
  2100  // Solidity: function transferOwnership(address newOwner, bool direct, bool renounce) returns()
  2101  func (_Tombplus *TombplusTransactorSession) TransferOwnership(newOwner common.Address, direct bool, renounce bool) (*types.Transaction, error) {
  2102  	return _Tombplus.Contract.TransferOwnership(&_Tombplus.TransactOpts, newOwner, direct, renounce)
  2103  }
  2104  
  2105  // UnpauseGame is a paid mutator transaction binding the contract method 0x305243d9.
  2106  //
  2107  // Solidity: function unpauseGame() returns()
  2108  func (_Tombplus *TombplusTransactor) UnpauseGame(opts *bind.TransactOpts) (*types.Transaction, error) {
  2109  	return _Tombplus.contract.Transact(opts, "unpauseGame")
  2110  }
  2111  
  2112  // UnpauseGame is a paid mutator transaction binding the contract method 0x305243d9.
  2113  //
  2114  // Solidity: function unpauseGame() returns()
  2115  func (_Tombplus *TombplusSession) UnpauseGame() (*types.Transaction, error) {
  2116  	return _Tombplus.Contract.UnpauseGame(&_Tombplus.TransactOpts)
  2117  }
  2118  
  2119  // UnpauseGame is a paid mutator transaction binding the contract method 0x305243d9.
  2120  //
  2121  // Solidity: function unpauseGame() returns()
  2122  func (_Tombplus *TombplusTransactorSession) UnpauseGame() (*types.Transaction, error) {
  2123  	return _Tombplus.Contract.UnpauseGame(&_Tombplus.TransactOpts)
  2124  }
  2125  
  2126  // UnsetMaxAllowedFutureFlipsOverride is a paid mutator transaction binding the contract method 0xebcb109a.
  2127  //
  2128  // Solidity: function unsetMaxAllowedFutureFlipsOverride(address user) returns()
  2129  func (_Tombplus *TombplusTransactor) UnsetMaxAllowedFutureFlipsOverride(opts *bind.TransactOpts, user common.Address) (*types.Transaction, error) {
  2130  	return _Tombplus.contract.Transact(opts, "unsetMaxAllowedFutureFlipsOverride", user)
  2131  }
  2132  
  2133  // UnsetMaxAllowedFutureFlipsOverride is a paid mutator transaction binding the contract method 0xebcb109a.
  2134  //
  2135  // Solidity: function unsetMaxAllowedFutureFlipsOverride(address user) returns()
  2136  func (_Tombplus *TombplusSession) UnsetMaxAllowedFutureFlipsOverride(user common.Address) (*types.Transaction, error) {
  2137  	return _Tombplus.Contract.UnsetMaxAllowedFutureFlipsOverride(&_Tombplus.TransactOpts, user)
  2138  }
  2139  
  2140  // UnsetMaxAllowedFutureFlipsOverride is a paid mutator transaction binding the contract method 0xebcb109a.
  2141  //
  2142  // Solidity: function unsetMaxAllowedFutureFlipsOverride(address user) returns()
  2143  func (_Tombplus *TombplusTransactorSession) UnsetMaxAllowedFutureFlipsOverride(user common.Address) (*types.Transaction, error) {
  2144  	return _Tombplus.Contract.UnsetMaxAllowedFutureFlipsOverride(&_Tombplus.TransactOpts, user)
  2145  }
  2146  
  2147  // UpdateUserTsharePlusBalance is a paid mutator transaction binding the contract method 0x2e8da1e5.
  2148  //
  2149  // Solidity: function updateUserTsharePlusBalance(address user) returns()
  2150  func (_Tombplus *TombplusTransactor) UpdateUserTsharePlusBalance(opts *bind.TransactOpts, user common.Address) (*types.Transaction, error) {
  2151  	return _Tombplus.contract.Transact(opts, "updateUserTsharePlusBalance", user)
  2152  }
  2153  
  2154  // UpdateUserTsharePlusBalance is a paid mutator transaction binding the contract method 0x2e8da1e5.
  2155  //
  2156  // Solidity: function updateUserTsharePlusBalance(address user) returns()
  2157  func (_Tombplus *TombplusSession) UpdateUserTsharePlusBalance(user common.Address) (*types.Transaction, error) {
  2158  	return _Tombplus.Contract.UpdateUserTsharePlusBalance(&_Tombplus.TransactOpts, user)
  2159  }
  2160  
  2161  // UpdateUserTsharePlusBalance is a paid mutator transaction binding the contract method 0x2e8da1e5.
  2162  //
  2163  // Solidity: function updateUserTsharePlusBalance(address user) returns()
  2164  func (_Tombplus *TombplusTransactorSession) UpdateUserTsharePlusBalance(user common.Address) (*types.Transaction, error) {
  2165  	return _Tombplus.Contract.UpdateUserTsharePlusBalance(&_Tombplus.TransactOpts, user)
  2166  }
  2167  
  2168  // TombplusEmergencyFinishEpochIterator is returned from FilterEmergencyFinishEpoch and is used to iterate over the raw logs and unpacked data for EmergencyFinishEpoch events raised by the Tombplus contract.
  2169  type TombplusEmergencyFinishEpochIterator struct {
  2170  	Event *TombplusEmergencyFinishEpoch // Event containing the contract specifics and raw log
  2171  
  2172  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2173  	event    string              // Event name to use for unpacking event data
  2174  
  2175  	logs chan types.Log        // Log channel receiving the found contract events
  2176  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2177  	done bool                  // Whether the subscription completed delivering logs
  2178  	fail error                 // Occurred error to stop iteration
  2179  }
  2180  
  2181  // Next advances the iterator to the subsequent event, returning whether there
  2182  // are any more events found. In case of a retrieval or parsing error, false is
  2183  // returned and Error() can be queried for the exact failure.
  2184  func (it *TombplusEmergencyFinishEpochIterator) Next() bool {
  2185  	// If the iterator failed, stop iterating
  2186  	if it.fail != nil {
  2187  		return false
  2188  	}
  2189  	// If the iterator completed, deliver directly whatever's available
  2190  	if it.done {
  2191  		select {
  2192  		case log := <-it.logs:
  2193  			it.Event = new(TombplusEmergencyFinishEpoch)
  2194  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2195  				it.fail = err
  2196  				return false
  2197  			}
  2198  			it.Event.Raw = log
  2199  			return true
  2200  
  2201  		default:
  2202  			return false
  2203  		}
  2204  	}
  2205  	// Iterator still in progress, wait for either a data or an error event
  2206  	select {
  2207  	case log := <-it.logs:
  2208  		it.Event = new(TombplusEmergencyFinishEpoch)
  2209  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2210  			it.fail = err
  2211  			return false
  2212  		}
  2213  		it.Event.Raw = log
  2214  		return true
  2215  
  2216  	case err := <-it.sub.Err():
  2217  		it.done = true
  2218  		it.fail = err
  2219  		return it.Next()
  2220  	}
  2221  }
  2222  
  2223  // Error returns any retrieval or parsing error occurred during filtering.
  2224  func (it *TombplusEmergencyFinishEpochIterator) Error() error {
  2225  	return it.fail
  2226  }
  2227  
  2228  // Close terminates the iteration process, releasing any pending underlying
  2229  // resources.
  2230  func (it *TombplusEmergencyFinishEpochIterator) Close() error {
  2231  	it.sub.Unsubscribe()
  2232  	return nil
  2233  }
  2234  
  2235  // TombplusEmergencyFinishEpoch represents a EmergencyFinishEpoch event raised by the Tombplus contract.
  2236  type TombplusEmergencyFinishEpoch struct {
  2237  	StartTimestamp  *big.Int
  2238  	EndTimestamp    *big.Int
  2239  	EpochStartPrice *big.Int
  2240  	EpochEndPrice   *big.Int
  2241  	Raw             types.Log // Blockchain specific contextual infos
  2242  }
  2243  
  2244  // FilterEmergencyFinishEpoch is a free log retrieval operation binding the contract event 0x01a916bca8c820ab1793d96564f9bb764d1d0b2358365acdcf513cb37e08e689.
  2245  //
  2246  // Solidity: event EmergencyFinishEpoch(uint256 startTimestamp, uint256 endTimestamp, uint256 epochStartPrice, uint256 epochEndPrice)
  2247  func (_Tombplus *TombplusFilterer) FilterEmergencyFinishEpoch(opts *bind.FilterOpts) (*TombplusEmergencyFinishEpochIterator, error) {
  2248  
  2249  	logs, sub, err := _Tombplus.contract.FilterLogs(opts, "EmergencyFinishEpoch")
  2250  	if err != nil {
  2251  		return nil, err
  2252  	}
  2253  	return &TombplusEmergencyFinishEpochIterator{contract: _Tombplus.contract, event: "EmergencyFinishEpoch", logs: logs, sub: sub}, nil
  2254  }
  2255  
  2256  // WatchEmergencyFinishEpoch is a free log subscription operation binding the contract event 0x01a916bca8c820ab1793d96564f9bb764d1d0b2358365acdcf513cb37e08e689.
  2257  //
  2258  // Solidity: event EmergencyFinishEpoch(uint256 startTimestamp, uint256 endTimestamp, uint256 epochStartPrice, uint256 epochEndPrice)
  2259  func (_Tombplus *TombplusFilterer) WatchEmergencyFinishEpoch(opts *bind.WatchOpts, sink chan<- *TombplusEmergencyFinishEpoch) (event.Subscription, error) {
  2260  
  2261  	logs, sub, err := _Tombplus.contract.WatchLogs(opts, "EmergencyFinishEpoch")
  2262  	if err != nil {
  2263  		return nil, err
  2264  	}
  2265  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2266  		defer sub.Unsubscribe()
  2267  		for {
  2268  			select {
  2269  			case log := <-logs:
  2270  				// New log arrived, parse the event and forward to the user
  2271  				event := new(TombplusEmergencyFinishEpoch)
  2272  				if err := _Tombplus.contract.UnpackLog(event, "EmergencyFinishEpoch", log); err != nil {
  2273  					return err
  2274  				}
  2275  				event.Raw = log
  2276  
  2277  				select {
  2278  				case sink <- event:
  2279  				case err := <-sub.Err():
  2280  					return err
  2281  				case <-quit:
  2282  					return nil
  2283  				}
  2284  			case err := <-sub.Err():
  2285  				return err
  2286  			case <-quit:
  2287  				return nil
  2288  			}
  2289  		}
  2290  	}), nil
  2291  }
  2292  
  2293  // ParseEmergencyFinishEpoch is a log parse operation binding the contract event 0x01a916bca8c820ab1793d96564f9bb764d1d0b2358365acdcf513cb37e08e689.
  2294  //
  2295  // Solidity: event EmergencyFinishEpoch(uint256 startTimestamp, uint256 endTimestamp, uint256 epochStartPrice, uint256 epochEndPrice)
  2296  func (_Tombplus *TombplusFilterer) ParseEmergencyFinishEpoch(log types.Log) (*TombplusEmergencyFinishEpoch, error) {
  2297  	event := new(TombplusEmergencyFinishEpoch)
  2298  	if err := _Tombplus.contract.UnpackLog(event, "EmergencyFinishEpoch", log); err != nil {
  2299  		return nil, err
  2300  	}
  2301  	event.Raw = log
  2302  	return event, nil
  2303  }
  2304  
  2305  // TombplusEpochFinishedIterator is returned from FilterEpochFinished and is used to iterate over the raw logs and unpacked data for EpochFinished events raised by the Tombplus contract.
  2306  type TombplusEpochFinishedIterator struct {
  2307  	Event *TombplusEpochFinished // Event containing the contract specifics and raw log
  2308  
  2309  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2310  	event    string              // Event name to use for unpacking event data
  2311  
  2312  	logs chan types.Log        // Log channel receiving the found contract events
  2313  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2314  	done bool                  // Whether the subscription completed delivering logs
  2315  	fail error                 // Occurred error to stop iteration
  2316  }
  2317  
  2318  // Next advances the iterator to the subsequent event, returning whether there
  2319  // are any more events found. In case of a retrieval or parsing error, false is
  2320  // returned and Error() can be queried for the exact failure.
  2321  func (it *TombplusEpochFinishedIterator) Next() bool {
  2322  	// If the iterator failed, stop iterating
  2323  	if it.fail != nil {
  2324  		return false
  2325  	}
  2326  	// If the iterator completed, deliver directly whatever's available
  2327  	if it.done {
  2328  		select {
  2329  		case log := <-it.logs:
  2330  			it.Event = new(TombplusEpochFinished)
  2331  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2332  				it.fail = err
  2333  				return false
  2334  			}
  2335  			it.Event.Raw = log
  2336  			return true
  2337  
  2338  		default:
  2339  			return false
  2340  		}
  2341  	}
  2342  	// Iterator still in progress, wait for either a data or an error event
  2343  	select {
  2344  	case log := <-it.logs:
  2345  		it.Event = new(TombplusEpochFinished)
  2346  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2347  			it.fail = err
  2348  			return false
  2349  		}
  2350  		it.Event.Raw = log
  2351  		return true
  2352  
  2353  	case err := <-it.sub.Err():
  2354  		it.done = true
  2355  		it.fail = err
  2356  		return it.Next()
  2357  	}
  2358  }
  2359  
  2360  // Error returns any retrieval or parsing error occurred during filtering.
  2361  func (it *TombplusEpochFinishedIterator) Error() error {
  2362  	return it.fail
  2363  }
  2364  
  2365  // Close terminates the iteration process, releasing any pending underlying
  2366  // resources.
  2367  func (it *TombplusEpochFinishedIterator) Close() error {
  2368  	it.sub.Unsubscribe()
  2369  	return nil
  2370  }
  2371  
  2372  // TombplusEpochFinished represents a EpochFinished event raised by the Tombplus contract.
  2373  type TombplusEpochFinished struct {
  2374  	EpochNumber       *big.Int
  2375  	EpochStartPrice   *big.Int
  2376  	EpochEndPrice     *big.Int
  2377  	VolatilityReached bool
  2378  	WinnerIsUp        bool
  2379  	Raw               types.Log // Blockchain specific contextual infos
  2380  }
  2381  
  2382  // FilterEpochFinished is a free log retrieval operation binding the contract event 0x7a3750c95021179860b0428af6e156f6d4cbbaae1a0adbe556d4bdc7efba97c6.
  2383  //
  2384  // Solidity: event EpochFinished(uint256 epochNumber, uint256 epochStartPrice, uint256 epochEndPrice, bool volatilityReached, bool winnerIsUp)
  2385  func (_Tombplus *TombplusFilterer) FilterEpochFinished(opts *bind.FilterOpts) (*TombplusEpochFinishedIterator, error) {
  2386  
  2387  	logs, sub, err := _Tombplus.contract.FilterLogs(opts, "EpochFinished")
  2388  	if err != nil {
  2389  		return nil, err
  2390  	}
  2391  	return &TombplusEpochFinishedIterator{contract: _Tombplus.contract, event: "EpochFinished", logs: logs, sub: sub}, nil
  2392  }
  2393  
  2394  // WatchEpochFinished is a free log subscription operation binding the contract event 0x7a3750c95021179860b0428af6e156f6d4cbbaae1a0adbe556d4bdc7efba97c6.
  2395  //
  2396  // Solidity: event EpochFinished(uint256 epochNumber, uint256 epochStartPrice, uint256 epochEndPrice, bool volatilityReached, bool winnerIsUp)
  2397  func (_Tombplus *TombplusFilterer) WatchEpochFinished(opts *bind.WatchOpts, sink chan<- *TombplusEpochFinished) (event.Subscription, error) {
  2398  
  2399  	logs, sub, err := _Tombplus.contract.WatchLogs(opts, "EpochFinished")
  2400  	if err != nil {
  2401  		return nil, err
  2402  	}
  2403  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2404  		defer sub.Unsubscribe()
  2405  		for {
  2406  			select {
  2407  			case log := <-logs:
  2408  				// New log arrived, parse the event and forward to the user
  2409  				event := new(TombplusEpochFinished)
  2410  				if err := _Tombplus.contract.UnpackLog(event, "EpochFinished", log); err != nil {
  2411  					return err
  2412  				}
  2413  				event.Raw = log
  2414  
  2415  				select {
  2416  				case sink <- event:
  2417  				case err := <-sub.Err():
  2418  					return err
  2419  				case <-quit:
  2420  					return nil
  2421  				}
  2422  			case err := <-sub.Err():
  2423  				return err
  2424  			case <-quit:
  2425  				return nil
  2426  			}
  2427  		}
  2428  	}), nil
  2429  }
  2430  
  2431  // ParseEpochFinished is a log parse operation binding the contract event 0x7a3750c95021179860b0428af6e156f6d4cbbaae1a0adbe556d4bdc7efba97c6.
  2432  //
  2433  // Solidity: event EpochFinished(uint256 epochNumber, uint256 epochStartPrice, uint256 epochEndPrice, bool volatilityReached, bool winnerIsUp)
  2434  func (_Tombplus *TombplusFilterer) ParseEpochFinished(log types.Log) (*TombplusEpochFinished, error) {
  2435  	event := new(TombplusEpochFinished)
  2436  	if err := _Tombplus.contract.UnpackLog(event, "EpochFinished", log); err != nil {
  2437  		return nil, err
  2438  	}
  2439  	event.Raw = log
  2440  	return event, nil
  2441  }
  2442  
  2443  // TombplusOwnershipTransferredIterator is returned from FilterOwnershipTransferred and is used to iterate over the raw logs and unpacked data for OwnershipTransferred events raised by the Tombplus contract.
  2444  type TombplusOwnershipTransferredIterator struct {
  2445  	Event *TombplusOwnershipTransferred // Event containing the contract specifics and raw log
  2446  
  2447  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2448  	event    string              // Event name to use for unpacking event data
  2449  
  2450  	logs chan types.Log        // Log channel receiving the found contract events
  2451  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2452  	done bool                  // Whether the subscription completed delivering logs
  2453  	fail error                 // Occurred error to stop iteration
  2454  }
  2455  
  2456  // Next advances the iterator to the subsequent event, returning whether there
  2457  // are any more events found. In case of a retrieval or parsing error, false is
  2458  // returned and Error() can be queried for the exact failure.
  2459  func (it *TombplusOwnershipTransferredIterator) Next() bool {
  2460  	// If the iterator failed, stop iterating
  2461  	if it.fail != nil {
  2462  		return false
  2463  	}
  2464  	// If the iterator completed, deliver directly whatever's available
  2465  	if it.done {
  2466  		select {
  2467  		case log := <-it.logs:
  2468  			it.Event = new(TombplusOwnershipTransferred)
  2469  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2470  				it.fail = err
  2471  				return false
  2472  			}
  2473  			it.Event.Raw = log
  2474  			return true
  2475  
  2476  		default:
  2477  			return false
  2478  		}
  2479  	}
  2480  	// Iterator still in progress, wait for either a data or an error event
  2481  	select {
  2482  	case log := <-it.logs:
  2483  		it.Event = new(TombplusOwnershipTransferred)
  2484  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2485  			it.fail = err
  2486  			return false
  2487  		}
  2488  		it.Event.Raw = log
  2489  		return true
  2490  
  2491  	case err := <-it.sub.Err():
  2492  		it.done = true
  2493  		it.fail = err
  2494  		return it.Next()
  2495  	}
  2496  }
  2497  
  2498  // Error returns any retrieval or parsing error occurred during filtering.
  2499  func (it *TombplusOwnershipTransferredIterator) Error() error {
  2500  	return it.fail
  2501  }
  2502  
  2503  // Close terminates the iteration process, releasing any pending underlying
  2504  // resources.
  2505  func (it *TombplusOwnershipTransferredIterator) Close() error {
  2506  	it.sub.Unsubscribe()
  2507  	return nil
  2508  }
  2509  
  2510  // TombplusOwnershipTransferred represents a OwnershipTransferred event raised by the Tombplus contract.
  2511  type TombplusOwnershipTransferred struct {
  2512  	PreviousOwner common.Address
  2513  	NewOwner      common.Address
  2514  	Raw           types.Log // Blockchain specific contextual infos
  2515  }
  2516  
  2517  // FilterOwnershipTransferred is a free log retrieval operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  2518  //
  2519  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  2520  func (_Tombplus *TombplusFilterer) FilterOwnershipTransferred(opts *bind.FilterOpts, previousOwner []common.Address, newOwner []common.Address) (*TombplusOwnershipTransferredIterator, error) {
  2521  
  2522  	var previousOwnerRule []interface{}
  2523  	for _, previousOwnerItem := range previousOwner {
  2524  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  2525  	}
  2526  	var newOwnerRule []interface{}
  2527  	for _, newOwnerItem := range newOwner {
  2528  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  2529  	}
  2530  
  2531  	logs, sub, err := _Tombplus.contract.FilterLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  2532  	if err != nil {
  2533  		return nil, err
  2534  	}
  2535  	return &TombplusOwnershipTransferredIterator{contract: _Tombplus.contract, event: "OwnershipTransferred", logs: logs, sub: sub}, nil
  2536  }
  2537  
  2538  // WatchOwnershipTransferred is a free log subscription operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  2539  //
  2540  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  2541  func (_Tombplus *TombplusFilterer) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *TombplusOwnershipTransferred, previousOwner []common.Address, newOwner []common.Address) (event.Subscription, error) {
  2542  
  2543  	var previousOwnerRule []interface{}
  2544  	for _, previousOwnerItem := range previousOwner {
  2545  		previousOwnerRule = append(previousOwnerRule, previousOwnerItem)
  2546  	}
  2547  	var newOwnerRule []interface{}
  2548  	for _, newOwnerItem := range newOwner {
  2549  		newOwnerRule = append(newOwnerRule, newOwnerItem)
  2550  	}
  2551  
  2552  	logs, sub, err := _Tombplus.contract.WatchLogs(opts, "OwnershipTransferred", previousOwnerRule, newOwnerRule)
  2553  	if err != nil {
  2554  		return nil, err
  2555  	}
  2556  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2557  		defer sub.Unsubscribe()
  2558  		for {
  2559  			select {
  2560  			case log := <-logs:
  2561  				// New log arrived, parse the event and forward to the user
  2562  				event := new(TombplusOwnershipTransferred)
  2563  				if err := _Tombplus.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  2564  					return err
  2565  				}
  2566  				event.Raw = log
  2567  
  2568  				select {
  2569  				case sink <- event:
  2570  				case err := <-sub.Err():
  2571  					return err
  2572  				case <-quit:
  2573  					return nil
  2574  				}
  2575  			case err := <-sub.Err():
  2576  				return err
  2577  			case <-quit:
  2578  				return nil
  2579  			}
  2580  		}
  2581  	}), nil
  2582  }
  2583  
  2584  // ParseOwnershipTransferred is a log parse operation binding the contract event 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0.
  2585  //
  2586  // Solidity: event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
  2587  func (_Tombplus *TombplusFilterer) ParseOwnershipTransferred(log types.Log) (*TombplusOwnershipTransferred, error) {
  2588  	event := new(TombplusOwnershipTransferred)
  2589  	if err := _Tombplus.contract.UnpackLog(event, "OwnershipTransferred", log); err != nil {
  2590  		return nil, err
  2591  	}
  2592  	event.Raw = log
  2593  	return event, nil
  2594  }
  2595  
  2596  // TombplusUserFlippedIterator is returned from FilterUserFlipped and is used to iterate over the raw logs and unpacked data for UserFlipped events raised by the Tombplus contract.
  2597  type TombplusUserFlippedIterator struct {
  2598  	Event *TombplusUserFlipped // Event containing the contract specifics and raw log
  2599  
  2600  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2601  	event    string              // Event name to use for unpacking event data
  2602  
  2603  	logs chan types.Log        // Log channel receiving the found contract events
  2604  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2605  	done bool                  // Whether the subscription completed delivering logs
  2606  	fail error                 // Occurred error to stop iteration
  2607  }
  2608  
  2609  // Next advances the iterator to the subsequent event, returning whether there
  2610  // are any more events found. In case of a retrieval or parsing error, false is
  2611  // returned and Error() can be queried for the exact failure.
  2612  func (it *TombplusUserFlippedIterator) Next() bool {
  2613  	// If the iterator failed, stop iterating
  2614  	if it.fail != nil {
  2615  		return false
  2616  	}
  2617  	// If the iterator completed, deliver directly whatever's available
  2618  	if it.done {
  2619  		select {
  2620  		case log := <-it.logs:
  2621  			it.Event = new(TombplusUserFlipped)
  2622  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2623  				it.fail = err
  2624  				return false
  2625  			}
  2626  			it.Event.Raw = log
  2627  			return true
  2628  
  2629  		default:
  2630  			return false
  2631  		}
  2632  	}
  2633  	// Iterator still in progress, wait for either a data or an error event
  2634  	select {
  2635  	case log := <-it.logs:
  2636  		it.Event = new(TombplusUserFlipped)
  2637  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2638  			it.fail = err
  2639  			return false
  2640  		}
  2641  		it.Event.Raw = log
  2642  		return true
  2643  
  2644  	case err := <-it.sub.Err():
  2645  		it.done = true
  2646  		it.fail = err
  2647  		return it.Next()
  2648  	}
  2649  }
  2650  
  2651  // Error returns any retrieval or parsing error occurred during filtering.
  2652  func (it *TombplusUserFlippedIterator) Error() error {
  2653  	return it.fail
  2654  }
  2655  
  2656  // Close terminates the iteration process, releasing any pending underlying
  2657  // resources.
  2658  func (it *TombplusUserFlippedIterator) Close() error {
  2659  	it.sub.Unsubscribe()
  2660  	return nil
  2661  }
  2662  
  2663  // TombplusUserFlipped represents a UserFlipped event raised by the Tombplus contract.
  2664  type TombplusUserFlipped struct {
  2665  	User    common.Address
  2666  	FlipId  *big.Int
  2667  	EpochId *big.Int
  2668  	Up      bool
  2669  	Raw     types.Log // Blockchain specific contextual infos
  2670  }
  2671  
  2672  // FilterUserFlipped is a free log retrieval operation binding the contract event 0xf251991d6027899592edc87c4426dc7649cfa3d68d09c9e537465680bf30dc9e.
  2673  //
  2674  // Solidity: event UserFlipped(address user, uint256 flipId, uint256 epochId, bool up)
  2675  func (_Tombplus *TombplusFilterer) FilterUserFlipped(opts *bind.FilterOpts) (*TombplusUserFlippedIterator, error) {
  2676  
  2677  	logs, sub, err := _Tombplus.contract.FilterLogs(opts, "UserFlipped")
  2678  	if err != nil {
  2679  		return nil, err
  2680  	}
  2681  	return &TombplusUserFlippedIterator{contract: _Tombplus.contract, event: "UserFlipped", logs: logs, sub: sub}, nil
  2682  }
  2683  
  2684  // WatchUserFlipped is a free log subscription operation binding the contract event 0xf251991d6027899592edc87c4426dc7649cfa3d68d09c9e537465680bf30dc9e.
  2685  //
  2686  // Solidity: event UserFlipped(address user, uint256 flipId, uint256 epochId, bool up)
  2687  func (_Tombplus *TombplusFilterer) WatchUserFlipped(opts *bind.WatchOpts, sink chan<- *TombplusUserFlipped) (event.Subscription, error) {
  2688  
  2689  	logs, sub, err := _Tombplus.contract.WatchLogs(opts, "UserFlipped")
  2690  	if err != nil {
  2691  		return nil, err
  2692  	}
  2693  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2694  		defer sub.Unsubscribe()
  2695  		for {
  2696  			select {
  2697  			case log := <-logs:
  2698  				// New log arrived, parse the event and forward to the user
  2699  				event := new(TombplusUserFlipped)
  2700  				if err := _Tombplus.contract.UnpackLog(event, "UserFlipped", log); err != nil {
  2701  					return err
  2702  				}
  2703  				event.Raw = log
  2704  
  2705  				select {
  2706  				case sink <- event:
  2707  				case err := <-sub.Err():
  2708  					return err
  2709  				case <-quit:
  2710  					return nil
  2711  				}
  2712  			case err := <-sub.Err():
  2713  				return err
  2714  			case <-quit:
  2715  				return nil
  2716  			}
  2717  		}
  2718  	}), nil
  2719  }
  2720  
  2721  // ParseUserFlipped is a log parse operation binding the contract event 0xf251991d6027899592edc87c4426dc7649cfa3d68d09c9e537465680bf30dc9e.
  2722  //
  2723  // Solidity: event UserFlipped(address user, uint256 flipId, uint256 epochId, bool up)
  2724  func (_Tombplus *TombplusFilterer) ParseUserFlipped(log types.Log) (*TombplusUserFlipped, error) {
  2725  	event := new(TombplusUserFlipped)
  2726  	if err := _Tombplus.contract.UnpackLog(event, "UserFlipped", log); err != nil {
  2727  		return nil, err
  2728  	}
  2729  	event.Raw = log
  2730  	return event, nil
  2731  }
  2732  
  2733  // TombplusUserWonIterator is returned from FilterUserWon and is used to iterate over the raw logs and unpacked data for UserWon events raised by the Tombplus contract.
  2734  type TombplusUserWonIterator struct {
  2735  	Event *TombplusUserWon // Event containing the contract specifics and raw log
  2736  
  2737  	contract *bind.BoundContract // Generic contract to use for unpacking event data
  2738  	event    string              // Event name to use for unpacking event data
  2739  
  2740  	logs chan types.Log        // Log channel receiving the found contract events
  2741  	sub  ethereum.Subscription // Subscription for errors, completion and termination
  2742  	done bool                  // Whether the subscription completed delivering logs
  2743  	fail error                 // Occurred error to stop iteration
  2744  }
  2745  
  2746  // Next advances the iterator to the subsequent event, returning whether there
  2747  // are any more events found. In case of a retrieval or parsing error, false is
  2748  // returned and Error() can be queried for the exact failure.
  2749  func (it *TombplusUserWonIterator) Next() bool {
  2750  	// If the iterator failed, stop iterating
  2751  	if it.fail != nil {
  2752  		return false
  2753  	}
  2754  	// If the iterator completed, deliver directly whatever's available
  2755  	if it.done {
  2756  		select {
  2757  		case log := <-it.logs:
  2758  			it.Event = new(TombplusUserWon)
  2759  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2760  				it.fail = err
  2761  				return false
  2762  			}
  2763  			it.Event.Raw = log
  2764  			return true
  2765  
  2766  		default:
  2767  			return false
  2768  		}
  2769  	}
  2770  	// Iterator still in progress, wait for either a data or an error event
  2771  	select {
  2772  	case log := <-it.logs:
  2773  		it.Event = new(TombplusUserWon)
  2774  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
  2775  			it.fail = err
  2776  			return false
  2777  		}
  2778  		it.Event.Raw = log
  2779  		return true
  2780  
  2781  	case err := <-it.sub.Err():
  2782  		it.done = true
  2783  		it.fail = err
  2784  		return it.Next()
  2785  	}
  2786  }
  2787  
  2788  // Error returns any retrieval or parsing error occurred during filtering.
  2789  func (it *TombplusUserWonIterator) Error() error {
  2790  	return it.fail
  2791  }
  2792  
  2793  // Close terminates the iteration process, releasing any pending underlying
  2794  // resources.
  2795  func (it *TombplusUserWonIterator) Close() error {
  2796  	it.sub.Unsubscribe()
  2797  	return nil
  2798  }
  2799  
  2800  // TombplusUserWon represents a UserWon event raised by the Tombplus contract.
  2801  type TombplusUserWon struct {
  2802  	User    common.Address
  2803  	EpochId *big.Int
  2804  	Amount  *big.Int
  2805  	Raw     types.Log // Blockchain specific contextual infos
  2806  }
  2807  
  2808  // FilterUserWon is a free log retrieval operation binding the contract event 0x5d65a272414584c001aa531e37121612a5b4b32aefddfe422f936093de33b10f.
  2809  //
  2810  // Solidity: event UserWon(address user, uint256 epochId, uint256 amount)
  2811  func (_Tombplus *TombplusFilterer) FilterUserWon(opts *bind.FilterOpts) (*TombplusUserWonIterator, error) {
  2812  
  2813  	logs, sub, err := _Tombplus.contract.FilterLogs(opts, "UserWon")
  2814  	if err != nil {
  2815  		return nil, err
  2816  	}
  2817  	return &TombplusUserWonIterator{contract: _Tombplus.contract, event: "UserWon", logs: logs, sub: sub}, nil
  2818  }
  2819  
  2820  // WatchUserWon is a free log subscription operation binding the contract event 0x5d65a272414584c001aa531e37121612a5b4b32aefddfe422f936093de33b10f.
  2821  //
  2822  // Solidity: event UserWon(address user, uint256 epochId, uint256 amount)
  2823  func (_Tombplus *TombplusFilterer) WatchUserWon(opts *bind.WatchOpts, sink chan<- *TombplusUserWon) (event.Subscription, error) {
  2824  
  2825  	logs, sub, err := _Tombplus.contract.WatchLogs(opts, "UserWon")
  2826  	if err != nil {
  2827  		return nil, err
  2828  	}
  2829  	return event.NewSubscription(func(quit <-chan struct{}) error {
  2830  		defer sub.Unsubscribe()
  2831  		for {
  2832  			select {
  2833  			case log := <-logs:
  2834  				// New log arrived, parse the event and forward to the user
  2835  				event := new(TombplusUserWon)
  2836  				if err := _Tombplus.contract.UnpackLog(event, "UserWon", log); err != nil {
  2837  					return err
  2838  				}
  2839  				event.Raw = log
  2840  
  2841  				select {
  2842  				case sink <- event:
  2843  				case err := <-sub.Err():
  2844  					return err
  2845  				case <-quit:
  2846  					return nil
  2847  				}
  2848  			case err := <-sub.Err():
  2849  				return err
  2850  			case <-quit:
  2851  				return nil
  2852  			}
  2853  		}
  2854  	}), nil
  2855  }
  2856  
  2857  // ParseUserWon is a log parse operation binding the contract event 0x5d65a272414584c001aa531e37121612a5b4b32aefddfe422f936093de33b10f.
  2858  //
  2859  // Solidity: event UserWon(address user, uint256 epochId, uint256 amount)
  2860  func (_Tombplus *TombplusFilterer) ParseUserWon(log types.Log) (*TombplusUserWon, error) {
  2861  	event := new(TombplusUserWon)
  2862  	if err := _Tombplus.contract.UnpackLog(event, "UserWon", log); err != nil {
  2863  		return nil, err
  2864  	}
  2865  	event.Raw = log
  2866  	return event, nil
  2867  }