serumgo

package module
v0.0.0-...-9f83e37 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2022 License: MIT Imports: 10 Imported by: 1

README

serum-go

Golang client for Serum Dex program (Solana)

⚠️🚨⚠️🚨⚠️ WARNING: ⚠️🚨⚠️🚨⚠️

⚠️🚨⚠️🚨⚠️ THIS ⚠️🚨⚠️🚨⚠️

⚠️🚨⚠️🚨⚠️ SOFTWARE ⚠️🚨⚠️🚨⚠️

⚠️🚨⚠️🚨⚠️ IS ⚠️🚨⚠️🚨⚠️

⚠️🚨⚠️🚨⚠️ EXPERIMENTAL, ⚠️🚨⚠️🚨⚠️

⚠️🚨⚠️🚨⚠️ UNTESTED, ⚠️🚨⚠️🚨⚠️

⚠️🚨⚠️🚨⚠️ AND UNAUDITED. ⚠️🚨⚠️🚨⚠️

⚠️🚨⚠️🚨⚠️ USE AT YOUR OWN RISK ⚠️🚨⚠️🚨⚠️

Future Development

serum-go is exclusively supported by my own time (which is money).

If my work has been useful in building your for-profit services/infra/bots/etc., consider donating at DkP56dVfmTTN58oy6hDpRLtw4RMEFMmEWs8umN3Kg8vp

Thanks!

Documentation

Index

Constants

View Source
const (
	Instruction_InitializeMarket uint32 = iota

	Instruction_NewOrder

	Instruction_MatchOrders

	Instruction_ConsumeEvents

	Instruction_CancelOrder

	Instruction_SettleFunds

	Instruction_CancelOrderByClientId

	Instruction_DisableMarket

	Instruction_SweepFees

	Instruction_NewOrderV2

	Instruction_NewOrderV3

	Instruction_CancelOrderV2

	Instruction_CancelOrderByClientIdV2

	Instruction_SendTake

	Instruction_CloseOpenOrders

	Instruction_InitOpenOrders

	// Removes all orders for a given open orders account from the orderbook.
	Instruction_Prune

	Instruction_ConsumeEventsPermissioned
)
View Source
const ProgramName = "SerumDex"

Variables

View Source
var (
	SerumDexV1 = solana.MustPublicKeyFromBase58("BJ3jrUzddfuSrZHXSCxMUUQsjKEyLmuuyZebkcaFp2fg")
	SerumDexV2 = solana.MustPublicKeyFromBase58("EUqojwWA2rd19FZrzeBncJsm38Jm1hEhE3zsmX3bRc2o")
	SerumDexV3 = solana.MustPublicKeyFromBase58("9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin")
)
View Source
var InstructionImplDef = ag_binary.NewVariantDefinition(
	ag_binary.Uint32TypeIDEncoding,
	[]ag_binary.VariantType{
		{
			"InitializeMarket", (*InitializeMarket)(nil),
		},
		{
			"NewOrder", (*NewOrder)(nil),
		},
		{
			"MatchOrders", (*MatchOrders)(nil),
		},
		{
			"ConsumeEvents", (*ConsumeEvents)(nil),
		},
		{
			"CancelOrder", (*CancelOrder)(nil),
		},
		{
			"SettleFunds", (*SettleFunds)(nil),
		},
		{
			"CancelOrderByClientId", (*CancelOrderByClientId)(nil),
		},
		{
			"DisableMarket", (*DisableMarket)(nil),
		},
		{
			"SweepFees", (*SweepFees)(nil),
		},
		{
			"NewOrderV2", (*NewOrderV2)(nil),
		},
		{
			"NewOrderV3", (*NewOrderV3)(nil),
		},
		{
			"CancelOrderV2", (*CancelOrderV2)(nil),
		},
		{
			"CancelOrderByClientIdV2", (*CancelOrderByClientIdV2)(nil),
		},
		{
			"SendTake", (*SendTake)(nil),
		},
		{
			"CloseOpenOrders", (*CloseOpenOrders)(nil),
		},
		{
			"InitOpenOrders", (*InitOpenOrders)(nil),
		},
		{
			"Prune", (*Prune)(nil),
		},
		{
			"ConsumeEventsPermissioned", (*ConsumeEventsPermissioned)(nil),
		},
	},
)

Functions

func InstructionIDToName

func InstructionIDToName(id uint32) string

InstructionIDToName returns the name of the instruction given its ID.

func SetProgramID

func SetProgramID(pubkey ag_solanago.PublicKey)

Types

type CancelOrder

type CancelOrder struct {
	Args *CancelOrderInstructionV2

	// [0] = [] market
	// ··········· market
	//
	// [1] = [WRITE] openOrders
	// ··········· OpenOrders
	//
	// [2] = [WRITE] requestQueue
	// ··········· the request queue
	//
	// [3] = [SIGNER] owner
	// ··········· the OpenOrders owner
	ag_solanago.AccountMetaSlice `bin:"-"`
}

CancelOrder is the `CancelOrder` instruction.

func NewCancelOrderInstruction

func NewCancelOrderInstruction(

	args CancelOrderInstructionV2,

	market ag_solanago.PublicKey,
	openOrders ag_solanago.PublicKey,
	requestQueue ag_solanago.PublicKey,
	owner ag_solanago.PublicKey) *CancelOrder

NewCancelOrderInstruction declares a new CancelOrder instruction with the provided parameters and accounts.

func NewCancelOrderInstructionBuilder

func NewCancelOrderInstructionBuilder() *CancelOrder

NewCancelOrderInstructionBuilder creates a new `CancelOrder` instruction builder.

func (CancelOrder) Build

func (inst CancelOrder) Build() *Instruction

func (*CancelOrder) EncodeToTree

func (inst *CancelOrder) EncodeToTree(parent ag_treeout.Branches)

func (*CancelOrder) GetMarketAccount

func (inst *CancelOrder) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (*CancelOrder) GetOpenOrdersAccount

func (inst *CancelOrder) GetOpenOrdersAccount() *ag_solanago.AccountMeta

GetOpenOrdersAccount gets the "openOrders" account. OpenOrders

func (*CancelOrder) GetOwnerAccount

func (inst *CancelOrder) GetOwnerAccount() *ag_solanago.AccountMeta

GetOwnerAccount gets the "owner" account. the OpenOrders owner

func (*CancelOrder) GetRequestQueueAccount

func (inst *CancelOrder) GetRequestQueueAccount() *ag_solanago.AccountMeta

GetRequestQueueAccount gets the "requestQueue" account. the request queue

func (CancelOrder) MarshalWithEncoder

func (obj CancelOrder) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*CancelOrder) SetArgs

func (inst *CancelOrder) SetArgs(args CancelOrderInstructionV2) *CancelOrder

SetArgs sets the "args" parameter.

func (*CancelOrder) SetMarketAccount

func (inst *CancelOrder) SetMarketAccount(market ag_solanago.PublicKey) *CancelOrder

SetMarketAccount sets the "market" account. market

func (*CancelOrder) SetOpenOrdersAccount

func (inst *CancelOrder) SetOpenOrdersAccount(openOrders ag_solanago.PublicKey) *CancelOrder

SetOpenOrdersAccount sets the "openOrders" account. OpenOrders

func (*CancelOrder) SetOwnerAccount

func (inst *CancelOrder) SetOwnerAccount(owner ag_solanago.PublicKey) *CancelOrder

SetOwnerAccount sets the "owner" account. the OpenOrders owner

func (*CancelOrder) SetRequestQueueAccount

func (inst *CancelOrder) SetRequestQueueAccount(requestQueue ag_solanago.PublicKey) *CancelOrder

SetRequestQueueAccount sets the "requestQueue" account. the request queue

func (*CancelOrder) UnmarshalWithDecoder

func (obj *CancelOrder) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*CancelOrder) Validate

func (inst *CancelOrder) Validate() error

func (CancelOrder) ValidateAndBuild

func (inst CancelOrder) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type CancelOrderByClientId

type CancelOrderByClientId struct {
	ClientOrderID *uint64

	// [0] = [] market
	// ··········· market
	//
	// [1] = [WRITE] openOrders
	// ··········· OpenOrders
	//
	// [2] = [WRITE] requestQueue
	// ··········· the request queue
	//
	// [3] = [SIGNER] owner
	// ··········· the OpenOrders owner
	ag_solanago.AccountMetaSlice `bin:"-"`
}

CancelOrderByClientId is the `CancelOrderByClientId` instruction.

func NewCancelOrderByClientIdInstruction

func NewCancelOrderByClientIdInstruction(

	clientOrderID uint64,

	market ag_solanago.PublicKey,
	openOrders ag_solanago.PublicKey,
	requestQueue ag_solanago.PublicKey,
	owner ag_solanago.PublicKey) *CancelOrderByClientId

NewCancelOrderByClientIdInstruction declares a new CancelOrderByClientId instruction with the provided parameters and accounts.

func NewCancelOrderByClientIdInstructionBuilder

func NewCancelOrderByClientIdInstructionBuilder() *CancelOrderByClientId

NewCancelOrderByClientIdInstructionBuilder creates a new `CancelOrderByClientId` instruction builder.

func (CancelOrderByClientId) Build

func (inst CancelOrderByClientId) Build() *Instruction

func (*CancelOrderByClientId) EncodeToTree

func (inst *CancelOrderByClientId) EncodeToTree(parent ag_treeout.Branches)

func (*CancelOrderByClientId) GetMarketAccount

func (inst *CancelOrderByClientId) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (*CancelOrderByClientId) GetOpenOrdersAccount

func (inst *CancelOrderByClientId) GetOpenOrdersAccount() *ag_solanago.AccountMeta

GetOpenOrdersAccount gets the "openOrders" account. OpenOrders

func (*CancelOrderByClientId) GetOwnerAccount

func (inst *CancelOrderByClientId) GetOwnerAccount() *ag_solanago.AccountMeta

GetOwnerAccount gets the "owner" account. the OpenOrders owner

func (*CancelOrderByClientId) GetRequestQueueAccount

func (inst *CancelOrderByClientId) GetRequestQueueAccount() *ag_solanago.AccountMeta

GetRequestQueueAccount gets the "requestQueue" account. the request queue

func (CancelOrderByClientId) MarshalWithEncoder

func (obj CancelOrderByClientId) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*CancelOrderByClientId) SetClientOrderID

func (inst *CancelOrderByClientId) SetClientOrderID(clientOrderID uint64) *CancelOrderByClientId

SetClientOrderID sets the "clientOrderID" parameter.

func (*CancelOrderByClientId) SetMarketAccount

func (inst *CancelOrderByClientId) SetMarketAccount(market ag_solanago.PublicKey) *CancelOrderByClientId

SetMarketAccount sets the "market" account. market

func (*CancelOrderByClientId) SetOpenOrdersAccount

func (inst *CancelOrderByClientId) SetOpenOrdersAccount(openOrders ag_solanago.PublicKey) *CancelOrderByClientId

SetOpenOrdersAccount sets the "openOrders" account. OpenOrders

func (*CancelOrderByClientId) SetOwnerAccount

func (inst *CancelOrderByClientId) SetOwnerAccount(owner ag_solanago.PublicKey) *CancelOrderByClientId

SetOwnerAccount sets the "owner" account. the OpenOrders owner

func (*CancelOrderByClientId) SetRequestQueueAccount

func (inst *CancelOrderByClientId) SetRequestQueueAccount(requestQueue ag_solanago.PublicKey) *CancelOrderByClientId

SetRequestQueueAccount sets the "requestQueue" account. the request queue

func (*CancelOrderByClientId) UnmarshalWithDecoder

func (obj *CancelOrderByClientId) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*CancelOrderByClientId) Validate

func (inst *CancelOrderByClientId) Validate() error

func (CancelOrderByClientId) ValidateAndBuild

func (inst CancelOrderByClientId) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type CancelOrderByClientIdV2

type CancelOrderByClientIdV2 struct {
	ClientOrderId *uint64

	// [0] = [WRITE] market
	// ··········· market
	//
	// [1] = [WRITE] bids
	// ··········· bids
	//
	// [2] = [WRITE] asks
	// ··········· asks
	//
	// [3] = [WRITE] openOrders
	// ··········· OpenOrders
	//
	// [4] = [SIGNER] owner
	// ··········· the OpenOrders owner
	//
	// [5] = [WRITE] eventQueue
	// ··········· event_q
	ag_solanago.AccountMetaSlice `bin:"-"`
}

CancelOrderByClientIdV2 is the `CancelOrderByClientIdV2` instruction.

func NewCancelOrderByClientIdV2Instruction

func NewCancelOrderByClientIdV2Instruction(

	client_order_id uint64,

	market ag_solanago.PublicKey,
	bids ag_solanago.PublicKey,
	asks ag_solanago.PublicKey,
	openOrders ag_solanago.PublicKey,
	owner ag_solanago.PublicKey,
	eventQueue ag_solanago.PublicKey) *CancelOrderByClientIdV2

NewCancelOrderByClientIdV2Instruction declares a new CancelOrderByClientIdV2 instruction with the provided parameters and accounts.

func NewCancelOrderByClientIdV2InstructionBuilder

func NewCancelOrderByClientIdV2InstructionBuilder() *CancelOrderByClientIdV2

NewCancelOrderByClientIdV2InstructionBuilder creates a new `CancelOrderByClientIdV2` instruction builder.

func (CancelOrderByClientIdV2) Build

func (inst CancelOrderByClientIdV2) Build() *Instruction

func (*CancelOrderByClientIdV2) EncodeToTree

func (inst *CancelOrderByClientIdV2) EncodeToTree(parent ag_treeout.Branches)

func (*CancelOrderByClientIdV2) GetAsksAccount

func (inst *CancelOrderByClientIdV2) GetAsksAccount() *ag_solanago.AccountMeta

GetAsksAccount gets the "asks" account. asks

func (*CancelOrderByClientIdV2) GetBidsAccount

func (inst *CancelOrderByClientIdV2) GetBidsAccount() *ag_solanago.AccountMeta

