paloma

package
v1.11.2 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrUnableToDecodeAddress = whoops.Errorf("unable to decode address: %s")
	ErrNodeIsNotInSync       = whoops.String("paloma node is not in sync")

	ErrPalomaIsDown = whoops.String("paloma is down")
)

Variables

This section is empty.

Functions

func IsPalomaDown added in v0.7.0

func IsPalomaDown(err error) bool

Types

type BroadcastMessageSignatureIn

type BroadcastMessageSignatureIn struct {
	ID              uint64
	QueueTypeName   string
	Signature       []byte
	SignedByAddress string
}

type ChainInfoIn

type ChainInfoIn struct {
	ChainType        string
	ChainReferenceID string
	AccAddress       string
	PubKey           []byte
	Traits           []string
}

type Client

type Client struct {
	PalomaConfig config.Paloma // This is only needed ONCE ! Can we remove it?
	GRPCClient   grpc.ClientConn

	// TODO: Can this shit not be made private???
	Ion           IonClient
	Unpacker      Unpacker
	MessageSender MessageSender
	// contains filtered or unexported fields
}

func NewClient added in v1.10.0

func NewClient(cfg config.Paloma, grpcWrapper grpc.ClientConn, ion IonClient, sender MessageSender, unpacker codectypes.AnyUnpacker) *Client

func (*Client) AddExternalChainInfo

func (c *Client) AddExternalChainInfo(ctx context.Context, chainInfos ...ChainInfoIn) error

AddExternalChainInfo adds info about the external chain. It adds the chain's account addresses that the pigeon knows about.

func (*Client) AddMessageEvidence

func (c *Client) AddMessageEvidence(ctx context.Context, queueTypeName string, messageID uint64, proof proto.Message) error

func (*Client) BlockHeight added in v0.4.0

func (c *Client) BlockHeight(ctx context.Context) (int64, error)

func (*Client) BroadcastMessageSignatures

func (c *Client) BroadcastMessageSignatures(ctx context.Context, signatures ...BroadcastMessageSignatureIn) error

BroadcastMessageSignatures takes a list of signatures that need to be sent over to the chain. It build the message and sends it over.

func (*Client) GetCreator added in v1.8.0

func (c *Client) GetCreator() string

func (*Client) GetSigner added in v1.10.0

func (c *Client) GetSigner() string

func (*Client) GetValidator added in v0.7.0

func (c *Client) GetValidator(ctx context.Context) (*stakingtypes.Validator, error)

func (*Client) GetValidatorAddress added in v0.4.0

func (c *Client) GetValidatorAddress() sdk.ValAddress

func (*Client) GravityConfirmBatches added in v1.8.0

func (c *Client) GravityConfirmBatches(ctx context.Context, signatures ...chain.SignedGravityOutgoingTxBatch) error

func (*Client) GravityQueryBatchesForRelaying added in v1.8.0

func (c *Client) GravityQueryBatchesForRelaying(ctx context.Context, chainReferenceID string) ([]chain.GravityBatchWithSignatures, error)

func (*Client) GravityQueryLastUnsignedBatch added in v1.8.0

func (c *Client) GravityQueryLastUnsignedBatch(ctx context.Context, chainReferenceID string) ([]gravity.OutgoingTxBatch, error)

func (*Client) KeepValidatorAlive added in v0.5.0

func (c *Client) KeepValidatorAlive(ctx context.Context, appVersion string) error

func (*Client) Keyring

func (c *Client) Keyring() keyring.Keyring

func (*Client) NewStatus added in v1.10.2

func (c *Client) NewStatus() StatusUpdater

func (*Client) PalomaStatus added in v0.7.0

func (c *Client) PalomaStatus(ctx context.Context) error

func (*Client) QueryBatchRequestByNonce added in v1.8.0

func (c *Client) QueryBatchRequestByNonce(ctx context.Context, nonce uint64, contract string) (gravity.OutgoingTxBatch, error)

func (*Client) QueryGetEVMChainInfos

func (c *Client) QueryGetEVMChainInfos(ctx context.Context) ([]*evm.ChainInfo, error)

func (*Client) QueryGetEVMValsetByID

func (c *Client) QueryGetEVMValsetByID(ctx context.Context, id uint64, chainReferenceID string) (*evm.Valset, error)

func (*Client) QueryGetLastEventNonce added in v1.8.0

func (c *Client) QueryGetLastEventNonce(ctx context.Context, orchestrator string) (uint64, error)

func (*Client) QueryGetLatestPublishedSnapshot added in v1.9.3

func (c *Client) QueryGetLatestPublishedSnapshot(ctx context.Context, chainReferenceID string) (*valset.Snapshot, error)

func (*Client) QueryGetSnapshotByID

func (c *Client) QueryGetSnapshotByID(ctx context.Context, id uint64) (*valset.Snapshot, error)

QueryGetSnapshotByID returns the snapshot by id. If the EventNonce is zero, then it returns the last snapshot.

