api

package
v1.0.0-alpha Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TraceHandler

func TraceHandler(h http.Handler, name string, tracer trace.Tracer) http.Handler

Types

type EmptyReply

type EmptyReply struct{}

EmptyReply indicates that an api doesn't have a response to return.

type FormattedBlock

type FormattedBlock struct {
	Block    string              `json:"block"`
	Encoding formatting.Encoding `json:"encoding"`
}

FormattedBlock defines a JSON formatted struct containing a block in Hex format

type FormattedTx

type FormattedTx struct {
	Tx       string              `json:"tx"`
	Encoding formatting.Encoding `json:"encoding"`
}

FormattedTx defines a JSON formatted struct containing a Tx as a string

type GetBlockArgs

type GetBlockArgs struct {
	BlockID  ids.ID              `json:"blockID"`
	Encoding formatting.Encoding `json:"encoding"`
}

GetBlockArgs is the parameters supplied to the GetBlock API

type GetBlockByHeightArgs

type GetBlockByHeightArgs struct {
	Height   avajson.Uint64      `json:"height"`
	Encoding formatting.Encoding `json:"encoding"`
}

GetBlockByHeightArgs is the parameters supplied to the GetBlockByHeight API

type GetBlockResponse

type GetBlockResponse struct {
	Block json.RawMessage `json:"block"`
	// If GetBlockResponse.Encoding is formatting.Hex, GetBlockResponse.Block is
	// the string representation of the block under hex encoding.
	// If GetBlockResponse.Encoding is formatting.JSON, GetBlockResponse.Block
	// is the actual block returned as a JSON.
	Encoding formatting.Encoding `json:"encoding"`
}

GetBlockResponse is the response object for the GetBlock API.

type GetHeightResponse

type GetHeightResponse struct {
	Height avajson.Uint64 `json:"height"`
}

type GetTxArgs

type GetTxArgs struct {
	TxID     ids.ID              `json:"txID"`
	Encoding formatting.Encoding `json:"encoding"`
}

type GetTxReply

type GetTxReply struct {
	// If [GetTxArgs.Encoding] is [Hex], [Tx] is the string representation of
	// the tx under hex encoding.
	// If [GetTxArgs.Encoding] is [JSON], [Tx] is the actual tx, which will be
	// returned as JSON to the caller.
	Tx       json.RawMessage     `json:"tx"`
	Encoding formatting.Encoding `json:"encoding"`
}

GetTxReply defines an object containing a single [Tx] object along with Encoding

type GetUTXOsArgs

type GetUTXOsArgs struct {
	Addresses   []string            `json:"addresses"`
	SourceChain string              `json:"sourceChain"`
	Limit       avajson.Uint32      `json:"limit"`
	StartIndex  Index               `json:"startIndex"`
	Encoding    formatting.Encoding `json:"encoding"`
}

GetUTXOsArgs are arguments for passing into GetUTXOs. Gets the UTXOs that reference at least one address in [Addresses]. Returns at most [limit] addresses. If specified, [SourceChain] is the chain where the atomic UTXOs were exported from. If empty, or the Chain ID of this VM is specified, then GetUTXOs fetches the native UTXOs. If [limit] == 0 or > [maxUTXOsToFetch], fetches up to [maxUTXOsToFetch]. [StartIndex] defines where to start fetching UTXOs (for pagination.) UTXOs fetched are from addresses equal to or greater than [StartIndex.Address] For address [StartIndex.Address], only UTXOs with IDs greater than [StartIndex.UTXO] will be returned. If [StartIndex] is omitted, gets all UTXOs. If GetUTXOs is called multiple times, with our without [StartIndex], it is not guaranteed that returned UTXOs are unique. That is, the same UTXO may appear in the response of multiple calls.

type GetUTXOsReply

type GetUTXOsReply struct {
	// Number of UTXOs returned
	NumFetched avajson.Uint64 `json:"numFetched"`
	// The UTXOs
	UTXOs []string `json:"utxos"`
	// The last UTXO that was returned, and the address it corresponds to.
	// Used for pagination. To get the rest of the UTXOs, call GetUTXOs
	// again and set [StartIndex] to this value.
	EndIndex Index `json:"endIndex"`
	// Encoding specifies the encoding format the UTXOs are returned in
	Encoding formatting.Encoding `json:"encoding"`
}

GetUTXOsReply defines the GetUTXOs replies returned from the API

type Index

type Index struct {
	Address string `json:"address"` // The address as a string
	UTXO    string `json:"utxo"`    // The UTXO ID as a string
}

Index is an address and an associated UTXO. Marks a starting or stopping point when fetching UTXOs. Used for pagination.

type JSONAddress

type JSONAddress struct {
	Address string `json:"address"`
}

JSONAddress contains an address

type JSONAddresses

type JSONAddresses struct {
	Addresses []string `json:"addresses"`
}

JSONAddresses contains a list of address

type JSONChangeAddr

type JSONChangeAddr struct {
	ChangeAddr string `json:"changeAddr"`
}

JSONChangeAddr is the address change is sent to, if any

type JSONFromAddrs

type JSONFromAddrs struct {
	From []string `json:"from"`
}

JSONFromAddrs is a list of addresses to send funds from

type JSONSpendHeader

type JSONSpendHeader struct {
	UserPass
	JSONFromAddrs
	JSONChangeAddr
}

JSONSpendHeader is 3 arguments to a method that spends (including those with tx fees) 1) The username/password 2) The addresses used in the method 3) The address to send change to

type JSONTxID

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

JSONTxID contains the ID of a transaction

type JSONTxIDChangeAddr

type JSONTxIDChangeAddr struct {
	JSONTxID
	JSONChangeAddr
}

JSONTxIDChangeAddr is a tx ID and change address

type UserPass

type UserPass struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

UserPass contains a username and a password

Directories

Path Synopsis
Package server is a generated GoMock package.
Package server is a generated GoMock package.

Jump to

Keyboard shortcuts

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