GetBidsAccount gets the "bids" account. bids

func (*CancelOrderByClientIdV2) GetEventQueueAccount

func (inst *CancelOrderByClientIdV2) GetEventQueueAccount() *ag_solanago.AccountMeta

GetEventQueueAccount gets the "eventQueue" account. event_q

func (*CancelOrderByClientIdV2) GetMarketAccount

func (inst *CancelOrderByClientIdV2) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (*CancelOrderByClientIdV2) GetOpenOrdersAccount

func (inst *CancelOrderByClientIdV2) GetOpenOrdersAccount() *ag_solanago.AccountMeta

GetOpenOrdersAccount gets the "openOrders" account. OpenOrders

func (*CancelOrderByClientIdV2) GetOwnerAccount

func (inst *CancelOrderByClientIdV2) GetOwnerAccount() *ag_solanago.AccountMeta

GetOwnerAccount gets the "owner" account. the OpenOrders owner

func (CancelOrderByClientIdV2) MarshalWithEncoder

func (obj CancelOrderByClientIdV2) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*CancelOrderByClientIdV2) SetAsksAccount

SetAsksAccount sets the "asks" account. asks

func (*CancelOrderByClientIdV2) SetBidsAccount

SetBidsAccount sets the "bids" account. bids

func (*CancelOrderByClientIdV2) SetClientOrderId

func (inst *CancelOrderByClientIdV2) SetClientOrderId(client_order_id uint64) *CancelOrderByClientIdV2

SetClientOrderId sets the "client_order_id" parameter.

func (*CancelOrderByClientIdV2) SetEventQueueAccount

func (inst *CancelOrderByClientIdV2) SetEventQueueAccount(eventQueue ag_solanago.PublicKey) *CancelOrderByClientIdV2

SetEventQueueAccount sets the "eventQueue" account. event_q

func (*CancelOrderByClientIdV2) SetMarketAccount

func (inst *CancelOrderByClientIdV2) SetMarketAccount(market ag_solanago.PublicKey) *CancelOrderByClientIdV2

SetMarketAccount sets the "market" account. market

func (*CancelOrderByClientIdV2) SetOpenOrdersAccount

func (inst *CancelOrderByClientIdV2) SetOpenOrdersAccount(openOrders ag_solanago.PublicKey) *CancelOrderByClientIdV2

SetOpenOrdersAccount sets the "openOrders" account. OpenOrders

func (*CancelOrderByClientIdV2) SetOwnerAccount

SetOwnerAccount sets the "owner" account. the OpenOrders owner

func (*CancelOrderByClientIdV2) UnmarshalWithDecoder

func (obj *CancelOrderByClientIdV2) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*CancelOrderByClientIdV2) Validate

func (inst *CancelOrderByClientIdV2) Validate() error

func (CancelOrderByClientIdV2) ValidateAndBuild

func (inst CancelOrderByClientIdV2) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type CancelOrderInstructionV2

type CancelOrderInstructionV2 struct {
	Side    Side
	OrderId ag_binary.Uint128
}

func (CancelOrderInstructionV2) MarshalWithEncoder

func (obj CancelOrderInstructionV2) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*CancelOrderInstructionV2) UnmarshalWithDecoder

func (obj *CancelOrderInstructionV2) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type CancelOrderV2

type CancelOrderV2 struct {
	Args *CancelOrderInstructionV2

	// [0] = [WRITE] market
	// ··········· market
	//
	// [1] = [WRITE] bids
	// ··········· bids
	//
	// [2] = [WRITE] asks
	// ··········· asks
	//
	// [3] = [WRITE] openOrders
	// ··········· OpenOrders
	//
	// [4] = [SIGNER] owner
	// ··········· the OpenOrders owner
	//
	// [5] = [WRITE] eventQueue
	// ··········· event_q
	ag_solanago.AccountMetaSlice `bin:"-"`
}

CancelOrderV2 is the `CancelOrderV2` instruction.

func NewCancelOrderV2Instruction

func NewCancelOrderV2Instruction(

	args CancelOrderInstructionV2,

	market ag_solanago.PublicKey,
	bids ag_solanago.PublicKey,
	asks ag_solanago.PublicKey,
	openOrders ag_solanago.PublicKey,
	owner ag_solanago.PublicKey,
	eventQueue ag_solanago.PublicKey) *CancelOrderV2

NewCancelOrderV2Instruction declares a new CancelOrderV2 instruction with the provided parameters and accounts.

func NewCancelOrderV2InstructionBuilder

func NewCancelOrderV2InstructionBuilder() *CancelOrderV2

NewCancelOrderV2InstructionBuilder creates a new `CancelOrderV2` instruction builder.

func (CancelOrderV2) Build

func (inst CancelOrderV2) Build() *Instruction

func (*CancelOrderV2) EncodeToTree

func (inst *CancelOrderV2) EncodeToTree(parent ag_treeout.Branches)

func (*CancelOrderV2) GetAsksAccount

func (inst *CancelOrderV2) GetAsksAccount() *ag_solanago.AccountMeta

GetAsksAccount gets the "asks" account. asks

func (*CancelOrderV2) GetBidsAccount

func (inst *CancelOrderV2) GetBidsAccount() *ag_solanago.AccountMeta

GetBidsAccount gets the "bids" account. bids

func (*CancelOrderV2) GetEventQueueAccount

func (inst *CancelOrderV2) GetEventQueueAccount() *ag_solanago.AccountMeta

GetEventQueueAccount gets the "eventQueue" account. event_q

func (*CancelOrderV2) GetMarketAccount

func (inst *CancelOrderV2) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (*CancelOrderV2) GetOpenOrdersAccount

func (inst *CancelOrderV2) GetOpenOrdersAccount() *ag_solanago.AccountMeta

GetOpenOrdersAccount gets the "openOrders" account. OpenOrders

func (*CancelOrderV2) GetOwnerAccount

func (inst *CancelOrderV2) GetOwnerAccount() *ag_solanago.AccountMeta

GetOwnerAccount gets the "owner" account. the OpenOrders owner

func (CancelOrderV2) MarshalWithEncoder

func (obj CancelOrderV2) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*CancelOrderV2) SetArgs

SetArgs sets the "args" parameter.

func (*CancelOrderV2) SetAsksAccount

func (inst *CancelOrderV2) SetAsksAccount(asks ag_solanago.PublicKey) *CancelOrderV2

SetAsksAccount sets the "asks" account. asks

func (*CancelOrderV2) SetBidsAccount

func (inst *CancelOrderV2) SetBidsAccount(bids ag_solanago.PublicKey) *CancelOrderV2

SetBidsAccount sets the "bids" account. bids

func (*CancelOrderV2) SetEventQueueAccount

func (inst *CancelOrderV2) SetEventQueueAccount(eventQueue ag_solanago.PublicKey) *CancelOrderV2

SetEventQueueAccount sets the "eventQueue" account. event_q

func (*CancelOrderV2) SetMarketAccount

func (inst *CancelOrderV2) SetMarketAccount(market ag_solanago.PublicKey) *CancelOrderV2

SetMarketAccount sets the "market" account. market

func (*CancelOrderV2) SetOpenOrdersAccount

func (inst *CancelOrderV2) SetOpenOrdersAccount(openOrders ag_solanago.PublicKey) *CancelOrderV2

SetOpenOrdersAccount sets the "openOrders" account. OpenOrders

func (*CancelOrderV2) SetOwnerAccount

func (inst *CancelOrderV2) SetOwnerAccount(owner ag_solanago.PublicKey) *CancelOrderV2

SetOwnerAccount sets the "owner" account. the OpenOrders owner

func (*CancelOrderV2) UnmarshalWithDecoder

func (obj *CancelOrderV2) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*CancelOrderV2) Validate

func (inst *CancelOrderV2) Validate() error

func (CancelOrderV2) ValidateAndBuild

func (inst CancelOrderV2) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type CloseOpenOrders

type CloseOpenOrders struct {

	// [0] = [WRITE] openOrders
	// ··········· OpenOrders
	//
	// [1] = [SIGNER] owner
	// ··········· the OpenOrders owner
	//
	// [2] = [WRITE] destination
	// ··········· the destination account to send rent exemption SOL to
	//
	// [3] = [] market
	// ··········· market
	ag_solanago.AccountMetaSlice `bin:"-"`
}

CloseOpenOrders is the `CloseOpenOrders` instruction.

func NewCloseOpenOrdersInstruction

func NewCloseOpenOrdersInstruction(

	openOrders ag_solanago.PublicKey,
	owner ag_solanago.PublicKey,
	destination ag_solanago.PublicKey,
	market ag_solanago.PublicKey) *CloseOpenOrders

NewCloseOpenOrdersInstruction declares a new CloseOpenOrders instruction with the provided parameters and accounts.

func NewCloseOpenOrdersInstructionBuilder

func NewCloseOpenOrdersInstructionBuilder() *CloseOpenOrders

NewCloseOpenOrdersInstructionBuilder creates a new `CloseOpenOrders` instruction builder.

func (CloseOpenOrders) Build

func (inst CloseOpenOrders) Build() *Instruction

func (*CloseOpenOrders) EncodeToTree

func (inst *CloseOpenOrders) EncodeToTree(parent ag_treeout.Branches)

func (*CloseOpenOrders) GetDestinationAccount

func (inst *CloseOpenOrders) GetDestinationAccount() *ag_solanago.AccountMeta

GetDestinationAccount gets the "destination" account. the destination account to send rent exemption SOL to

func (*CloseOpenOrders) GetMarketAccount

func (inst *CloseOpenOrders) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (*CloseOpenOrders) GetOpenOrdersAccount

func (inst *CloseOpenOrders) GetOpenOrdersAccount() *ag_solanago.AccountMeta

GetOpenOrdersAccount gets the "openOrders" account. OpenOrders

func (*CloseOpenOrders) GetOwnerAccount

func (inst *CloseOpenOrders) GetOwnerAccount() *ag_solanago.AccountMeta

GetOwnerAccount gets the "owner" account. the OpenOrders owner

func (CloseOpenOrders) MarshalWithEncoder

func (obj CloseOpenOrders) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*CloseOpenOrders) SetDestinationAccount

func (inst *CloseOpenOrders) SetDestinationAccount(destination ag_solanago.PublicKey) *CloseOpenOrders

SetDestinationAccount sets the "destination" account. the destination account to send rent exemption SOL to

func (*CloseOpenOrders) SetMarketAccount

func (inst *CloseOpenOrders) SetMarketAccount(market ag_solanago.PublicKey) *CloseOpenOrders

SetMarketAccount sets the "market" account. market

func (*CloseOpenOrders) SetOpenOrdersAccount

func (inst *CloseOpenOrders) SetOpenOrdersAccount(openOrders ag_solanago.PublicKey) *CloseOpenOrders

SetOpenOrdersAccount sets the "openOrders" account. OpenOrders

func (*CloseOpenOrders) SetOwnerAccount

func (inst *CloseOpenOrders) SetOwnerAccount(owner ag_solanago.PublicKey) *CloseOpenOrders

SetOwnerAccount sets the "owner" account. the OpenOrders owner

func (*CloseOpenOrders) UnmarshalWithDecoder

func (obj *CloseOpenOrders) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*CloseOpenOrders) Validate

func (inst *CloseOpenOrders) Validate() error

func (CloseOpenOrders) ValidateAndBuild

func (inst CloseOpenOrders) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type ConsumeEvents

type ConsumeEvents struct {
	Limit *uint16

	// [...] = [WRITE] openOrders
	// ··········· OpenOrders;
	OpenOrders ag_solanago.AccountMetaSlice `bin:"-"`
	//
	// [0] = [WRITE] market
	// ··········· market
	//
	// [1] = [WRITE] eventQueue
	// ··········· event queue
	//
	// [2] = [WRITE] coinFeeReceivable
	//
	// [3] = [WRITE] pcFeeReceivable
	OtherAccounts ag_solanago.AccountMetaSlice `bin:"-"`
}

ConsumeEvents is the `ConsumeEvents` instruction.

func NewConsumeEventsInstruction

func NewConsumeEventsInstruction(

	limit uint16,

	openOrders []ag_solanago.PublicKey,
	market ag_solanago.PublicKey,
	eventQueue ag_solanago.PublicKey,
	coinFeeReceivable ag_solanago.PublicKey,
	pcFeeReceivable ag_solanago.PublicKey) *ConsumeEvents

NewConsumeEventsInstruction declares a new ConsumeEvents instruction with the provided parameters and accounts.

func NewConsumeEventsInstructionBuilder

func NewConsumeEventsInstructionBuilder() *ConsumeEvents

NewConsumeEventsInstructionBuilder creates a new `ConsumeEvents` instruction builder.

func (ConsumeEvents) Build

func (inst ConsumeEvents) Build() *Instruction

func (*ConsumeEvents) EncodeToTree

func (inst *ConsumeEvents) EncodeToTree(parent ag_treeout.Branches)

func (*ConsumeEvents) GetAccounts

func (accs *ConsumeEvents) GetAccounts() (out []*ag_solanago.AccountMeta)

func (*ConsumeEvents) GetCoinFeeReceivableAccount

func (inst *ConsumeEvents) GetCoinFeeReceivableAccount() *ag_solanago.AccountMeta

GetCoinFeeReceivableAccount gets the "coinFeeReceivable" account.

func (*ConsumeEvents) GetEventQueueAccount

func (inst *ConsumeEvents) GetEventQueueAccount() *ag_solanago.AccountMeta

GetEventQueueAccount gets the "eventQueue" account. event queue

func (*ConsumeEvents) GetMarketAccount

func (inst *ConsumeEvents) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (*ConsumeEvents) GetOpenOrdersAccounts

func (inst *ConsumeEvents) GetOpenOrdersAccounts() ag_solanago.AccountMetaSlice

GetOpenOrdersAccount gets the "openOrders" accounts.

func (*ConsumeEvents) GetPcFeeReceivableAccount

