contract

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 24, 2026 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultMaxNonGasRetries = 20
View Source
var DefaultStep = int64(15)
View Source
var DefaultTimeout = 15 * time.Minute
View Source
var FlowABI = FlowMetaData.ABI

FlowABI is the input ABI used to generate the binding from. Deprecated: Use FlowMetaData.ABI instead.

View Source
var FlowMetaData = &bind.MetaData{
	ABI: "[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deployDelay_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSubmission\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paid\",\"type\":\"uint256\"}],\"name\":\"NotEnoughFee\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"startMerkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"submissionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"flowLength\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"context\",\"type\":\"bytes32\"}],\"name\":\"NewEpoch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"identity\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"submissionIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startPos\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"tags\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"internalType\":\"structSubmissionNode[]\",\"name\":\"nodes\",\"type\":\"tuple[]\"}],\"indexed\":false,\"internalType\":\"structSubmissionData\",\"name\":\"submission\",\"type\":\"tuple\"}],\"name\":\"Submit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PAUSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"tags\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"internalType\":\"structSubmissionNode[]\",\"name\":\"nodes\",\"type\":\"tuple[]\"}],\"internalType\":\"structSubmissionData\",\"name\":\"data\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"}],\"internalType\":\"structSubmission[]\",\"name\":\"submissions\",\"type\":\"tuple[]\"}],\"name\":\"batchSubmit\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"indexes\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"digests\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint256[]\",\"name\":\"startIndexes\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"lengths\",\"type\":\"uint256[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blocksPerEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"computeFlowRoot\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochStartPosition\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"firstBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getContext\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mineStart\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"flowRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"flowLength\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockDigest\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"internalType\":\"structMineContext\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"getEpochRange\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"start\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"end\",\"type\":\"uint128\"}],\"internalType\":\"structEpochRange\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getEpochRangeHistory\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"start\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"end\",\"type\":\"uint128\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"internalType\":\"structEpochRangeWithContextDigest\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"txSeq\",\"type\":\"uint256\"}],\"name\":\"getFlowRootByTxSeq\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"market_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blocksPerEpoch_\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"makeContext\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"cnt\",\"type\":\"uint256\"}],\"name\":\"makeContextFixedTimes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"makeContextWithResult\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mineStart\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"flowRoot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"flowLength\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockDigest\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"internalType\":\"structMineContext\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"market\",\"outputs\":[{\"internalType\":\"addresspayable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"numSubmissions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"targetPosition\",\"type\":\"uint128\"}],\"name\":\"queryContextAtPosition\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"start\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"end\",\"type\":\"uint128\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"internalType\":\"structEpochRangeWithContextDigest\",\"name\":\"range\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rootHistory\",\"outputs\":[{\"internalType\":\"contractIDigestHistory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blocksPerEpoch_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"firstBlock_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"rootHistory_\",\"type\":\"address\"}],\"name\":\"setParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"submissionIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"tags\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"internalType\":\"structSubmissionNode[]\",\"name\":\"nodes\",\"type\":\"tuple[]\"}],\"internalType\":\"structSubmissionData\",\"name\":\"data\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"}],\"internalType\":\"structSubmission\",\"name\":\"submission\",\"type\":\"tuple\"}],\"name\":\"submit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"startIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tree\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstagedHeight\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
}

FlowMetaData contains all meta data concerning the Flow contract.

View Source
var MarketABI = MarketMetaData.ABI

MarketABI is the input ABI used to generate the binding from. Deprecated: Use MarketMetaData.ABI instead.

View Source
var MarketMetaData = &bind.MetaData{
	ABI: "[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"beforeLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"uploadSectors\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paddingSectors\",\"type\":\"uint256\"}],\"name\":\"chargeFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flow\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pricePerSector\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reward\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pricePerSector_\",\"type\":\"uint256\"}],\"name\":\"setPricePerSector\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
}

MarketMetaData contains all meta data concerning the Market contract.

View Source
var SpecifiedBlockError = "Specified block header does not exist"

Functions

func IsRetriableSubmitLogEntryError

func IsRetriableSubmitLogEntryError(msg string) bool

func TransactWithGasAdjustment

func TransactWithGasAdjustment(
	contract *FlowContract,
	method string,
	opts *bind.TransactOpts,
	retryOpts *TxRetryOption,
	params ...any,
) (*types.Receipt, error)

func TransactWithGasAdjustmentNoReceipt added in v1.2.2

func TransactWithGasAdjustmentNoReceipt(
	contract *FlowContract,
	method string,
	opts *bind.TransactOpts,
	retryOpts *TxRetryOption,
	params ...any,
) (*types.Transaction, error)

Types

type EpochRange

type EpochRange struct {
	Start *big.Int
	End   *big.Int
}

EpochRange is an auto generated low-level Go binding around an user-defined struct.

type EpochRangeWithContextDigest

type EpochRangeWithContextDigest struct {
	Start  *big.Int
	End    *big.Int
	Digest [32]byte
}

EpochRangeWithContextDigest is an auto generated low-level Go binding around an user-defined struct.

type Flow

type Flow struct {
	FlowCaller     // Read-only binding to the contract
	FlowTransactor // Write-only binding to the contract
	FlowFilterer   // Log filterer for contract events
}

Flow is an auto generated Go binding around an Ethereum contract.

func NewFlow

func NewFlow(address common.Address, backend bind.ContractBackend) (*Flow, error)

NewFlow creates a new instance of Flow, bound to a specific deployed contract.

type FlowCaller

type FlowCaller struct {
	// contains filtered or unexported fields
}

FlowCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewFlowCaller

func NewFlowCaller(address common.Address, caller bind.ContractCaller) (*FlowCaller, error)

NewFlowCaller creates a new read-only instance of Flow, bound to a specific deployed contract.

func (*FlowCaller) BlocksPerEpoch

func (_Flow *FlowCaller) BlocksPerEpoch(opts *bind.CallOpts) (*big.Int, error)

BlocksPerEpoch is a free data retrieval call binding the contract method 0xf0682054.

Solidity: function blocksPerEpoch() view returns(uint256)

func (*FlowCaller) DEFAULTADMINROLE added in v1.2.2

func (_Flow *FlowCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error)

DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.

Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)

func (*FlowCaller) DeployDelay added in v1.2.2

func (_Flow *FlowCaller) DeployDelay(opts *bind.CallOpts) (*big.Int, error)

DeployDelay is a free data retrieval call binding the contract method 0x9bbbfdbb.

Solidity: function deployDelay() view returns(uint256)

func (*FlowCaller) Epoch

func (_Flow *FlowCaller) Epoch(opts *bind.CallOpts) (*big.Int, error)

Epoch is a free data retrieval call binding the contract method 0x900cf0cf.

Solidity: function epoch() view returns(uint256)

func (*FlowCaller) EpochStartPosition

func (_Flow *FlowCaller) EpochStartPosition(opts *bind.CallOpts) (*big.Int, error)

EpochStartPosition is a free data retrieval call binding the contract method 0x93e405a0.

Solidity: function epochStartPosition() view returns(uint256)

func (*FlowCaller) FirstBlock

func (_Flow *FlowCaller) FirstBlock(opts *bind.CallOpts) (*big.Int, error)

FirstBlock is a free data retrieval call binding the contract method 0x231b0268.

Solidity: function firstBlock() view returns(uint256)

func (*FlowCaller) GetContext

func (_Flow *FlowCaller) GetContext(opts *bind.CallOpts) (MineContext, error)

GetContext is a free data retrieval call binding the contract method 0x127f0f07.

Solidity: function getContext() view returns((uint256,uint256,bytes32,uint256,bytes32,bytes32))

