jupiter

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInsufficientData = &InsufficientDataError{}

Custom error

Functions

func GetAMMs

func GetAMMs(keys []string) []string

GetAMMs extracts AMM names from transfer action keys

Types

type InsufficientDataError

type InsufficientDataError struct{}

func (*InsufficientDataError) Error

func (e *InsufficientDataError) Error() string

type JupiterDCAFilledEvent

type JupiterDCAFilledEvent struct {
	UserKey    string
	DCAKey     string
	InputMint  string
	OutputMint string
	InAmount   *big.Int
	OutAmount  *big.Int
	FeeMint    string
	Fee        *big.Int
}

JupiterDCAFilledEvent represents parsed DCA filled event

type JupiterDCAFilledLayout

type JupiterDCAFilledLayout struct {
	UserKey    [32]byte
	DCAKey     [32]byte
	InputMint  [32]byte
	OutputMint [32]byte
	InAmount   uint64
	OutAmount  uint64
	FeeMint    [32]byte
	Fee        uint64
}

JupiterDCAFilledLayout represents Jupiter DCA filled event data

func ParseJupiterDCAFilledLayout

func ParseJupiterDCAFilledLayout(data []byte) (*JupiterDCAFilledLayout, error)

ParseJupiterDCAFilledLayout parses Jupiter DCA filled event Layout: userKey(32) + dcaKey(32) + inputMint(32) + outputMint(32) + inAmount(8) + outAmount(8) + feeMint(32) + fee(8)

func (*JupiterDCAFilledLayout) ToObject

ToObject converts layout to object with base58 encoded keys

type JupiterDCAParser

type JupiterDCAParser struct {
	*parsers.BaseParser
}

JupiterDCAParser parses Jupiter DCA transactions

func NewJupiterDCAParser

func NewJupiterDCAParser(
	adapter *adapter.TransactionAdapter,
	dexInfo types.DexInfo,
	transferActions map[string][]types.TransferData,
	classifiedInstructions []types.ClassifiedInstruction,
) *JupiterDCAParser

NewJupiterDCAParser creates a new Jupiter DCA parser

func (*JupiterDCAParser) ProcessTrades

func (p *JupiterDCAParser) ProcessTrades() []types.TradeInfo

ProcessTrades parses Jupiter DCA trades

func (*JupiterDCAParser) ProcessTransfers

func (p *JupiterDCAParser) ProcessTransfers() []types.TransferData

ProcessTransfers parses DCA transfer operations

type JupiterLimitOrderParser

type JupiterLimitOrderParser struct {
	*parsers.BaseParser
}

JupiterLimitOrderParser parses Jupiter Limit Order transactions (V1)

func NewJupiterLimitOrderParser

func NewJupiterLimitOrderParser(
	adapter *adapter.TransactionAdapter,
	dexInfo types.DexInfo,
	transferActions map[string][]types.TransferData,
	classifiedInstructions []types.ClassifiedInstruction,
) *JupiterLimitOrderParser

NewJupiterLimitOrderParser creates a new Jupiter Limit Order parser

func (*JupiterLimitOrderParser) ProcessTrades

func (p *JupiterLimitOrderParser) ProcessTrades() []types.TradeInfo

ProcessTrades returns empty trades for limit order V1 (no immediate trades)

func (*JupiterLimitOrderParser) ProcessTransfers

func (p *JupiterLimitOrderParser) ProcessTransfers() []types.TransferData

ProcessTransfers parses limit order transfer operations

type JupiterLimitOrderV2CreateOrderEvent

type JupiterLimitOrderV2CreateOrderEvent struct {
	OrderKey           string
	Maker              string
	InputMint          string
	OutputMint         string
	InputTokenProgram  string
	OutputTokenProgram string
	MakingAmount       *big.Int
	TakingAmount       *big.Int
	ExpiredAt          *string
	FeeBps             uint16
	FeeAccount         string
}