func (inst *ConsumeEvents) GetPcFeeReceivableAccount() *ag_solanago.AccountMeta

GetPcFeeReceivableAccount gets the "pcFeeReceivable" account.

func (ConsumeEvents) MarshalWithEncoder

func (obj ConsumeEvents) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*ConsumeEvents) SetAccounts

func (accs *ConsumeEvents) SetAccounts(accounts []*ag_solanago.AccountMeta) error

func (*ConsumeEvents) SetCoinFeeReceivableAccount

func (inst *ConsumeEvents) SetCoinFeeReceivableAccount(coinFeeReceivable ag_solanago.PublicKey) *ConsumeEvents

SetCoinFeeReceivableAccount sets the "coinFeeReceivable" account.

func (*ConsumeEvents) SetEventQueueAccount

func (inst *ConsumeEvents) SetEventQueueAccount(eventQueue ag_solanago.PublicKey) *ConsumeEvents

SetEventQueueAccount sets the "eventQueue" account. event queue

func (*ConsumeEvents) SetLimit

func (inst *ConsumeEvents) SetLimit(limit uint16) *ConsumeEvents

SetLimit sets the "limit" parameter.

func (*ConsumeEvents) SetMarketAccount

func (inst *ConsumeEvents) SetMarketAccount(market ag_solanago.PublicKey) *ConsumeEvents

SetMarketAccount sets the "market" account. market

func (*ConsumeEvents) SetOpenOrdersAccounts

func (inst *ConsumeEvents) SetOpenOrdersAccounts(openOrders ...ag_solanago.PublicKey) *ConsumeEvents

SetOpenOrdersAccount sets the "openOrders" accounts.

func (*ConsumeEvents) SetPcFeeReceivableAccount

func (inst *ConsumeEvents) SetPcFeeReceivableAccount(pcFeeReceivable ag_solanago.PublicKey) *ConsumeEvents

SetPcFeeReceivableAccount sets the "pcFeeReceivable" account.

func (*ConsumeEvents) UnmarshalWithDecoder

func (obj *ConsumeEvents) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*ConsumeEvents) Validate

func (inst *ConsumeEvents) Validate() error

func (ConsumeEvents) ValidateAndBuild

func (inst ConsumeEvents) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type ConsumeEventsPermissioned

type ConsumeEventsPermissioned struct {
	Limit *uint16

	// [...] = [WRITE] openOrders
	// ··········· OpenOrders;
	OpenOrders ag_solanago.AccountMetaSlice `bin:"-"`
	//
	// [0] = [WRITE] market
	// ··········· market
	//
	// [1] = [WRITE] eventQueue
	// ··········· event queue
	//
	// [2] = [SIGNER] crankAuthority
	// ··········· crank authority
	OtherAccounts ag_solanago.AccountMetaSlice `bin:"-"`
}

ConsumeEventsPermissioned is the `ConsumeEventsPermissioned` instruction.

func NewConsumeEventsPermissionedInstruction

func NewConsumeEventsPermissionedInstruction(

	limit uint16,

	openOrders []ag_solanago.PublicKey,
	market ag_solanago.PublicKey,
	eventQueue ag_solanago.PublicKey,
	crankAuthority ag_solanago.PublicKey) *ConsumeEventsPermissioned

NewConsumeEventsPermissionedInstruction declares a new ConsumeEventsPermissioned instruction with the provided parameters and accounts.

func NewConsumeEventsPermissionedInstructionBuilder

func NewConsumeEventsPermissionedInstructionBuilder() *ConsumeEventsPermissioned

NewConsumeEventsPermissionedInstructionBuilder creates a new `ConsumeEventsPermissioned` instruction builder.

func (ConsumeEventsPermissioned) Build

func (inst ConsumeEventsPermissioned) Build() *Instruction

func (*ConsumeEventsPermissioned) EncodeToTree

func (inst *ConsumeEventsPermissioned) EncodeToTree(parent ag_treeout.Branches)

func (*ConsumeEventsPermissioned) GetAccounts

func (accs *ConsumeEventsPermissioned) GetAccounts() (out []*ag_solanago.AccountMeta)

func (*ConsumeEventsPermissioned) GetCrankAuthorityAccount

func (inst *ConsumeEventsPermissioned) GetCrankAuthorityAccount() *ag_solanago.AccountMeta

GetCrankAuthorityAccount gets the "crankAuthority" account. crank authority

func (*ConsumeEventsPermissioned) GetEventQueueAccount

func (inst *ConsumeEventsPermissioned) GetEventQueueAccount() *ag_solanago.AccountMeta

GetEventQueueAccount gets the "eventQueue" account. event queue

func (*ConsumeEventsPermissioned) GetMarketAccount

func (inst *ConsumeEventsPermissioned) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (*ConsumeEventsPermissioned) GetOpenOrdersAccounts

func (inst *ConsumeEventsPermissioned) GetOpenOrdersAccounts() ag_solanago.AccountMetaSlice

GetOpenOrdersAccount gets the "openOrders" accounts.

func (ConsumeEventsPermissioned) MarshalWithEncoder

func (obj ConsumeEventsPermissioned) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*ConsumeEventsPermissioned) SetAccounts

func (accs *ConsumeEventsPermissioned) SetAccounts(accounts []*ag_solanago.AccountMeta) error

func (*ConsumeEventsPermissioned) SetCrankAuthorityAccount

func (inst *ConsumeEventsPermissioned) SetCrankAuthorityAccount(crankAuthority ag_solanago.PublicKey) *ConsumeEventsPermissioned

SetCrankAuthorityAccount sets the "crankAuthority" account. crank authority

func (*ConsumeEventsPermissioned) SetEventQueueAccount

func (inst *ConsumeEventsPermissioned) SetEventQueueAccount(eventQueue ag_solanago.PublicKey) *ConsumeEventsPermissioned

SetEventQueueAccount sets the "eventQueue" account. event queue

func (*ConsumeEventsPermissioned) SetLimit

SetLimit sets the "limit" parameter.

func (*ConsumeEventsPermissioned) SetMarketAccount

SetMarketAccount sets the "market" account. market

func (*ConsumeEventsPermissioned) SetOpenOrdersAccounts

func (inst *ConsumeEventsPermissioned) SetOpenOrdersAccounts(openOrders ...ag_solanago.PublicKey) *ConsumeEventsPermissioned

SetOpenOrdersAccount sets the "openOrders" accounts.

func (*ConsumeEventsPermissioned) UnmarshalWithDecoder

func (obj *ConsumeEventsPermissioned) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*ConsumeEventsPermissioned) Validate

func (inst *ConsumeEventsPermissioned) Validate() error

func (ConsumeEventsPermissioned) ValidateAndBuild

func (inst ConsumeEventsPermissioned) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type DisableMarket

type DisableMarket struct {

	// [0] = [WRITE] market
	// ··········· market
	//
	// [1] = [SIGNER] disableAuthority
	// ··········· disable authority
	ag_solanago.AccountMetaSlice `bin:"-"`
}

DisableMarket is the `DisableMarket` instruction.

func NewDisableMarketInstruction

func NewDisableMarketInstruction(

	market ag_solanago.PublicKey,
	disableAuthority ag_solanago.PublicKey) *DisableMarket

NewDisableMarketInstruction declares a new DisableMarket instruction with the provided parameters and accounts.

func NewDisableMarketInstructionBuilder

func NewDisableMarketInstructionBuilder() *DisableMarket

NewDisableMarketInstructionBuilder creates a new `DisableMarket` instruction builder.

func (DisableMarket) Build

func (inst DisableMarket) Build() *Instruction

func (*DisableMarket) EncodeToTree

func (inst *DisableMarket) EncodeToTree(parent ag_treeout.Branches)

func (*DisableMarket) GetDisableAuthorityAccount

func (inst *DisableMarket) GetDisableAuthorityAccount() *ag_solanago.AccountMeta

GetDisableAuthorityAccount gets the "disableAuthority" account. disable authority

func (*DisableMarket) GetMarketAccount

func (inst *DisableMarket) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (DisableMarket) MarshalWithEncoder

func (obj DisableMarket) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*DisableMarket) SetDisableAuthorityAccount

func (inst *DisableMarket) SetDisableAuthorityAccount(disableAuthority ag_solanago.PublicKey) *DisableMarket

SetDisableAuthorityAccount sets the "disableAuthority" account. disable authority

func (*DisableMarket) SetMarketAccount

func (inst *DisableMarket) SetMarketAccount(market ag_solanago.PublicKey) *DisableMarket

SetMarketAccount sets the "market" account. market

func (*DisableMarket) UnmarshalWithDecoder

func (obj *DisableMarket) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*DisableMarket) Validate

func (inst *DisableMarket) Validate() error

func (DisableMarket) ValidateAndBuild

func (inst DisableMarket) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type Event

type Event struct {
	EventFlags        uint8
	OwnerSlot         uint8
	FeeTier           uint8
	Padding           [5]uint8
	NativeQtyReleased uint64
	NativeQtyPaid     uint64
	NativeFeeOrRebate uint64
	OrderId           ag_binary.Uint128
	Owner             [4]uint64
	ClientOrderId     uint64
}

func (Event) MarshalWithEncoder

func (obj Event) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*Event) UnmarshalWithDecoder

func (obj *Event) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type EventQueueHeader

type EventQueueHeader struct {
	// Initialized, EventQueue
	AccountFlags uint64
	Head         uint64
	Count        uint64
	SeqNum       uint64
}

func (EventQueueHeader) MarshalWithEncoder

func (obj EventQueueHeader) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*EventQueueHeader) UnmarshalWithDecoder

func (obj *EventQueueHeader) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type FeeTier

type FeeTier ag_binary.BorshEnum
const (
	FeeTierBase FeeTier = iota
	FeeTierSRM2
	FeeTierSRM3
	FeeTierSRM4
	FeeTierSRM5
	FeeTierSRM6
	FeeTierMSRM
	FeeTierStable
)

func (FeeTier) String

func (value FeeTier) String() string

type InitOpenOrders

type InitOpenOrders struct {

	// [0] = [WRITE] openOrders
	// ··········· OpenOrders
	//
	// [1] = [SIGNER] owner
	// ··········· the OpenOrders owner
	//
	// [2] = [] market
	// ··········· market
	//
	// [3] = [] rent
	// ··········· TODO: rent?
	//
	// [4] = [] marketAuthority
	// ··········· open orders market authority (optional).
	ag_solanago.AccountMetaSlice `bin:"-"`
}

InitOpenOrders is the `InitOpenOrders` instruction.

func NewInitOpenOrdersInstruction

func NewInitOpenOrdersInstruction(

	openOrders ag_solanago.PublicKey,
	owner ag_solanago.PublicKey,
	market ag_solanago.PublicKey,
	rent ag_solanago.PublicKey,
	marketAuthority ag_solanago.PublicKey) *InitOpenOrders

NewInitOpenOrdersInstruction declares a new InitOpenOrders instruction with the provided parameters and accounts.

func NewInitOpenOrdersInstructionBuilder

func NewInitOpenOrdersInstructionBuilder() *InitOpenOrders

NewInitOpenOrdersInstructionBuilder creates a new `InitOpenOrders` instruction builder.

func (InitOpenOrders) Build

func (inst InitOpenOrders) Build() *Instruction

func (*InitOpenOrders) EncodeToTree

func (inst *InitOpenOrders) EncodeToTree(parent ag_treeout.Branches)

func (*InitOpenOrders) GetMarketAccount

func (inst *InitOpenOrders) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (*InitOpenOrders) GetMarketAuthorityAccount

func (inst *InitOpenOrders) GetMarketAuthorityAccount() *ag_solanago.AccountMeta

GetMarketAuthorityAccount gets the "marketAuthority" account. open orders market authority (optional).

func (*InitOpenOrders) GetOpenOrdersAccount

func (inst *InitOpenOrders) GetOpenOrdersAccount() *ag_solanago.AccountMeta

GetOpenOrdersAccount gets the "openOrders" account. OpenOrders

func (*InitOpenOrders) GetOwnerAccount

func (inst *InitOpenOrders) GetOwnerAccount() *ag_solanago.AccountMeta

GetOwnerAccount gets the "owner" account. the OpenOrders owner

func (*InitOpenOrders) GetRentAccount

func (inst *InitOpenOrders) GetRentAccount() *ag_solanago.AccountMeta

GetRentAccount gets the "rent" account. TODO: rent?

func (InitOpenOrders) MarshalWithEncoder

func (obj InitOpenOrders) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*InitOpenOrders) SetMarketAccount

func (inst *InitOpenOrders) SetMarketAccount(market ag_solanago.PublicKey) *InitOpenOrders

SetMarketAccount sets the "market" account. market

func (*InitOpenOrders) SetMarketAuthorityAccount

func (inst *InitOpenOrders) SetMarketAuthorityAccount(marketAuthority ag_solanago.PublicKey) *InitOpenOrders

SetMarketAuthorityAccount sets the "marketAuthority" account. open orders market authority (optional).

func (*InitOpenOrders) SetOpenOrdersAccount

func (inst *InitOpenOrders) SetOpenOrdersAccount(openOrders ag_solanago.PublicKey) *InitOpenOrders

SetOpenOrdersAccount sets the "openOrders" account. OpenOrders

func (*InitOpenOrders) SetOwnerAccount

func (inst *InitOpenOrders) SetOwnerAccount(owner ag_solanago.PublicKey) *InitOpenOrders

SetOwnerAccount sets the "owner" account. the OpenOrders owner

func (*InitOpenOrders) SetRentAccount

func (inst *InitOpenOrders) SetRentAccount(rent ag_solanago.PublicKey) *InitOpenOrders

SetRentAccount sets the "rent" account. TODO: rent?

func (*InitOpenOrders) UnmarshalWithDecoder

func (obj *InitOpenOrders) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*InitOpenOrders) Validate

func (inst *InitOpenOrders) Validate() error

func (InitOpenOrders) ValidateAndBuild

func (inst InitOpenOrders) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type InitializeMarket