func (*FlowCaller) GetEpochRange

func (_Flow *FlowCaller) GetEpochRange(opts *bind.CallOpts, digest [32]byte) (EpochRange, error)

GetEpochRange is a free data retrieval call binding the contract method 0x7d590708.

Solidity: function getEpochRange(bytes32 digest) view returns((uint128,uint128))

func (*FlowCaller) GetEpochRangeHistory added in v1.2.2

func (_Flow *FlowCaller) GetEpochRangeHistory(opts *bind.CallOpts, index *big.Int) (EpochRangeWithContextDigest, error)

GetEpochRangeHistory is a free data retrieval call binding the contract method 0x4282b532.

Solidity: function getEpochRangeHistory(uint256 index) view returns((uint128,uint128,bytes32))

func (*FlowCaller) GetFlowRootByTxSeq added in v1.2.2

func (_Flow *FlowCaller) GetFlowRootByTxSeq(opts *bind.CallOpts, txSeq *big.Int) ([32]byte, error)

GetFlowRootByTxSeq is a free data retrieval call binding the contract method 0x6d7ad0fc.

Solidity: function getFlowRootByTxSeq(uint256 txSeq) view returns(bytes32)

func (*FlowCaller) GetRoleAdmin added in v1.2.2

func (_Flow *FlowCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error)

GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.

Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)

func (*FlowCaller) GetRoleMember added in v1.2.2

func (_Flow *FlowCaller) GetRoleMember(opts *bind.CallOpts, role [32]byte, index *big.Int) (common.Address, error)

GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.

Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)

func (*FlowCaller) GetRoleMemberCount added in v1.2.2

func (_Flow *FlowCaller) GetRoleMemberCount(opts *bind.CallOpts, role [32]byte) (*big.Int, error)

GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.

Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)

func (*FlowCaller) HasRole added in v1.2.2

func (_Flow *FlowCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error)

HasRole is a free data retrieval call binding the contract method 0x91d14854.

Solidity: function hasRole(bytes32 role, address account) view returns(bool)

func (*FlowCaller) Market

func (_Flow *FlowCaller) Market(opts *bind.CallOpts) (common.Address, error)

Market is a free data retrieval call binding the contract method 0x80f55605.

Solidity: function market() view returns(address)

func (*FlowCaller) NumSubmissions

func (_Flow *FlowCaller) NumSubmissions(opts *bind.CallOpts) (*big.Int, error)

NumSubmissions is a free data retrieval call binding the contract method 0x77e19824.

Solidity: function numSubmissions() view returns(uint256)

func (*FlowCaller) PAUSERROLE added in v1.2.2

func (_Flow *FlowCaller) PAUSERROLE(opts *bind.CallOpts) ([32]byte, error)

PAUSERROLE is a free data retrieval call binding the contract method 0xe63ab1e9.

Solidity: function PAUSER_ROLE() view returns(bytes32)

func (*FlowCaller) Paused added in v1.2.2

func (_Flow *FlowCaller) Paused(opts *bind.CallOpts) (bool, error)

Paused is a free data retrieval call binding the contract method 0x5c975abb.

Solidity: function paused() view returns(bool)

func (*FlowCaller) RootHistory

func (_Flow *FlowCaller) RootHistory(opts *bind.CallOpts) (common.Address, error)

RootHistory is a free data retrieval call binding the contract method 0xc7dd5221.

Solidity: function rootHistory() view returns(address)

func (*FlowCaller) SubmissionIndex

func (_Flow *FlowCaller) SubmissionIndex(opts *bind.CallOpts) (*big.Int, error)

SubmissionIndex is a free data retrieval call binding the contract method 0xb8a409ac.

Solidity: function submissionIndex() view returns(uint256)

func (*FlowCaller) SupportsInterface added in v1.2.2

func (_Flow *FlowCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error)

SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.

Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)

func (*FlowCaller) Tree

func (_Flow *FlowCaller) Tree(opts *bind.CallOpts) (struct {
	CurrentLength  *big.Int
	UnstagedHeight *big.Int
}, error)

Tree is a free data retrieval call binding the contract method 0xfd54b228.

Solidity: function tree() view returns(uint256 currentLength, uint256 unstagedHeight)

type FlowCallerRaw

type FlowCallerRaw struct {
	Contract *FlowCaller // Generic read-only contract binding to access the raw methods on
}

FlowCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*FlowCallerRaw) Call

func (_Flow *FlowCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type FlowCallerSession

type FlowCallerSession struct {
	Contract *FlowCaller   // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts // Call options to use throughout this session
}

FlowCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*FlowCallerSession) BlocksPerEpoch

func (_Flow *FlowCallerSession) BlocksPerEpoch() (*big.Int, error)

BlocksPerEpoch is a free data retrieval call binding the contract method 0xf0682054.

Solidity: function blocksPerEpoch() view returns(uint256)

func (*FlowCallerSession) DEFAULTADMINROLE added in v1.2.2

func (_Flow *FlowCallerSession) DEFAULTADMINROLE() ([32]byte, error)

DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.

Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)

func (*FlowCallerSession) DeployDelay added in v1.2.2

func (_Flow *FlowCallerSession) DeployDelay() (*big.Int, error)

DeployDelay is a free data retrieval call binding the contract method 0x9bbbfdbb.

Solidity: function deployDelay() view returns(uint256)

func (*FlowCallerSession) Epoch

func (_Flow *FlowCallerSession) Epoch() (*big.Int, error)

Epoch is a free data retrieval call binding the contract method 0x900cf0cf.

Solidity: function epoch() view returns(uint256)

func (*FlowCallerSession) EpochStartPosition

func (_Flow *FlowCallerSession) EpochStartPosition() (*big.Int, error)

EpochStartPosition is a free data retrieval call binding the contract method 0x93e405a0.

Solidity: function epochStartPosition() view returns(uint256)

func (*FlowCallerSession) FirstBlock

func (_Flow *FlowCallerSession) FirstBlock() (*big.Int, error)

FirstBlock is a free data retrieval call binding the contract method 0x231b0268.

Solidity: function firstBlock() view returns(uint256)

func (*FlowCallerSession) GetContext

func (_Flow *FlowCallerSession) GetContext() (MineContext, error)

GetContext is a free data retrieval call binding the contract method 0x127f0f07.

Solidity: function getContext() view returns((uint256,uint256,bytes32,uint256,bytes32,bytes32))

func (*FlowCallerSession) GetEpochRange

func (_Flow *FlowCallerSession) GetEpochRange(digest [32]byte) (EpochRange, error)

GetEpochRange is a free data retrieval call binding the contract method 0x7d590708.

Solidity: function getEpochRange(bytes32 digest) view returns((uint128,uint128))

func (*FlowCallerSession) GetEpochRangeHistory added in v1.2.2

func (_Flow *FlowCallerSession) GetEpochRangeHistory(index *big.Int) (EpochRangeWithContextDigest, error)

GetEpochRangeHistory is a free data retrieval call binding the contract method 0x4282b532.

Solidity: function getEpochRangeHistory(uint256 index) view returns((uint128,uint128,bytes32))

func (*FlowCallerSession) GetFlowRootByTxSeq added in v1.2.2

func (_Flow *FlowCallerSession) GetFlowRootByTxSeq(txSeq *big.Int) ([32]byte, error)

GetFlowRootByTxSeq is a free data retrieval call binding the contract method 0x6d7ad0fc.

Solidity: function getFlowRootByTxSeq(uint256 txSeq) view returns(bytes32)

func (*FlowCallerSession) GetRoleAdmin added in v1.2.2

func (_Flow *FlowCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error)

GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.

Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)

func (*FlowCallerSession) GetRoleMember added in v1.2.2