JupiterLimitOrderV2CreateOrderEvent represents parsed create order event

type JupiterLimitOrderV2CreateOrderLayout

type JupiterLimitOrderV2CreateOrderLayout struct {
	OrderKey           [32]byte
	Maker              [32]byte
	InputMint          [32]byte
	OutputMint         [32]byte
	InputTokenProgram  [32]byte
	OutputTokenProgram [32]byte
	MakingAmount       uint64
	TakingAmount       uint64
	ExpiredAt          *int64
	FeeBps             uint16
	FeeAccount         [32]byte
}

JupiterLimitOrderV2CreateOrderLayout represents Jupiter Limit Order V2 create event

func ParseJupiterLimitOrderV2CreateOrderLayout

func ParseJupiterLimitOrderV2CreateOrderLayout(data []byte) (*JupiterLimitOrderV2CreateOrderLayout, error)

ParseJupiterLimitOrderV2CreateOrderLayout parses Jupiter Limit Order V2 create order event

func (*JupiterLimitOrderV2CreateOrderLayout) ToObject

ToObject converts layout to object

type JupiterLimitOrderV2Parser

type JupiterLimitOrderV2Parser struct {
	*parsers.BaseParser
}

JupiterLimitOrderV2Parser parses Jupiter Limit Order V2 transactions

func NewJupiterLimitOrderV2Parser

func NewJupiterLimitOrderV2Parser(
	adapter *adapter.TransactionAdapter,
	dexInfo types.DexInfo,
	transferActions map[string][]types.TransferData,
	classifiedInstructions []types.ClassifiedInstruction,
) *JupiterLimitOrderV2Parser

NewJupiterLimitOrderV2Parser creates a new Jupiter Limit Order V2 parser

func (*JupiterLimitOrderV2Parser) ProcessTrades

func (p *JupiterLimitOrderV2Parser) ProcessTrades() []types.TradeInfo

ProcessTrades parses Jupiter Limit Order V2 trades

func (*JupiterLimitOrderV2Parser) ProcessTransfers

func (p *JupiterLimitOrderV2Parser) ProcessTransfers() []types.TransferData

ProcessTransfers parses Limit Order V2 transfer operations

type JupiterLimitOrderV2TradeEvent

type JupiterLimitOrderV2TradeEvent struct {
	OrderKey           string
	Taker              string
	RemainingMakingAmt *big.Int
	RemainingTakingAmt *big.Int
	MakingAmount       *big.Int
	TakingAmount       *big.Int
}

JupiterLimitOrderV2TradeEvent represents parsed trade event

type JupiterLimitOrderV2TradeLayout

type JupiterLimitOrderV2TradeLayout struct {
	OrderKey           [32]byte
	Taker              [32]byte
	RemainingMakingAmt uint64
	RemainingTakingAmt uint64
	MakingAmount       uint64
	TakingAmount       uint64
}

JupiterLimitOrderV2TradeLayout represents Jupiter Limit Order V2 trade event

func ParseJupiterLimitOrderV2TradeLayout

func ParseJupiterLimitOrderV2TradeLayout(data []byte) (*JupiterLimitOrderV2TradeLayout, error)

ParseJupiterLimitOrderV2TradeLayout parses Jupiter Limit Order V2 trade event

func (*JupiterLimitOrderV2TradeLayout) ToObject

ToObject converts layout to object

type JupiterParser

type JupiterParser struct {
	*parsers.BaseParser
}

JupiterParser parses Jupiter V6 swap transactions

func NewJupiterParser

func NewJupiterParser(
	adapter *adapter.TransactionAdapter,
	dexInfo types.DexInfo,
	transferActions map[string][]types.TransferData,
	classifiedInstructions []types.ClassifiedInstruction,
) *JupiterParser

NewJupiterParser creates a new Jupiter parser

func (*JupiterParser) ProcessTrades

func (p *JupiterParser) ProcessTrades() []types.TradeInfo