type InitializeMarket struct {
	Args *InitializeMarketInstruction

	// [0] = [WRITE] marketToInitialize
	// ··········· the market to initialize
	//
	// [1] = [WRITE] requestQueue
	// ··········· zeroed out request queue
	//
	// [2] = [WRITE] eventQueue
	// ··········· zeroed out event queue
	//
	// [3] = [WRITE] bids
	// ··········· zeroed out bids
	//
	// [4] = [WRITE] asks
	// ··········· zeroed out asks
	//
	// [5] = [WRITE] splTokenAccountCoin
	// ··········· spl-token account for the coin currency
	//
	// [6] = [WRITE] splTokenAccountPrice
	// ··········· spl-token account for the price currency
	//
	// [7] = [] coinCurrencyMint
	// ··········· coin currency Mint
	//
	// [8] = [] priceCurrencyMint
	// ··········· price currency Mint
	//
	// [9] = [] rentSysvar
	// ··········· the rent sysvar
	//
	// [10] = [] openOrdersMarketAuthority
	// ··········· open orders market authority (optional)
	//
	// [11] = [] pruneAuthority
	// ··········· prune authority (optional, requires open orders market authority)
	//
	// [12] = [] crankAuthority
	// ··········· crank authority (optional, requires prune authority)
	ag_solanago.AccountMetaSlice `bin:"-"`
}

InitializeMarket is the `InitializeMarket` instruction.

func NewInitializeMarketInstruction

func NewInitializeMarketInstruction(

	args InitializeMarketInstruction,

	marketToInitialize ag_solanago.PublicKey,
	requestQueue ag_solanago.PublicKey,
	eventQueue ag_solanago.PublicKey,
	bids ag_solanago.PublicKey,
	asks ag_solanago.PublicKey,
	splTokenAccountCoin ag_solanago.PublicKey,
	splTokenAccountPrice ag_solanago.PublicKey,
	coinCurrencyMint ag_solanago.PublicKey,
	priceCurrencyMint ag_solanago.PublicKey,
	rentSysvar ag_solanago.PublicKey,
	openOrdersMarketAuthority ag_solanago.PublicKey,
	pruneAuthority ag_solanago.PublicKey,
	crankAuthority ag_solanago.PublicKey) *InitializeMarket

NewInitializeMarketInstruction declares a new InitializeMarket instruction with the provided parameters and accounts.

func NewInitializeMarketInstructionBuilder

func NewInitializeMarketInstructionBuilder() *InitializeMarket

NewInitializeMarketInstructionBuilder creates a new `InitializeMarket` instruction builder.

func (InitializeMarket) Build

func (inst InitializeMarket) Build() *Instruction

func (*InitializeMarket) EncodeToTree

func (inst *InitializeMarket) EncodeToTree(parent ag_treeout.Branches)

func (*InitializeMarket) GetAsksAccount

func (inst *InitializeMarket) GetAsksAccount() *ag_solanago.AccountMeta

GetAsksAccount gets the "asks" account. zeroed out asks

func (*InitializeMarket) GetBidsAccount

func (inst *InitializeMarket) GetBidsAccount() *ag_solanago.AccountMeta

GetBidsAccount gets the "bids" account. zeroed out bids

func (*InitializeMarket) GetCoinCurrencyMintAccount

func (inst *InitializeMarket) GetCoinCurrencyMintAccount() *ag_solanago.AccountMeta

GetCoinCurrencyMintAccount gets the "coinCurrencyMint" account. coin currency Mint

func (*InitializeMarket) GetCrankAuthorityAccount

func (inst *InitializeMarket) GetCrankAuthorityAccount() *ag_solanago.AccountMeta

GetCrankAuthorityAccount gets the "crankAuthority" account. crank authority (optional, requires prune authority)

func (*InitializeMarket) GetEventQueueAccount

func (inst *InitializeMarket) GetEventQueueAccount() *ag_solanago.AccountMeta

GetEventQueueAccount gets the "eventQueue" account. zeroed out event queue

func (*InitializeMarket) GetMarketToInitializeAccount

func (inst *InitializeMarket) GetMarketToInitializeAccount() *ag_solanago.AccountMeta

GetMarketToInitializeAccount gets the "marketToInitialize" account. the market to initialize

func (*InitializeMarket) GetOpenOrdersMarketAuthorityAccount

func (inst *InitializeMarket) GetOpenOrdersMarketAuthorityAccount() *ag_solanago.AccountMeta

GetOpenOrdersMarketAuthorityAccount gets the "openOrdersMarketAuthority" account. open orders market authority (optional)

func (*InitializeMarket) GetPriceCurrencyMintAccount

func (inst *InitializeMarket) GetPriceCurrencyMintAccount() *ag_solanago.AccountMeta

GetPriceCurrencyMintAccount gets the "priceCurrencyMint" account. price currency Mint

func (*InitializeMarket) GetPruneAuthorityAccount

func (inst *InitializeMarket) GetPruneAuthorityAccount() *ag_solanago.AccountMeta

GetPruneAuthorityAccount gets the "pruneAuthority" account. prune authority (optional, requires open orders market authority)

func (*InitializeMarket) GetRentSysvarAccount

func (inst *InitializeMarket) GetRentSysvarAccount() *ag_solanago.AccountMeta

GetRentSysvarAccount gets the "rentSysvar" account. the rent sysvar

func (*InitializeMarket) GetRequestQueueAccount

func (inst *InitializeMarket) GetRequestQueueAccount() *ag_solanago.AccountMeta

GetRequestQueueAccount gets the "requestQueue" account. zeroed out request queue

func (*InitializeMarket) GetSplTokenAccountCoinAccount

func (inst *InitializeMarket) GetSplTokenAccountCoinAccount() *ag_solanago.AccountMeta

GetSplTokenAccountCoinAccount gets the "splTokenAccountCoin" account. spl-token account for the coin currency

func (*InitializeMarket) GetSplTokenAccountPriceAccount

func (inst *InitializeMarket) GetSplTokenAccountPriceAccount() *ag_solanago.AccountMeta

GetSplTokenAccountPriceAccount gets the "splTokenAccountPrice" account. spl-token account for the price currency

func (InitializeMarket) MarshalWithEncoder

func (obj InitializeMarket) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*InitializeMarket) SetArgs

SetArgs sets the "args" parameter.

func (*InitializeMarket) SetAsksAccount

func (inst *InitializeMarket) SetAsksAccount(asks ag_solanago.PublicKey) *InitializeMarket

SetAsksAccount sets the "asks" account. zeroed out asks

func (*InitializeMarket) SetBidsAccount

func (inst *InitializeMarket) SetBidsAccount(bids ag_solanago.PublicKey) *InitializeMarket

SetBidsAccount sets the "bids" account. zeroed out bids

func (*InitializeMarket) SetCoinCurrencyMintAccount

func (inst *InitializeMarket) SetCoinCurrencyMintAccount(coinCurrencyMint ag_solanago.PublicKey) *InitializeMarket

SetCoinCurrencyMintAccount sets the "coinCurrencyMint" account. coin currency Mint

func (*InitializeMarket) SetCrankAuthorityAccount

func (inst *InitializeMarket) SetCrankAuthorityAccount(crankAuthority ag_solanago.PublicKey) *InitializeMarket

SetCrankAuthorityAccount sets the "crankAuthority" account. crank authority (optional, requires prune authority)

func (*InitializeMarket) SetEventQueueAccount

func (inst *InitializeMarket) SetEventQueueAccount(eventQueue ag_solanago.PublicKey) *InitializeMarket

SetEventQueueAccount sets the "eventQueue" account. zeroed out event queue

func (*InitializeMarket) SetMarketToInitializeAccount

func (inst *InitializeMarket) SetMarketToInitializeAccount(marketToInitialize ag_solanago.PublicKey) *InitializeMarket

SetMarketToInitializeAccount sets the "marketToInitialize" account. the market to initialize

func (*InitializeMarket) SetOpenOrdersMarketAuthorityAccount

func (inst *InitializeMarket) SetOpenOrdersMarketAuthorityAccount(openOrdersMarketAuthority ag_solanago.PublicKey) *InitializeMarket

SetOpenOrdersMarketAuthorityAccount sets the "openOrdersMarketAuthority" account. open orders market authority (optional)

func (*InitializeMarket) SetPriceCurrencyMintAccount

func (inst *InitializeMarket) SetPriceCurrencyMintAccount(priceCurrencyMint ag_solanago.PublicKey) *InitializeMarket

SetPriceCurrencyMintAccount sets the "priceCurrencyMint" account. price currency Mint

func (*InitializeMarket) SetPruneAuthorityAccount

func (inst *InitializeMarket) SetPruneAuthorityAccount(pruneAuthority ag_solanago.PublicKey) *InitializeMarket

SetPruneAuthorityAccount sets the "pruneAuthority" account. prune authority (optional, requires open orders market authority)

func (*InitializeMarket) SetRentSysvarAccount

func (inst *InitializeMarket) SetRentSysvarAccount(rentSysvar ag_solanago.PublicKey) *InitializeMarket

SetRentSysvarAccount sets the "rentSysvar" account. the rent sysvar

func (*InitializeMarket) SetRequestQueueAccount

func (inst *InitializeMarket) SetRequestQueueAccount(requestQueue ag_solanago.PublicKey) *InitializeMarket

SetRequestQueueAccount sets the "requestQueue" account. zeroed out request queue

func (*InitializeMarket) SetSplTokenAccountCoinAccount

func (inst *InitializeMarket) SetSplTokenAccountCoinAccount(splTokenAccountCoin ag_solanago.PublicKey) *InitializeMarket

SetSplTokenAccountCoinAccount sets the "splTokenAccountCoin" account. spl-token account for the coin currency

func (*InitializeMarket) SetSplTokenAccountPriceAccount

func (inst *InitializeMarket) SetSplTokenAccountPriceAccount(splTokenAccountPrice ag_solanago.PublicKey) *InitializeMarket

SetSplTokenAccountPriceAccount sets the "splTokenAccountPrice" account. spl-token account for the price currency

func (*InitializeMarket) UnmarshalWithDecoder

func (obj *InitializeMarket) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*InitializeMarket) Validate

func (inst *InitializeMarket) Validate() error

func (InitializeMarket) ValidateAndBuild

func (inst InitializeMarket) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type InitializeMarketInstruction

type InitializeMarketInstruction struct {
	// In the matching engine, all prices and balances are integers.
	// This only works if the smallest representable quantity of the coin
	// is at least a few orders of magnitude larger than the smallest representable
	// quantity of the price currency. The internal representation also relies on
	// on the assumption that every order will have a (quantity x price) value that
	// fits into a u64.
	//
	// If these assumptions are problematic, rejigger the lot sizes.
	CoinLotSize      uint64
	PcLotSize        uint64
	FeeRateBps       uint16
	VaultSignerNonce uint64
	PcDustThreshold  uint64
}

func (InitializeMarketInstruction) MarshalWithEncoder

func (obj InitializeMarketInstruction) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*InitializeMarketInstruction) UnmarshalWithDecoder

func (obj *InitializeMarketInstruction) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type Instruction

type Instruction struct {
	Version uint8
	ag_binary.BaseVariant
}

func DecodeInstruction

func DecodeInstruction(accounts []*ag_solanago.AccountMeta, data []byte) (*Instruction, error)

func (*Instruction) Accounts

func (inst *Instruction) Accounts() (out []*ag_solanago.AccountMeta)

func (*Instruction) Data

func (inst *Instruction) Data() ([]byte, error)

func (*Instruction) EncodeToTree

func (inst *Instruction) EncodeToTree(parent ag_treeout.Branches)

func (*Instruction) MarshalWithEncoder

func (inst *Instruction) MarshalWithEncoder(encoder *ag_binary.Encoder) error

func (*Instruction) ProgramID

func (inst *Instruction) ProgramID() ag_solanago.PublicKey

func (*Instruction) TextEncode

func (inst *Instruction) TextEncode(encoder *ag_text.Encoder, option *ag_text.Option) error

func (*Instruction) UnmarshalWithDecoder

func (inst *Instruction) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type MarketState

type MarketState struct {
	// 0
	// Initialized, Market
	AccountFlags uint64

	// 1
	OwnAddress [4]uint64

	// 5
	VaultSignerNonce uint64

	// 6
	CoinMint [4]uint64

	// 10
	PcMint [4]uint64

	// 14
	CoinVault [4]uint64

	// 18
	CoinDepositsTotal uint64

	// 19
	CoinFeesAccrued uint64

	// 20
	PcVault [4]uint64

	// 24
	PcDepositsTotal uint64

	// 25
	PcFeesAccrued uint64

	// 26
	PcDustThreshold uint64

	// 27
	ReqQ [4]uint64

	// 31
	EventQ [4]uint64

	// 35
	Bids [4]uint64

	// 39
	Asks [4]uint64

	// 43
	CoinLotSize uint64

	// 44
	PcLotSize uint64

	// 45
	FeeRateBps uint64

	// 46
	ReferrerRebatesAccrued uint64
}

func (MarketState) MarshalWithEncoder

func (obj MarketState) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*MarketState) UnmarshalWithDecoder

func (obj *MarketState) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type MarketStateV2

type MarketStateV2 struct {
	Inner                  MarketState
	OpenOrdersAuthority    ag_solanago.PublicKey
	PruneAuthority         ag_solanago.PublicKey
	ConsumeEventsAuthority ag_solanago.PublicKey

	// Unused bytes for future upgrades.
	Padding [992]uint8
}

func (MarketStateV2) MarshalWithEncoder

func (obj MarketStateV2) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*MarketStateV2) UnmarshalWithDecoder

func (obj *MarketStateV2) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type MatchOrders

type MatchOrders struct {
	Limit *uint16

	// [0] = [WRITE] market
	// ··········· market
	//
	// [1] = [WRITE] requestQueue
	// ··········· req_q
	//
	// [2] = [WRITE] eventQueue
	// ··········· event_q
	//
	// [3] = [WRITE] bids
	// ··········· bids
	//
	// [4] = [WRITE] asks
	// ··········· asks
	ag_solanago.AccountMetaSlice `bin:"-"`
}

