client

package
v1.23.2 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2022 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountInfo

type AccountInfo struct {
	Lamports   uint64
	Owner      common.PublicKey
	Executable bool
	RentEpoch  uint64
	Data       []byte
}

type Client

type Client struct {
	RpcClient rpc.RpcClient
}

func New

func New(opts ...rpc.Option) *Client

func NewClient

func NewClient(endpoint string) *Client

func (*Client) GetAccountInfo

func (c *Client) GetAccountInfo(ctx context.Context, base58Addr string) (AccountInfo, error)

GetAccountInfo return account's info

func (*Client) GetAccountInfoWithConfig

func (c *Client) GetAccountInfoWithConfig(ctx context.Context, base58Addr string, cfg GetAccountInfoConfig) (AccountInfo, error)

GetAccountInfoWithConfig return account's info

func (*Client) GetBalance

func (c *Client) GetBalance(ctx context.Context, base58Addr string) (uint64, error)

GetBalance fetch users lamports(SOL) balance

func (*Client) GetBalanceWithConfig

func (c *Client) GetBalanceWithConfig(ctx context.Context, base58Addr string, cfg rpc.GetBalanceConfig) (uint64, error)

GetBalance fetch users lamports(SOL) balance with specific commitment

func (*Client) GetBlock

func (c *Client) GetBlock(ctx context.Context, slot uint64) (GetBlockResponse, error)

GetBlock returns identity and transaction information about a confirmed block in the ledger

func (*Client) GetBlockTime

func (c *Client) GetBlockTime(ctx context.Context, slot uint64) (int64, error)

GetBlockTime returns the estimated production time of a block.

func (*Client) GetBlockWithConfig

func (c *Client) GetBlockWithConfig(ctx context.Context, slot uint64, cfg rpc.GetBlockConfig) (GetBlockResponse, error)

GetBlockWithConfig returns identity and transaction information about a confirmed block in the ledger

func (*Client) GetClusterNodes

func (c *Client) GetClusterNodes(ctx context.Context) ([]ClusterNode, error)

GetClusterNodes returns information about all the nodes participating in the cluster

func (*Client) GetFeeForMessage

func (c *Client) GetFeeForMessage(ctx context.Context, message types.Message) (*uint64, error)

NEW: This method is only available in solana-core v1.9 or newer. Please use getFees for solana-core v1.8 GetFeeForMessage get the fee the network will charge for a particular Message

func (*Client) GetFeeForMessageWithConfig

func (c *Client) GetFeeForMessageWithConfig(ctx context.Context, message types.Message, cfg GetFeeForMessageConfig) (*uint64, error)

NEW: This method is only available in solana-core v1.9 or newer. Please use getFees for solana-core v1.8 GetFeeForMessageWithConfig get the fee the network will charge for a particular Message

func (*Client) GetFirstAvailableBlock

func (c *Client) GetFirstAvailableBlock(ctx context.Context) (uint64, error)

GetFirstAvailableBlock returns the slot of the lowest confirmed block that has not been purged from the ledger

func (*Client) GetGenesisHash

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

GetGenesisHash returns the genesis hash

func (*Client) GetIdentity

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

GetIdentity returns the identity pubkey for the current node

func (*Client) GetLatestBlockhash

func (c *Client) GetLatestBlockhash(ctx context.Context) (rpc.GetLatestBlockhashValue, error)

NEW: This method is only available in solana-core v1.9 or newer. Please use getRecentBlockhash for solana-core v1.8 GetLatestBlockhash returns the latest blockhash

func (*Client) GetLatestBlockhashWithConfig

func (c *Client) GetLatestBlockhashWithConfig(ctx context.Context, cfg GetLatestBlockhashConfig) (rpc.GetLatestBlockhashValue, error)

NEW: This method is only available in solana-core v1.9 or newer. Please use getRecentBlockhash for solana-core v1.8 GetLatestBlockhashWithConfig returns the latest blockhash

func (*Client) GetMinimumBalanceForRentExemption

func (c *Client) GetMinimumBalanceForRentExemption(ctx context.Context, dataLen uint64) (uint64, error)

GetMinimumBalanceForRentExemption returns minimum balance required to make account rent exempt

func (*Client) GetMultipleAccounts

func (c *Client) GetMultipleAccounts(ctx context.Context, base58Addrs []string) ([]AccountInfo, error)

GetMultipleAccounts returns multiple accounts info

func (*Client) GetMultipleAccountsWithConfig

func (c *Client) GetMultipleAccountsWithConfig(ctx context.Context, base58Addrs []string, cfg GetMultipleAccountsConfig) ([]AccountInfo, error)

GetAccountInfoWithConfig return account's info

func (*Client) GetNonceAccount