func (*Client) QueryGetValidatorAliveUntilBlockHeight added in v1.8.0

func (c *Client) QueryGetValidatorAliveUntilBlockHeight(ctx context.Context) (int64, error)

func (*Client) QueryMessagesForAttesting added in v1.2.0

func (c *Client) QueryMessagesForAttesting(ctx context.Context, queueTypeName string) ([]chain.MessageWithSignatures, error)

QueryMessagesForAttesting returns all messages that are currently in the queue except those already attested for.

func (*Client) QueryMessagesForRelaying added in v1.2.0

func (c *Client) QueryMessagesForRelaying(ctx context.Context, queueTypeName string) ([]chain.MessageWithSignatures, error)

QueryMessagesForRelaying returns all messages that are currently in the queue.

func (*Client) QueryMessagesForSigning

func (c *Client) QueryMessagesForSigning(
	ctx context.Context,
	queueTypeName string,
) ([]chain.QueuedMessage, error)

QueryMessagesForSigning returns a list of messages from a given queueTypeName that need to be signed by the provided validator given the valAddress.

func (*Client) QueryValidatorInfo

func (c *Client) QueryValidatorInfo(ctx context.Context) ([]*valset.ExternalChainInfo, error)

QueryValidatorInfo returns info about the validator.

func (*Client) SendBatchSendToEVMClaim added in v1.8.0

func (c *Client) SendBatchSendToEVMClaim(ctx context.Context, claim gravity.MsgBatchSendToEthClaim) error

TODO Combine with below method

func (*Client) SendSendToPalomaClaim added in v1.8.0

func (c *Client) SendSendToPalomaClaim(ctx context.Context, claim gravity.MsgSendToPalomaClaim) error

func (*Client) SetErrorData added in v1.2.0

func (c *Client) SetErrorData(ctx context.Context, queueTypeName string, messageID uint64, data []byte) error

func (*Client) SetPublicAccessData

func (c *Client) SetPublicAccessData(ctx context.Context, queueTypeName string, messageID uint64, data []byte) error

func (*Client) Status added in v0.7.0

func (c *Client) Status(ctx context.Context) (*ResultStatus, error)

type GRPCClientWrapper added in v1.10.0

type GRPCClientWrapper struct {
	W grpc.ClientConn
}

func (GRPCClientWrapper) Invoke added in v1.10.0

func (g GRPCClientWrapper) Invoke(ctx context.Context, method string, args, reply interface{}, opts ...ggrpc.CallOption) error

func (GRPCClientWrapper) NewStream added in v1.10.0

func (g GRPCClientWrapper) NewStream(ctx context.Context, desc *ggrpc.StreamDesc, method string, opts ...ggrpc.CallOption) (ggrpc.ClientStream, error)

type IonClient added in v1.10.0

type IonClient interface {
	Status(context.Context) (*ResultStatus, error)
	DecodeBech32ValAddr(string) (sdk.ValAddress, error)
	GetKeybase() keyring.Keyring
	SetSDKContext() func()
	GetKeyAddress() (sdk.AccAddress, error)
}

type KeyRotator added in v1.10.0

type KeyRotator interface {
	RotateKeys(context.Context)
}

type MessageSender

type MessageSender interface {
	SendMsg(ctx context.Context, msg sdk.Msg, memo string, opts ...ion.SendMsgOption) (*sdk.TxResponse, error)
}

type PalomaMessageSender added in v1.10.0

type PalomaMessageSender struct {
	R          KeyRotator
	W          MessageSender
	GetCreator func() string
	GetSigner  func() string
	// contains filtered or unexported fields
}

func NewPalomaMessageSender added in v1.10.0

func NewPalomaMessageSender(R KeyRotator, W MessageSender) *PalomaMessageSender

func (*PalomaMessageSender) SendMsg added in v1.10.0

func (m *PalomaMessageSender) SendMsg(ctx context.Context, msg sdk.Msg, memo string, opts ...ion.SendMsgOption) (*sdk.TxResponse, error)

func (*PalomaMessageSender) WithCreatorProvider added in v1.10.0

func (m *PalomaMessageSender) WithCreatorProvider(p func() string) *PalomaMessageSender

func (*PalomaMessageSender) WithSignerProvider added in v1.10.0

func (m *PalomaMessageSender) WithSignerProvider(p func() string) *PalomaMessageSender

type ResultStatus added in v0.7.0

type ResultStatus = coretypes.ResultStatus

type StatusUpdater added in v1.10.2

type StatusUpdater interface {
	WithLog(status string) StatusUpdater
	WithMsg(msg *chain.MessageWithSignatures) StatusUpdater
	WithQueueType(queueType string) StatusUpdater
	WithChainReferenceID(chainReferenceID string) StatusUpdater
	WithArg(key, value string) StatusUpdater
	Info(ctx context.Context) error
	Error(ctx context.Context) error
	Debug(ctx context.Context) error
}

type Unpacker added in v1.10.0

type Unpacker = codectypes.AnyUnpacker

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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