MatchOrders is the `MatchOrders` instruction.

func NewMatchOrdersInstruction

func NewMatchOrdersInstruction(

	limit uint16,

	market ag_solanago.PublicKey,
	requestQueue ag_solanago.PublicKey,
	eventQueue ag_solanago.PublicKey,
	bids ag_solanago.PublicKey,
	asks ag_solanago.PublicKey) *MatchOrders

NewMatchOrdersInstruction declares a new MatchOrders instruction with the provided parameters and accounts.

func NewMatchOrdersInstructionBuilder

func NewMatchOrdersInstructionBuilder() *MatchOrders

NewMatchOrdersInstructionBuilder creates a new `MatchOrders` instruction builder.

func (MatchOrders) Build

func (inst MatchOrders) Build() *Instruction

func (*MatchOrders) EncodeToTree

func (inst *MatchOrders) EncodeToTree(parent ag_treeout.Branches)

func (*MatchOrders) GetAsksAccount

func (inst *MatchOrders) GetAsksAccount() *ag_solanago.AccountMeta

GetAsksAccount gets the "asks" account. asks

func (*MatchOrders) GetBidsAccount

func (inst *MatchOrders) GetBidsAccount() *ag_solanago.AccountMeta

GetBidsAccount gets the "bids" account. bids

func (*MatchOrders) GetEventQueueAccount

func (inst *MatchOrders) GetEventQueueAccount() *ag_solanago.AccountMeta

GetEventQueueAccount gets the "eventQueue" account. event_q

func (*MatchOrders) GetMarketAccount

func (inst *MatchOrders) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (*MatchOrders) GetRequestQueueAccount

func (inst *MatchOrders) GetRequestQueueAccount() *ag_solanago.AccountMeta

GetRequestQueueAccount gets the "requestQueue" account. req_q

func (MatchOrders) MarshalWithEncoder

func (obj MatchOrders) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*MatchOrders) SetAsksAccount

func (inst *MatchOrders) SetAsksAccount(asks ag_solanago.PublicKey) *MatchOrders

SetAsksAccount sets the "asks" account. asks

func (*MatchOrders) SetBidsAccount

func (inst *MatchOrders) SetBidsAccount(bids ag_solanago.PublicKey) *MatchOrders

SetBidsAccount sets the "bids" account. bids

func (*MatchOrders) SetEventQueueAccount

func (inst *MatchOrders) SetEventQueueAccount(eventQueue ag_solanago.PublicKey) *MatchOrders

SetEventQueueAccount sets the "eventQueue" account. event_q

func (*MatchOrders) SetLimit

func (inst *MatchOrders) SetLimit(limit uint16) *MatchOrders

SetLimit sets the "limit" parameter.

func (*MatchOrders) SetMarketAccount

func (inst *MatchOrders) SetMarketAccount(market ag_solanago.PublicKey) *MatchOrders

SetMarketAccount sets the "market" account. market

func (*MatchOrders) SetRequestQueueAccount

func (inst *MatchOrders) SetRequestQueueAccount(requestQueue ag_solanago.PublicKey) *MatchOrders

SetRequestQueueAccount sets the "requestQueue" account. req_q

func (*MatchOrders) UnmarshalWithDecoder

func (obj *MatchOrders) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*MatchOrders) Validate

func (inst *MatchOrders) Validate() error

func (MatchOrders) ValidateAndBuild

func (inst MatchOrders) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type NewOrder

type NewOrder struct {
	Args *NewOrderInstructionV1

	// [0] = [WRITE] market
	// ··········· the market
	//
	// [1] = [WRITE] openOrders
	// ··········· the OpenOrders account to use
	//
	// [2] = [WRITE] requestQueue
	// ··········· the request queue
	//
	// [3] = [WRITE] orderPayer
	// ··········· the (coin or price currency) account paying for the order
	//
	// [4] = [SIGNER] owner
	// ··········· owner of the OpenOrders account
	//
	// [5] = [WRITE] coinVault
	// ··········· coin vault
	//
	// [6] = [WRITE] pcVault
	// ··········· pc vault
	//
	// [7] = [] splTokenProgram
	// ··········· spl token program
	//
	// [8] = [] rentSysvar
	// ··········· the rent sysvar
	//
	// [9] = [] feeDiscounts
	// ··········· (optional) the (M)SRM account used for fee discounts
	ag_solanago.AccountMetaSlice `bin:"-"`
}

NewOrder is the `NewOrder` instruction.

func NewNewOrderInstruction

func NewNewOrderInstruction(

	args NewOrderInstructionV1,

	market ag_solanago.PublicKey,
	openOrders ag_solanago.PublicKey,
	requestQueue ag_solanago.PublicKey,
	orderPayer ag_solanago.PublicKey,
	owner ag_solanago.PublicKey,
	coinVault ag_solanago.PublicKey,
	pcVault ag_solanago.PublicKey,
	splTokenProgram ag_solanago.PublicKey,
	rentSysvar ag_solanago.PublicKey,
	feeDiscounts ag_solanago.PublicKey) *NewOrder

NewNewOrderInstruction declares a new NewOrder instruction with the provided parameters and accounts.

func NewNewOrderInstructionBuilder

func NewNewOrderInstructionBuilder() *NewOrder

NewNewOrderInstructionBuilder creates a new `NewOrder` instruction builder.

func (NewOrder) Build

func (inst NewOrder) Build() *Instruction

func (*NewOrder) EncodeToTree

func (inst *NewOrder) EncodeToTree(parent ag_treeout.Branches)

func (*NewOrder) GetCoinVaultAccount

func (inst *NewOrder) GetCoinVaultAccount() *ag_solanago.AccountMeta

GetCoinVaultAccount gets the "coinVault" account. coin vault

func (*NewOrder) GetFeeDiscountsAccount

func (inst *NewOrder) GetFeeDiscountsAccount() *ag_solanago.AccountMeta

GetFeeDiscountsAccount gets the "feeDiscounts" account. (optional) the (M)SRM account used for fee discounts

func (*NewOrder) GetMarketAccount

func (inst *NewOrder) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. the market

func (*NewOrder) GetOpenOrdersAccount

func (inst *NewOrder) GetOpenOrdersAccount() *ag_solanago.AccountMeta

GetOpenOrdersAccount gets the "openOrders" account. the OpenOrders account to use

func (*NewOrder) GetOrderPayerAccount

func (inst *NewOrder) GetOrderPayerAccount() *ag_solanago.AccountMeta

GetOrderPayerAccount gets the "orderPayer" account. the (coin or price currency) account paying for the order

func (*NewOrder) GetOwnerAccount

func (inst *NewOrder) GetOwnerAccount() *ag_solanago.AccountMeta

GetOwnerAccount gets the "owner" account. owner of the OpenOrders account

func (*NewOrder) GetPcVaultAccount

func (inst *NewOrder) GetPcVaultAccount() *ag_solanago.AccountMeta

GetPcVaultAccount gets the "pcVault" account. pc vault

func (*NewOrder) GetRentSysvarAccount

func (inst *NewOrder) GetRentSysvarAccount() *ag_solanago.AccountMeta

GetRentSysvarAccount gets the "rentSysvar" account. the rent sysvar

func (*NewOrder) GetRequestQueueAccount

func (inst *NewOrder) GetRequestQueueAccount() *ag_solanago.AccountMeta

GetRequestQueueAccount gets the "requestQueue" account. the request queue

func (*NewOrder) GetSplTokenProgramAccount

func (inst *NewOrder) GetSplTokenProgramAccount() *ag_solanago.AccountMeta

GetSplTokenProgramAccount gets the "splTokenProgram" account. spl token program

func (NewOrder) MarshalWithEncoder

func (obj NewOrder) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*NewOrder) SetArgs

func (inst *NewOrder) SetArgs(args NewOrderInstructionV1) *NewOrder

SetArgs sets the "args" parameter.

func (*NewOrder) SetCoinVaultAccount

func (inst *NewOrder) SetCoinVaultAccount(coinVault ag_solanago.PublicKey) *NewOrder

SetCoinVaultAccount sets the "coinVault" account. coin vault

func (*NewOrder) SetFeeDiscountsAccount

func (inst *NewOrder) SetFeeDiscountsAccount(feeDiscounts ag_solanago.PublicKey) *NewOrder

SetFeeDiscountsAccount sets the "feeDiscounts" account. (optional) the (M)SRM account used for fee discounts

func (*NewOrder) SetMarketAccount

func (inst *NewOrder) SetMarketAccount(market ag_solanago.PublicKey) *NewOrder

SetMarketAccount sets the "market" account. the market

func (*NewOrder) SetOpenOrdersAccount

func (inst *NewOrder) SetOpenOrdersAccount(openOrders ag_solanago.PublicKey) *NewOrder

SetOpenOrdersAccount sets the "openOrders" account. the OpenOrders account to use

func (*NewOrder) SetOrderPayerAccount

func (inst *NewOrder) SetOrderPayerAccount(orderPayer ag_solanago.PublicKey) *NewOrder

SetOrderPayerAccount sets the "orderPayer" account. the (coin or price currency) account paying for the order

func (*NewOrder) SetOwnerAccount

func (inst *NewOrder) SetOwnerAccount(owner ag_solanago.PublicKey) *NewOrder

SetOwnerAccount sets the "owner" account. owner of the OpenOrders account

func (*NewOrder) SetPcVaultAccount

func (inst *NewOrder) SetPcVaultAccount(pcVault ag_solanago.PublicKey) *NewOrder

SetPcVaultAccount sets the "pcVault" account. pc vault

func (*NewOrder) SetRentSysvarAccount

func (inst *NewOrder) SetRentSysvarAccount(rentSysvar ag_solanago.PublicKey) *NewOrder

SetRentSysvarAccount sets the "rentSysvar" account. the rent sysvar

func (*NewOrder) SetRequestQueueAccount

func (inst *NewOrder) SetRequestQueueAccount(requestQueue ag_solanago.PublicKey) *NewOrder

SetRequestQueueAccount sets the "requestQueue" account. the request queue

func (*NewOrder) SetSplTokenProgramAccount

func (inst *NewOrder) SetSplTokenProgramAccount(splTokenProgram ag_solanago.PublicKey) *NewOrder

SetSplTokenProgramAccount sets the "splTokenProgram" account. spl token program

func (*NewOrder) UnmarshalWithDecoder

func (obj *NewOrder) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*NewOrder) Validate

func (inst *NewOrder) Validate() error

func (NewOrder) ValidateAndBuild

func (inst NewOrder) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type NewOrderInstructionV1

type NewOrderInstructionV1 struct {
	Side       Side
	LimitPrice uint64
	MaxQty     uint64
	OrderType  OrderType
	ClientId   uint64
}

func (NewOrderInstructionV1) MarshalWithEncoder

func (obj NewOrderInstructionV1) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*NewOrderInstructionV1) UnmarshalWithDecoder

func (obj *NewOrderInstructionV1) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type NewOrderInstructionV2

type NewOrderInstructionV2 struct {
	Side              Side
	LimitPrice        uint64
	MaxQty            uint64
	OrderType         OrderType
	ClientId          uint64
	SelfTradeBehavior SelfTradeBehavior
}

func (NewOrderInstructionV2) MarshalWithEncoder

func (obj NewOrderInstructionV2) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*NewOrderInstructionV2) UnmarshalWithDecoder

func (obj *NewOrderInstructionV2) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type NewOrderInstructionV3

type NewOrderInstructionV3 struct {
	Side                        Side
	LimitPrice                  uint64
	MaxCoinQty                  uint64
	MaxNativePcQtyIncludingFees uint64
	SelfTradeBehavior           SelfTradeBehavior
	OrderType                   OrderType
	ClientOrderId               uint64
	Limit                       uint16
}

func (NewOrderInstructionV3) MarshalWithEncoder

func (obj NewOrderInstructionV3) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*NewOrderInstructionV3) UnmarshalWithDecoder

func (obj *NewOrderInstructionV3) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type NewOrderV2

type NewOrderV2 struct {
	Args *NewOrderInstructionV2

	// [0] = [WRITE] market
	// ··········· the market
	//
	// [1] = [WRITE] openOrders
	// ··········· the OpenOrders account to use
	//
	// [2] = [WRITE] requestQueue
	// ··········· the request queue
	//
	// [3] = [WRITE] orderPayer
	// ··········· the (coin or price currency) account paying for the order
	//
	// [4] = [SIGNER] owner
	// ··········· owner of the OpenOrders account
	//
	// [5] = [WRITE] coinVault
	// ··········· coin vault
	//
	// [6] = [WRITE] pcVault
	// ··········· pc vault
	//
	// [7] = [] splTokenProgram
	// ··········· spl token program
	//
	// [8] = [] rentSysvar
	// ··········· the rent sysvar
	//
	// [9] = [] feeDiscounts
	// ··········· (optional) the (M)SRM account used for fee discounts
	ag_solanago.AccountMetaSlice `bin:"-"`
}

NewOrderV2 is the `NewOrderV2` instruction.

func NewNewOrderV2Instruction

func NewNewOrderV2Instruction(

	args NewOrderInstructionV2,

	market ag_solanago.PublicKey,
	openOrders ag_solanago.PublicKey,
	requestQueue ag_solanago.PublicKey,
	orderPayer ag_solanago.PublicKey,
	owner ag_solanago.PublicKey,
	coinVault ag_solanago.PublicKey,
	pcVault ag_solanago.PublicKey,
	splTokenProgram ag_solanago.PublicKey,
	rentSysvar ag_solanago.PublicKey,
	feeDiscounts ag_solanago.PublicKey) *NewOrderV2

NewNewOrderV2Instruction declares a new NewOrderV2 instruction with the provided parameters and accounts.

func NewNewOrderV2InstructionBuilder

func NewNewOrderV2InstructionBuilder() *NewOrderV2