ProcessTrades parses Jupiter swap trades

type JupiterRouteData added in v1.2.0

type JupiterRouteData struct {
	User         string `json:"user"`
	InputMint    string `json:"inputMint"`
	OutputMint   string `json:"outputMint"`
	InputAmount  uint64 `json:"inputAmount"`
	OutputAmount uint64 `json:"outputAmount"`
	SlippageBps  uint16 `json:"slippageBps"`
}

JupiterRouteData contains Jupiter route instruction data

type JupiterShredInstruction added in v1.2.0

type JupiterShredInstruction struct {
	Type      string      `json:"type"`
	Data      interface{} `json:"data"`
	Slot      uint64      `json:"slot"`
	Timestamp int64       `json:"timestamp"`
	Signature string      `json:"signature"`
	Idx       string      `json:"idx"`
	Signer    []string    `json:"signer"`
}

JupiterShredInstruction represents a parsed Jupiter instruction

type JupiterShredParser added in v1.2.0

type JupiterShredParser struct {
	// contains filtered or unexported fields
}

JupiterShredParser parses Jupiter V6 instructions from shred-stream

func NewJupiterShredParser added in v1.2.0

func NewJupiterShredParser(adapter *adapter.TransactionAdapter, classifier *classifier.InstructionClassifier) *JupiterShredParser

NewJupiterShredParser creates a new JupiterShredParser

func (*JupiterShredParser) ProcessInstructions added in v1.2.0

func (p *JupiterShredParser) ProcessInstructions() []interface{}

ProcessInstructions processes Jupiter instructions and returns parsed results

func (*JupiterShredParser) ProcessTypedInstructions added in v1.2.0

func (p *JupiterShredParser) ProcessTypedInstructions() []types.ParsedShredInstruction

ProcessTypedInstructions returns typed ParsedShredInstruction results

type JupiterSwapEvent

type JupiterSwapEvent struct {
	AMM                string
	InputMint          string
	InputAmount        *big.Int
	OutputMint         string
	OutputAmount       *big.Int
	InputMintDecimals  uint8
	OutputMintDecimals uint8
	Idx                string
}

JupiterSwapEvent represents parsed swap event

type JupiterSwapInfo

type JupiterSwapInfo struct {
	AMMs     []string
	TokenIn  map[string]*big.Int
	TokenOut map[string]*big.Int
	Decimals map[string]uint8
	Idx      string
}

JupiterSwapInfo holds intermediate swap information

type JupiterSwapLayout

type JupiterSwapLayout struct {
	AMM          [32]byte
	InputMint    [32]byte
	InputAmount  uint64
	OutputMint   [32]byte
	OutputAmount uint64
}

JupiterSwapLayout represents Jupiter V6 swap event data

func ParseJupiterSwapLayout

func ParseJupiterSwapLayout(data []byte) (*JupiterSwapLayout, error)

ParseJupiterSwapLayout parses Jupiter V6 swap event from data Layout: amm(32) + inputMint(32) + inputAmount(8) + outputMint(32) + outputAmount(8)

func (*JupiterSwapLayout) ToSwapEvent

func (l *JupiterSwapLayout) ToSwapEvent() *JupiterSwapEvent

ToSwapEvent converts layout to swap event data

type JupiterVAFillEvent

type JupiterVAFillEvent struct {
	ValueAverage       string
	User               string
	Keeper             string
	InputMint          string
	OutputMint         string
	InputAmount        *big.Int
	OutputAmount       *big.Int
	Fee                *big.Int
	NewActualUsdcValue uint64
	SupposedUsdcValue  uint64
	Value              uint64
	InLeft             uint64
	InUsed             uint64
	OutReceived        uint64
}

JupiterVAFillEvent represents parsed VA fill event

type JupiterVAFillLayout