func (_Flow *FlowCallerSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error)

GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.

Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)

func (*FlowCallerSession) GetRoleMemberCount added in v1.2.2

func (_Flow *FlowCallerSession) GetRoleMemberCount(role [32]byte) (*big.Int, error)

GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.

Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)

func (*FlowCallerSession) HasRole added in v1.2.2

func (_Flow *FlowCallerSession) HasRole(role [32]byte, account common.Address) (bool, error)

HasRole is a free data retrieval call binding the contract method 0x91d14854.

Solidity: function hasRole(bytes32 role, address account) view returns(bool)

func (*FlowCallerSession) Market

func (_Flow *FlowCallerSession) Market() (common.Address, error)

Market is a free data retrieval call binding the contract method 0x80f55605.

Solidity: function market() view returns(address)

func (*FlowCallerSession) NumSubmissions

func (_Flow *FlowCallerSession) NumSubmissions() (*big.Int, error)

NumSubmissions is a free data retrieval call binding the contract method 0x77e19824.

Solidity: function numSubmissions() view returns(uint256)

func (*FlowCallerSession) PAUSERROLE added in v1.2.2

func (_Flow *FlowCallerSession) PAUSERROLE() ([32]byte, error)

PAUSERROLE is a free data retrieval call binding the contract method 0xe63ab1e9.

Solidity: function PAUSER_ROLE() view returns(bytes32)

func (*FlowCallerSession) Paused added in v1.2.2

func (_Flow *FlowCallerSession) Paused() (bool, error)

Paused is a free data retrieval call binding the contract method 0x5c975abb.

Solidity: function paused() view returns(bool)

func (*FlowCallerSession) RootHistory

func (_Flow *FlowCallerSession) RootHistory() (common.Address, error)

RootHistory is a free data retrieval call binding the contract method 0xc7dd5221.

Solidity: function rootHistory() view returns(address)

func (*FlowCallerSession) SubmissionIndex

func (_Flow *FlowCallerSession) SubmissionIndex() (*big.Int, error)

SubmissionIndex is a free data retrieval call binding the contract method 0xb8a409ac.

Solidity: function submissionIndex() view returns(uint256)

func (*FlowCallerSession) SupportsInterface added in v1.2.2

func (_Flow *FlowCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error)

SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.

Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)

func (*FlowCallerSession) Tree

func (_Flow *FlowCallerSession) Tree() (struct {
	CurrentLength  *big.Int
	UnstagedHeight *big.Int
}, error)

Tree is a free data retrieval call binding the contract method 0xfd54b228.

Solidity: function tree() view returns(uint256 currentLength, uint256 unstagedHeight)

type FlowContract

type FlowContract struct {
	*blockchain.Contract
	*Flow
	// contains filtered or unexported fields
}

func NewFlowContract

func NewFlowContract(flowAddress common.Address, clientWithSigner *web3go.Client) (*FlowContract, error)

func (*FlowContract) GetGasPrice

func (f *FlowContract) GetGasPrice() (*big.Int, error)

func (*FlowContract) GetMarketContract

func (f *FlowContract) GetMarketContract(ctx context.Context) (*Market, error)

func (*FlowContract) GetNonce

func (f *FlowContract) GetNonce(ctx context.Context) (*big.Int, error)

func (*FlowContract) GetSubmitterAddress added in v1.2.2

func (f *FlowContract) GetSubmitterAddress() (common.Address, error)

type FlowFilterer

type FlowFilterer struct {
	// contains filtered or unexported fields
}

FlowFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewFlowFilterer

func NewFlowFilterer(address common.Address, filterer bind.ContractFilterer) (*FlowFilterer, error)

NewFlowFilterer creates a new log filterer instance of Flow, bound to a specific deployed contract.

func (*FlowFilterer) FilterInitialized added in v1.2.2

func (_Flow *FlowFilterer) FilterInitialized(opts *bind.FilterOpts) (*FlowInitializedIterator, error)

FilterInitialized is a free log retrieval operation binding the contract event 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2.

Solidity: event Initialized(uint64 version)

func (*FlowFilterer) FilterNewEpoch

func (_Flow *FlowFilterer) FilterNewEpoch(opts *bind.FilterOpts, sender []common.Address, index []*big.Int) (*FlowNewEpochIterator, error)

FilterNewEpoch is a free log retrieval operation binding the contract event 0xbc8a3fd82465d43f1709e44ed882f7e1af0147274196ef1ec009f5d52ff4e993.

Solidity: event NewEpoch(address indexed sender, uint256 indexed index, bytes32 startMerkleRoot, uint256 submissionIndex, uint256 flowLength, bytes32 context)

func (*FlowFilterer) FilterPaused added in v1.2.2

func (_Flow *FlowFilterer) FilterPaused(opts *bind.FilterOpts) (*FlowPausedIterator, error)

FilterPaused is a free log retrieval operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258.

Solidity: event Paused(address account)

func (*FlowFilterer) FilterRoleAdminChanged added in v1.2.2

func (_Flow *FlowFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*FlowRoleAdminChangedIterator, error)

FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.

Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)

func (*FlowFilterer) FilterRoleGranted added in v1.2.2

func (_Flow *FlowFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*FlowRoleGrantedIterator, error)

FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.

Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)

func (*FlowFilterer) FilterRoleRevoked added in v1.2.2

func (_Flow *FlowFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*FlowRoleRevokedIterator, error)

FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.

Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)

func (*FlowFilterer) FilterSubmit

func (_Flow *FlowFilterer) FilterSubmit(opts *bind.FilterOpts, sender []common.Address, identity [][32]byte) (*FlowSubmitIterator, error)

FilterSubmit is a free log retrieval operation binding the contract event 0x167ce04d2aa1981994d3a31695da0d785373335b1078cec239a1a3a2c7675555.

Solidity: event Submit(address indexed sender, bytes32 indexed identity, uint256 submissionIndex, uint256 startPos, uint256 length, (uint256,bytes,(bytes32,uint256)[]) submission)

func (*FlowFilterer) FilterUnpaused added in v1.2.2

func (_Flow *FlowFilterer) FilterUnpaused(opts *bind.FilterOpts) (*FlowUnpausedIterator, error)

FilterUnpaused is a free log retrieval operation binding the contract event 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa.

Solidity: event Unpaused(address account)

func (*FlowFilterer) ParseInitialized added in v1.2.2

func (_Flow *FlowFilterer) ParseInitialized(log types.Log) (*FlowInitialized, error)

ParseInitialized is a log parse operation binding the contract event 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2.

Solidity: event Initialized(uint64 version)

func (*FlowFilterer) ParseNewEpoch

func (_Flow *FlowFilterer) ParseNewEpoch(log types.Log) (*FlowNewEpoch, error)

ParseNewEpoch is a log parse operation binding the contract event 0xbc8a3fd82465d43f1709e44ed882f7e1af0147274196ef1ec009f5d52ff4e993.

Solidity: event NewEpoch(address indexed sender, uint256 indexed index, bytes32 startMerkleRoot, uint256 submissionIndex, uint256 flowLength, bytes32 context)

func (*FlowFilterer) ParsePaused added in v1.2.2

func (_Flow *FlowFilterer) ParsePaused(log types.Log) (*FlowPaused, error)

ParsePaused is a log parse operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258.

Solidity: event Paused(address account)

func (*FlowFilterer) ParseRoleAdminChanged added in v1.2.2

func (_Flow *FlowFilterer) ParseRoleAdminChanged(log types.Log) (*FlowRoleAdminChanged, error)

ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.

Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)

func (*FlowFilterer) ParseRoleGranted added in v1.2.2

func (_Flow *FlowFilterer) ParseRoleGranted(log types.Log) (*FlowRoleGranted, error)

ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.

Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)

