Documentation
¶
Index ¶
- Variables
- func AwaitTxAccepted(c Client, ctx context.Context, txID ids.ID, freq time.Duration, ...) error
- func NewPubSubFilterer(tx *txs.Tx) pubsub.Filterer
- type AssetDefinition
- type AssetIDChangeAddr
- type BCLookup
- type Balance
- type BuildGenesisArgs
- type BuildGenesisReply
- type Client
- type ClientHolder
- type ClientOwners
- type ClientSendOutput
- type Config
- type CreateAssetArgs
- type CreateNFTAssetArgs
- type ExportArgs
- type ExportKeyArgs
- type ExportKeyReply
- type Factory
- type FormattedAssetID
- type Genesis
- type GenesisAsset
- type GetAddressTxsArgs
- type GetAddressTxsReply
- type GetAllBalancesArgs
- type GetAllBalancesReply
- type GetAssetDescriptionArgs
- type GetAssetDescriptionReply
- type GetBalanceArgs
- type GetBalanceReply
- type GetCurrentValidatorOutput
- type GetTxStatusReply
- type Holder
- type ImportArgs
- type ImportKeyArgs
- type ImportKeyReply
- type MintArgs
- type MintNFTArgs
- type Owners
- type SendArgs
- type SendMultipleArgs
- type SendNFTArgs
- type SendOutput
- type Service
- func (s *Service) CreateAddress(_ *http.Request, args *api.UserPass, reply *api.JSONAddress) error
- func (s *Service) CreateAsset(_ *http.Request, args *CreateAssetArgs, reply *AssetIDChangeAddr) error
- func (s *Service) CreateFixedCapAsset(r *http.Request, args *CreateAssetArgs, reply *AssetIDChangeAddr) error
- func (s *Service) CreateNFTAsset(_ *http.Request, args *CreateNFTAssetArgs, reply *AssetIDChangeAddr) error
- func (s *Service) CreateVariableCapAsset(r *http.Request, args *CreateAssetArgs, reply *AssetIDChangeAddr) error
- func (s *Service) Export(_ *http.Request, args *ExportArgs, reply *api.JSONTxIDChangeAddr) error
- func (s *Service) ExportKey(_ *http.Request, args *ExportKeyArgs, reply *ExportKeyReply) error
- func (s *Service) GetAddressTxs(_ *http.Request, args *GetAddressTxsArgs, reply *GetAddressTxsReply) error
- func (s *Service) GetAllBalances(_ *http.Request, args *GetAllBalancesArgs, reply *GetAllBalancesReply) error
- func (s *Service) GetAssetDescription(_ *http.Request, args *GetAssetDescriptionArgs, ...) error
- func (s *Service) GetBalance(_ *http.Request, args *GetBalanceArgs, reply *GetBalanceReply) error
- func (s *Service) GetBlock(_ *http.Request, args *api.GetBlockArgs, reply *api.GetBlockResponse) error
- func (s *Service) GetBlockByHeight(_ *http.Request, args *api.GetBlockByHeightArgs, reply *api.GetBlockResponse) error
- func (s *Service) GetHeight(_ *http.Request, _ *struct{}, reply *api.GetHeightResponse) error
- func (s *Service) GetTx(_ *http.Request, args *api.GetTxArgs, reply *api.GetTxReply) error
- func (s *Service) GetTxStatus(_ *http.Request, args *api.JSONTxID, reply *GetTxStatusReply) errordeprecated
- func (s *Service) GetUTXOs(_ *http.Request, args *api.GetUTXOsArgs, reply *api.GetUTXOsReply) error
- func (s *Service) Import(_ *http.Request, args *ImportArgs, reply *api.JSONTxID) error
- func (s *Service) ImportKey(_ *http.Request, args *ImportKeyArgs, reply *api.JSONAddress) error
- func (s *Service) IssueTx(_ *http.Request, args *api.FormattedTx, reply *api.JSONTxID) error
- func (s *Service) ListAddresses(_ *http.Request, args *api.UserPass, response *api.JSONAddresses) error
- func (s *Service) Mint(_ *http.Request, args *MintArgs, reply *api.JSONTxIDChangeAddr) error
- func (s *Service) MintNFT(_ *http.Request, args *MintNFTArgs, reply *api.JSONTxIDChangeAddr) error
- func (s *Service) Send(r *http.Request, args *SendArgs, reply *api.JSONTxIDChangeAddr) error
- func (s *Service) SendMultiple(_ *http.Request, args *SendMultipleArgs, reply *api.JSONTxIDChangeAddr) error
- func (s *Service) SendNFT(_ *http.Request, args *SendNFTArgs, reply *api.JSONTxIDChangeAddr) error
- type SharedMemory
- type StaticClient
- type StaticService
- type Tx
- func (tx *Tx) Accept(ctx context.Context) error
- func (tx *Tx) Bytes() []byte
- func (tx *Tx) Height() uint64
- func (tx *Tx) ID() ids.ID
- func (tx *Tx) MissingDependencies() (set.Set[ids.ID], error)
- func (tx *Tx) Parent() ids.ID
- func (tx *Tx) ParentIDs() []ids.ID
- func (*Tx) Reject(ctx context.Context) error
- func (tx *Tx) Status() choices.Status
- func (tx *Tx) Verify(ctx context.Context) error
- type VM
- func (vm *VM) BuildVertex(ctx context.Context) (dagvertex.Vertex, error)
- func (vm *VM) Connected(ctx context.Context, nodeID ids.NodeID, version *version.Application) error
- func (vm *VM) CreateHandlers(context.Context) (map[string]http.Handler, error)
- func (vm *VM) CreateStaticHandlers(context.Context) (map[string]http.Handler, error)
- func (vm *VM) Disconnected(ctx context.Context, nodeID ids.NodeID) error
- func (vm *VM) GetBlock(_ context.Context, blkID ids.ID) (chain.Block, error)
- func (vm *VM) GetBlockIDAtHeight(_ context.Context, height uint64) (ids.ID, error)
- func (vm *VM) GetEngine() dag.Engine
- func (vm *VM) GetTx(ctx context.Context, txID ids.ID) (dag.Transaction, error)
- func (vm *VM) GetVertex(ctx context.Context, vtxID ids.ID) (dagvertex.Vertex, error)
- func (*VM) HealthCheck(context.Context) (interface{}, error)
- func (vm *VM) Initialize(ctx context.Context, chainCtx interface{}, dbManager interface{}, ...) error
- func (vm *VM) LastAccepted(context.Context) (ids.ID, error)
- func (vm *VM) Linearize(ctx context.Context, stopVertexID ids.ID) error
- func (vm *VM) LoadUser(username string, password string, addresses set.Set[ids.ShortID]) ([]*lux.UTXO, *secp256k1fx.Keychain, error)
- func (vm *VM) NewHTTPHandler(ctx context.Context) (http.Handler, error)
- func (vm *VM) ParseBlock(_ context.Context, blkBytes []byte) (chain.Block, error)
- func (vm *VM) ParseTx(_ context.Context, bytes []byte) (dag.Tx, error)
- func (vm *VM) ParseVertex(ctx context.Context, vtxBytes []byte) (dagvertex.Vertex, error)
- func (vm *VM) SetEngine(engine interface{})
- func (vm *VM) SetPreference(_ context.Context, blkID ids.ID) error
- func (vm *VM) SetState(_ context.Context, state consensusinterfaces.State) error
- func (vm *VM) Shutdown() error
- func (*VM) Version(context.Context) (string, error)
- func (vm *VM) WaitForEvent(ctx context.Context) (core.MessageType, error)
- type WalletClient
- type WalletService
- func (w *WalletService) IssueTx(_ *http.Request, args *api.FormattedTx, reply *api.JSONTxID) error
- func (w *WalletService) Send(r *http.Request, args *SendArgs, reply *api.JSONTxIDChangeAddr) error
- func (w *WalletService) SendMultiple(_ *http.Request, args *SendMultipleArgs, reply *api.JSONTxIDChangeAddr) error
Constants ¶
This section is empty.
Variables ¶
var DefaultConfig = Config{ Network: network.DefaultConfig, IndexTransactions: false, IndexAllowIncomplete: false, ChecksumsEnabled: false, }
var (
ErrRejected = errors.New("rejected")
)
Functions ¶
func AwaitTxAccepted ¶
Types ¶
type AssetDefinition ¶
type AssetIDChangeAddr ¶ added in v1.1.11
type AssetIDChangeAddr struct {
FormattedAssetID
api.JSONChangeAddr
}
AssetIDChangeAddr is an asset ID and a change address
type BuildGenesisArgs ¶ added in v1.1.11
type BuildGenesisArgs struct {
NetworkID avajson.Uint32 `json:"networkID"`
GenesisData map[string]AssetDefinition `json:"genesisData"`
Encoding formatting.Encoding `json:"encoding"`
}
BuildGenesisArgs are arguments for BuildGenesis
type BuildGenesisReply ¶ added in v1.1.11
type BuildGenesisReply struct {
Bytes string `json:"bytes"`
Encoding formatting.Encoding `json:"encoding"`
}
BuildGenesisReply is the reply from BuildGenesis
type Client ¶
type Client interface {
WalletClient
// GetBlock returns the block with the given id.
GetBlock(ctx context.Context, blkID ids.ID, options ...rpc.Option) ([]byte, error)
// GetBlockByHeight returns the block at the given [height].
GetBlockByHeight(ctx context.Context, height uint64, options ...rpc.Option) ([]byte, error)
// GetHeight returns the height of the last accepted block.
GetHeight(ctx context.Context, options ...rpc.Option) (uint64, error)
// GetTxStatus returns the status of [txID]
//
// Deprecated: GetTxStatus only returns Accepted or Unknown, GetTx should be
// used instead to determine if the tx was accepted.
GetTxStatus(ctx context.Context, txID ids.ID, options ...rpc.Option) (choices.Status, error)
// GetTx returns the byte representation of [txID]
GetTx(ctx context.Context, txID ids.ID, options ...rpc.Option) ([]byte, error)
// GetUTXOs returns the byte representation of the UTXOs controlled by [addrs]
GetUTXOs(
ctx context.Context,
addrs []ids.ShortID,
limit uint32,
startAddress ids.ShortID,
startUTXOID ids.ID,
options ...rpc.Option,
) ([][]byte, ids.ShortID, ids.ID, error)
// GetAtomicUTXOs returns the byte representation of the atomic UTXOs controlled by [addrs]
// from [sourceChain]
GetAtomicUTXOs(
ctx context.Context,
addrs []ids.ShortID,
sourceChain string,
limit uint32,
startAddress ids.ShortID,
startUTXOID ids.ID,
options ...rpc.Option,
) ([][]byte, ids.ShortID, ids.ID, error)
// GetAssetDescription returns a description of [assetID]
GetAssetDescription(ctx context.Context, assetID string, options ...rpc.Option) (*GetAssetDescriptionReply, error)
// GetBalance returns the balance of [assetID] held by [addr].
// If [includePartial], balance includes partial owned (i.e. in a multisig) funds.
//
// Deprecated: GetUTXOs should be used instead.
GetBalance(ctx context.Context, addr ids.ShortID, assetID string, includePartial bool, options ...rpc.Option) (*GetBalanceReply, error)
// GetAllBalances returns all asset balances for [addr]
//
// Deprecated: GetUTXOs should be used instead.
GetAllBalances(ctx context.Context, addr ids.ShortID, includePartial bool, options ...rpc.Option) ([]Balance, error)
// CreateAsset creates a new asset and returns its assetID
//
// Deprecated: Transactions should be issued using the
// `node/wallet/chain/x.Wallet` utility.
CreateAsset(
ctx context.Context,
user api.UserPass,
from []ids.ShortID,
changeAddr ids.ShortID,
name string,
symbol string,
denomination byte,
holders []*ClientHolder,
minters []ClientOwners,
options ...rpc.Option,
) (ids.ID, error)
// CreateFixedCapAsset creates a new fixed cap asset and returns its assetID
//
// Deprecated: Transactions should be issued using the
// `node/wallet/chain/x.Wallet` utility.
CreateFixedCapAsset(
ctx context.Context,
user api.UserPass,
from []ids.ShortID,
changeAddr ids.ShortID,
name string,
symbol string,
denomination byte,
holders []*ClientHolder,
options ...rpc.Option,
) (ids.ID, error)
// CreateVariableCapAsset creates a new variable cap asset and returns its assetID
//
// Deprecated: Transactions should be issued using the
// `node/wallet/chain/x.Wallet` utility.
CreateVariableCapAsset(
ctx context.Context,
user api.UserPass,
from []ids.ShortID,
changeAddr ids.ShortID,
name string,
symbol string,
denomination byte,
minters []ClientOwners,
options ...rpc.Option,
) (ids.ID, error)
// CreateNFTAsset creates a new NFT asset and returns its assetID
//
// Deprecated: Transactions should be issued using the
// `node/wallet/chain/x.Wallet` utility.
CreateNFTAsset(
ctx context.Context,
user api.UserPass,
from []ids.ShortID,
changeAddr ids.ShortID,
name string,
symbol string,
minters []ClientOwners,
options ...rpc.Option,
) (ids.ID, error)
// CreateAddress creates a new address controlled by [user]
//
// Deprecated: Keys should no longer be stored on the node.
CreateAddress(ctx context.Context, user api.UserPass, options ...rpc.Option) (ids.ShortID, error)
// ListAddresses returns all addresses on this chain controlled by [user]
//
// Deprecated: Keys should no longer be stored on the node.
ListAddresses(ctx context.Context, user api.UserPass, options ...rpc.Option) ([]ids.ShortID, error)
// ExportKey returns the private key corresponding to [addr] controlled by [user]
//
// Deprecated: Keys should no longer be stored on the node.
ExportKey(ctx context.Context, user api.UserPass, addr ids.ShortID, options ...rpc.Option) (*secp256k1.PrivateKey, error)
// ImportKey imports [privateKey] to [user]
//
// Deprecated: Keys should no longer be stored on the node.
ImportKey(ctx context.Context, user api.UserPass, privateKey *secp256k1.PrivateKey, options ...rpc.Option) (ids.ShortID, error)
// Mint [amount] of [assetID] to be owned by [to]
//
// Deprecated: Transactions should be issued using the
// `node/wallet/chain/x.Wallet` utility.
Mint(
ctx context.Context,
user api.UserPass,
from []ids.ShortID,
changeAddr ids.ShortID,
amount uint64,
assetID string,
to ids.ShortID,
options ...rpc.Option,
) (ids.ID, error)
// SendNFT sends an NFT and returns the ID of the newly created transaction
//
// Deprecated: Transactions should be issued using the
// `node/wallet/chain/x.Wallet` utility.
SendNFT(
ctx context.Context,
user api.UserPass,
from []ids.ShortID,
changeAddr ids.ShortID,
assetID string,
groupID uint32,
to ids.ShortID,
options ...rpc.Option,
) (ids.ID, error)
// MintNFT issues a MintNFT transaction and returns the ID of the newly created transaction
//
// Deprecated: Transactions should be issued using the
// `node/wallet/chain/x.Wallet` utility.
MintNFT(
ctx context.Context,
user api.UserPass,
from []ids.ShortID,
changeAddr ids.ShortID,
assetID string,
payload []byte,
to ids.ShortID,
options ...rpc.Option,
) (ids.ID, error)
// Import sends an import transaction to import funds from [sourceChain] and
// returns the ID of the newly created transaction
//
// Deprecated: Transactions should be issued using the
// `node/wallet/chain/x.Wallet` utility.
Import(ctx context.Context, user api.UserPass, to ids.ShortID, sourceChain string, options ...rpc.Option) (ids.ID, error) // Export sends an asset from this chain to the P/C-Chain.
// After this tx is accepted, the LUX must be imported to the P/C-chain with an importTx.
// Returns the ID of the newly created atomic transaction
//
// Deprecated: Transactions should be issued using the
// `node/wallet/chain/x.Wallet` utility.
Export(
ctx context.Context,
user api.UserPass,
from []ids.ShortID,
changeAddr ids.ShortID,
amount uint64,
to ids.ShortID,
toChainIDAlias string,
assetID string,
options ...rpc.Option,
) (ids.ID, error)
}
Client for interacting with an XVM (X-Chain) instance
type ClientHolder ¶ added in v1.1.11
ClientHolder describes how much an address owns of an asset
type ClientOwners ¶ added in v1.1.11
ClientOwners describes who can perform an action
type ClientSendOutput ¶ added in v1.1.11
type ClientSendOutput struct {
// The amount of funds to send
Amount uint64
// ID of the asset being sent
AssetID string
// Address of the recipient
To ids.ShortID
}
ClientSendOutput specifies that [Amount] of asset [AssetID] be sent to [To]
type Config ¶
type Config struct {
Network network.Config `json:"network"`
IndexTransactions bool `json:"index-transactions"`
IndexAllowIncomplete bool `json:"index-allow-incomplete"`
ChecksumsEnabled bool `json:"checksums-enabled"`
}
func ParseConfig ¶
type CreateAssetArgs ¶ added in v1.1.11
type CreateAssetArgs struct {
api.JSONSpendHeader // User, password, from addrs, change addr
Name string `json:"name"`
Symbol string `json:"symbol"`
Denomination byte `json:"denomination"`
InitialHolders []*Holder `json:"initialHolders"`
MinterSets []Owners `json:"minterSets"`
}
CreateAssetArgs are arguments for passing into CreateAsset
type CreateNFTAssetArgs ¶ added in v1.1.11
type CreateNFTAssetArgs struct {
api.JSONSpendHeader // User, password, from addrs, change addr
Name string `json:"name"`
Symbol string `json:"symbol"`
MinterSets []Owners `json:"minterSets"`
}
CreateNFTAssetArgs are arguments for passing into CreateNFTAsset requests
type ExportArgs ¶ added in v1.1.11
type ExportArgs struct {
// User, password, from addrs, change addr
api.JSONSpendHeader
// Amount of nLUX to send
Amount avajson.Uint64 `json:"amount"`
// Chain the funds are going to. Optional. Used if To address does not include the chainID.
TargetChain string `json:"targetChain"`
// ID of the address that will receive the LUX. This address may include the
// chainID, which is used to determine what the destination chain is.
To string `json:"to"`
AssetID string `json:"assetID"`
}
ExportArgs are arguments for passing into ExportAVA requests
type ExportKeyArgs ¶ added in v1.1.11
ExportKeyArgs are arguments for ExportKey
type ExportKeyReply ¶ added in v1.1.11
type ExportKeyReply struct {
// The decrypted PrivateKey for the Address provided in the arguments
PrivateKey *secp256k1.PrivateKey `json:"privateKey"`
}
ExportKeyReply is the response for ExportKey
type FormattedAssetID ¶
FormattedAssetID defines a JSON formatted struct containing an assetID as a string
type Genesis ¶
type Genesis struct {
Txs []*GenesisAsset `serialize:"true"`
}
type GenesisAsset ¶
type GenesisAsset struct {
Alias string `serialize:"true"`
txs.CreateAssetTx `serialize:"true"`
}
func (*GenesisAsset) Compare ¶
func (g *GenesisAsset) Compare(other *GenesisAsset) int
type GetAddressTxsArgs ¶ added in v1.1.11
type GetAddressTxsReply ¶ added in v1.1.11
type GetAllBalancesArgs ¶
type GetAllBalancesArgs struct {
api.JSONAddress
IncludePartial bool `json:"includePartial"`
}
type GetAllBalancesReply ¶
type GetAllBalancesReply struct {
Balances []Balance `json:"balances"`
}
GetAllBalancesReply is the response from a call to GetAllBalances
type GetAssetDescriptionArgs ¶
type GetAssetDescriptionArgs struct {
AssetID string `json:"assetID"`
}
GetAssetDescriptionArgs are arguments for passing into GetAssetDescription requests
type GetAssetDescriptionReply ¶
type GetAssetDescriptionReply struct {
FormattedAssetID
Name string `json:"name"`
Symbol string `json:"symbol"`
Denomination avajson.Uint8 `json:"denomination"`
}
GetAssetDescriptionReply defines the GetAssetDescription replies returned from the API
type GetBalanceArgs ¶
type GetBalanceArgs struct {
Address string `json:"address"`
AssetID string `json:"assetID"`
IncludePartial bool `json:"includePartial"`
}
GetBalanceArgs are arguments for passing into GetBalance requests
type GetBalanceReply ¶
type GetBalanceReply struct {
Balance avajson.Uint64 `json:"balance"`
UTXOIDs []lux.UTXOID `json:"utxoIDs"`
}
GetBalanceReply defines the GetBalance replies returned from the API
type GetCurrentValidatorOutput ¶ added in v1.17.2
GetCurrentValidatorOutput represents current validator info
type GetTxStatusReply ¶
GetTxStatusReply defines the GetTxStatus replies returned from the API
type ImportArgs ¶ added in v1.1.11
type ImportArgs struct {
// User that controls To
api.UserPass
// Chain the funds are coming from
SourceChain string `json:"sourceChain"`
// Address receiving the imported LUX
To string `json:"to"`
}
ImportArgs are arguments for passing into Import requests
type ImportKeyArgs ¶ added in v1.1.11
type ImportKeyArgs struct {
api.UserPass
PrivateKey *secp256k1.PrivateKey `json:"privateKey"`
}
ImportKeyArgs are arguments for ImportKey
type ImportKeyReply ¶ added in v1.1.11
type ImportKeyReply struct {
// The address controlled by the PrivateKey provided in the arguments
Address string `json:"address"`
}
ImportKeyReply is the response for ImportKey
type MintArgs ¶ added in v1.1.11
type MintArgs struct {
api.JSONSpendHeader // User, password, from addrs, change addr
Amount avajson.Uint64 `json:"amount"`
AssetID string `json:"assetID"`
To string `json:"to"`
}
MintArgs are arguments for passing into Mint requests
type MintNFTArgs ¶ added in v1.1.11
type MintNFTArgs struct {
api.JSONSpendHeader // User, password, from addrs, change addr
AssetID string `json:"assetID"`
Payload string `json:"payload"`
To string `json:"to"`
Encoding formatting.Encoding `json:"encoding"`
}
MintNFTArgs are arguments for passing into MintNFT requests
type Owners ¶
type Owners struct {
Threshold avajson.Uint32 `json:"threshold"`
Minters []string `json:"minters"`
}
Owners describes who can perform an action
type SendArgs ¶ added in v1.1.11
type SendArgs struct {
// User, password, from addrs, change addr
api.JSONSpendHeader
// The amount, assetID, and destination to send funds to
SendOutput
// Memo field
Memo string `json:"memo"`
}
SendArgs are arguments for passing into Send requests
type SendMultipleArgs ¶ added in v1.1.11
type SendMultipleArgs struct {
// User, password, from addrs, change addr
api.JSONSpendHeader
// The outputs of the transaction
Outputs []SendOutput `json:"outputs"`
// Memo field
Memo string `json:"memo"`
}
SendMultipleArgs are arguments for passing into SendMultiple requests
type SendNFTArgs ¶ added in v1.1.11
type SendNFTArgs struct {
api.JSONSpendHeader // User, password, from addrs, change addr
AssetID string `json:"assetID"`
GroupID avajson.Uint32 `json:"groupID"`
To string `json:"to"`
}
SendNFTArgs are arguments for passing into SendNFT requests
type SendOutput ¶ added in v1.1.11
type SendOutput struct {
// The amount of funds to send
Amount avajson.Uint64 `json:"amount"`
// ID of the asset being sent
AssetID string `json:"assetID"`
// Address of the recipient
To string `json:"to"`
}
SendOutput specifies that [Amount] of asset [AssetID] be sent to [To]
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service defines the base service for the asset vm
func (*Service) CreateAddress ¶ added in v1.1.11
CreateAddress creates an address for the user [args.Username]
func (*Service) CreateAsset ¶ added in v1.1.11
func (s *Service) CreateAsset(_ *http.Request, args *CreateAssetArgs, reply *AssetIDChangeAddr) error
CreateAsset returns ID of the newly created asset
func (*Service) CreateFixedCapAsset ¶ added in v1.1.11
func (s *Service) CreateFixedCapAsset(r *http.Request, args *CreateAssetArgs, reply *AssetIDChangeAddr) error
CreateFixedCapAsset returns ID of the newly created asset
func (*Service) CreateNFTAsset ¶ added in v1.1.11
func (s *Service) CreateNFTAsset(_ *http.Request, args *CreateNFTAssetArgs, reply *AssetIDChangeAddr) error
CreateNFTAsset returns ID of the newly created asset
func (*Service) CreateVariableCapAsset ¶ added in v1.1.11
func (s *Service) CreateVariableCapAsset(r *http.Request, args *CreateAssetArgs, reply *AssetIDChangeAddr) error
CreateVariableCapAsset returns ID of the newly created asset
func (*Service) Export ¶ added in v1.1.11
func (s *Service) Export(_ *http.Request, args *ExportArgs, reply *api.JSONTxIDChangeAddr) error
Export sends an asset from this chain to the P/C-Chain. After this tx is accepted, the LUX must be imported to the P/C-chain with an importTx. Returns the ID of the newly created atomic transaction
func (*Service) ExportKey ¶ added in v1.1.11
func (s *Service) ExportKey(_ *http.Request, args *ExportKeyArgs, reply *ExportKeyReply) error
ExportKey returns a private key from the provided user
func (*Service) GetAddressTxs ¶ added in v1.1.11
func (s *Service) GetAddressTxs(_ *http.Request, args *GetAddressTxsArgs, reply *GetAddressTxsReply) error
GetAddressTxs returns list of transactions for a given address
func (*Service) GetAllBalances ¶
func (s *Service) GetAllBalances(_ *http.Request, args *GetAllBalancesArgs, reply *GetAllBalancesReply) error
GetAllBalances returns a map where:
Key: ID of an asset such that [args.Address] has a non-zero balance of the asset Value: The balance of the asset held by the address
If ![args.IncludePartial], returns only unlocked balance/UTXOs with a 1-out-of-1 multisig. Otherwise, returned balance/UTXOs includes assets held only partially by the address, and includes balances with locktime in the future.
func (*Service) GetAssetDescription ¶
func (s *Service) GetAssetDescription(_ *http.Request, args *GetAssetDescriptionArgs, reply *GetAssetDescriptionReply) error
GetAssetDescription creates an empty account with the name passed in
func (*Service) GetBalance ¶
func (s *Service) GetBalance(_ *http.Request, args *GetBalanceArgs, reply *GetBalanceReply) error
GetBalance returns the balance of an asset held by an address. If ![args.IncludePartial], returns only the balance held solely (1 out of 1 multisig) by the address and with a locktime in the past. Otherwise, returned balance includes assets held only partially by the address, and includes balances with locktime in the future.
func (*Service) GetBlock ¶
func (s *Service) GetBlock(_ *http.Request, args *api.GetBlockArgs, reply *api.GetBlockResponse) error
GetBlock returns the requested block.
func (*Service) GetBlockByHeight ¶
func (s *Service) GetBlockByHeight(_ *http.Request, args *api.GetBlockByHeightArgs, reply *api.GetBlockResponse) error
GetBlockByHeight returns the block at the given height.
func (*Service) GetTxStatus
deprecated
func (*Service) GetUTXOs ¶
func (s *Service) GetUTXOs(_ *http.Request, args *api.GetUTXOsArgs, reply *api.GetUTXOsReply) error
GetUTXOs gets all utxos for passed in addresses
func (*Service) Import ¶ added in v1.1.11
Import imports an asset to this chain from the P/C-Chain. The LUX must have already been exported from the P/C-Chain. Returns the ID of the newly created atomic transaction
func (*Service) ImportKey ¶ added in v1.1.11
func (s *Service) ImportKey(_ *http.Request, args *ImportKeyArgs, reply *api.JSONAddress) error
ImportKey adds a private key to the provided user
func (*Service) ListAddresses ¶ added in v1.1.11
func (s *Service) ListAddresses(_ *http.Request, args *api.UserPass, response *api.JSONAddresses) error
ListAddresses returns all of the addresses controlled by user [args.Username]
func (*Service) MintNFT ¶ added in v1.1.11
func (s *Service) MintNFT(_ *http.Request, args *MintNFTArgs, reply *api.JSONTxIDChangeAddr) error
MintNFT issues a MintNFT transaction and returns the ID of the newly created transaction
func (*Service) SendMultiple ¶ added in v1.1.11
func (s *Service) SendMultiple(_ *http.Request, args *SendMultipleArgs, reply *api.JSONTxIDChangeAddr) error
SendMultiple sends a transaction with multiple outputs.
func (*Service) SendNFT ¶ added in v1.1.11
func (s *Service) SendNFT(_ *http.Request, args *SendNFTArgs, reply *api.JSONTxIDChangeAddr) error
SendNFT sends an NFT
type SharedMemory ¶ added in v1.17.2
type SharedMemory interface {
}
SharedMemory provides cross-chain shared memory
type StaticClient ¶ added in v1.1.11
type StaticClient interface {
BuildGenesis(ctx context.Context, args *BuildGenesisArgs, options ...rpc.Option) (*BuildGenesisReply, error)
}
StaticClient for interacting with the XVM static api
func NewStaticClient ¶ added in v1.1.11
func NewStaticClient(uri string) StaticClient
NewClient returns an XVM client for interacting with the xvm static api
type StaticService ¶ added in v1.1.11
type StaticService struct{}
StaticService defines the base service for the asset vm
func CreateStaticService ¶ added in v1.1.11
func CreateStaticService() *StaticService
func (*StaticService) BuildGenesis ¶ added in v1.1.11
func (*StaticService) BuildGenesis(_ *http.Request, args *BuildGenesisArgs, reply *BuildGenesisReply) error
BuildGenesis returns the UTXOs such that at least one address in [args.Addresses] is referenced in the UTXO.
type Tx ¶
type Tx struct {
// contains filtered or unexported fields
}
func (*Tx) Height ¶ added in v1.17.2
Height returns the height of this transaction (not used in XVM)
type VM ¶
type VM struct {
network.Atomic
config.Config
lux.AddressManager
ids.Aliaser
utxo.Spender
// Lock for thread safety (exposed for tests)
Lock sync.RWMutex
// Chain information
ChainID ids.ID
XChainID ids.ID
SharedMemory SharedMemory
// These values are only initialized after the chain has been linearized.
blockbuilder.Builder
// contains filtered or unexported fields
}
func (*VM) BuildVertex ¶
BuildVertex builds a new vertex - required for LinearizableVMWithEngine
func (*VM) CreateHandlers ¶
func (*VM) CreateStaticHandlers ¶ added in v1.17.2
func (*VM) GetBlockIDAtHeight ¶
func (*VM) GetEngine ¶
GetEngine returns the consensus engine - required for LinearizableVMWithEngine
func (*VM) GetTx ¶ added in v1.17.2
GetTx returns a transaction by ID - required for LinearizableVMWithEngine
func (*VM) GetVertex ¶ added in v1.11.14
GetVertex gets a vertex by ID - required for LinearizableVMWithEngine
func (*VM) Initialize ¶
func (vm *VM) Initialize( ctx context.Context, chainCtx interface{}, dbManager interface{}, genesisBytes []byte, upgradeBytes []byte, configBytes []byte, toEngine chan<- interface{}, fxs []interface{}, appSender interface{}, ) error
Initialize with new signature for LinearizableVMWithEngine compatibility
func (*VM) LoadUser ¶ added in v1.1.11
func (vm *VM) LoadUser( username string, password string, addresses set.Set[ids.ShortID], ) ([]*lux.UTXO, *secp256k1fx.Keychain, error)
LoadUser retrieves user keys from external storage
func (*VM) NewHTTPHandler ¶
NewHTTPHandler implements the core.VM interface
func (*VM) ParseBlock ¶
func (*VM) ParseVertex ¶
ParseVertex parses vertex bytes - required for LinearizableVMWithEngine
func (*VM) SetEngine ¶ added in v1.11.14
func (vm *VM) SetEngine(engine interface{})
SetEngine sets the consensus engine - required for LinearizableVMWithEngine
func (*VM) WaitForEvent ¶ added in v1.1.11
WaitForEvent implements the core.VM interface
type WalletClient ¶
type WalletClient interface {
// IssueTx issues a transaction to a node and returns the TxID
IssueTx(ctx context.Context, tx []byte, options ...rpc.Option) (ids.ID, error)
// Send [amount] of [assetID] to address [to]
//
// Deprecated: Transactions should be issued using the
// `node/wallet/chain/x.Wallet` utility.
Send(
ctx context.Context,
user api.UserPass,
from []ids.ShortID,
changeAddr ids.ShortID,
amount uint64,
assetID string,
to ids.ShortID,
memo string,
options ...rpc.Option,
) (ids.ID, error)
// SendMultiple sends a transaction from [user] funding all [outputs]
//
// Deprecated: Transactions should be issued using the
// `node/wallet/chain/x.Wallet` utility.
SendMultiple(
ctx context.Context,
user api.UserPass,
from []ids.ShortID,
changeAddr ids.ShortID,
outputs []ClientSendOutput,
memo string,
options ...rpc.Option,
) (ids.ID, error)
}
interface of an XVM wallet client for interacting with xvm managed wallet on chain
func NewWalletClient
deprecated
func NewWalletClient(uri, chain string) WalletClient
NewWalletClient returns an XVM wallet client for interacting with xvm managed wallet on chain
Deprecated: Transactions should be issued using the `node/wallet/chain/x.Wallet` utility.
type WalletService ¶
type WalletService struct {
// contains filtered or unexported fields
}
func (*WalletService) IssueTx ¶
func (w *WalletService) IssueTx(_ *http.Request, args *api.FormattedTx, reply *api.JSONTxID) error
IssueTx attempts to issue a transaction into consensus
func (*WalletService) Send ¶ added in v1.1.11
func (w *WalletService) Send(r *http.Request, args *SendArgs, reply *api.JSONTxIDChangeAddr) error
Send returns the ID of the newly created transaction
func (*WalletService) SendMultiple ¶ added in v1.1.11
func (w *WalletService) SendMultiple(_ *http.Request, args *SendMultipleArgs, reply *api.JSONTxIDChangeAddr) error
SendMultiple sends a transaction with multiple outputs.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package block is a generated GoMock package.
|
Package block is a generated GoMock package. |
|
executor
Package executor is a generated GoMock package.
|
Package executor is a generated GoMock package. |
|
executor/executormock
Package executormock is a generated GoMock package.
|
Package executormock is a generated GoMock package. |
|
Package metrics is a generated GoMock package.
|
Package metrics is a generated GoMock package. |
|
metricsmock
Package metricsmock is a generated GoMock package.
|
Package metricsmock is a generated GoMock package. |
|
Package state is a generated GoMock package.
|
Package state is a generated GoMock package. |
|
statemock
Package statemock is a generated GoMock package.
|
Package statemock is a generated GoMock package. |
|
Package txs is a generated GoMock package.
|
Package txs is a generated GoMock package. |
|
mempool
Package mempool is a generated GoMock package.
|
Package mempool is a generated GoMock package. |
|
txsmock
Package txsmock is a generated GoMock package.
|
Package txsmock is a generated GoMock package. |