Documentation ¶
Overview ¶
Package types contains common types
Index ¶
- Constants
- func DecodeAgentSignatures(toDecode []byte) ([]Signature, []Signature, error)
- func EncodeAgentSignatures(guardSignatures, notarySignatures []Signature) ([]byte, error)
- 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 EncodeSignatures(signatures []Signature) ([]byte, error)
- func EncodeSignedAttestation(signed SignedAttestation) ([]byte, error)
- func EncodeTips(tips Tips) ([]byte, error)
- func TotalTips(tips Tips) *big.Int
- type Attestation
- type AttestationAgentCounts
- 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 ¶
const SignatureLength = int(65)
SignatureLength for ecdsa signature.
Variables ¶
This section is empty.
Functions ¶
func DecodeAgentSignatures ¶ added in v0.0.51
DecodeAgentSignatures decodes agent signatures.
func EncodeAgentSignatures ¶ added in v0.0.51
EncodeAgentSignatures encodes the guard and notary signatures.
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 EncodeSignatures ¶ added in v0.0.51
EncodeSignatures encodes the signatures.
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.
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 AttestationAgentCounts ¶ added in v0.0.51
type AttestationAgentCounts struct { // GuardCount is the number of guard signatures collected in the SignedAttestation. GuardCount uint32 // NotaryCount is the number of notary signatures collected in the SignedAttestation. NotaryCount uint32 }
AttestationAgentCounts is the tuple (GuardCount, NotaryCount) so we know how many of each type of signature we have.
func NewAttestationAgentCounts ¶ added in v0.0.51
func NewAttestationAgentCounts(rawBytes []byte) AttestationAgentCounts
NewAttestationAgentCounts takes the raw AttestationAgentCounts serialized as a big endian big.Int and converts it to AttestationAgentCounts which is a tuple of (GuardCount, NotaryCount).
func (AttestationAgentCounts) GetRawAgentCounts ¶ added in v0.0.51
func (a AttestationAgentCounts) GetRawAgentCounts() []byte
GetRawAgentCounts returns the AttestationAgentCounts which is a tuple of (GuardCount, NotaryCount) as a serialized big.Int.
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 NewAttestationKey ¶ added in v0.0.51
func NewAttestationKey(rawKey *big.Int) AttestationKey
NewAttestationKey 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 DecodeSignatures ¶ added in v0.0.51
DecodeSignatures decodes signatures.
func NewSignature ¶
NewSignature creates a new signature.
type SignedAttestation ¶
type SignedAttestation interface { // Attestation gets the unsigned attestation Attestation() Attestation // GuardSignatures is the guard signatures of the attestation GuardSignatures() []Signature // NotarySignatures is the notary signatures of the attestation NotarySignatures() []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, guardSignatures []Signature, notarySignatures []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.