Documentation ¶
Overview ¶
Package types contains common types
Index ¶
- func EncodeAttestation(attestation Attestation) ([]byte, error)
- func EncodeHeader(header Header) ([]byte, error)
- func EncodeMessage(m Message) ([]byte, error)
- func EncodeSignature(sig Signature) ([]byte, error)
- func EncodeSignedAttestation(signed SignedAttestation) ([]byte, error)
- func EncodeTips(tips Tips) ([]byte, error)
- func TotalTips(tips Tips) *big.Int
- type Attestation
- type AttestationKey
- type AttestationSubmitted
- type AttestedDomains
- type ChainType
- type CommittedMessage
- type CommittedMessageEncoder
- type Header
- type Message
- type Proof
- type ProofEncoder
- type Signature
- type SignedAttestation
- type Tips
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EncodeAttestation ¶
func EncodeAttestation(attestation Attestation) ([]byte, error)
EncodeAttestation encodes an attestation.
func EncodeHeader ¶
EncodeHeader encodes a message header.
func EncodeSignature ¶
EncodeSignature encodes a signature.
func EncodeSignedAttestation ¶
func EncodeSignedAttestation(signed SignedAttestation) ([]byte, error)
EncodeSignedAttestation encodes a signed attestation.
func EncodeTips ¶
EncodeTips encodes a list of tips. nolint: makezero
Types ¶
type Attestation ¶
type Attestation interface { // Origin gets the origin of the attestation Origin() uint32 // Destination gets the destination of the attestation Destination() uint32 // Nonce gets the nonce of the attestation Nonce() uint32 // Root gets the root of the contract Root() [32]byte }
Attestation is the attestation. TODO (joe): Add tests for the AttestationKey and AttestedDomains, converting to and from serialized big.Int form.
func DecodeAttestation ¶
func DecodeAttestation(toDecode []byte) (Attestation, error)
DecodeAttestation decodes an attestation.
func NewAttestation ¶
func NewAttestation(rawKey *big.Int, root [32]byte) Attestation
NewAttestation creates a new attestation.
func NewAttestationFromBytes ¶ added in v0.0.34
func NewAttestationFromBytes(rawBytes []byte) Attestation
NewAttestationFromBytes creates a new attesation from raw bytes.
type AttestationKey ¶ added in v0.0.34
type AttestationKey struct { // Origin of the attestation Origin uint32 // Destination of the attestation Destination uint32 // Nonce of the attestation Nonce uint32 }
AttestationKey is the tuple (origin, destination, nonce).
func NewAttestionKey ¶ added in v0.0.34
func NewAttestionKey(rawKey *big.Int) AttestationKey
NewAttestionKey takes the raw AttestationKey serialized as a big endian big.Int and converts it to AttestationKey which is a tuple of (origin, destination, nonce).
func (AttestationKey) GetRawKey ¶ added in v0.0.34
func (a AttestationKey) GetRawKey() *big.Int
GetRawKey returns the AttestationKey as a serialized big.Int.
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 AttestedDomains ¶ added in v0.0.34
type AttestedDomains struct { // Origin of the attestation Origin uint32 // Destination of the attestation Destination uint32 }
AttestedDomains is the tuple (origin, destination).
func NewAttestedDomains ¶ added in v0.0.34
func NewAttestedDomains(rawDomains *big.Int) AttestedDomains
NewAttestedDomains takes the raw AttestedDomains serialized as a big endian big.Int and converts it to AttestedDomains which is a tuple of (origin, destination).
func (AttestedDomains) GetRawDomains ¶ added in v0.0.34
func (a AttestedDomains) GetRawDomains() *big.Int
GetRawDomains returns the AttestedDomains which is a tuple of (origin, destination) as a serialized big.Int.
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 Header ¶
type Header interface { // Version gets the version of the header Version() uint16 // OriginDomain is the origin domain of the message OriginDomain() uint32 // Sender is the sender of the message Sender() common.Hash // Nonce is the nonce of the message Nonce() uint32 // DestinationDomain is the destination domain of the message DestinationDomain() uint32 // Recipient is the recipient of the message Recipient() common.Hash // OptimisticSeconds is the optimistic time period of the message in seconds OptimisticSeconds() uint32 }
Header contains information of a message.
func DecodeHeader ¶
DecodeHeader decodes a header from a byte slice.
type Message ¶
type Message interface { // Version gets the version of the message Version() uint16 // Header gets the message header Header() Header // Tips gets the tips Tips() Tips // Body gets the message body Body() []byte // OriginDomain returns the Slip-44 ID OriginDomain() uint32 // Sender is the address of the sender Sender() common.Hash // Nonce is the count of all previous messages to the destination Nonce() uint32 // DestinationDomain is the slip-44 id of the destination DestinationDomain() uint32 // Recipient is the address of the recipient Recipient() common.Hash // 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 metadata.
func DecodeMessage ¶
DecodeMessage decodes a message from a byte slice.
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 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 SignedAttestation ¶
type SignedAttestation interface { // Attestation gets the unsigned attestation Attestation() Attestation // Signature is the signature of the attestation Signature() Signature }
SignedAttestation is a signed attestation.
func DecodeSignedAttestation ¶
func DecodeSignedAttestation(toDecode []byte) (SignedAttestation, error)
DecodeSignedAttestation decodes a signed attestation.
func NewSignedAttestation ¶
func NewSignedAttestation(attestation Attestation, signature Signature) SignedAttestation
NewSignedAttestation creates a new signed attestation.
type Tips ¶
type Tips interface { // Version gets the version of the tips header Version() uint16 // NotaryTip gets the tips for the notary NotaryTip() *big.Int // BroadcasterTip gets the tips for the broadcaster BroadcasterTip() *big.Int // ProverTip gets the tips for the prover ProverTip() *big.Int // ExecutorTip gets the tips for the executor ExecutorTip() *big.Int }
Tips contain tips used for scientizing different agents.
func DecodeTips ¶
DecodeTips decodes a tips typed mem view.