NewNewOrderV2InstructionBuilder creates a new `NewOrderV2` instruction builder.

func (NewOrderV2) Build

func (inst NewOrderV2) Build() *Instruction

func (*NewOrderV2) EncodeToTree

func (inst *NewOrderV2) EncodeToTree(parent ag_treeout.Branches)

func (*NewOrderV2) GetCoinVaultAccount

func (inst *NewOrderV2) GetCoinVaultAccount() *ag_solanago.AccountMeta

GetCoinVaultAccount gets the "coinVault" account. coin vault

func (*NewOrderV2) GetFeeDiscountsAccount

func (inst *NewOrderV2) GetFeeDiscountsAccount() *ag_solanago.AccountMeta

GetFeeDiscountsAccount gets the "feeDiscounts" account. (optional) the (M)SRM account used for fee discounts

func (*NewOrderV2) GetMarketAccount

func (inst *NewOrderV2) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. the market

func (*NewOrderV2) GetOpenOrdersAccount

func (inst *NewOrderV2) GetOpenOrdersAccount() *ag_solanago.AccountMeta

GetOpenOrdersAccount gets the "openOrders" account. the OpenOrders account to use

func (*NewOrderV2) GetOrderPayerAccount

func (inst *NewOrderV2) GetOrderPayerAccount() *ag_solanago.AccountMeta

GetOrderPayerAccount gets the "orderPayer" account. the (coin or price currency) account paying for the order

func (*NewOrderV2) GetOwnerAccount

func (inst *NewOrderV2) GetOwnerAccount() *ag_solanago.AccountMeta

GetOwnerAccount gets the "owner" account. owner of the OpenOrders account

func (*NewOrderV2) GetPcVaultAccount

func (inst *NewOrderV2) GetPcVaultAccount() *ag_solanago.AccountMeta

GetPcVaultAccount gets the "pcVault" account. pc vault

func (*NewOrderV2) GetRentSysvarAccount

func (inst *NewOrderV2) GetRentSysvarAccount() *ag_solanago.AccountMeta

GetRentSysvarAccount gets the "rentSysvar" account. the rent sysvar

func (*NewOrderV2) GetRequestQueueAccount

func (inst *NewOrderV2) GetRequestQueueAccount() *ag_solanago.AccountMeta

GetRequestQueueAccount gets the "requestQueue" account. the request queue

func (*NewOrderV2) GetSplTokenProgramAccount

func (inst *NewOrderV2) GetSplTokenProgramAccount() *ag_solanago.AccountMeta

GetSplTokenProgramAccount gets the "splTokenProgram" account. spl token program

func (NewOrderV2) MarshalWithEncoder

func (obj NewOrderV2) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*NewOrderV2) SetArgs

func (inst *NewOrderV2) SetArgs(args NewOrderInstructionV2) *NewOrderV2

SetArgs sets the "args" parameter.

func (*NewOrderV2) SetCoinVaultAccount

func (inst *NewOrderV2) SetCoinVaultAccount(coinVault ag_solanago.PublicKey) *NewOrderV2

SetCoinVaultAccount sets the "coinVault" account. coin vault

func (*NewOrderV2) SetFeeDiscountsAccount

func (inst *NewOrderV2) SetFeeDiscountsAccount(feeDiscounts ag_solanago.PublicKey) *NewOrderV2

SetFeeDiscountsAccount sets the "feeDiscounts" account. (optional) the (M)SRM account used for fee discounts

func (*NewOrderV2) SetMarketAccount

func (inst *NewOrderV2) SetMarketAccount(market ag_solanago.PublicKey) *NewOrderV2

SetMarketAccount sets the "market" account. the market

func (*NewOrderV2) SetOpenOrdersAccount

func (inst *NewOrderV2) SetOpenOrdersAccount(openOrders ag_solanago.PublicKey) *NewOrderV2

SetOpenOrdersAccount sets the "openOrders" account. the OpenOrders account to use

func (*NewOrderV2) SetOrderPayerAccount

func (inst *NewOrderV2) SetOrderPayerAccount(orderPayer ag_solanago.PublicKey) *NewOrderV2

SetOrderPayerAccount sets the "orderPayer" account. the (coin or price currency) account paying for the order

func (*NewOrderV2) SetOwnerAccount

func (inst *NewOrderV2) SetOwnerAccount(owner ag_solanago.PublicKey) *NewOrderV2

SetOwnerAccount sets the "owner" account. owner of the OpenOrders account

func (*NewOrderV2) SetPcVaultAccount

func (inst *NewOrderV2) SetPcVaultAccount(pcVault ag_solanago.PublicKey) *NewOrderV2

SetPcVaultAccount sets the "pcVault" account. pc vault

func (*NewOrderV2) SetRentSysvarAccount

func (inst *NewOrderV2) SetRentSysvarAccount(rentSysvar ag_solanago.PublicKey) *NewOrderV2

SetRentSysvarAccount sets the "rentSysvar" account. the rent sysvar

func (*NewOrderV2) SetRequestQueueAccount

func (inst *NewOrderV2) SetRequestQueueAccount(requestQueue ag_solanago.PublicKey) *NewOrderV2

SetRequestQueueAccount sets the "requestQueue" account. the request queue

func (*NewOrderV2) SetSplTokenProgramAccount

func (inst *NewOrderV2) SetSplTokenProgramAccount(splTokenProgram ag_solanago.PublicKey) *NewOrderV2

SetSplTokenProgramAccount sets the "splTokenProgram" account. spl token program

func (*NewOrderV2) UnmarshalWithDecoder

func (obj *NewOrderV2) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*NewOrderV2) Validate

func (inst *NewOrderV2) Validate() error

func (NewOrderV2) ValidateAndBuild

func (inst NewOrderV2) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type NewOrderV3

type NewOrderV3 struct {
	Args *NewOrderInstructionV3

	// [0] = [WRITE] market
	// ··········· the market
	//
	// [1] = [WRITE] openOrders
	// ··········· the OpenOrders account to use
	//
	// [2] = [WRITE] requestQueue
	// ··········· the request queue
	//
	// [3] = [WRITE] eventQueue
	// ··········· the event queue
	//
	// [4] = [WRITE] bids
	// ··········· bids
	//
	// [5] = [WRITE] asks
	// ··········· asks
	//
	// [6] = [WRITE] orderPayer
	// ··········· the (coin or price currency) account paying for the order
	//
	// [7] = [SIGNER] owner
	// ··········· owner of the OpenOrders account
	//
	// [8] = [WRITE] coinVault
	// ··········· coin vault
	//
	// [9] = [WRITE] pcVault
	// ··········· pc vault
	//
	// [10] = [] splTokenProgram
	// ··········· spl token program
	//
	// [11] = [] rentSysvar
	// ··········· the rent sysvar
	//
	// [12] = [] feeDiscounts
	// ··········· (optional) the (M)SRM account used for fee discounts
	ag_solanago.AccountMetaSlice `bin:"-"`
}

NewOrderV3 is the `NewOrderV3` instruction.

func NewNewOrderV3Instruction

func NewNewOrderV3Instruction(

	args NewOrderInstructionV3,

	market ag_solanago.PublicKey,
	openOrders ag_solanago.PublicKey,
	requestQueue ag_solanago.PublicKey,
	eventQueue ag_solanago.PublicKey,
	bids ag_solanago.PublicKey,
	asks ag_solanago.PublicKey,
	orderPayer ag_solanago.PublicKey,
	owner ag_solanago.PublicKey,
	coinVault ag_solanago.PublicKey,
	pcVault ag_solanago.PublicKey,
	splTokenProgram ag_solanago.PublicKey,
	rentSysvar ag_solanago.PublicKey,
	feeDiscounts ag_solanago.PublicKey) *NewOrderV3

NewNewOrderV3Instruction declares a new NewOrderV3 instruction with the provided parameters and accounts.

func NewNewOrderV3InstructionBuilder

func NewNewOrderV3InstructionBuilder() *NewOrderV3

NewNewOrderV3InstructionBuilder creates a new `NewOrderV3` instruction builder.

func (NewOrderV3) Build

func (inst NewOrderV3) Build() *Instruction

func (*NewOrderV3) EncodeToTree

func (inst *NewOrderV3) EncodeToTree(parent ag_treeout.Branches)

func (*NewOrderV3) GetAsksAccount

func (inst *NewOrderV3) GetAsksAccount() *ag_solanago.AccountMeta

GetAsksAccount gets the "asks" account. asks

func (*NewOrderV3) GetBidsAccount

func (inst *NewOrderV3) GetBidsAccount() *ag_solanago.AccountMeta

GetBidsAccount gets the "bids" account. bids

func (*NewOrderV3) GetCoinVaultAccount

func (inst *NewOrderV3) GetCoinVaultAccount() *ag_solanago.AccountMeta

GetCoinVaultAccount gets the "coinVault" account. coin vault

func (*NewOrderV3) GetEventQueueAccount

func (inst *NewOrderV3) GetEventQueueAccount() *ag_solanago.AccountMeta

GetEventQueueAccount gets the "eventQueue" account. the event queue

func (*NewOrderV3) GetFeeDiscountsAccount

func (inst *NewOrderV3) GetFeeDiscountsAccount() *ag_solanago.AccountMeta

GetFeeDiscountsAccount gets the "feeDiscounts" account. (optional) the (M)SRM account used for fee discounts

func (*NewOrderV3) GetMarketAccount

func (inst *NewOrderV3) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. the market

func (*NewOrderV3) GetOpenOrdersAccount

func (inst *NewOrderV3) GetOpenOrdersAccount() *ag_solanago.AccountMeta

GetOpenOrdersAccount gets the "openOrders" account. the OpenOrders account to use

func (*NewOrderV3) GetOrderPayerAccount

func (inst *NewOrderV3) GetOrderPayerAccount() *ag_solanago.AccountMeta

GetOrderPayerAccount gets the "orderPayer" account. the (coin or price currency) account paying for the order

func (*NewOrderV3) GetOwnerAccount

func (inst *NewOrderV3) GetOwnerAccount() *ag_solanago.AccountMeta

GetOwnerAccount gets the "owner" account. owner of the OpenOrders account

func (*NewOrderV3) GetPcVaultAccount

func (inst *NewOrderV3) GetPcVaultAccount() *ag_solanago.AccountMeta

GetPcVaultAccount gets the "pcVault" account. pc vault

func (*NewOrderV3) GetRentSysvarAccount

func (inst *NewOrderV3) GetRentSysvarAccount() *ag_solanago.AccountMeta

GetRentSysvarAccount gets the "rentSysvar" account. the rent sysvar

func (*NewOrderV3) GetRequestQueueAccount

func (inst *NewOrderV3) GetRequestQueueAccount() *ag_solanago.AccountMeta

GetRequestQueueAccount gets the "requestQueue" account. the request queue

func (*NewOrderV3) GetSplTokenProgramAccount

func (inst *NewOrderV3) GetSplTokenProgramAccount() *ag_solanago.AccountMeta

GetSplTokenProgramAccount gets the "splTokenProgram" account. spl token program

func (NewOrderV3) MarshalWithEncoder

func (obj NewOrderV3) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*NewOrderV3) SetArgs

func (inst *NewOrderV3) SetArgs(args NewOrderInstructionV3) *NewOrderV3

SetArgs sets the "args" parameter.

func (*NewOrderV3) SetAsksAccount

func (inst *NewOrderV3) SetAsksAccount(asks ag_solanago.PublicKey) *NewOrderV3

SetAsksAccount sets the "asks" account. asks

func (*NewOrderV3) SetBidsAccount

func (inst *NewOrderV3) SetBidsAccount(bids ag_solanago.PublicKey) *NewOrderV3

SetBidsAccount sets the "bids" account. bids

func (*NewOrderV3) SetCoinVaultAccount

func (inst *NewOrderV3) SetCoinVaultAccount(coinVault ag_solanago.PublicKey) *NewOrderV3

SetCoinVaultAccount sets the "coinVault" account. coin vault

func (*NewOrderV3) SetEventQueueAccount

func (inst *NewOrderV3) SetEventQueueAccount(eventQueue ag_solanago.PublicKey) *NewOrderV3

SetEventQueueAccount sets the "eventQueue" account. the event queue

func (*NewOrderV3) SetFeeDiscountsAccount

func (inst *NewOrderV3) SetFeeDiscountsAccount(feeDiscounts ag_solanago.PublicKey) *NewOrderV3

SetFeeDiscountsAccount sets the "feeDiscounts" account. (optional) the (M)SRM account used for fee discounts

func (*NewOrderV3) SetMarketAccount

func (inst *NewOrderV3) SetMarketAccount(market ag_solanago.PublicKey) *NewOrderV3

SetMarketAccount sets the "market" account. the market

func (*NewOrderV3) SetOpenOrdersAccount

func (inst *NewOrderV3) SetOpenOrdersAccount(openOrders ag_solanago.PublicKey) *NewOrderV3

SetOpenOrdersAccount sets the "openOrders" account. the OpenOrders account to use

func (*NewOrderV3) SetOrderPayerAccount

func (inst *NewOrderV3) SetOrderPayerAccount(orderPayer ag_solanago.PublicKey) *NewOrderV3

SetOrderPayerAccount sets the "orderPayer" account. the (coin or price currency) account paying for the order

func (*NewOrderV3) SetOwnerAccount

func (inst *NewOrderV3) SetOwnerAccount(owner ag_solanago.PublicKey) *NewOrderV3

SetOwnerAccount sets the "owner" account. owner of the OpenOrders account

func (*NewOrderV3) SetPcVaultAccount

func (inst *NewOrderV3) SetPcVaultAccount(pcVault ag_solanago.PublicKey) *NewOrderV3

SetPcVaultAccount sets the "pcVault" account. pc vault

func (*NewOrderV3) SetRentSysvarAccount

func (inst *NewOrderV3) SetRentSysvarAccount(rentSysvar ag_solanago.PublicKey) *NewOrderV3