func (c *Client) GetNonceAccount(ctx context.Context, base58Addr string) (system.NonceAccount, error)

func (*Client) GetNonceFromNonceAccount

func (c *Client) GetNonceFromNonceAccount(ctx context.Context, base58Addr string) (string, error)

func (*Client) GetSignatureStatus

func (c *Client) GetSignatureStatus(ctx context.Context, signature string) (*rpc.SignatureStatus, error)

func (*Client) GetSignatureStatusWithConfig

func (c *Client) GetSignatureStatusWithConfig(ctx context.Context, signature string, cfg rpc.GetSignatureStatusesConfig) (*rpc.SignatureStatus, error)

func (*Client) GetSignatureStatuses

func (c *Client) GetSignatureStatuses(ctx context.Context, signatures []string) (rpc.SignatureStatuses, error)

func (*Client) GetSignatureStatusesWithConfig

func (c *Client) GetSignatureStatusesWithConfig(ctx context.Context, signatures []string, cfg rpc.GetSignatureStatusesConfig) (rpc.SignatureStatuses, error)

func (*Client) GetSignaturesForAddress

func (c *Client) GetSignaturesForAddress(ctx context.Context, base58Addr string) (rpc.GetSignaturesForAddress, error)

func (*Client) GetSignaturesForAddressWithConfig

func (c *Client) GetSignaturesForAddressWithConfig(ctx context.Context, base58Addr string, cfg rpc.GetSignaturesForAddressConfig) (rpc.GetSignaturesForAddress, error)

func (*Client) GetSlot

func (c *Client) GetSlot(ctx context.Context) (uint64, error)

GetSlot get current slot (finalized)

func (*Client) GetSlotWithConfig

func (c *Client) GetSlotWithConfig(ctx context.Context, cfg rpc.GetSlotConfig) (uint64, error)

GetSlotWithConfig get slot by commitment

func (*Client) GetTokenAccount

func (c *Client) GetTokenAccount(ctx context.Context, base58Addr string) (token.TokenAccount, error)

func (*Client) GetTokenAccountBalance

func (c *Client) GetTokenAccountBalance(ctx context.Context, base58Addr string) (uint64, uint8, error)

GetTokenAccountBalance returns the token balance of an SPL Token account

func (*Client) GetTokenAccountBalanceWithConfig

func (c *Client) GetTokenAccountBalanceWithConfig(ctx context.Context, base58Addr string, cfg rpc.GetTokenAccountBalanceConfig) (uint64, uint8, error)

GetTokenAccountBalance returns the token balance of an SPL Token account

func (*Client) GetTokenAccountsByOwner

func (c *Client) GetTokenAccountsByOwner(ctx context.Context, base58Addr string) (map[common.PublicKey]token.TokenAccount, error)

func (*Client) GetTokenSupply

func (c *Client) GetTokenSupply(ctx context.Context, mintAddr string) (uint64, uint8, error)

GetTokenSupply returns the total supply of an SPL Token type.

func (*Client) GetTokenSupplyWithConfig

func (c *Client) GetTokenSupplyWithConfig(ctx context.Context, mintAddr string, cfg rpc.GetTokenSupplyConfig) (uint64, uint8, error)

GetTokenSupply returns the total supply of an SPL Token type.

func (*Client) GetTransaction

func (c *Client) GetTransaction(ctx context.Context, txhash string) (*GetTransactionResponse, error)

GetTransaction returns transaction details for a confirmed transaction

func (*Client) GetTransactionCount

func (c *Client) GetTransactionCount(ctx context.Context) (uint64, error)

GetTransactionCount returns the current Transaction count from the ledger

func (*Client) GetTransactionCountWithConfig

func (c *Client) GetTransactionCountWithConfig(ctx context.Context, cfg rpc.GetTransactionCountConfig) (uint64, error)

GetTransactionCountWithConfig returns the current Transaction count from the ledger

func (*Client) GetTransactionWithConfig

func (c *Client) GetTransactionWithConfig(ctx context.Context, txhash string, cfg rpc.GetTransactionConfig) (*GetTransactionResponse, error)

GetTransactionWithConfig returns transaction details for a confirmed transaction will ignore encoding

func (*Client) GetVersion

func (c *Client) GetVersion(ctx context.Context) (rpc.GetVersion, error)

GetVersion returns the current solana versions running on the node

func (*Client) IsBlockhashValid

func (c *Client) IsBlockhashValid(ctx context.Context, blockhash string) (bool, error)

NEW: This method is only available in solana-core v1.9 or newer. Please use getFees for solana-core v1.8 IsBlockhashValid get the fee the network will charge for a particular Message

func (*Client) IsBlockhashValidWithConfig