type JupiterVAFillLayout struct {
	ValueAverage       [32]byte
	User               [32]byte
	Keeper             [32]byte
	InputMint          [32]byte
	OutputMint         [32]byte
	InputAmount        uint64
	OutputAmount       uint64
	Fee                uint64
	NewActualUsdcValue uint64
	SupposedUsdcValue  uint64
	Value              uint64
	InLeft             uint64
	InUsed             uint64
	OutReceived        uint64
}

JupiterVAFillLayout represents Jupiter VA fill event data

func ParseJupiterVAFillLayout

func ParseJupiterVAFillLayout(data []byte) (*JupiterVAFillLayout, error)

ParseJupiterVAFillLayout parses Jupiter VA fill event

func (*JupiterVAFillLayout) ToObject

func (l *JupiterVAFillLayout) ToObject() *JupiterVAFillEvent

ToObject converts layout to object

type JupiterVAOpenEvent

type JupiterVAOpenEvent struct {
	User               string
	ValueAverage       string
	Deposit            uint64
	InputMint          string
	OutputMint         string
	ReferralFeeAccount string
	OrderInterval      int64
	IncrementUsdcValue uint64
	CreatedAt          int64
}

JupiterVAOpenEvent represents parsed VA open event

type JupiterVAOpenLayout

type JupiterVAOpenLayout struct {
	User               [32]byte
	ValueAverage       [32]byte
	Deposit            uint64
	InputMint          [32]byte
	OutputMint         [32]byte
	ReferralFeeAccount [32]byte
	OrderInterval      int64
	IncrementUsdcValue uint64
	CreatedAt          int64
}

JupiterVAOpenLayout represents Jupiter VA open event data

func ParseJupiterVAOpenLayout

func ParseJupiterVAOpenLayout(data []byte) (*JupiterVAOpenLayout, error)

ParseJupiterVAOpenLayout parses Jupiter VA open event

func (*JupiterVAOpenLayout) ToObject

func (l *JupiterVAOpenLayout) ToObject() *JupiterVAOpenEvent

ToObject converts layout to object

type JupiterVAParser

type JupiterVAParser struct {
	*parsers.BaseParser
}

JupiterVAParser parses Jupiter VA (Value Average) transactions

func NewJupiterVAParser

func NewJupiterVAParser(
	adapter *adapter.TransactionAdapter,
	dexInfo types.DexInfo,
	transferActions map[string][]types.TransferData,
	classifiedInstructions []types.ClassifiedInstruction,
) *JupiterVAParser

NewJupiterVAParser creates a new Jupiter VA parser

func (*JupiterVAParser) ProcessTrades

func (p *JupiterVAParser) ProcessTrades() []types.TradeInfo

ProcessTrades parses Jupiter VA trades

func (*JupiterVAParser) ProcessTransfers

func (p *JupiterVAParser) ProcessTransfers() []types.TransferData

ProcessTransfers parses VA transfer operations

type JupiterVAWithdrawEvent

type JupiterVAWithdrawEvent struct {
	ValueAverage string
	Mint         string
	Amount       uint64
	InOrOut      string
	UserWithdraw bool
	InLeft       uint64
	InWithdrawn  uint64
	OutWithdrawn uint64
}

JupiterVAWithdrawEvent represents parsed VA withdraw event

type JupiterVAWithdrawLayout

type JupiterVAWithdrawLayout struct {
	ValueAverage [32]byte
	Mint         [32]byte
	Amount       uint64
	InOrOut      uint8
	UserWithdraw uint8
	InLeft       uint64
	InWithdrawn  uint64
	OutWithdrawn uint64
}

JupiterVAWithdrawLayout represents Jupiter VA withdraw event data

func ParseJupiterVAWithdrawLayout

func ParseJupiterVAWithdrawLayout(data []byte) (*JupiterVAWithdrawLayout, error)

ParseJupiterVAWithdrawLayout parses Jupiter VA withdraw event

func (*JupiterVAWithdrawLayout) ToObject

ToObject converts layout to object

Jump to

Keyboard shortcuts

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