websocketuserdata

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 26, 2023 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SUBSCRIBE   = "SUBSCRIBE"
	UNSUBSCRIBE = "UNSUBSCRIBE"
)
View Source
const (
	MaxTryTimes = 5
)

Variables

View Source
var (
	OptionsUserDataStreamBaseURL = "wss://nbstream.binance.com/eoptions"
	UserDataStreamRouter         = "/ws/"
)

Functions

This section is empty.

Types

type AccountData

type AccountData struct {
	EventType string `json:"e"`
	EventTime int64  `json:"E"`
	Balances  []struct {
		AccountBalance    string  `json:"b"`
		PositionValue     string  `json:"m"`
		UnPNL             string  `json:"u"`
		U                 float64 `json:"U"`
		MaintenanceMargin string  `json:"M"`
		InitialMargin     string  `json:"i"`
		MarginAsset       string  `json:"a"`
	} `json:"B"`
	Greek []struct {
		Underlying string  `json:"ui"`
		Delta      float64 `json:"d"`
		Theta      float64 `json:"t"`
		Gamma      float64 `json:"g"`
		VegaV      float64 `json:"v"`
	} `json:"G"`
	Position []struct {
		Symbol                  string `json:"s"`
		PositionNum             string `json:"c"`
		PositionNumCanBeReduced string `json:"r"`
		PositionValue           string `json:"p"`
		EntryPrice              string `json:"a"`
	} `json:"P"`
	UID int64 `json:"uid"`
}

type Listener

type Listener func(any)

type OptionsUserDataStreamCfg

type OptionsUserDataStreamCfg struct {
	Debug bool
	// Logger
	Logger *slog.Logger

	BaseURL       string `validate:"required"`
	Key           string `validate:"required"`
	Secret        string `validate:"required"`
	AutoReconnect bool   `validate:"required"`
}

type OptionsUserDataStreamClient

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

func (*OptionsUserDataStreamClient) AddListener

func (o *OptionsUserDataStreamClient) AddListener(event string, listener Listener) *emission.Emitter

func (*OptionsUserDataStreamClient) Close

func (*OptionsUserDataStreamClient) GenAccountDataTopic

func (o *OptionsUserDataStreamClient) GenAccountDataTopic() string

func (*OptionsUserDataStreamClient) GenOrderUpdateTopic

func (o *OptionsUserDataStreamClient) GenOrderUpdateTopic() string

func (*OptionsUserDataStreamClient) GetListeners

func (o *OptionsUserDataStreamClient) GetListeners(event string, argument any) *emission.Emitter

func (*OptionsUserDataStreamClient) IsConnected

func (o *OptionsUserDataStreamClient) IsConnected() bool

IsConnected returns the WebSocket connection state

func (*OptionsUserDataStreamClient) Open

func (*OptionsUserDataStreamClient) RemoveListener

func (o *OptionsUserDataStreamClient) RemoveListener(event string, listener Listener) *emission.Emitter

type OrderUpdate

type OrderUpdate struct {
	EventType string `json:"e"`
	EventTime int64  `json:"E"`
	Orders    []struct {
		CreateTime           int64  `json:"T"`
		UpdateTime           int64  `json:"t"`
		Symbol               string `json:"s"`
		ClientOrderID        string `json:"c"`
		OrderID              string `json:"oid"`
		OrderPrice           string `json:"p"`
		OrderQuantity        string `json:"q"`
		ReduceOnly           bool   `json:"r"`
		PostOnly             bool   `json:"po"`
		Status               string `json:"S"`
		CompletedTradeVolume string `json:"e"`
		CompletedTradeAmount string `json:"ec"`
		Fee                  string `json:"f"`
		TimeInForce          string `json:"tif"`
		OrderType            string `json:"oty"`
		Fill                 []struct {
			TradeID            string `json:"t"`
			TradePrice         string `json:"p"`
			TradeQuantity      string `json:"q"`
			TradeTime          int64  `json:"T"`
			TakerOrMaker       string `json:"m"`
			CommissionOrRebate string `json:"f"`
		} `json:"fi"`
	} `json:"o"`
}

Jump to

Keyboard shortcuts

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