func (c *Client) IsBlockhashValidWithConfig(ctx context.Context, blockhash string, cfg IsBlockhashConfig) (bool, error)

NEW: This method is only available in solana-core v1.9 or newer. Please use getFees for solana-core v1.8 IsBlockhashValidWithConfig get the fee the network will charge for a particular Message

func (*Client) MinimumLedgerSlot

func (c *Client) MinimumLedgerSlot(ctx context.Context) (uint64, error)

MinimumLedgerSlot returns the lowest slot that the node has information about in its ledger. This value may increase over time if the node is configured to purge older ledger data

func (*Client) QuickSendTransaction

func (c *Client) QuickSendTransaction(ctx context.Context, param QuickSendTransactionParam) (string, error)

QuickSendTransaction is a quick way to send tx

func (*Client) RequestAirdrop

func (c *Client) RequestAirdrop(ctx context.Context, base58Addr string, lamports uint64) (string, error)

RequestAirdrop requests an airdrop of lamports to a Pubkey

func (*Client) SendTransaction

func (c *Client) SendTransaction(ctx context.Context, tx types.Transaction) (string, error)

SendTransaction send transaction struct directly

func (*Client) SendTransactionWithConfig

func (c *Client) SendTransactionWithConfig(ctx context.Context, tx types.Transaction, config SendTransactionConfig) (string, error)

SendTransaction send transaction struct directly

func (*Client) SimulateTransaction

func (c *Client) SimulateTransaction(ctx context.Context, tx types.Transaction) (SimulateTransaction, error)

func (*Client) SimulateTransactionWithConfig

func (c *Client) SimulateTransactionWithConfig(ctx context.Context, tx types.Transaction, cfg SimulateTransactionConfig) (SimulateTransaction, error)

type ClusterNode

type ClusterNode struct {
	Pubkey       common.PublicKey
	Gossip       *string
	Tpu          *string
	Rpc          *string
	Version      *string
	FeatureSet   *uint32
	ShredVersion *uint16
}

type GetAccountInfoConfig

type GetAccountInfoConfig struct {
	Commitment rpc.Commitment
	DataSlice  *rpc.DataSlice
}

type GetBlockResponse

type GetBlockResponse struct {
	Blockhash         string
	BlockTime         *int64
	BlockHeight       *int64
	PreviousBlockhash string
	ParentSlot        uint64
	Transactions      []GetBlockTransaction
	Rewards           []rpc.GetBlockReward
}

type GetBlockTransaction

type GetBlockTransaction struct {
	Meta        *TransactionMeta
	Transaction types.Transaction
}

type GetFeeForMessageConfig

type GetFeeForMessageConfig struct {
	Commitment rpc.Commitment `json:"commitment,omitempty"`
}

type GetLatestBlockhashConfig

type GetLatestBlockhashConfig struct {
	Commitment rpc.Commitment `json:"commitment,omitempty"`
}

type GetMultipleAccountsConfig

type GetMultipleAccountsConfig struct {
	Commitment rpc.Commitment
	DataSlice  *rpc.DataSlice
}

type GetTransactionResponse

type GetTransactionResponse struct {
	Slot        uint64
	Meta        *TransactionMeta
	Transaction types.Transaction
	BlockTime   *int64
}

type IsBlockhashConfig

type IsBlockhashConfig struct {
	Commitment rpc.Commitment `json:"commitment,omitempty"`
}

type QuickSendTransactionParam

type QuickSendTransactionParam struct {
	Instructions []types.Instruction
	Signers      []types.Account
	FeePayer     common.PublicKey
}

type ReturnData

type ReturnData struct {
	ProgramId common.PublicKey
	Data      []byte
}

type SendTransactionConfig

type SendTransactionConfig struct {
	SkipPreflight       bool
	PreflightCommitment rpc.Commitment
	MaxRetries          uint64
}

type SimulateTransaction

type SimulateTransaction struct {
	Err        any
	Logs       []string
	Accounts   []*AccountInfo
	ReturnData *ReturnData
}

type SimulateTransactionConfig

type SimulateTransactionConfig struct {
	SigVerify              bool
	Commitment             rpc.Commitment
	ReplaceRecentBlockhash bool
	Addresses              []string
}

type TransactionMeta

type TransactionMeta struct {
	Err               any
	Fee               uint64
	PreBalances       []int64
	PostBalances      []int64
	PreTokenBalances  []rpc.TransactionMetaTokenBalance
	PostTokenBalances []rpc.TransactionMetaTokenBalance
	LogMessages       []string
	InnerInstructions []TransactionMetaInnerInstruction
}

type TransactionMetaInnerInstruction

type TransactionMetaInnerInstruction struct {
	Index        uint64
	Instructions []types.CompiledInstruction
}

Jump to

Keyboard shortcuts

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