Documentation ¶
Index ¶
- Variables
- func NewPubSubFilterer(tx *txs.Tx) pubsub.Filterer
- type AssetDefinition
- type AssetIDChangeAddr
- 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 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 StaticService
- type Tx
- type VM
- 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) Disconnected(ctx context.Context, nodeID ids.NodeID) error
- func (vm *VM) GetBlock(_ context.Context, blkID ids.ID) (snowman.Block, error)
- func (vm *VM) GetBlockIDAtHeight(_ context.Context, height uint64) (ids.ID, error)
- func (*VM) HealthCheck(context.Context) (interface{}, error)
- func (vm *VM) Initialize(_ context.Context, ctx *snow.Context, db database.Database, ...) error
- func (vm *VM) LastAccepted(context.Context) (ids.ID, error)
- func (vm *VM) Linearize(ctx context.Context, stopVertexID ids.ID, toEngine chan<- common.Message) error
- func (vm *VM) LoadUser(username string, password string, addrsToUse set.Set[ids.ShortID]) ([]*avax.UTXO, *secp256k1fx.Keychain, error)
- func (vm *VM) ParseBlock(_ context.Context, blkBytes []byte) (snowman.Block, error)
- func (vm *VM) ParseTx(_ context.Context, bytes []byte) (snowstorm.Tx, error)
- func (vm *VM) SetPreference(_ context.Context, blkID ids.ID) error
- func (vm *VM) SetState(_ context.Context, state snow.State) error
- func (vm *VM) Shutdown(context.Context) error
- func (*VM) Version(context.Context) (string, 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, }
Functions ¶
Types ¶
type AssetDefinition ¶
type AssetIDChangeAddr ¶
type AssetIDChangeAddr struct { FormattedAssetID api.JSONChangeAddr }
AssetIDChangeAddr is an asset ID and a change address
type BuildGenesisArgs ¶
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 ¶
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) // ConfirmTx attempts to confirm [txID] by repeatedly checking its status. // Note: ConfirmTx will block until either the context is done or the client // returns a decided status. // TODO: Move this function off of the Client interface into a utility // function. ConfirmTx(ctx context.Context, txID ids.ID, freq time.Duration, 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 // `cryftgo/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 // `cryftgo/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 // `cryftgo/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 // `cryftgo/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 // `cryftgo/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 // `cryftgo/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 // `cryftgo/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 // `cryftgo/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 AVAX 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 // `cryftgo/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 AVM (X-Chain) instance
type ClientHolder ¶
ClientHolder describes how much an address owns of an asset
type ClientOwners ¶
ClientOwners describes who can perform an action
type ClientSendOutput ¶
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 ¶
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 ¶
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 ¶
type ExportArgs struct { // User, password, from addrs, change addr api.JSONSpendHeader // Amount of nAVAX 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 AVAX. 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 ¶
ExportKeyArgs are arguments for ExportKey
type ExportKeyReply ¶
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 ¶
type GetAddressTxsReply ¶
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 []avax.UTXOID `json:"utxoIDs"` }
GetBalanceReply defines the GetBalance replies returned from the API
type GetTxStatusReply ¶
GetTxStatusReply defines the GetTxStatus replies returned from the API
type ImportArgs ¶
type ImportArgs struct { // User that controls To api.UserPass // Chain the funds are coming from SourceChain string `json:"sourceChain"` // Address receiving the imported AVAX To string `json:"to"` }
ImportArgs are arguments for passing into Import requests
type ImportKeyArgs ¶
type ImportKeyArgs struct { api.UserPass PrivateKey *secp256k1.PrivateKey `json:"privateKey"` }
ImportKeyArgs are arguments for ImportKey
type ImportKeyReply ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
CreateAddress creates an address for the user [args.Username]
func (*Service) CreateAsset ¶
func (s *Service) CreateAsset(_ *http.Request, args *CreateAssetArgs, reply *AssetIDChangeAddr) error
CreateAsset returns ID of the newly created asset
func (*Service) CreateFixedCapAsset ¶
func (s *Service) CreateFixedCapAsset(r *http.Request, args *CreateAssetArgs, reply *AssetIDChangeAddr) error
CreateFixedCapAsset returns ID of the newly created asset
func (*Service) CreateNFTAsset ¶
func (s *Service) CreateNFTAsset(_ *http.Request, args *CreateNFTAssetArgs, reply *AssetIDChangeAddr) error
CreateNFTAsset returns ID of the newly created asset
func (*Service) CreateVariableCapAsset ¶
func (s *Service) CreateVariableCapAsset(r *http.Request, args *CreateAssetArgs, reply *AssetIDChangeAddr) error
CreateVariableCapAsset returns ID of the newly created asset
func (*Service) Export ¶
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 AVAX must be imported to the P/C-chain with an importTx. Returns the ID of the newly created atomic transaction
func (*Service) ExportKey ¶
func (s *Service) ExportKey(_ *http.Request, args *ExportKeyArgs, reply *ExportKeyReply) error
ExportKey returns a private key from the provided user
func (*Service) GetAddressTxs ¶
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 ¶
Import imports an asset to this chain from the P/C-Chain. The AVAX must have already been exported from the P/C-Chain. Returns the ID of the newly created atomic transaction
func (*Service) ImportKey ¶
func (s *Service) ImportKey(_ *http.Request, args *ImportKeyArgs, reply *api.JSONAddress) error
ImportKey adds a private key to the provided user
func (*Service) ListAddresses ¶
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 ¶
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 ¶
func (s *Service) SendMultiple(_ *http.Request, args *SendMultipleArgs, reply *api.JSONTxIDChangeAddr) error
SendMultiple sends a transaction with multiple outputs.
func (*Service) SendNFT ¶
func (s *Service) SendNFT(_ *http.Request, args *SendNFTArgs, reply *api.JSONTxIDChangeAddr) error
SendNFT sends an NFT
type StaticService ¶
type StaticService struct{}
StaticService defines the base service for the asset vm
func CreateStaticService ¶
func CreateStaticService() *StaticService
func (*StaticService) BuildGenesis ¶
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 VM ¶
type VM struct { network.Atomic config.Config avax.AddressManager ids.Aliaser utxo.Spender // These values are only initialized after the chain has been linearized. blockbuilder.Builder // contains filtered or unexported fields }
func (*VM) CreateHandlers ¶
func (*VM) GetBlockIDAtHeight ¶
func (*VM) HealthCheck ¶
TODO: add health checks
func (*VM) Initialize ¶
func (*VM) LoadUser ¶
func (vm *VM) LoadUser( username string, password string, addrsToUse set.Set[ids.ShortID], ) ( []*avax.UTXO, *secp256k1fx.Keychain, error, )
LoadUser returns: 1) The UTXOs that reference one or more addresses controlled by the given user 2) A keychain that contains this user's keys If [addrsToUse] has positive length, returns UTXOs that reference one or more addresses controlled by the given user that are also in [addrsToUse].
func (*VM) ParseBlock ¶
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 // `cryftgo/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 // `cryftgo/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 AVM wallet client for interacting with avm managed wallet on [chain]
func NewWalletClient
deprecated
func NewWalletClient(uri, chain string) WalletClient
NewWalletClient returns an AVM wallet client for interacting with avm managed wallet on [chain]
Deprecated: Transactions should be issued using the `cryftgo/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 ¶
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 ¶
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. |
Package metrics is a generated GoMock package.
|
Package metrics is a generated GoMock package. |
Package state is a generated GoMock package.
|
Package state 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. |