SetRentSysvarAccount sets the "rentSysvar" account. the rent sysvar

func (*NewOrderV3) SetRequestQueueAccount

func (inst *NewOrderV3) SetRequestQueueAccount(requestQueue ag_solanago.PublicKey) *NewOrderV3

SetRequestQueueAccount sets the "requestQueue" account. the request queue

func (*NewOrderV3) SetSplTokenProgramAccount

func (inst *NewOrderV3) SetSplTokenProgramAccount(splTokenProgram ag_solanago.PublicKey) *NewOrderV3

SetSplTokenProgramAccount sets the "splTokenProgram" account. spl token program

func (*NewOrderV3) UnmarshalWithDecoder

func (obj *NewOrderV3) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*NewOrderV3) Validate

func (inst *NewOrderV3) Validate() error

func (NewOrderV3) ValidateAndBuild

func (inst NewOrderV3) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type OpenOrders

type OpenOrders struct {
	// Initialized, OpenOrders
	AccountFlags    uint64
	Market          [4]uint64
	Owner           [4]uint64
	NativeCoinFree  uint64
	NativeCoinTotal uint64
	NativePcFree    uint64
	NativePcTotal   uint64
	FreeSlotBits    ag_binary.Uint128
	IsBidBits       ag_binary.Uint128
	Orders          [128]ag_binary.Uint128

	// Using Option<NonZeroU64> in a pod type requires nightly
	ClientOrderIds         [128]uint64
	ReferrerRebatesAccrued uint64
}

func (OpenOrders) MarshalWithEncoder

func (obj OpenOrders) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*OpenOrders) UnmarshalWithDecoder

func (obj *OpenOrders) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type OrderType

type OrderType ag_binary.BorshEnum
const (
	OrderTypeLimit OrderType = iota
	OrderTypeImmediateOrCancel
	OrderTypePostOnly
)

func (OrderType) String

func (value OrderType) String() string

type Prune

type Prune struct {
	Limit *uint16

	// [0] = [WRITE] market
	// ··········· market
	//
	// [1] = [WRITE] bids
	// ··········· bids
	//
	// [2] = [WRITE] asks
	// ··········· asks
	//
	// [3] = [SIGNER] pruneAuthority
	// ··········· prune authority
	//
	// [4] = [WRITE] openOrders
	// ··········· open orders.
	//
	// [5] = [] owner
	// ··········· open orders owner.
	//
	// [6] = [WRITE] eventQueue
	// ··········· event queue.
	ag_solanago.AccountMetaSlice `bin:"-"`
}

Removes all orders for a given open orders account from the orderbook.

func NewPruneInstruction

func NewPruneInstruction(

	limit uint16,

	market ag_solanago.PublicKey,
	bids ag_solanago.PublicKey,
	asks ag_solanago.PublicKey,
	pruneAuthority ag_solanago.PublicKey,
	openOrders ag_solanago.PublicKey,
	owner ag_solanago.PublicKey,
	eventQueue ag_solanago.PublicKey) *Prune

NewPruneInstruction declares a new Prune instruction with the provided parameters and accounts.

func NewPruneInstructionBuilder

func NewPruneInstructionBuilder() *Prune

NewPruneInstructionBuilder creates a new `Prune` instruction builder.

func (Prune) Build

func (inst Prune) Build() *Instruction

func (*Prune) EncodeToTree

func (inst *Prune) EncodeToTree(parent ag_treeout.Branches)

func (*Prune) GetAsksAccount

func (inst *Prune) GetAsksAccount() *ag_solanago.AccountMeta

GetAsksAccount gets the "asks" account. asks

func (*Prune) GetBidsAccount

func (inst *Prune) GetBidsAccount() *ag_solanago.AccountMeta

GetBidsAccount gets the "bids" account. bids

func (*Prune) GetEventQueueAccount

func (inst *Prune) GetEventQueueAccount() *ag_solanago.AccountMeta

GetEventQueueAccount gets the "eventQueue" account. event queue.

func (*Prune) GetMarketAccount

func (inst *Prune) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (*Prune) GetOpenOrdersAccount

func (inst *Prune) GetOpenOrdersAccount() *ag_solanago.AccountMeta

GetOpenOrdersAccount gets the "openOrders" account. open orders.

func (*Prune) GetOwnerAccount

func (inst *Prune) GetOwnerAccount() *ag_solanago.AccountMeta

GetOwnerAccount gets the "owner" account. open orders owner.

func (*Prune) GetPruneAuthorityAccount

func (inst *Prune) GetPruneAuthorityAccount() *ag_solanago.AccountMeta

GetPruneAuthorityAccount gets the "pruneAuthority" account. prune authority

func (Prune) MarshalWithEncoder

func (obj Prune) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*Prune) SetAsksAccount

func (inst *Prune) SetAsksAccount(asks ag_solanago.PublicKey) *Prune

SetAsksAccount sets the "asks" account. asks

func (*Prune) SetBidsAccount

func (inst *Prune) SetBidsAccount(bids ag_solanago.PublicKey) *Prune

SetBidsAccount sets the "bids" account. bids

func (*Prune) SetEventQueueAccount

func (inst *Prune) SetEventQueueAccount(eventQueue ag_solanago.PublicKey) *Prune

SetEventQueueAccount sets the "eventQueue" account. event queue.

func (*Prune) SetLimit

func (inst *Prune) SetLimit(limit uint16) *Prune

SetLimit sets the "limit" parameter.

func (*Prune) SetMarketAccount

func (inst *Prune) SetMarketAccount(market ag_solanago.PublicKey) *Prune

SetMarketAccount sets the "market" account. market

func (*Prune) SetOpenOrdersAccount

func (inst *Prune) SetOpenOrdersAccount(openOrders ag_solanago.PublicKey) *Prune

SetOpenOrdersAccount sets the "openOrders" account. open orders.

func (*Prune) SetOwnerAccount

func (inst *Prune) SetOwnerAccount(owner ag_solanago.PublicKey) *Prune

SetOwnerAccount sets the "owner" account. open orders owner.

func (*Prune) SetPruneAuthorityAccount

func (inst *Prune) SetPruneAuthorityAccount(pruneAuthority ag_solanago.PublicKey) *Prune

SetPruneAuthorityAccount sets the "pruneAuthority" account. prune authority

func (*Prune) UnmarshalWithDecoder

func (obj *Prune) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*Prune) Validate

func (inst *Prune) Validate() error

func (Prune) ValidateAndBuild

func (inst Prune) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type Request

type Request struct {
	RequestFlags         uint8
	OwnerSlot            uint8
	FeeTier              uint8
	SelfTradeBehavior    uint8
	Padding              [4]uint8
	MaxCoinQtyOrCancelId uint64
	NativePcQtyLocked    uint64
	OrderId              ag_binary.Uint128
	Owner                [4]uint64
	ClientOrderId        uint64
}

func (Request) MarshalWithEncoder

func (obj Request) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*Request) UnmarshalWithDecoder

func (obj *Request) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type RequestQueueHeader

type RequestQueueHeader struct {
	// Initialized, RequestQueue
	AccountFlags uint64
	Head         uint64
	Count        uint64
	NextSeqNum   uint64
}

func (RequestQueueHeader) MarshalWithEncoder

func (obj RequestQueueHeader) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*RequestQueueHeader) UnmarshalWithDecoder

func (obj *RequestQueueHeader) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type SelfTradeBehavior

type SelfTradeBehavior ag_binary.BorshEnum
const (
	SelfTradeBehaviorDecrementTake SelfTradeBehavior = iota
	SelfTradeBehaviorCancelProvide
	SelfTradeBehaviorAbortTransaction
)

func (SelfTradeBehavior) String

func (value SelfTradeBehavior) String() string

type SendTake

type SendTake struct {
	Args *SendTakeInstruction

	// [0] = [WRITE] market
	// ··········· market
	//
	// [1] = [WRITE] requestQueue
	// ··········· the request queue
	//
	// [2] = [WRITE] eventQueue
	// ··········· the event queue
	//
	// [3] = [WRITE] bids
	// ··········· bids
	//
	// [4] = [WRITE] asks
	// ··········· asks
	//
	// [5] = [WRITE] coinCurrencyWallet
	// ··········· the coin currency wallet account
	//
	// [6] = [WRITE] priceCurrencyWallet
	// ··········· the price currency wallet account
	//
	// [7] = [] signer
	// ··········· signer
	//
	// [8] = [WRITE] coinVault
	// ··········· coin vault
	//
	// [9] = [WRITE] pcVault
	// ··········· pc vault
	//
	// [10] = [] splTokenProgram
	// ··········· spl token program
	//
	// [11] = [] feeDiscounts
	// ··········· (optional) the (M)SRM account used for fee discounts
	ag_solanago.AccountMetaSlice `bin:"-"`
}

SendTake is the `SendTake` instruction.

func NewSendTakeInstruction

func NewSendTakeInstruction(

	args SendTakeInstruction,

	market ag_solanago.PublicKey,
	requestQueue ag_solanago.PublicKey,
	eventQueue ag_solanago.PublicKey,
	bids ag_solanago.PublicKey,
	asks ag_solanago.PublicKey,
	coinCurrencyWallet ag_solanago.PublicKey,
	priceCurrencyWallet ag_solanago.PublicKey,
	signer ag_solanago.PublicKey,
	coinVault ag_solanago.PublicKey,
	pcVault ag_solanago.PublicKey,
	splTokenProgram ag_solanago.PublicKey,
	feeDiscounts ag_solanago.PublicKey) *SendTake

NewSendTakeInstruction declares a new SendTake instruction with the provided parameters and accounts.

func NewSendTakeInstructionBuilder

func NewSendTakeInstructionBuilder() *SendTake

NewSendTakeInstructionBuilder creates a new `SendTake` instruction builder.

func (SendTake) Build

func (inst SendTake) Build() *Instruction

func (*SendTake) EncodeToTree

func (inst *SendTake) EncodeToTree(parent ag_treeout.Branches)

func (*SendTake) GetAsksAccount

func (inst *SendTake) GetAsksAccount() *ag_solanago.AccountMeta

GetAsksAccount gets the "asks" account. asks

func (*SendTake) GetBidsAccount

func (inst *SendTake) GetBidsAccount() *ag_solanago.AccountMeta

GetBidsAccount gets the "bids" account. bids

func (*SendTake) GetCoinCurrencyWalletAccount

func (inst *SendTake) GetCoinCurrencyWalletAccount() *ag_solanago.AccountMeta

GetCoinCurrencyWalletAccount gets the "coinCurrencyWallet" account. the coin currency wallet account

func (*SendTake) GetCoinVaultAccount

func (inst *SendTake) GetCoinVaultAccount() *ag_solanago.AccountMeta

GetCoinVaultAccount gets the "coinVault" account. coin vault

func (*SendTake) GetEventQueueAccount

func (inst *SendTake) GetEventQueueAccount() *ag_solanago.AccountMeta

GetEventQueueAccount gets the "eventQueue" account. the event queue

func (*SendTake) GetFeeDiscountsAccount

func (inst *SendTake) GetFeeDiscountsAccount() *ag_solanago.AccountMeta

GetFeeDiscountsAccount gets the "feeDiscounts" account. (optional) the (M)SRM account used for fee discounts

func (*SendTake) GetMarketAccount

func (inst *SendTake) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (*SendTake) GetPcVaultAccount

func (inst *SendTake) GetPcVaultAccount() *ag_solanago.AccountMeta

GetPcVaultAccount gets the "pcVault" account. pc vault

func (*SendTake) GetPriceCurrencyWalletAccount

func (inst *SendTake) GetPriceCurrencyWalletAccount() *ag_solanago.AccountMeta

GetPriceCurrencyWalletAccount gets the "priceCurrencyWallet" account. the price currency wallet account

func (*SendTake) GetRequestQueueAccount

func (inst *SendTake) GetRequestQueueAccount() *ag_solanago.AccountMeta

GetRequestQueueAccount gets the "requestQueue" account. the request queue

func (*SendTake) GetSignerAccount

func (inst *SendTake) GetSignerAccount() *ag_solanago.AccountMeta

GetSignerAccount gets the "signer" account. signer

func (*SendTake) GetSplTokenProgramAccount

func (inst *SendTake) GetSplTokenProgramAccount() *ag_solanago.AccountMeta

GetSplTokenProgramAccount gets the "splTokenProgram" account. spl token program

func (SendTake) MarshalWithEncoder

func (obj SendTake) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*SendTake) SetArgs

func (inst *SendTake) SetArgs(args SendTakeInstruction) *SendTake

SetArgs sets the "args" parameter.

func (*SendTake) SetAsksAccount

func (inst *SendTake) SetAsksAccount(asks ag_solanago.PublicKey) *SendTake

SetAsksAccount sets the "asks" account. asks

func (*SendTake) SetBidsAccount

func (inst *SendTake) SetBidsAccount(bids ag_solanago.PublicKey) *SendTake

SetBidsAccount sets the "bids" account. bids

func (*SendTake) SetCoinCurrencyWalletAccount

func (inst *SendTake) SetCoinCurrencyWalletAccount(coinCurrencyWallet ag_solanago.PublicKey) *SendTake

SetCoinCurrencyWalletAccount sets the "coinCurrencyWallet" account. the coin currency wallet account

func (*SendTake) SetCoinVaultAccount

func (inst *SendTake) SetCoinVaultAccount(coinVault ag_solanago.PublicKey) *SendTake

SetCoinVaultAccount sets the "coinVault" account. coin vault

func (*SendTake) SetEventQueueAccount

func (inst *SendTake) SetEventQueueAccount(eventQueue ag_solanago.PublicKey) *SendTake

SetEventQueueAccount sets the "eventQueue" account. the event queue

func (*SendTake) SetFeeDiscountsAccount

func (inst *SendTake) SetFeeDiscountsAccount(feeDiscounts ag_solanago.PublicKey) *SendTake

SetFeeDiscountsAccount sets the "feeDiscounts" account. (optional) the (M)SRM account used for fee discounts

