api

package
v0.0.0-...-bc03976 Latest Latest
Warning

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

Go to latest
Published: Sep 8, 2024 License: BSD-3-Clause Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultPollingInterval = 50 * time.Millisecond

Variables

This section is empty.

Functions

func AwaitTxAccepted

func AwaitTxAccepted(
	ctx context.Context,
	c Client,
	address ids.ShortID,
	nonce uint64,
	freq time.Duration,
	options ...rpc.Option,
) error

Types

type BalanceArgs

type BalanceArgs struct {
	Address ids.ShortID `json:"address"`
	AssetID ids.ID      `json:"assetID"`
}

type BalanceReply

type BalanceReply struct {
	Balance uint64 `json:"balance"`
}

type BlockArgs

type BlockArgs struct {
	BlockID ids.ID `json:"blockID"`
}

type BlockReply

type BlockReply struct {
	Block *block.Stateless `json:"block"`
}

type Client

type Client interface {
	Network(
		ctx context.Context,
		options ...rpc.Option,
	) (uint32, ids.ID, ids.ID, error)
	Genesis(
		ctx context.Context,
		options ...rpc.Option,
	) (*genesis.Genesis, error)
	Nonce(
		ctx context.Context,
		address ids.ShortID,
		options ...rpc.Option,
	) (uint64, error)
	Balance(
		ctx context.Context,
		address ids.ShortID,
		assetID ids.ID,
		options ...rpc.Option,
	) (uint64, error)
	Loan(
		ctx context.Context,
		chainID ids.ID,
		options ...rpc.Option,
	) (uint64, error)
	IssueTx(
		ctx context.Context,
		tx *tx.Tx,
		options ...rpc.Option,
	) (ids.ID, error)
	LastAccepted(
		ctx context.Context,
		options ...rpc.Option,
	) (ids.ID, *block.Stateless, error)
	Block(
		ctx context.Context,
		blkID ids.ID,
		options ...rpc.Option,
	) (*block.Stateless, error)
	Message(
		ctx context.Context,
		txID ids.ID,
		options ...rpc.Option,
	) (*warp.UnsignedMessage, []byte, error)
}

Client defines the xsvm API client.

func NewClient

func NewClient(uri, chain string) Client

type GenesisReply

type GenesisReply struct {
	Genesis *genesis.Genesis `json:"genesis"`
}

type IssueTxArgs

type IssueTxArgs struct {
	Tx []byte `json:"tx"`
}

type IssueTxReply

type IssueTxReply struct {
	TxID ids.ID `json:"txID"`
}

type LastAcceptedReply

type LastAcceptedReply struct {
	BlockID ids.ID           `json:"blockID"`
	Block   *block.Stateless `json:"block"`
}

type LoanArgs

type LoanArgs struct {
	ChainID ids.ID `json:"chainID"`
}

type LoanReply

type LoanReply struct {
	Amount uint64 `json:"amount"`
}

type MessageArgs

type MessageArgs struct {
	TxID ids.ID `json:"txID"`
}

type MessageReply

type MessageReply struct {
	Message   *warp.UnsignedMessage `json:"message"`
	Signature []byte                `json:"signature"`
}

type NetworkReply

type NetworkReply struct {
	NetworkID uint32 `json:"networkID"`
	SubnetID  ids.ID `json:"subnetID"`
	ChainID   ids.ID `json:"chainID"`
}

type NonceArgs

type NonceArgs struct {
	Address ids.ShortID `json:"address"`
}

type NonceReply

type NonceReply struct {
	Nonce uint64 `json:"nonce"`
}

type Server

type Server interface {
	Network(r *http.Request, args *struct{}, reply *NetworkReply) error
	Genesis(r *http.Request, args *struct{}, reply *GenesisReply) error
	Nonce(r *http.Request, args *NonceArgs, reply *NonceReply) error
	Balance(r *http.Request, args *BalanceArgs, reply *BalanceReply) error
	Loan(r *http.Request, args *LoanArgs, reply *LoanReply) error
	IssueTx(r *http.Request, args *IssueTxArgs, reply *IssueTxReply) error
	LastAccepted(r *http.Request, args *struct{}, reply *LastAcceptedReply) error
	Block(r *http.Request, args *BlockArgs, reply *BlockReply) error
	Message(r *http.Request, args *MessageArgs, reply *MessageReply) error
}

Server defines the xsvm API server.

func NewServer

func NewServer(
	ctx *snow.Context,
	genesis *genesis.Genesis,
	state database.KeyValueReader,
	chain chain.Chain,
	builder builder.Builder,
) Server

Jump to

Keyboard shortcuts

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