func (*FlowFilterer) ParseRoleRevoked added in v1.2.2

func (_Flow *FlowFilterer) ParseRoleRevoked(log types.Log) (*FlowRoleRevoked, error)

ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.

Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)

func (*FlowFilterer) ParseSubmit

func (_Flow *FlowFilterer) ParseSubmit(log types.Log) (*FlowSubmit, error)

ParseSubmit is a log parse operation binding the contract event 0x167ce04d2aa1981994d3a31695da0d785373335b1078cec239a1a3a2c7675555.

Solidity: event Submit(address indexed sender, bytes32 indexed identity, uint256 submissionIndex, uint256 startPos, uint256 length, (uint256,bytes,(bytes32,uint256)[]) submission)

func (*FlowFilterer) ParseUnpaused added in v1.2.2

func (_Flow *FlowFilterer) ParseUnpaused(log types.Log) (*FlowUnpaused, error)

ParseUnpaused is a log parse operation binding the contract event 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa.

Solidity: event Unpaused(address account)

func (*FlowFilterer) WatchInitialized added in v1.2.2

func (_Flow *FlowFilterer) WatchInitialized(opts *bind.WatchOpts, sink chan<- *FlowInitialized) (event.Subscription, error)

WatchInitialized is a free log subscription operation binding the contract event 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2.

Solidity: event Initialized(uint64 version)

func (*FlowFilterer) WatchNewEpoch

func (_Flow *FlowFilterer) WatchNewEpoch(opts *bind.WatchOpts, sink chan<- *FlowNewEpoch, sender []common.Address, index []*big.Int) (event.Subscription, error)

WatchNewEpoch is a free log subscription operation binding the contract event 0xbc8a3fd82465d43f1709e44ed882f7e1af0147274196ef1ec009f5d52ff4e993.

Solidity: event NewEpoch(address indexed sender, uint256 indexed index, bytes32 startMerkleRoot, uint256 submissionIndex, uint256 flowLength, bytes32 context)

func (*FlowFilterer) WatchPaused added in v1.2.2

func (_Flow *FlowFilterer) WatchPaused(opts *bind.WatchOpts, sink chan<- *FlowPaused) (event.Subscription, error)

WatchPaused is a free log subscription operation binding the contract event 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258.

Solidity: event Paused(address account)

func (*FlowFilterer) WatchRoleAdminChanged added in v1.2.2

func (_Flow *FlowFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *FlowRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error)

WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.

Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)

func (*FlowFilterer) WatchRoleGranted added in v1.2.2

func (_Flow *FlowFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *FlowRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error)

WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.

Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)

func (*FlowFilterer) WatchRoleRevoked added in v1.2.2

func (_Flow *FlowFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *FlowRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error)

WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.

Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)

func (*FlowFilterer) WatchSubmit

func (_Flow *FlowFilterer) WatchSubmit(opts *bind.WatchOpts, sink chan<- *FlowSubmit, sender []common.Address, identity [][32]byte) (event.Subscription, error)

WatchSubmit is a free log subscription operation binding the contract event 0x167ce04d2aa1981994d3a31695da0d785373335b1078cec239a1a3a2c7675555.

Solidity: event Submit(address indexed sender, bytes32 indexed identity, uint256 submissionIndex, uint256 startPos, uint256 length, (uint256,bytes,(bytes32,uint256)[]) submission)

func (*FlowFilterer) WatchUnpaused added in v1.2.2

func (_Flow *FlowFilterer) WatchUnpaused(opts *bind.WatchOpts, sink chan<- *FlowUnpaused) (event.Subscription, error)

WatchUnpaused is a free log subscription operation binding the contract event 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa.

Solidity: event Unpaused(address account)

type FlowInitialized added in v1.2.2

type FlowInitialized struct {
	Version uint64
	Raw     types.Log // Blockchain specific contextual infos
}

FlowInitialized represents a Initialized event raised by the Flow contract.

type FlowInitializedIterator added in v1.2.2

