solanaclient

package
v0.0.0-...-6adbc1a Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2025 License: MIT Imports: 12 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoATAFound = errors.New("no ATA found")
View Source
var ErrTokenAccountNotFound = errors.New("associated token account not found")

Functions

func DeriveAssociatedTokenAddress

func DeriveAssociatedTokenAddress(owner solana.PublicKey, mint solana.PublicKey) (pubKey *solana.PublicKey, nonce uint8, err error)

func JsonToBytes

func JsonToBytes(js []byte) []byte

Types

type AssociatedTokenAccountResult

type AssociatedTokenAccountResult struct {
	PubKey string `json:"-"`
	Parsed struct {
		Info struct {
			IsNative    bool   `json:"isNative"`
			Mint        string `json:"mint"`
			Owner       string `json:"owner"`
			State       string `json:"state"`
			TokenAmount struct {
				Amount         string  `json:"amount"`
				Decimals       int     `json:"decimals"`
				UiAmount       float64 `json:"uiAmount"`
				UiAmountString string  `json:"uiAmountString"`
			} `json:"tokenAmount"`
		} `json:"info"`
		Type string `json:"type"`
	} `json:"parsed"`
	Program string `json:"program"`
	Space   int    `json:"space"`
}

func (*AssociatedTokenAccountResult) DecimalAmount

func (ata *AssociatedTokenAccountResult) DecimalAmount() decimal.Decimal

func (*AssociatedTokenAccountResult) InexactFloatAmount

func (ata *AssociatedTokenAccountResult) InexactFloatAmount() float64

func (*AssociatedTokenAccountResult) Uint64Amount

func (ata *AssociatedTokenAccountResult) Uint64Amount() uint64

type ChainID

type ChainID int
const ChainSolana ChainID = 101

type Client

type Client struct {
	RPC *rpc.Client
	WS  *ws.Client
	// contains filtered or unexported fields
}

func NewClient

func NewClient(ctx context.Context, rpcEndpoint, wsEndpoint string) (*Client, error)

func (*Client) AddSigner

func (c *Client) AddSigner(key solana.PrivateKey)

func (*Client) DeriveAndCheckTokenAccount

func (c *Client) DeriveAndCheckTokenAccount(owner solana.PublicKey, mint solana.PublicKey) (pubKey *solana.PublicKey, nonce uint8, err error)

func (*Client) GetAssociatedTokenAccount

func (c *Client) GetAssociatedTokenAccount(owner, mint string) (*AssociatedTokenAccountResult, error)

func (*Client) GetTokenBalanceOf

func (c *Client) GetTokenBalanceOf(owner solana.PublicKey, mint solana.PublicKey) uint64

func (*Client) SignAndSendTx

func (c *Client) SignAndSendTx(b64 string) (*solana.Signature, error)

type TokenExtensions

type TokenExtensions struct {
	CoingeckoID string `json:"coingeckoId"`
	Discord     string `json:"discord"`
	Medium      string `json:"medium"`
	Telegram    string `json:"telegram"`
	Twitter     string `json:"twitter"`
	Website     string `json:"website"`
}

type TokenMetadata

type TokenMetadata struct {
	ChainId    ChainID         `json:"chainId"`
	Address    string          `json:"address"`
	Symbol     string          `json:"symbol"`
	Name       string          `json:"name"`
	Collection string          `json:"collection"`
	Ticker     string          `json:"ticker"`
	Decimals   int             `json:"decimals"`
	Image      string          `json:"image"`
	Tags       []string        `json:"tags"`
	Extensions TokenExtensions `json:"extensions"`
}

Jump to

Keyboard shortcuts

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