storage

package
v0.0.0-...-58166f7 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DuplicateVaaDoc

type DuplicateVaaDoc struct {
	ID               string      `bson:"_id"`
	VaaID            string      `bson:"vaaId"`
	Version          uint8       `bson:"version"`
	EmitterChain     sdk.ChainID `bson:"emitterChain"`
	EmitterAddr      string      `bson:"emitterAddr"`
	Sequence         string      `bson:"sequence"`
	GuardianSetIndex uint32      `bson:"guardianSetIndex"`
	Vaa              []byte      `bson:"vaas"`
	Digest           string      `bson:"digest"`
	ConsistencyLevel uint8       `bson:"consistencyLevel"`
	TxHash           string      `bson:"txHash,omitempty"`
	Timestamp        *time.Time  `bson:"timestamp"`
	UpdatedAt        *time.Time  `bson:"updatedAt"`
}

DuplicateVaaDoc represents a duplicate VAA document.

func (*DuplicateVaaDoc) ToVaaDoc

func (d *DuplicateVaaDoc) ToVaaDoc(duplicatedFixed bool) *VaaDoc

type GovernorVaaDoc

type GovernorVaaDoc struct {
	ID             string      `bson:"_id"`
	ChainID        sdk.ChainID `bson:"chainId"`
	EmitterAddress string      `bson:"emitterAddress"`
	Sequence       string      `bson:"sequence"`
	TxHash         string      `bson:"txHash"`
	ReleaseTime    time.Time   `bson:"releaseTime"`
	Amount         Uint64      `bson:"amount"`
}

type NodeGovernorVaaDoc

type NodeGovernorVaaDoc struct {
	ID          string `bson:"_id"`
	NodeName    string `bson:"nodeName"`
	NodeAddress string `bson:"nodeAddress"`
	VaaID       string `bson:"vaaId"`
}

type Repository

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

Repository exposes operations over the `globalTransactions` collection.

func NewRepository

func NewRepository(logger *zap.Logger, db *mongo.Database) *Repository

New creates a new repository.

func (*Repository) FindDuplicateVAAById

func (r *Repository) FindDuplicateVAAById(ctx context.Context, id string) (*DuplicateVaaDoc, error)

FindDuplicateVAAById find a duplicate vaa by id.

func (*Repository) FindDuplicateVAAs

func (r *Repository) FindDuplicateVAAs(ctx context.Context, vaaID string) ([]DuplicateVaaDoc, error)

FindDuplicateVAAs find duplicate vaas by vaa id.

func (*Repository) FindGovernorVaaByVaaIDs

func (r *Repository) FindGovernorVaaByVaaIDs(ctx context.Context, vaaID []string) ([]GovernorVaaDoc, error)

FindGovernorVaaByVaaID find governor vaas by a list of vaaIds

func (*Repository) FindNodeGovernorVaaByNodeAddress

func (r *Repository) FindNodeGovernorVaaByNodeAddress(ctx context.Context, nodeAddress string) ([]NodeGovernorVaaDoc, error)

FindNodeGovernorVaaByNodeAddress find governor vaas by node address.

func (*Repository) FindNodeGovernorVaaByVaaID

func (r *Repository) FindNodeGovernorVaaByVaaID(ctx context.Context, vaaID string) ([]NodeGovernorVaaDoc, error)

FindNodeGovernorVaaByVaaID find governor vaas by vaa id.

func (*Repository) FindNodeGovernorVaaByVaaIDs

func (r *Repository) FindNodeGovernorVaaByVaaIDs(ctx context.Context, vaaID []string) ([]NodeGovernorVaaDoc, error)

FindNodeGovernorVaaByVaaIDs find governor vaas by vaa ids.

func (*Repository) FindVAAById

func (r *Repository) FindVAAById(ctx context.Context, vaaID string) (*VaaDoc, error)

FindVAAById find a vaa by id.

func (*Repository) FixVAA

func (r *Repository) FixVAA(ctx context.Context, vaaID, duplicateID string) error

FixVAA fix a vaa by id.

func (*Repository) UpdateGovernor

func (r *Repository) UpdateGovernor(
	ctx context.Context,
	nodeGovernorVaaDocToInsert []NodeGovernorVaaDoc,
	nodeGovernorVaaDocToDelete []string,
	governorVaasToInsert []GovernorVaaDoc,
	governorVaaIdsToDelete []string) error

type Uint64

type Uint64 uint64

func (Uint64) MarshalBSONValue

func (u Uint64) MarshalBSONValue() (bsontype.Type, []byte, error)

func (*Uint64) UnmarshalBSONValue

func (u *Uint64) UnmarshalBSONValue(t bsontype.Type, b []byte) error

type VaaDoc

type VaaDoc struct {
	ID               string      `bson:"_id"`
	Version          uint8       `bson:"version"`
	EmitterChain     sdk.ChainID `bson:"emitterChain"`
	EmitterAddr      string      `bson:"emitterAddr"`
	Sequence         string      `bson:"sequence"`
	GuardianSetIndex uint32      `bson:"guardianSetIndex"`
	Vaa              []byte      `bson:"vaas"`
	TxHash           string      `bson:"txHash,omitempty"`
	OriginTxHash     *string     `bson:"_originTxHash,omitempty"` //this is temporary field for fix enconding txHash
	Timestamp        *time.Time  `bson:"timestamp"`
	UpdatedAt        *time.Time  `bson:"updatedAt"`
	Digest           string      `bson:"digest"`
	IsDuplicated     bool        `bson:"isDuplicated"`
	DuplicatedFixed  bool        `bson:"duplicatedFixed"`
}

VaaDoc represents a VAA document.

func (*VaaDoc) ToDuplicateVaaDoc

func (v *VaaDoc) ToDuplicateVaaDoc() (*DuplicateVaaDoc, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL