Documentation ¶
Overview ¶
Package types contains common types
Index ¶
- Constants
- func ChainGassesToSnapGas(chainGasses []ChainGas) (snapGasses []*big.Int, err error)
- func EncodeAgentStatus(agentStatus AgentStatus) ([]byte, error)
- func EncodeBaseMessage(m BaseMessage) ([]byte, error)
- func EncodeChainGas(chainGas ChainGas) ([]byte, error)
- func EncodeGasData(gasData GasData) ([]byte, error)
- func EncodeHeader(header Header) ([]byte, error)
- func EncodeMessage(m Message) ([]byte, error)
- func EncodeRequest(m Request) ([]byte, error)
- func EncodeSignature(sig Signature) ([]byte, error)
- func EncodeTips(tips Tips) ([]byte, error)
- func EncodeTipsBigInt(tips Tips) (*big.Int, error)
- func GetAttestationDataHash(agentRoot [32]byte, snapGasHash [32]byte) [32]byte
- func HasAttestation(data StateValidationData) bool
- func HashRawBytes(rawBytes []byte) (common.Hash, error)
- func TotalTips(tips Tips) *big.Int
- type AgentFlagType
- type AgentStatus
- type AgentStatusRelayedState
- type AgentTree
- type Attestation
- type AttestationSubmitted
- type AttestationWithMetadata
- func (a *AttestationWithMetadata) Agent() common.Address
- func (a *AttestationWithMetadata) AgentDomain() uint32
- func (a *AttestationWithMetadata) AttestationPayload() []byte
- func (a *AttestationWithMetadata) AttestationSignature() []byte
- func (a *AttestationWithMetadata) SetSnapshotPayload(snapshotPayload []byte)
- func (a *AttestationWithMetadata) SnapshotPayload() []byte
- func (a *AttestationWithMetadata) SnapshotSignature() []byte
- type BaseMessage
- type ChainGas
- type ChainType
- type CommittedMessage
- type CommittedMessageEncoder
- type DisputeFlagType
- type DisputeProcessedStatus
- type DisputeStatus
- type Encoder
- type GasData
- type Header
- type Message
- type MessageFlag
- type NotaryAttestation
- type Proof
- type ProofEncoder
- type Receipt
- type Request
- type Signature
- type Snapshot
- type SnapshotWithMetadata
- func (s *SnapshotWithMetadata) Agent() common.Address
- func (s *SnapshotWithMetadata) AgentDomain() uint32
- func (s *SnapshotWithMetadata) AttestationPayload() []byte
- func (s *SnapshotWithMetadata) AttestationSignature() []byte
- func (s *SnapshotWithMetadata) SnapshotPayload() []byte
- func (s *SnapshotWithMetadata) SnapshotSignature() []byte
- type State
- type StateValidationData
- type Tips
Constants ¶
const ( // BaseMessageTipsOffset is the tips offset. BaseMessageTipsOffset = 0 // BaseMessageSenderOffset is the sender offset. BaseMessageSenderOffset = 32 // BaseMessageRecipientOffset is the recipient offset. BaseMessageRecipientOffset = 64 // BaseMessageRequestOffset is the request offset. BaseMessageRequestOffset = BaseMessageRecipientOffset + TipsSize // BaseMessageContentOffset is the content offset. BaseMessageContentOffset = BaseMessageRequestOffset + RequestSize )
const ( // MessageFlagSize if the size in bytes of a message flag. MessageFlagSize = 1 // MessageHeaderSize is the size in bytes of a message header. MessageHeaderSize = 4*4 + MessageFlagSize )
const ( // VersionOffset is the offset of the version. VersionOffset = 0 // GasLimitOffset if the offset of the gas limit. GasLimitOffset = 4 // GasDropOffset is the gas drop offset. GasDropOffset = 12 // RequestSize is the size of the request. RequestSize = 24 )
const ( // TipsSize is the size of the tips in bytes. TipsSize = 8 * 4 // ShiftSummitTip is the shift for the summit tip. ShiftSummitTip = 24 * 8 // ShiftAttestationTip is the shift for the attestation tip. ShiftAttestationTip = 16 * 8 // ShiftExecutionTip is the shift for the execution tip. ShiftExecutionTip = 8 * 8 )
const AttestationInvalidSalt = "ATTESTATION_INVALID_SALT"
AttestationInvalidSalt is the salt for ATTESTATION_INVALID_SALT.
const AttestationValidSalt = "ATTESTATION_VALID_SALT"
AttestationValidSalt is the salt for ATTESTATION_VALID_SALT.
const ( // MessageBodyOffset is the message body offset. MessageBodyOffset = MessageHeaderSize )
const ReceiptInvalidSalt = "RECEIPT_INVALID_SALT"
ReceiptInvalidSalt is the salt for RECEIPT_INVALID_SALT.
const ReceiptValidSalt = "RECEIPT_VALID_SALT"
ReceiptValidSalt is the salt for RECEIPT_VALID_SALT.
const SignatureLength = int(65)
SignatureLength for ecdsa signature.
const SnapshotValidSalt = "SNAPSHOT_VALID_SALT"
SnapshotValidSalt is the salt for SNAPSHOT_VALID_SALT.
const StateInvalidSalt = "STATE_INVALID_SALT"
StateInvalidSalt is the salt for STATE_INVALID_SALT.
Variables ¶
This section is empty.
Functions ¶
func ChainGassesToSnapGas ¶ added in v0.0.239
ChainGassesToSnapGas converts a slice of ChainGas to a slice of big.Int.
func EncodeAgentStatus ¶ added in v0.0.171
func EncodeAgentStatus(agentStatus AgentStatus) ([]byte, error)
EncodeAgentStatus encodes a agent status.
func EncodeBaseMessage ¶ added in v0.0.171
func EncodeBaseMessage(m BaseMessage) ([]byte, error)
EncodeBaseMessage encodes a base message.
func EncodeChainGas ¶ added in v0.0.171
EncodeChainGas encodes a chaingas.
func EncodeGasData ¶ added in v0.0.171
EncodeGasData encodes a gasdata.
func EncodeHeader ¶
EncodeHeader encodes a message header.
func EncodeRequest ¶ added in v0.0.171
EncodeRequest encodes a request.
func EncodeSignature ¶
EncodeSignature encodes a signature.
func EncodeTipsBigInt ¶ added in v0.0.239
EncodeTipsBigInt encodes a list of tips into a big int.
func GetAttestationDataHash ¶ added in v0.0.239
GetAttestationDataHash generates the data hash from the agent root and SnapGasHash.
func HasAttestation ¶ added in v0.0.245
func HasAttestation(data StateValidationData) bool
HasAttestation indicates whether the data corresponds to an attestation (or a snapshot, if false).
func HashRawBytes ¶ added in v0.0.58
HashRawBytes takes the raw bytes and produces a hash.
Types ¶
type AgentFlagType ¶ added in v0.0.185
type AgentFlagType uint8
AgentFlagType is the type for the Agent Status Flag.
const ( // AgentFlagUnknown means agent is not part of agent set. AgentFlagUnknown AgentFlagType = iota // AgentFlagActive means agent is active. AgentFlagActive // AgentFlagUnstaking means agent is unstaking. AgentFlagUnstaking // AgentFlagResting means agent has staked but not currently doing any work. AgentFlagResting // AgentFlagFraudulent means agent has been accused of fraud and is awaiting fraud resolution. AgentFlagFraudulent // AgentFlagSlashed means that the agent has been slashed and will not be a part of agent set in the next epoch. AgentFlagSlashed )
func (AgentFlagType) String ¶ added in v0.0.185
func (i AgentFlagType) String() string
type AgentStatus ¶ added in v0.0.171
type AgentStatus interface { // Flag is the current status flag of the agent. Flag() AgentFlagType // Domain that agent is assigned to. Domain() uint32 // Index of the agent in list of agents. Index() uint32 }
AgentStatus is the agent status interface.
func DecodeAgentStatus ¶ added in v0.0.171
func DecodeAgentStatus(toDecode []byte) (AgentStatus, error)
DecodeAgentStatus decodes an agent status.
func NewAgentStatus ¶ added in v0.0.171
func NewAgentStatus(flag AgentFlagType, domain, index uint32) AgentStatus
NewAgentStatus creates a new agent status.
type AgentStatusRelayedState ¶ added in v0.0.239
type AgentStatusRelayedState uint8
AgentStatusRelayedState represents the state of a RelayableAgentStatus model.
const ( // Queued is when an agent status has been updated on Summit, but has not been relayed to the remote chain. Queued AgentStatusRelayedState = iota // Relayed is when the agent status has been relayed to the remote chain. Relayed )
type AgentTree ¶ added in v0.0.239
type AgentTree struct { // AgentRoot is the root of the agent tree. AgentRoot string // AgentAddress is the address of the agent for the Merkle proof. AgentAddress common.Address // AgentDomain is the domain of the agent. AgentDomain uint32 // UpdatedAgentFlag is the updated agent flag corresponding to the agent tree. UpdatedAgentFlag AgentFlagType // BlockNumber is the block number that the agent tree was updated (on summit). BlockNumber uint64 // Proof is the agent tree proof. Proof [][32]byte }
AgentTree is a version of the database AgentTree model with solidity-compatible types.
type Attestation ¶
type Attestation interface { Encoder // SnapshotRoot is the root of the Snapshot Merkle Tree. SnapshotRoot() [32]byte // DataHash is the agent root and SnapGasHash combined into a single hash. DataHash() [32]byte // Nonce is the attestation nonce. Nonce() uint32 // BlockNumber is the block number when the attestation was created in Summit. BlockNumber() *big.Int // Timestamp is the timestamp when the attestation was created in Summit. Timestamp() *big.Int // SignAttestation signs the attestation SignAttestation(ctx context.Context, signer signer.Signer, valid bool) (signer.Signature, []byte, common.Hash, error) }
Attestation is the attestation interface.
func DecodeAttestation ¶
func DecodeAttestation(toDecode []byte) (Attestation, error)
DecodeAttestation decodes an attestation.
func NewAttestation ¶
func NewAttestation(snapshotRoot [32]byte, dataHash [32]byte, nonce uint32, blockNumber *big.Int, timestamp *big.Int) Attestation
NewAttestation creates a new attestation.
type AttestationSubmitted ¶
type AttestationSubmitted interface { // Notary gets the notary of the attestation. Notary() common.Hash // Attestation gets the raw bytes of the attestation. Attestation() []byte }
AttestationSubmitted is the type emitted by the AttestationCollector when an attestation is submitted.
func NewAttestationSubmitted ¶
func NewAttestationSubmitted(notary common.Hash, attestation []byte) AttestationSubmitted
NewAttestationSubmitted creates a new attestation submitted type.
type AttestationWithMetadata ¶ added in v0.0.245
type AttestationWithMetadata struct { // Attestation is the underlying attestation. Attestation Attestation // contains filtered or unexported fields }
AttestationWithMetadata is an attestation that was submitted by a Notary and was deemed fraudulent.
func NewAttestationWithMetadata ¶ added in v0.0.245
func NewAttestationWithMetadata(attestationPayload []byte, agentDomain uint32, notary common.Address, attSignature []byte) (*AttestationWithMetadata, error)
NewAttestationWithMetadata creates a new AttestationWithMetadata from the attestation payload, domain, notary and attestation signature.
func (*AttestationWithMetadata) Agent ¶ added in v0.0.245
func (a *AttestationWithMetadata) Agent() common.Address
Agent returns the agent that submitted the attestation.
func (*AttestationWithMetadata) AgentDomain ¶ added in v0.0.245
func (a *AttestationWithMetadata) AgentDomain() uint32
AgentDomain returns the domain of the agent that submitted the attestation.
func (*AttestationWithMetadata) AttestationPayload ¶ added in v0.0.245
func (a *AttestationWithMetadata) AttestationPayload() []byte
AttestationPayload returns the attestation payload.
func (*AttestationWithMetadata) AttestationSignature ¶ added in v0.0.245
func (a *AttestationWithMetadata) AttestationSignature() []byte
AttestationSignature returns the attestation signature.
func (*AttestationWithMetadata) SetSnapshotPayload ¶ added in v0.0.245
func (a *AttestationWithMetadata) SetSnapshotPayload(snapshotPayload []byte)
SetSnapshotPayload sets the snapshot payload.
func (*AttestationWithMetadata) SnapshotPayload ¶ added in v0.0.245
func (a *AttestationWithMetadata) SnapshotPayload() []byte
SnapshotPayload returns the snapshot payload.
func (*AttestationWithMetadata) SnapshotSignature ¶ added in v0.0.245
func (a *AttestationWithMetadata) SnapshotSignature() []byte
SnapshotSignature returns the nil, since the data corresponds to an attestation.
type BaseMessage ¶ added in v0.0.171
type BaseMessage interface { // Sender address on origin chain. Sender() [32]byte // Recipient address on destination chain. Recipient() [32]byte // Tips paid on the origin chain. Tips() Tips // Request gets the message request. Request() Request // Content to be passed to recipient. Content() []byte // BodyLeaf gets the message body. BodyLeaf() ([]byte, error) // Leaf gets the message leaf. Leaf() ([32]byte, error) }
BaseMessage is an interface that contains the base message.
func DecodeBaseMessage ¶ added in v0.0.171
func DecodeBaseMessage(toDecode []byte) (BaseMessage, error)
DecodeBaseMessage decodes a base message typed mem view.
func NewBaseMessage ¶ added in v0.0.171
func NewBaseMessage(sender, recipient [32]byte, tips Tips, request Request, content []byte) BaseMessage
NewBaseMessage creates a new message from fields passed in.
type ChainGas ¶ added in v0.0.171
type ChainGas interface { // GasData is the gas data for the chain. GasData() GasData // Domain is domain id of the chain. Domain() uint32 }
ChainGas is the ChainGas interface.
func DecodeChainGas ¶ added in v0.0.171
DecodeChainGas decodes a chainGas.
func NewChainGas ¶ added in v0.0.171
NewChainGas creates a new chaingas.
type ChainType ¶
type ChainType uint8
ChainType is the type of chain being used (e.g. evm).
const ( // EVM is a chain that conforms to the evm standard. EVM ChainType = 0 )
func AllChainTypes ¶
func AllChainTypes() []ChainType
AllChainTypes gets all chain types for the chain.
type CommittedMessage ¶
type CommittedMessage interface { // Message is the fully detailed message that was committed Message() []byte // Leaf gets a leaf Leaf() [32]byte // Encode encodes a message Encode() ([]byte, error) }
CommittedMessage is the message that got committed.
func DecodeCommittedMessage ¶
func DecodeCommittedMessage(rawMessage []byte) (CommittedMessage, error)
DecodeCommittedMessage decodes a committed message into a struct.
func NewCommittedMessage ¶
func NewCommittedMessage(message []byte) CommittedMessage
NewCommittedMessage creates a new committed message.
type CommittedMessageEncoder ¶
CommittedMessageEncoder is used to export fields for struct encoding.
type DisputeFlagType ¶ added in v0.0.239
type DisputeFlagType uint8
DisputeFlagType is the type for the Dispute Status Flag.
const ( // DisputeFlagNone means agent is not in dispute. DisputeFlagNone DisputeFlagType = iota // DisputeFlagPending means agent is in unresolved dispute. DisputeFlagPending // DisputeFlagSlashed means agent was in dispute that lead to agent being slashed. DisputeFlagSlashed )
func (DisputeFlagType) String ¶ added in v0.0.239
func (i DisputeFlagType) String() string
type DisputeProcessedStatus ¶ added in v0.0.239
type DisputeProcessedStatus uint8
DisputeProcessedStatus is the status of a dispute on Summit. This enum is used for tracking the status of disputes in the Dispute db model.
const ( // Opened is when a dispute has been opened but has not been resolved. Opened DisputeProcessedStatus = iota // Resolved is when a dispute has been resolved on Summit, but agent status has not been updated on the remote chain. Resolved // Propagated is when a dispute has been resolved on Summit, and agent status has been updated on the remote chain. Propagated )
type DisputeStatus ¶ added in v0.0.239
type DisputeStatus interface { // Flag is the current status flag of the dispute. Flag() DisputeFlagType // Rival is the address of the rival. Rival() common.Address // FraudProver is the address of the fraud prover for this dispute. FraudProver() common.Address // DisputePtr is the index of the dispute. DisputePtr() *big.Int }
DisputeStatus is the dispute status interface.
func NewDisputeStatus ¶ added in v0.0.239
func NewDisputeStatus(flag DisputeFlagType, rival, fraudProver common.Address, disputePtr *big.Int) DisputeStatus
NewDisputeStatus creates a new dispute status.
type GasData ¶ added in v0.0.171
type GasData interface { // GasPrice is the gas price for the chain (in Wei per gas unit). GasPrice() uint16 // DataPrice is the calldata price (in Wei per byte of content). DataPrice() uint16 // ExecBuffer is the tx fee safety buffer for message execution (in Wei). ExecBuffer() uint16 // AmortAttCost is the amortized cost for attestation submission (in Wei). AmortAttCost() uint16 // EtherPrice is the chain's Ether Price / Mainnet Ether Price (in BWAD). EtherPrice() uint16 // Markup is the markup for the message execution (in BWAD). Markup() uint16 }
GasData is the GasData interface.
func DecodeGasData ¶ added in v0.0.171
DecodeGasData decodes a gasData.
func NewGasData ¶ added in v0.0.171
NewGasData creates a new gasdata.
type Header ¶
type Header interface { // Flag is the flag of the message Flag() MessageFlag // OriginDomain is the origin domain of the message OriginDomain() uint32 // Nonce is the nonce of the message Nonce() uint32 // DestinationDomain is the destination domain of the message DestinationDomain() uint32 // OptimisticSeconds is the optimistic time period of the message in seconds OptimisticSeconds() uint32 // Leaf is the leaf of the header. Leaf() ([32]byte, error) }
Header contains information of a message.
func DecodeHeader ¶
DecodeHeader decodes a header from a byte slice.
type Message ¶
type Message interface { // Header gets the message header Header() Header // BaseMessage is the base message if the flag indicates the type is a base message BaseMessage() BaseMessage // Body gets the message body Body() []byte // OriginDomain returns the Slip-44 ID OriginDomain() uint32 // Nonce is the count of all previous messages to the destination Nonce() uint32 // DestinationDomain is the slip-44 id of the destination DestinationDomain() uint32 // ToLeaf converts a leaf to a keccac256 ToLeaf() (leaf [32]byte, err error) // OptimisticSeconds gets the optimistic seconds count OptimisticSeconds() uint32 }
Message is an interface that contains the message.
func DecodeMessage ¶
DecodeMessage decodes a message from a byte slice.
func NewMessage ¶
func NewMessage(header Header, baseMessage BaseMessage, body []byte) Message
NewMessage creates a new message from fields passed in. TODO: Set up different initializers. One for BaseMessage and one for ManagerMessage.
func NewMessageFromBaseMessage ¶ added in v0.0.184
func NewMessageFromBaseMessage(header Header, baseMessage BaseMessage) (Message, error)
NewMessageFromBaseMessage creates a generic message given a base message.
type MessageFlag ¶ added in v0.0.171
type MessageFlag uint8
MessageFlag indicates if the message is normal "Base" message or "Manager" message.
const ( // MessageFlagBase is the normal message that has tips. MessageFlagBase MessageFlag = iota // MessageFlagManager is manager message and will not have tips. MessageFlagManager )
type NotaryAttestation ¶ added in v0.0.171
type NotaryAttestation interface { // AttPayload is raw bytes of the attestation payload. AttPayload() []byte // AgentRoot is the agent root. AgentRoot() [32]byte // SnapGas is the snap gas. SnapGas() []*big.Int // Attestation is the decoded attestation from the AttPayload Attestation() Attestation }
NotaryAttestation is the notary attestation interface.
func NewNotaryAttestation ¶ added in v0.0.171
func NewNotaryAttestation(attPayload []byte, agentRoot [32]byte, snapGas []*big.Int) (NotaryAttestation, error)
NewNotaryAttestation creates a new notary attestation.
type Proof ¶
type Proof interface { // Leaf is the leaf in the proof Leaf() common.Hash // Index is the index in the tree Index() uint32 // Path is the merkle branch Path() common.Hash // Encode encodes a message Encode() ([]byte, error) }
Proof is a merkle proof object. The leaf it's path to the root and its index in the tree.
type ProofEncoder ¶
ProofEncoder is exported to allow proofs to be encoded/deoded from binary.
type Receipt ¶ added in v0.0.239
type Receipt interface { Encoder // Origin is the origin of the receipt. Origin() uint32 // Destination is the destination of the receipt. Destination() uint32 // MessageHash is the hash of the message. MessageHash() [32]byte // SnapshotRoot is the root of the Snapshot Merkle Tree. SnapshotRoot() [32]byte // StateIndex is the state index of the receipt. StateIndex() uint8 // AttestationNotary is the notary of the attestation. AttestationNotary() common.Address // FirstExecutor is the first executor of the receipt. FirstExecutor() common.Address // FinalExecutor is the final executor of the receipt. FinalExecutor() common.Address // SignReceipt returns the signature of the receipt payload signed by the signer. SignReceipt(ctx context.Context, signer signer.Signer, valid bool) (signer.Signature, []byte, common.Hash, error) }
Receipt is the receipt interface.
func DecodeReceipt ¶ added in v0.0.239
DecodeReceipt decodes an receipt.
type Request ¶ added in v0.0.171
type Request interface { // Version is the base message version to pass to the recipient. Version() uint32 // GasLimit is the minimum amount of gas units to supply for execution. GasLimit() uint64 // GasDrop is the minimum amount of gas token to drop to the recipient. GasDrop() *big.Int }
Request is an interface that contains the request from the base message.
func DecodeRequest ¶ added in v0.0.171
DecodeRequest decodes a request typed mem view.
type Signature ¶
type Signature interface { // V gets the v value of the signature V() *big.Int // R is the r value of the signature R() *big.Int // S is the s value of the signature S() *big.Int }
Signature creates a new signature.
func DecodeSignature ¶
DecodeSignature decodes a signature.
func NewSignature ¶
NewSignature creates a new signature.
type Snapshot ¶ added in v0.0.130
type Snapshot interface { Encoder // States are the states of the snapshot. States() []State // SnapshotRootAndProofs returns the snapshot root, calculated from the states, as well as each state's proof. SnapshotRootAndProofs() ([32]byte, [][][]byte, error) // SignSnapshot returns the signature of the snapshot payload signed by the signer SignSnapshot(ctx context.Context, signer signer.Signer) (signer.Signature, []byte, common.Hash, error) }
Snapshot is the snapshot interface.
func DecodeSnapshot ¶ added in v0.0.130
DecodeSnapshot decodes a snapshot.
func NewSnapshot ¶ added in v0.0.130
NewSnapshot creates a new snapshot.
type SnapshotWithMetadata ¶ added in v0.0.245
type SnapshotWithMetadata struct { // Snapshot is the underlying snapshot. Snapshot Snapshot // contains filtered or unexported fields }
SnapshotWithMetadata is a snapshot type with additional metadata for fraud handling.
func NewSnapshotWithMetadata ¶ added in v0.0.245
func NewSnapshotWithMetadata(snapshotPayload []byte, agentDomain uint32, agent common.Address, snapshotSignature []byte) (*SnapshotWithMetadata, error)
NewSnapshotWithMetadata returns a new SnapshotWithMetadata from a Snapshot payload and other metadata.
func (*SnapshotWithMetadata) Agent ¶ added in v0.0.245
func (s *SnapshotWithMetadata) Agent() common.Address
Agent returns the agent that submitted the snapshot.
func (*SnapshotWithMetadata) AgentDomain ¶ added in v0.0.245
func (s *SnapshotWithMetadata) AgentDomain() uint32
AgentDomain returns the domain of the agent that submitted the snapshot.
func (*SnapshotWithMetadata) AttestationPayload ¶ added in v0.0.245
func (s *SnapshotWithMetadata) AttestationPayload() []byte
AttestationPayload returns nil, since the data corresponds to a snapshot.
func (*SnapshotWithMetadata) AttestationSignature ¶ added in v0.0.245
func (s *SnapshotWithMetadata) AttestationSignature() []byte
AttestationSignature returns nil, since the data corresponds to a snapshot.
func (*SnapshotWithMetadata) SnapshotPayload ¶ added in v0.0.245
func (s *SnapshotWithMetadata) SnapshotPayload() []byte
SnapshotPayload returns the snapshot payload.
func (*SnapshotWithMetadata) SnapshotSignature ¶ added in v0.0.245
func (s *SnapshotWithMetadata) SnapshotSignature() []byte
SnapshotSignature returns the snapshot signature.
type State ¶ added in v0.0.130
type State interface { Encoder // Root is the root of the Origin Merkle Tree. Root() [32]byte // Origin is the domain where Origin is located. Origin() uint32 // Nonce is the amount of sent messages. Nonce() uint32 // BlockNumber is the block of the last sent message. BlockNumber() *big.Int // Timestamp is the unix time of the last sent message. Timestamp() *big.Int // GasData is the gas data from the chain's gas oracle. GasData() GasData // Hash returns the hash of the state. Hash() ([32]byte, error) // SubLeaves returns the left and right sub-leaves of the state. SubLeaves() (leftLeaf, rightLeaf [32]byte, err error) // SignState returns the signature of the state payload signed by the signer. SignState(ctx context.Context, signer signer.Signer) (signer.Signature, []byte, common.Hash, error) }
State is the state interface.
func DecodeState ¶ added in v0.0.130
DecodeState decodes a state.
type StateValidationData ¶ added in v0.0.245
type StateValidationData interface { // Agent returns the agent that submitted the snapshot or attestation. Agent() common.Address // AgentDomain returns the domain of the agent that submitted the snapshot or attestation. AgentDomain() uint32 // SnapshotPayload returns the snapshot payload. SnapshotPayload() []byte // SnapshotSignature returns the snapshot signature, if it exists. SnapshotSignature() []byte // AttestationPayload returns the attestation payload, if it exists. AttestationPayload() []byte // AttestationSignature returns the attestation signature, if it exists. AttestationSignature() []byte }
StateValidationData provides data necessary for processing states in a snapshot, i.e. verifyState() and submitStateReport() contract calls.
type Tips ¶
type Tips interface { // SummitTip gets the tips for the agent work on summit SummitTip() *big.Int // AttestationTip gets the tips for the doing the attestation AttestationTip() *big.Int // ExecutionTip gets the tips for executing the message ExecutionTip() *big.Int // DeliveryTip gets the tips for delivering the message receipt to summit DeliveryTip() *big.Int }
Tips contain tips used for scientizing different agents.
func DecodeTips ¶
DecodeTips decodes a tips typed mem view.
Source Files ¶
- agent_flag_type.go
- agent_status.go
- agent_status_relayed_state.go
- agent_tree.go
- agentflagtype_string.go
- attestation.go
- attestation_submitted.go
- base_message.go
- chain.go
- chain_gas.go
- chaintype_string.go
- dispute_flag_type.go
- dispute_processed_status.go
- dispute_status.go
- disputeflagtype_string.go
- doc.go
- encoder.go
- gas_data.go
- header.go
- message.go
- notary_attestation.go
- proof.go
- receipt.go
- request.go
- salt.go
- signature.go
- snapshot.go
- state.go
- state_validation_data.go
- tips.go
- utils.go