pkg

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Pool

type Pool interface {
	ProtocolName() ProtocolName
	GetProgramID() solana.PublicKey
	GetID() string
	GetTokens() (baseMint, quoteMint string)
	Quote(ctx context.Context, solClient *sol.Client, inputMint string, inputAmount math.Int) (math.Int, error)
	BuildSwapInstructions(
		ctx context.Context,
		solClient *sol.Client,
		user solana.PublicKey,
		inputMint string,
		inputAmount math.Int,
		minOut math.Int,
		userBaseAccount solana.PublicKey,
		userQuoteAccount solana.PublicKey,
	) ([]solana.Instruction, error)
}

type Protocol

type Protocol interface {
	ProtocolName() ProtocolName
	FetchPoolsByPair(ctx context.Context, baseMint, quoteMint string) ([]Pool, error)
	FetchPoolByID(ctx context.Context, poolID string) (Pool, error)
}

type ProtocolName

type ProtocolName string

ProtocolName represents the string name of AMM protocol

const (
	ProtocolNameRaydiumAmm  ProtocolName = "raydium_amm"
	ProtocolNameRaydiumClmm ProtocolName = "raydium_clmm"
	ProtocolNameRaydiumCpmm ProtocolName = "raydium_cpmm"
	ProtocolNameMeteoraDlmm ProtocolName = "meteora_dlmm"
	ProtocolNamePumpAmm     ProtocolName = "pump_amm"
)

Directories

Path Synopsis
pool
raydium
Package raydium implements the Raydium AMM pool functionality for Solana blockchain
Package raydium implements the Raydium AMM pool functionality for Solana blockchain
Package protocol provides implementations for different DeFi protocols
Package protocol provides implementations for different DeFi protocols

Jump to

Keyboard shortcuts

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