func (*SendTake) SetMarketAccount

func (inst *SendTake) SetMarketAccount(market ag_solanago.PublicKey) *SendTake

SetMarketAccount sets the "market" account. market

func (*SendTake) SetPcVaultAccount

func (inst *SendTake) SetPcVaultAccount(pcVault ag_solanago.PublicKey) *SendTake

SetPcVaultAccount sets the "pcVault" account. pc vault

func (*SendTake) SetPriceCurrencyWalletAccount

func (inst *SendTake) SetPriceCurrencyWalletAccount(priceCurrencyWallet ag_solanago.PublicKey) *SendTake

SetPriceCurrencyWalletAccount sets the "priceCurrencyWallet" account. the price currency wallet account

func (*SendTake) SetRequestQueueAccount

func (inst *SendTake) SetRequestQueueAccount(requestQueue ag_solanago.PublicKey) *SendTake

SetRequestQueueAccount sets the "requestQueue" account. the request queue

func (*SendTake) SetSignerAccount

func (inst *SendTake) SetSignerAccount(signer ag_solanago.PublicKey) *SendTake

SetSignerAccount sets the "signer" account. signer

func (*SendTake) SetSplTokenProgramAccount

func (inst *SendTake) SetSplTokenProgramAccount(splTokenProgram ag_solanago.PublicKey) *SendTake

SetSplTokenProgramAccount sets the "splTokenProgram" account. spl token program

func (*SendTake) UnmarshalWithDecoder

func (obj *SendTake) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*SendTake) Validate

func (inst *SendTake) Validate() error

func (SendTake) ValidateAndBuild

func (inst SendTake) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type SendTakeInstruction

type SendTakeInstruction struct {
	Side                        Side
	LimitPrice                  uint64
	MaxCoinQty                  uint64
	MaxNativePcQtyIncludingFees uint64
	MinCoinQty                  uint64
	MinNativePcQty              uint64
	Limit                       uint16
}

func (SendTakeInstruction) MarshalWithEncoder

func (obj SendTakeInstruction) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*SendTakeInstruction) UnmarshalWithDecoder

func (obj *SendTakeInstruction) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

type SettleFunds

type SettleFunds struct {

	// [0] = [WRITE] market
	// ··········· market
	//
	// [1] = [WRITE] openOrders
	// ··········· OpenOrders
	//
	// [2] = [SIGNER] owner
	// ··········· the OpenOrders owner
	//
	// [3] = [WRITE] coinVault
	// ··········· coin vault
	//
	// [4] = [WRITE] pcVault
	// ··········· pc vault
	//
	// [5] = [WRITE] coinWallet
	// ··········· coin wallet
	//
	// [6] = [WRITE] pcWallet
	// ··········· pc wallet
	//
	// [7] = [] vaultSigner
	// ··········· vault signer
	//
	// [8] = [] splTokenProgram
	// ··········· spl token program
	//
	// [9] = [WRITE] referrerPcWallet
	// ··········· (optional) referrer pc wallet
	ag_solanago.AccountMetaSlice `bin:"-"`
}

SettleFunds is the `SettleFunds` instruction.

func NewSettleFundsInstruction

func NewSettleFundsInstruction(

	market ag_solanago.PublicKey,
	openOrders ag_solanago.PublicKey,
	owner ag_solanago.PublicKey,
	coinVault ag_solanago.PublicKey,
	pcVault ag_solanago.PublicKey,
	coinWallet ag_solanago.PublicKey,
	pcWallet ag_solanago.PublicKey,
	vaultSigner ag_solanago.PublicKey,
	splTokenProgram ag_solanago.PublicKey,
	referrerPcWallet ag_solanago.PublicKey) *SettleFunds

NewSettleFundsInstruction declares a new SettleFunds instruction with the provided parameters and accounts.

func NewSettleFundsInstructionBuilder

func NewSettleFundsInstructionBuilder() *SettleFunds

NewSettleFundsInstructionBuilder creates a new `SettleFunds` instruction builder.

func (SettleFunds) Build

func (inst SettleFunds) Build() *Instruction

func (*SettleFunds) EncodeToTree

func (inst *SettleFunds) EncodeToTree(parent ag_treeout.Branches)

func (*SettleFunds) GetCoinVaultAccount

func (inst *SettleFunds) GetCoinVaultAccount() *ag_solanago.AccountMeta

GetCoinVaultAccount gets the "coinVault" account. coin vault

func (*SettleFunds) GetCoinWalletAccount

func (inst *SettleFunds) GetCoinWalletAccount() *ag_solanago.AccountMeta

GetCoinWalletAccount gets the "coinWallet" account. coin wallet

func (*SettleFunds) GetMarketAccount

func (inst *SettleFunds) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (*SettleFunds) GetOpenOrdersAccount

func (inst *SettleFunds) GetOpenOrdersAccount() *ag_solanago.AccountMeta

GetOpenOrdersAccount gets the "openOrders" account. OpenOrders

func (*SettleFunds) GetOwnerAccount

func (inst *SettleFunds) GetOwnerAccount() *ag_solanago.AccountMeta

GetOwnerAccount gets the "owner" account. the OpenOrders owner

func (*SettleFunds) GetPcVaultAccount

func (inst *SettleFunds) GetPcVaultAccount() *ag_solanago.AccountMeta

GetPcVaultAccount gets the "pcVault" account. pc vault

func (*SettleFunds) GetPcWalletAccount

func (inst *SettleFunds) GetPcWalletAccount() *ag_solanago.AccountMeta

GetPcWalletAccount gets the "pcWallet" account. pc wallet

func (*SettleFunds) GetReferrerPcWalletAccount

func (inst *SettleFunds) GetReferrerPcWalletAccount() *ag_solanago.AccountMeta

GetReferrerPcWalletAccount gets the "referrerPcWallet" account. (optional) referrer pc wallet

func (*SettleFunds) GetSplTokenProgramAccount

func (inst *SettleFunds) GetSplTokenProgramAccount() *ag_solanago.AccountMeta

GetSplTokenProgramAccount gets the "splTokenProgram" account. spl token program

func (*SettleFunds) GetVaultSignerAccount

func (inst *SettleFunds) GetVaultSignerAccount() *ag_solanago.AccountMeta

GetVaultSignerAccount gets the "vaultSigner" account. vault signer

func (SettleFunds) MarshalWithEncoder

func (obj SettleFunds) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*SettleFunds) SetCoinVaultAccount

func (inst *SettleFunds) SetCoinVaultAccount(coinVault ag_solanago.PublicKey) *SettleFunds

SetCoinVaultAccount sets the "coinVault" account. coin vault

func (*SettleFunds) SetCoinWalletAccount

func (inst *SettleFunds) SetCoinWalletAccount(coinWallet ag_solanago.PublicKey) *SettleFunds

SetCoinWalletAccount sets the "coinWallet" account. coin wallet

func (*SettleFunds) SetMarketAccount

func (inst *SettleFunds) SetMarketAccount(market ag_solanago.PublicKey) *SettleFunds

SetMarketAccount sets the "market" account. market

func (*SettleFunds) SetOpenOrdersAccount

func (inst *SettleFunds) SetOpenOrdersAccount(openOrders ag_solanago.PublicKey) *SettleFunds

SetOpenOrdersAccount sets the "openOrders" account. OpenOrders

func (*SettleFunds) SetOwnerAccount

func (inst *SettleFunds) SetOwnerAccount(owner ag_solanago.PublicKey) *SettleFunds

SetOwnerAccount sets the "owner" account. the OpenOrders owner

func (*SettleFunds) SetPcVaultAccount

func (inst *SettleFunds) SetPcVaultAccount(pcVault ag_solanago.PublicKey) *SettleFunds

SetPcVaultAccount sets the "pcVault" account. pc vault

func (*SettleFunds) SetPcWalletAccount

func (inst *SettleFunds) SetPcWalletAccount(pcWallet ag_solanago.PublicKey) *SettleFunds

SetPcWalletAccount sets the "pcWallet" account. pc wallet

func (*SettleFunds) SetReferrerPcWalletAccount

func (inst *SettleFunds) SetReferrerPcWalletAccount(referrerPcWallet ag_solanago.PublicKey) *SettleFunds

SetReferrerPcWalletAccount sets the "referrerPcWallet" account. (optional) referrer pc wallet

func (*SettleFunds) SetSplTokenProgramAccount

func (inst *SettleFunds) SetSplTokenProgramAccount(splTokenProgram ag_solanago.PublicKey) *SettleFunds

SetSplTokenProgramAccount sets the "splTokenProgram" account. spl token program

func (*SettleFunds) SetVaultSignerAccount

func (inst *SettleFunds) SetVaultSignerAccount(vaultSigner ag_solanago.PublicKey) *SettleFunds

SetVaultSignerAccount sets the "vaultSigner" account. vault signer

func (*SettleFunds) UnmarshalWithDecoder

func (obj *SettleFunds) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*SettleFunds) Validate

func (inst *SettleFunds) Validate() error

func (SettleFunds) ValidateAndBuild

func (inst SettleFunds) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

type Side

type Side ag_binary.BorshEnum
const (
	SideBid Side = iota
	SideAsk
)

func (Side) String

func (value Side) String() string

type SweepFees

type SweepFees struct {

	// [0] = [WRITE] market
	// ··········· market
	//
	// [1] = [WRITE] pcVault
	// ··········· pc vault
	//
	// [2] = [SIGNER] feeSweepingAuthority
	// ··········· fee sweeping authority
	//
	// [3] = [WRITE] feeReceivable
	// ··········· fee receivable account
	//
	// [4] = [] vaultSigner
	// ··········· vault signer
	//
	// [5] = [] splTokenProgram
	// ··········· spl token program
	ag_solanago.AccountMetaSlice `bin:"-"`
}

SweepFees is the `SweepFees` instruction.

func NewSweepFeesInstruction

func NewSweepFeesInstruction(

	market ag_solanago.PublicKey,
	pcVault ag_solanago.PublicKey,
	feeSweepingAuthority ag_solanago.PublicKey,
	feeReceivable ag_solanago.PublicKey,
	vaultSigner ag_solanago.PublicKey,
	splTokenProgram ag_solanago.PublicKey) *SweepFees

NewSweepFeesInstruction declares a new SweepFees instruction with the provided parameters and accounts.

func NewSweepFeesInstructionBuilder

func NewSweepFeesInstructionBuilder() *SweepFees

NewSweepFeesInstructionBuilder creates a new `SweepFees` instruction builder.

func (SweepFees) Build

func (inst SweepFees) Build() *Instruction

func (*SweepFees) EncodeToTree

func (inst *SweepFees) EncodeToTree(parent ag_treeout.Branches)

func (*SweepFees) GetFeeReceivableAccount

func (inst *SweepFees) GetFeeReceivableAccount() *ag_solanago.AccountMeta

GetFeeReceivableAccount gets the "feeReceivable" account. fee receivable account

func (*SweepFees) GetFeeSweepingAuthorityAccount

func (inst *SweepFees) GetFeeSweepingAuthorityAccount() *ag_solanago.AccountMeta

GetFeeSweepingAuthorityAccount gets the "feeSweepingAuthority" account. fee sweeping authority

func (*SweepFees) GetMarketAccount

func (inst *SweepFees) GetMarketAccount() *ag_solanago.AccountMeta

GetMarketAccount gets the "market" account. market

func (*SweepFees) GetPcVaultAccount

func (inst *SweepFees) GetPcVaultAccount() *ag_solanago.AccountMeta

GetPcVaultAccount gets the "pcVault" account. pc vault

func (*SweepFees) GetSplTokenProgramAccount

func (inst *SweepFees) GetSplTokenProgramAccount() *ag_solanago.AccountMeta

GetSplTokenProgramAccount gets the "splTokenProgram" account. spl token program

func (*SweepFees) GetVaultSignerAccount

func (inst *SweepFees) GetVaultSignerAccount() *ag_solanago.AccountMeta

GetVaultSignerAccount gets the "vaultSigner" account. vault signer

func (SweepFees) MarshalWithEncoder

func (obj SweepFees) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error)

func (*SweepFees) SetFeeReceivableAccount

func (inst *SweepFees) SetFeeReceivableAccount(feeReceivable ag_solanago.PublicKey) *SweepFees

SetFeeReceivableAccount sets the "feeReceivable" account. fee receivable account

func (*SweepFees) SetFeeSweepingAuthorityAccount

func (inst *SweepFees) SetFeeSweepingAuthorityAccount(feeSweepingAuthority ag_solanago.PublicKey) *SweepFees

SetFeeSweepingAuthorityAccount sets the "feeSweepingAuthority" account. fee sweeping authority

func (*SweepFees) SetMarketAccount

func (inst *SweepFees) SetMarketAccount(market ag_solanago.PublicKey) *SweepFees

SetMarketAccount sets the "market" account. market

func (*SweepFees) SetPcVaultAccount

func (inst *SweepFees) SetPcVaultAccount(pcVault ag_solanago.PublicKey) *SweepFees

SetPcVaultAccount sets the "pcVault" account. pc vault

func (*SweepFees) SetSplTokenProgramAccount

func (inst *SweepFees) SetSplTokenProgramAccount(splTokenProgram ag_solanago.PublicKey) *SweepFees

SetSplTokenProgramAccount sets the "splTokenProgram" account. spl token program

func (*SweepFees) SetVaultSignerAccount

func (inst *SweepFees) SetVaultSignerAccount(vaultSigner ag_solanago.PublicKey) *SweepFees

SetVaultSignerAccount sets the "vaultSigner" account. vault signer

func (*SweepFees) UnmarshalWithDecoder

func (obj *SweepFees) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error)

func (*SweepFees) Validate

func (inst *SweepFees) Validate() error

func (SweepFees) ValidateAndBuild

func (inst SweepFees) ValidateAndBuild() (*Instruction, error)

ValidateAndBuild validates the instruction parameters and accounts; if there is a validation error, it returns the error. Otherwise, it builds and returns the instruction.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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