type FlowInitializedIterator struct {
	Event *FlowInitialized // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

FlowInitializedIterator is returned from FilterInitialized and is used to iterate over the raw logs and unpacked data for Initialized events raised by the Flow contract.

func (*FlowInitializedIterator) Close added in v1.2.2

func (it *FlowInitializedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*FlowInitializedIterator) Error added in v1.2.2

func (it *FlowInitializedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*FlowInitializedIterator) Next added in v1.2.2

func (it *FlowInitializedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type FlowNewEpoch

type FlowNewEpoch struct {
	Sender          common.Address
	Index           *big.Int
	StartMerkleRoot [32]byte
	SubmissionIndex *big.Int
	FlowLength      *big.Int
	Context         [32]byte
	Raw             types.Log // Blockchain specific contextual infos
}

FlowNewEpoch represents a NewEpoch event raised by the Flow contract.

type FlowNewEpochIterator

type FlowNewEpochIterator struct {
	Event *FlowNewEpoch // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

FlowNewEpochIterator is returned from FilterNewEpoch and is used to iterate over the raw logs and unpacked data for NewEpoch events raised by the Flow contract.

func (*FlowNewEpochIterator) Close

func (it *FlowNewEpochIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*FlowNewEpochIterator) Error

func (it *FlowNewEpochIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*FlowNewEpochIterator) Next

func (it *FlowNewEpochIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type FlowPaused added in v1.2.2

type FlowPaused struct {
	Account common.Address
	Raw     types.Log // Blockchain specific contextual infos
}

FlowPaused represents a Paused event raised by the Flow contract.

type FlowPausedIterator added in v1.2.2

type FlowPausedIterator struct {
	Event *FlowPaused // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

FlowPausedIterator is returned from FilterPaused and is used to iterate over the raw logs and unpacked data for Paused events raised by the Flow contract.

func (*FlowPausedIterator) Close added in v1.2.2

func (it *FlowPausedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*FlowPausedIterator) Error added in v1.2.2

func (it *FlowPausedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*FlowPausedIterator) Next added in v1.2.2

func (it *FlowPausedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type FlowRaw

type FlowRaw struct {
	Contract *Flow // Generic contract binding to access the raw methods on
}

FlowRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*FlowRaw) Call

func (_Flow *FlowRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*FlowRaw) Transact

func (_Flow *FlowRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*FlowRaw) Transfer

func (_Flow *FlowRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type FlowRoleAdminChanged added in v1.2.2

type FlowRoleAdminChanged struct {
	Role              [32]byte
	PreviousAdminRole [32]byte
	NewAdminRole      [32]byte
	Raw               types.Log // Blockchain specific contextual infos
}

FlowRoleAdminChanged represents a RoleAdminChanged event raised by the Flow contract.

type FlowRoleAdminChangedIterator added in v1.2.2

type FlowRoleAdminChangedIterator struct {
	Event *FlowRoleAdminChanged // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

FlowRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the Flow contract.

func (*FlowRoleAdminChangedIterator) Close added in v1.2.2

func (it *FlowRoleAdminChangedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*FlowRoleAdminChangedIterator) Error added in v1.2.2

func (it *FlowRoleAdminChangedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*FlowRoleAdminChangedIterator) Next added in v1.2.2

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type FlowRoleGranted added in v1.2.2

type FlowRoleGranted struct {
	Role    [32]byte
	Account common.Address
	Sender  common.Address
	Raw     types.Log // Blockchain specific contextual infos
}

FlowRoleGranted represents a RoleGranted event raised by the Flow contract.

type FlowRoleGrantedIterator added in v1.2.2

type FlowRoleGrantedIterator struct {
	Event *FlowRoleGranted // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

FlowRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the Flow contract.

func (*FlowRoleGrantedIterator) Close added in v1.2.2

func (it *FlowRoleGrantedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*FlowRoleGrantedIterator) Error added in v1.2.2

func (it *FlowRoleGrantedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*FlowRoleGrantedIterator) Next added in v1.2.2

func (it *FlowRoleGrantedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type FlowRoleRevoked added in v1.2.2

type FlowRoleRevoked struct {
	Role    [32]byte
	Account common.Address
	Sender  common.Address
	Raw     types.Log // Blockchain specific contextual infos
}

FlowRoleRevoked represents a RoleRevoked event raised by the Flow contract.

type FlowRoleRevokedIterator added in v1.2.2

type FlowRoleRevokedIterator struct {
	Event *FlowRoleRevoked // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

FlowRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the Flow contract.

func (*FlowRoleRevokedIterator) Close added in v1.2.2

func (it *FlowRoleRevokedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*FlowRoleRevokedIterator) Error added in v1.2.2

func (it *FlowRoleRevokedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*FlowRoleRevokedIterator) Next added in v1.2.2

func (it *FlowRoleRevokedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type FlowSession

type FlowSession struct {
	Contract     *Flow             // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

FlowSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*FlowSession) BatchSubmit

func (_Flow *FlowSession) BatchSubmit(submissions []Submission) (*types.Transaction, error)

BatchSubmit is a paid mutator transaction binding the contract method 0x49aa3395.

Solidity: function batchSubmit(((uint256,bytes,(bytes32,uint256)[]),address)[] submissions) payable returns(uint256[] indexes, bytes32[] digests, uint256[] startIndexes, uint256[] lengths)

func (*FlowSession) BlocksPerEpoch

func (_Flow *FlowSession) BlocksPerEpoch() (*big.Int, error)

BlocksPerEpoch is a free data retrieval call binding the contract method 0xf0682054.

Solidity: function blocksPerEpoch() view returns(uint256)

func (*FlowSession) ComputeFlowRoot added in v1.2.2

func (_Flow *FlowSession) ComputeFlowRoot() (*types.Transaction, error)

ComputeFlowRoot is a paid mutator transaction binding the contract method 0x1deb0fca.

Solidity: function computeFlowRoot() returns(bytes32)

func (*FlowSession) DEFAULTADMINROLE added in v1.2.2

func (_Flow *FlowSession) DEFAULTADMINROLE() ([32]byte, error)

DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.

Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)

func (*FlowSession) DeployDelay added in v1.2.2

func (_Flow *FlowSession) DeployDelay() (*big.Int, error)

DeployDelay is a free data retrieval call binding the contract method 0x9bbbfdbb.

Solidity: function deployDelay() view returns(uint256)

func (*FlowSession) Epoch

func (_Flow *FlowSession) Epoch() (*big.Int, error)

Epoch is a free data retrieval call binding the contract method 0x900cf0cf.

Solidity: function epoch() view returns(uint256)

func (*FlowSession) EpochStartPosition

func (_Flow *FlowSession) EpochStartPosition() (*big.Int, error)

EpochStartPosition is a free data retrieval call binding the contract method 0x93e405a0.

Solidity: function epochStartPosition() view returns(uint256)

func (*FlowSession) FirstBlock

func (_Flow *FlowSession) FirstBlock() (*big.Int, error)

FirstBlock is a free data retrieval call binding the contract method 0x231b0268.

Solidity: function firstBlock() view returns(uint256)

func (*FlowSession) GetContext

func (_Flow *FlowSession) GetContext() (MineContext, error)

GetContext is a free data retrieval call binding the contract method 0x127f0f07.

Solidity: function getContext() view returns((uint256,uint256,bytes32,uint256,bytes32,bytes32))

func (*FlowSession) GetEpochRange

func (_Flow *FlowSession) GetEpochRange(digest [32]byte) (EpochRange, error)

GetEpochRange is a free data retrieval call binding the contract method 0x7d590708.

Solidity: function getEpochRange(bytes32 digest) view returns((uint128,uint128))

func (*FlowSession) GetEpochRangeHistory added in v1.2.2

func (_Flow *FlowSession) GetEpochRangeHistory(index *big.Int) (EpochRangeWithContextDigest, error)

GetEpochRangeHistory is a free data retrieval call binding the contract method 0x4282b532.

Solidity: function getEpochRangeHistory(uint256 index) view returns((uint128,uint128,bytes32))

func (*FlowSession) GetFlowRootByTxSeq added in v1.2.2

func (_Flow *FlowSession) GetFlowRootByTxSeq(txSeq *big.Int) ([32]byte, error)

GetFlowRootByTxSeq is a free data retrieval call binding the contract method 0x6d7ad0fc.

Solidity: function getFlowRootByTxSeq(uint256 txSeq) view returns(bytes32)

func (*FlowSession) GetRoleAdmin added in v1.2.2

func (_Flow *FlowSession) GetRoleAdmin(role [32]byte) ([32]byte, error)

GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.

Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)

func (*FlowSession) GetRoleMember added in v1.2.2

func (_Flow *FlowSession) GetRoleMember(role [32]byte, index *big.Int) (common.Address, error)

GetRoleMember is a free data retrieval call binding the contract method 0x9010d07c.

Solidity: function getRoleMember(bytes32 role, uint256 index) view returns(address)

func (*FlowSession) GetRoleMemberCount added in v1.2.2

func (_Flow *FlowSession) GetRoleMemberCount(role [32]byte) (*big.Int, error)

GetRoleMemberCount is a free data retrieval call binding the contract method 0xca15c873.

Solidity: function getRoleMemberCount(bytes32 role) view returns(uint256)

func (*FlowSession) GrantRole added in v1.2.2

func (_Flow *FlowSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error)

GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.

Solidity: function grantRole(bytes32 role, address account) returns()

func (*FlowSession) HasRole added in v1.2.2

func (_Flow *FlowSession) HasRole(role [32]byte, account common.Address) (bool, error)

HasRole is a free data retrieval call binding the contract method 0x91d14854.

Solidity: function hasRole(bytes32 role, address account) view returns(bool)

func (*FlowSession) Initialize added in v1.2.2

func (_Flow *FlowSession) Initialize(market_ common.Address, blocksPerEpoch_ *big.Int) (*types.Transaction, error)

Initialize is a paid mutator transaction binding the contract method 0xcd6dc687.

Solidity: function initialize(address market_, uint256 blocksPerEpoch_) returns()

func (*FlowSession) MakeContext

func (_Flow *FlowSession) MakeContext() (*types.Transaction, error)

MakeContext is a paid mutator transaction binding the contract method 0x38d45e10.

Solidity: function makeContext() returns()

func (*FlowSession) MakeContextFixedTimes

func (_Flow *FlowSession) MakeContextFixedTimes(cnt *big.Int) (*types.Transaction, error)

MakeContextFixedTimes is a paid mutator transaction binding the contract method 0x18a641ef.

Solidity: function makeContextFixedTimes(uint256 cnt) returns()

func (*FlowSession) MakeContextWithResult

func (_Flow *FlowSession) MakeContextWithResult() (*types.Transaction, error)

MakeContextWithResult is a paid mutator transaction binding the contract method 0xb464b53e.

Solidity: function makeContextWithResult() returns((uint256,uint256,bytes32,uint256,bytes32,bytes32))

func (*FlowSession) Market

func (_Flow *FlowSession) Market() (common.Address, error)

Market is a free data retrieval call binding the contract method 0x80f55605.

Solidity: function market() view returns(address)

func (*FlowSession) NumSubmissions

func (_Flow *FlowSession) NumSubmissions() (*big.Int, error)

NumSubmissions is a free data retrieval call binding the contract method 0x77e19824.

Solidity: function numSubmissions() view returns(uint256)

func (*FlowSession) PAUSERROLE added in v1.2.2

func (_Flow *FlowSession) PAUSERROLE() ([32]byte, error)

PAUSERROLE is a free data retrieval call binding the contract method 0xe63ab1e9.

Solidity: function PAUSER_ROLE() view returns(bytes32)

func (*FlowSession) Pause added in v1.2.2

func (_Flow *FlowSession) Pause() (*types.Transaction, error)

Pause is a paid mutator transaction binding the contract method 0x8456cb59.

Solidity: function pause() returns()

func (*FlowSession) Paused added in v1.2.2

func (_Flow *FlowSession) Paused() (bool, error)

Paused is a free data retrieval call binding the contract method 0x5c975abb.

Solidity: function paused() view returns(bool)

func (*FlowSession) QueryContextAtPosition

func (_Flow *FlowSession) QueryContextAtPosition(targetPosition *big.Int) (*types.Transaction, error)

QueryContextAtPosition is a paid mutator transaction binding the contract method 0x31bae174.

Solidity: function queryContextAtPosition(uint128 targetPosition) returns((uint128,uint128,bytes32) range)

func (*FlowSession) RenounceRole added in v1.2.2

func (_Flow *FlowSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error)

RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.

Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns()

func (*FlowSession) RevokeRole added in v1.2.2

func (_Flow *FlowSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error)

RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.

Solidity: function revokeRole(bytes32 role, address account) returns()

func (*FlowSession) RootHistory

func (_Flow *FlowSession) RootHistory() (common.Address, error)

RootHistory is a free data retrieval call binding the contract method 0xc7dd5221.

Solidity: function rootHistory() view returns(address)

func (*FlowSession) SetParams added in v1.2.2

func (_Flow *FlowSession) SetParams(blocksPerEpoch_ *big.Int, firstBlock_ *big.Int, rootHistory_ common.Address) (*types.Transaction, error)

SetParams is a paid mutator transaction binding the contract method 0xebdec6d3.

Solidity: function setParams(uint256 blocksPerEpoch_, uint256 firstBlock_, address rootHistory_) returns()

func (*FlowSession) SubmissionIndex

func (_Flow *FlowSession) SubmissionIndex() (*big.Int, error)

SubmissionIndex is a free data retrieval call binding the contract method 0xb8a409ac.

Solidity: function submissionIndex() view returns(uint256)

func (*FlowSession) Submit

func (_Flow *FlowSession) Submit(submission Submission) (*types.Transaction, error)

Submit is a paid mutator transaction binding the contract method 0xbc8c11f8.

Solidity: function submit(((uint256,bytes,(bytes32,uint256)[]),address) submission) payable returns(uint256 index, bytes32 digest, uint256 startIndex, uint256 length)

func (*FlowSession) SupportsInterface added in v1.2.2

func (_Flow *FlowSession) SupportsInterface(interfaceId [4]byte) (bool, error)

SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.

Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)

func (*FlowSession) Tree

func (_Flow *FlowSession) Tree() (struct {
	CurrentLength  *big.Int
	UnstagedHeight *big.Int
}, error)

Tree is a free data retrieval call binding the contract method 0xfd54b228.

Solidity: function tree() view returns(uint256 currentLength, uint256 unstagedHeight)

func (*FlowSession) Unpause added in v1.2.2

func (_Flow *FlowSession) Unpause() (*types.Transaction, error)

Unpause is a paid mutator transaction binding the contract method 0x3f4ba83a.

Solidity: function unpause() returns()

type FlowSubmit

type FlowSubmit struct {
	Sender          common.Address
	Identity        [32]byte
	SubmissionIndex *big.Int
	StartPos        *big.Int
	Length          *big.Int
	Submission      SubmissionData
	Raw             types.Log // Blockchain specific contextual infos
}

FlowSubmit represents a Submit event raised by the Flow contract.

type FlowSubmitIterator

type FlowSubmitIterator struct {
	Event *FlowSubmit // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

FlowSubmitIterator is returned from FilterSubmit and is used to iterate over the raw logs and unpacked data for Submit events raised by the Flow contract.

func (*FlowSubmitIterator) Close

func (it *FlowSubmitIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*FlowSubmitIterator) Error

func (it *FlowSubmitIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*FlowSubmitIterator) Next

func (it *FlowSubmitIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type FlowTransactor

type FlowTransactor struct {
	// contains filtered or unexported fields
}

FlowTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewFlowTransactor

func NewFlowTransactor(address common.Address, transactor bind.ContractTransactor) (*FlowTransactor, error)

NewFlowTransactor creates a new write-only instance of Flow, bound to a specific deployed contract.

func (*FlowTransactor) BatchSubmit

func (_Flow *FlowTransactor) BatchSubmit(opts *bind.TransactOpts, submissions []Submission) (*types.Transaction, error)

BatchSubmit is a paid mutator transaction binding the contract method 0x49aa3395.

Solidity: function batchSubmit(((uint256,bytes,(bytes32,uint256)[]),address)[] submissions) payable returns(uint256[] indexes, bytes32[] digests, uint256[] startIndexes, uint256[] lengths)

func (*FlowTransactor) ComputeFlowRoot added in v1.2.2

func (_Flow *FlowTransactor) ComputeFlowRoot(opts *bind.TransactOpts) (*types.Transaction, error)

ComputeFlowRoot is a paid mutator transaction binding the contract method 0x1deb0fca.

Solidity: function computeFlowRoot() returns(bytes32)

func (*FlowTransactor) GrantRole added in v1.2.2

func (_Flow *FlowTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error)

GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.

Solidity: function grantRole(bytes32 role, address account) returns()

func (*FlowTransactor) Initialize added in v1.2.2

func (_Flow *FlowTransactor) Initialize(opts *bind.TransactOpts, market_ common.Address, blocksPerEpoch_ *big.Int) (*types.Transaction, error)

Initialize is a paid mutator transaction binding the contract method 0xcd6dc687.

Solidity: function initialize(address market_, uint256 blocksPerEpoch_) returns()

func (*FlowTransactor) MakeContext

func (_Flow *FlowTransactor) MakeContext(opts *bind.TransactOpts) (*types.Transaction, error)

MakeContext is a paid mutator transaction binding the contract method 0x38d45e10.

Solidity: function makeContext() returns()

func (*FlowTransactor) MakeContextFixedTimes

func (_Flow *FlowTransactor) MakeContextFixedTimes(opts *bind.TransactOpts, cnt *big.Int) (*types.Transaction, error)

MakeContextFixedTimes is a paid mutator transaction binding the contract method 0x18a641ef.

Solidity: function makeContextFixedTimes(uint256 cnt) returns()

func (*FlowTransactor) MakeContextWithResult

func (_Flow *FlowTransactor) MakeContextWithResult(opts *bind.TransactOpts) (*types.Transaction, error)

MakeContextWithResult is a paid mutator transaction binding the contract method 0xb464b53e.

Solidity: function makeContextWithResult() returns((uint256,uint256,bytes32,uint256,bytes32,bytes32))

func (*FlowTransactor) Pause added in v1.2.2

func (_Flow *FlowTransactor) Pause(opts *bind.TransactOpts) (*types.Transaction, error)

Pause is a paid mutator transaction binding the contract method 0x8456cb59.

Solidity: function pause() returns()

func (*FlowTransactor) QueryContextAtPosition

func (_Flow *FlowTransactor) QueryContextAtPosition(opts *bind.TransactOpts, targetPosition *big.Int) (*types.Transaction, error)

QueryContextAtPosition is a paid mutator transaction binding the contract method 0x31bae174.

Solidity: function queryContextAtPosition(uint128 targetPosition) returns((uint128,uint128,bytes32) range)

func (*FlowTransactor) RenounceRole added in v1.2.2

func (_Flow *FlowTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, callerConfirmation common.Address) (*types.Transaction, error)

RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.

Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns()

func (*FlowTransactor) RevokeRole added in v1.2.2

func (_Flow *FlowTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error)

RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.

Solidity: function revokeRole(bytes32 role, address account) returns()

func (*FlowTransactor) SetParams added in v1.2.2

func (_Flow *FlowTransactor) SetParams(opts *bind.TransactOpts, blocksPerEpoch_ *big.Int, firstBlock_ *big.Int, rootHistory_ common.Address) (*types.Transaction, error)

SetParams is a paid mutator transaction binding the contract method 0xebdec6d3.

Solidity: function setParams(uint256 blocksPerEpoch_, uint256 firstBlock_, address rootHistory_) returns()

func (*FlowTransactor) Submit

func (_Flow *FlowTransactor) Submit(opts *bind.TransactOpts, submission Submission) (*types.Transaction, error)

Submit is a paid mutator transaction binding the contract method 0xbc8c11f8.

Solidity: function submit(((uint256,bytes,(bytes32,uint256)[]),address) submission) payable returns(uint256 index, bytes32 digest, uint256 startIndex, uint256 length)

func (*FlowTransactor) Unpause added in v1.2.2

func (_Flow *FlowTransactor) Unpause(opts *bind.TransactOpts) (*types.Transaction, error)

Unpause is a paid mutator transaction binding the contract method 0x3f4ba83a.

Solidity: function unpause() returns()

type FlowTransactorRaw

type FlowTransactorRaw struct {
	Contract *FlowTransactor // Generic write-only contract binding to access the raw methods on
}

FlowTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*FlowTransactorRaw) Transact

func (_Flow *FlowTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*FlowTransactorRaw) Transfer

func (_Flow *FlowTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type FlowTransactorSession

type FlowTransactorSession struct {
	Contract     *FlowTransactor   // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

FlowTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*FlowTransactorSession) BatchSubmit

func (_Flow *FlowTransactorSession) BatchSubmit(submissions []Submission) (*types.Transaction, error)

BatchSubmit is a paid mutator transaction binding the contract method 0x49aa3395.

Solidity: function batchSubmit(((uint256,bytes,(bytes32,uint256)[]),address)[] submissions) payable returns(uint256[] indexes, bytes32[] digests, uint256[] startIndexes, uint256[] lengths)

func (*FlowTransactorSession) ComputeFlowRoot added in v1.2.2

func (_Flow *FlowTransactorSession) ComputeFlowRoot() (*types.Transaction, error)

ComputeFlowRoot is a paid mutator transaction binding the contract method 0x1deb0fca.

Solidity: function computeFlowRoot() returns(bytes32)

func (*FlowTransactorSession) GrantRole added in v1.2.2

func (_Flow *FlowTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error)

GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.

Solidity: function grantRole(bytes32 role, address account) returns()

func (*FlowTransactorSession) Initialize added in v1.2.2

func (_Flow *FlowTransactorSession) Initialize(market_ common.Address, blocksPerEpoch_ *big.Int) (*types.Transaction, error)

Initialize is a paid mutator transaction binding the contract method 0xcd6dc687.

Solidity: function initialize(address market_, uint256 blocksPerEpoch_) returns()

func (*FlowTransactorSession) MakeContext

func (_Flow *FlowTransactorSession) MakeContext() (*types.Transaction, error)

MakeContext is a paid mutator transaction binding the contract method 0x38d45e10.

Solidity: function makeContext() returns()

func (*FlowTransactorSession) MakeContextFixedTimes

func (_Flow *FlowTransactorSession) MakeContextFixedTimes(cnt *big.Int) (*types.Transaction, error)

MakeContextFixedTimes is a paid mutator transaction binding the contract method 0x18a641ef.

Solidity: function makeContextFixedTimes(uint256 cnt) returns()

func (*FlowTransactorSession) MakeContextWithResult

func (_Flow *FlowTransactorSession) MakeContextWithResult() (*types.Transaction, error)

MakeContextWithResult is a paid mutator transaction binding the contract method 0xb464b53e.

Solidity: function makeContextWithResult() returns((uint256,uint256,bytes32,uint256,bytes32,bytes32))

func (*FlowTransactorSession) Pause added in v1.2.2

func (_Flow *FlowTransactorSession) Pause() (*types.Transaction, error)

Pause is a paid mutator transaction binding the contract method 0x8456cb59.

Solidity: function pause() returns()

func (*FlowTransactorSession) QueryContextAtPosition

func (_Flow *FlowTransactorSession) QueryContextAtPosition(targetPosition *big.Int) (*types.Transaction, error)

QueryContextAtPosition is a paid mutator transaction binding the contract method 0x31bae174.

Solidity: function queryContextAtPosition(uint128 targetPosition) returns((uint128,uint128,bytes32) range)

func (*FlowTransactorSession) RenounceRole added in v1.2.2

func (_Flow *FlowTransactorSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error)

RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.

Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns()

func (*FlowTransactorSession) RevokeRole added in v1.2.2

func (_Flow *FlowTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error)

RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.

Solidity: function revokeRole(bytes32 role, address account) returns()

func (*FlowTransactorSession) SetParams added in v1.2.2

func (_Flow *FlowTransactorSession) SetParams(blocksPerEpoch_ *big.Int, firstBlock_ *big.Int, rootHistory_ common.Address) (*types.Transaction, error)

SetParams is a paid mutator transaction binding the contract method 0xebdec6d3.

Solidity: function setParams(uint256 blocksPerEpoch_, uint256 firstBlock_, address rootHistory_) returns()

func (*FlowTransactorSession) Submit

func (_Flow *FlowTransactorSession) Submit(submission Submission) (*types.Transaction, error)

Submit is a paid mutator transaction binding the contract method 0xbc8c11f8.

Solidity: function submit(((uint256,bytes,(bytes32,uint256)[]),address) submission) payable returns(uint256 index, bytes32 digest, uint256 startIndex, uint256 length)

func (*FlowTransactorSession) Unpause added in v1.2.2

func (_Flow *FlowTransactorSession) Unpause() (*types.Transaction, error)

Unpause is a paid mutator transaction binding the contract method 0x3f4ba83a.

Solidity: function unpause() returns()

type FlowUnpaused added in v1.2.2

type FlowUnpaused struct {
	Account common.Address
	Raw     types.Log // Blockchain specific contextual infos
}

FlowUnpaused represents a Unpaused event raised by the Flow contract.

type FlowUnpausedIterator added in v1.2.2

type FlowUnpausedIterator struct {
	Event *FlowUnpaused // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

FlowUnpausedIterator is returned from FilterUnpaused and is used to iterate over the raw logs and unpacked data for Unpaused events raised by the Flow contract.

func (*FlowUnpausedIterator) Close added in v1.2.2

func (it *FlowUnpausedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*FlowUnpausedIterator) Error added in v1.2.2

func (it *FlowUnpausedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*FlowUnpausedIterator) Next added in v1.2.2

func (it *FlowUnpausedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type Market

type Market struct {
	MarketCaller     // Read-only binding to the contract
	MarketTransactor // Write-only binding to the contract
	MarketFilterer   // Log filterer for contract events
}

Market is an auto generated Go binding around an Ethereum contract.

func NewMarket

func NewMarket(address common.Address, backend bind.ContractBackend) (*Market, error)

NewMarket creates a new instance of Market, bound to a specific deployed contract.

type MarketCaller

type MarketCaller struct {
	// contains filtered or unexported fields
}

MarketCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewMarketCaller

func NewMarketCaller(address common.Address, caller bind.ContractCaller) (*MarketCaller, error)

NewMarketCaller creates a new read-only instance of Market, bound to a specific deployed contract.

func (*MarketCaller) Flow

func (_Market *MarketCaller) Flow(opts *bind.CallOpts) (common.Address, error)

Flow is a free data retrieval call binding the contract method 0x343aad82.

Solidity: function flow() view returns(address)

func (*MarketCaller) PricePerSector

func (_Market *MarketCaller) PricePerSector(opts *bind.CallOpts) (*big.Int, error)

PricePerSector is a free data retrieval call binding the contract method 0x61ec5082.

Solidity: function pricePerSector() view returns(uint256)

func (*MarketCaller) Reward

func (_Market *MarketCaller) Reward(opts *bind.CallOpts) (common.Address, error)

Reward is a free data retrieval call binding the contract method 0x228cb733.

Solidity: function reward() view returns(address)

type MarketCallerRaw

type MarketCallerRaw struct {
	Contract *MarketCaller // Generic read-only contract binding to access the raw methods on
}

MarketCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*MarketCallerRaw) Call

func (_Market *MarketCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type MarketCallerSession

type MarketCallerSession struct {
	Contract *MarketCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts // Call options to use throughout this session
}

MarketCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*MarketCallerSession) Flow

func (_Market *MarketCallerSession) Flow() (common.Address, error)

Flow is a free data retrieval call binding the contract method 0x343aad82.

Solidity: function flow() view returns(address)

func (*MarketCallerSession) PricePerSector

func (_Market *MarketCallerSession) PricePerSector() (*big.Int, error)

PricePerSector is a free data retrieval call binding the contract method 0x61ec5082.

Solidity: function pricePerSector() view returns(uint256)

func (*MarketCallerSession) Reward

func (_Market *MarketCallerSession) Reward() (common.Address, error)

Reward is a free data retrieval call binding the contract method 0x228cb733.

Solidity: function reward() view returns(address)

type MarketFilterer

type MarketFilterer struct {
	// contains filtered or unexported fields
}

MarketFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewMarketFilterer

func NewMarketFilterer(address common.Address, filterer bind.ContractFilterer) (*MarketFilterer, error)

NewMarketFilterer creates a new log filterer instance of Market, bound to a specific deployed contract.

type MarketRaw

type MarketRaw struct {
	Contract *Market // Generic contract binding to access the raw methods on
}

MarketRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*MarketRaw) Call

func (_Market *MarketRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*MarketRaw) Transact

func (_Market *MarketRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*MarketRaw) Transfer

func (_Market *MarketRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type MarketSession

type MarketSession struct {
	Contract     *Market           // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

MarketSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*MarketSession) ChargeFee

func (_Market *MarketSession) ChargeFee(beforeLength *big.Int, uploadSectors *big.Int, paddingSectors *big.Int) (*types.Transaction, error)

ChargeFee is a paid mutator transaction binding the contract method 0xda6eb36a.

Solidity: function chargeFee(uint256 beforeLength, uint256 uploadSectors, uint256 paddingSectors) returns()

func (*MarketSession) Flow

func (_Market *MarketSession) Flow() (common.Address, error)

Flow is a free data retrieval call binding the contract method 0x343aad82.

Solidity: function flow() view returns(address)

func (*MarketSession) PricePerSector

func (_Market *MarketSession) PricePerSector() (*big.Int, error)

PricePerSector is a free data retrieval call binding the contract method 0x61ec5082.

Solidity: function pricePerSector() view returns(uint256)

func (*MarketSession) Reward

func (_Market *MarketSession) Reward() (common.Address, error)

Reward is a free data retrieval call binding the contract method 0x228cb733.

Solidity: function reward() view returns(address)

func (*MarketSession) SetPricePerSector

func (_Market *MarketSession) SetPricePerSector(pricePerSector_ *big.Int) (*types.Transaction, error)

SetPricePerSector is a paid mutator transaction binding the contract method 0x14aa90a1.

Solidity: function setPricePerSector(uint256 pricePerSector_) returns()

type MarketTransactor

type MarketTransactor struct {
	// contains filtered or unexported fields
}

MarketTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewMarketTransactor

func NewMarketTransactor(address common.Address, transactor bind.ContractTransactor) (*MarketTransactor, error)

NewMarketTransactor creates a new write-only instance of Market, bound to a specific deployed contract.

func (*MarketTransactor) ChargeFee

func (_Market *MarketTransactor) ChargeFee(opts *bind.TransactOpts, beforeLength *big.Int, uploadSectors *big.Int, paddingSectors *big.Int) (*types.Transaction, error)

ChargeFee is a paid mutator transaction binding the contract method 0xda6eb36a.

Solidity: function chargeFee(uint256 beforeLength, uint256 uploadSectors, uint256 paddingSectors) returns()

func (*MarketTransactor) SetPricePerSector

func (_Market *MarketTransactor) SetPricePerSector(opts *bind.TransactOpts, pricePerSector_ *big.Int) (*types.Transaction, error)

SetPricePerSector is a paid mutator transaction binding the contract method 0x14aa90a1.

Solidity: function setPricePerSector(uint256 pricePerSector_) returns()

type MarketTransactorRaw

type MarketTransactorRaw struct {
	Contract *MarketTransactor // Generic write-only contract binding to access the raw methods on
}

MarketTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*MarketTransactorRaw) Transact

func (_Market *MarketTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*MarketTransactorRaw) Transfer

func (_Market *MarketTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type MarketTransactorSession

type MarketTransactorSession struct {
	Contract     *MarketTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

MarketTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*MarketTransactorSession) ChargeFee

func (_Market *MarketTransactorSession) ChargeFee(beforeLength *big.Int, uploadSectors *big.Int, paddingSectors *big.Int) (*types.Transaction, error)

ChargeFee is a paid mutator transaction binding the contract method 0xda6eb36a.

Solidity: function chargeFee(uint256 beforeLength, uint256 uploadSectors, uint256 paddingSectors) returns()

func (*MarketTransactorSession) SetPricePerSector

func (_Market *MarketTransactorSession) SetPricePerSector(pricePerSector_ *big.Int) (*types.Transaction, error)

SetPricePerSector is a paid mutator transaction binding the contract method 0x14aa90a1.

Solidity: function setPricePerSector(uint256 pricePerSector_) returns()

type MineContext

type MineContext struct {
	Epoch       *big.Int
	MineStart   *big.Int
	FlowRoot    [32]byte
	FlowLength  *big.Int
	BlockDigest [32]byte
	Digest      [32]byte
}

MineContext is an auto generated low-level Go binding around an user-defined struct.

type Submission

type Submission struct {
	Data      SubmissionData
	Submitter common.Address
}

Submission is an auto generated low-level Go binding around an user-defined struct.

func (Submission) Fee

func (submission Submission) Fee(pricePerSector *big.Int) *big.Int

func (Submission) Root

func (submission Submission) Root() common.Hash

func (Submission) String

func (submission Submission) String() string

type SubmissionData added in v1.2.2

type SubmissionData struct {
	Length *big.Int
	Tags   []byte
	Nodes  []SubmissionNode
}

SubmissionData is an auto generated low-level Go binding around an user-defined struct.

type SubmissionNode

type SubmissionNode struct {
	Root   [32]byte
	Height *big.Int
}

SubmissionNode is an auto generated low-level Go binding around an user-defined struct.

type TxRetryOption

type TxRetryOption struct {
	Timeout          time.Duration
	MaxNonGasRetries int
	MaxGasPrice      *big.Int
	Step             int64
}