tradesatoshi

package
v0.0.0-...-5439e55 Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2022 License: MIT Imports: 21 Imported by: 1

Documentation

Index

Constants

View Source
const (
	DEFAULT_ID           = 27
	DEFAULT_TAKER_FEE    = 0.0025 //not found on website
	DEFAULT_MAKER_FEE    = 0.0025 //not found on website
	DEFAULT_LOT_SIZE     = 0.00000001
	DEFAULT_PRICE_FILTER = 0.00000001
	DEFAULT_LISTED       = true
)
View Source
const (
	API_URL string = "https://tradesatoshi.com/api"
)

Variables

This section is empty.

Functions

func ComputeHmac512

func ComputeHmac512(strMessage string, strSecret string) string

Types

type AccountBalances

type AccountBalances []struct {
	Currency        string  `json:"currency"`
	CurrencyLong    string  `json:"currencyLong"`
	Available       float64 `json:"available"`
	Total           float64 `json:"total"`
	HeldForTrades   float64 `json:"heldForTrades"`
	Unconfirmed     float64 `json:"unconfirmed"`
	PendingWithdraw float64 `json:"pendingWithdraw"`
	Address         string  `json:"address"`
}

type CancelOrder

type CancelOrder struct {
	CanceledOrders []int `json:"CanceledOrders"`
}

type CoinsData

type CoinsData []struct {
	Currency        string  `json:"currency"`
	CurrencyLong    string  `json:"currencyLong"`
	MinConfirmation int     `json:"minConfirmation"`
	TxFee           float64 `json:"txFee"`
	Status          string  `json:"status"`
	StatusMessage   string  `json:"statusMessage"`
	MinBaseTrade    float64 `json:"minBaseTrade"`
	IsTipEnabled    bool    `json:"isTipEnabled"`
	MinTip          float64 `json:"minTip"`
	MaxTip          float64 `json:"maxTip"`
}

type JsonResponse

type JsonResponse struct {
	Success bool            `json:"success"`
	Message string          `json:"message"`
	Result  json.RawMessage `json:"result"`
}

type OrderBook

type OrderBook struct {
	Buy []struct {
		Quantity float64 `json:"quantity"`
		Rate     float64 `json:"rate"`
	} `json:"buy"`
	Sell []struct {
		Quantity float64 `json:"quantity"`
		Rate     float64 `json:"rate"`
	} `json:"sell"`
}

type OrderStatus

type OrderStatus struct {
	ID        int     `json:"id"`
	Market    string  `json:"market"`
	Type      string  `json:"type"`
	Amount    float64 `json:"amount"`
	Rate      float64 `json:"rate"`
	Remaining float64 `json:"remaining"`
	Total     float64 `json:"total"`
	Status    string  `json:"status"`
	Timestamp string  `json:"timestamp"`
	IsAPI     bool    `json:"isApi"`
}

type PairsData

type PairsData []struct {
	Market         string  `json:"market"`
	High           float64 `json:"high"`
	Low            float64 `json:"low"`
	Volume         float64 `json:"volume"`
	BaseVolume     float64 `json:"baseVolume"`
	Last           float64 `json:"last"`
	Bid            float64 `json:"bid"`
	Ask            float64 `json:"ask"`
	OpenBuyOrders  int     `json:"openBuyOrders"`
	OpenSellOrders int     `json:"openSellOrders"`
	MarketStatus   string  `json:"marketStatus"`
	Change         float64 `json:"change"`
}

type PlaceOrder

type PlaceOrder struct {
	OrderID int   `json:"OrderId"`
	Filled  []int `json:"Filled"`
}

type TradeSatoshi

type TradeSatoshi struct {
	ID      int
	Name    string `bson:"name"`
	Website string `bson:"website"`

	API_KEY    string
	API_SECRET string

	Source    exchange.DataSource // / exchange API / microservicve api 1 / PSQL
	SourceURI string
}

func CreateTradeSatoshi

func CreateTradeSatoshi(config *exchange.Config) *TradeSatoshi

*************************************************

func (*TradeSatoshi) ApiKeyGET

func (e *TradeSatoshi) ApiKeyGET(strRequestPath string, mapParams map[string]string) string

func (*TradeSatoshi) ApiKeyPost

func (e *TradeSatoshi) ApiKeyPost(strRequestPath string, mapParams map[string]interface{}) string

************** Signature Http Request ************** Method: API Request and Signature is required Step 1: Change Instance Name (e *<exchange Instance Name>) Step 2: Create mapParams Depend on API Signature request Step 3: Add HttpGetRequest below strUrl if API has different requests

func (*TradeSatoshi) CanDeposit

func (e *TradeSatoshi) CanDeposit(coin *coin.Coin) bool

func (*TradeSatoshi) CanWithdraw

func (e *TradeSatoshi) CanWithdraw(coin *coin.Coin) bool

func (*TradeSatoshi) CancelAllOrder

func (e *TradeSatoshi) CancelAllOrder() error

func (*TradeSatoshi) CancelOrder

func (e *TradeSatoshi) CancelOrder(order *exchange.Order) error

func (*TradeSatoshi) DeleteCoin

func (e *TradeSatoshi) DeleteCoin(coin *coin.Coin)

func (*TradeSatoshi) DeletePair

func (e *TradeSatoshi) DeletePair(pair *pair.Pair)

func (*TradeSatoshi) DoAccountOperation

func (e *TradeSatoshi) DoAccountOperation(operation *exchange.AccountOperation) error

************** Private API **************

func (*TradeSatoshi) GetBalance

func (e *TradeSatoshi) GetBalance(coin *coin.Coin) float64

func (*TradeSatoshi) GetCoinBySymbol

func (e *TradeSatoshi) GetCoinBySymbol(symbol string) *coin.Coin

func (*TradeSatoshi) GetCoinConstraint

func (e *TradeSatoshi) GetCoinConstraint(coin *coin.Coin) *exchange.CoinConstraint

************** Coins on the Exchanges **************

func (*TradeSatoshi) GetCoins

func (e *TradeSatoshi) GetCoins() []*coin.Coin

func (*TradeSatoshi) GetCoinsData

func (e *TradeSatoshi) GetCoinsData() error

************** Public API ************** Get Coins Information (If API provide) Step 1: Change Instance Name (e *<exchange Instance Name>) Step 2: Add Model of API Response Step 3: Modify API Path(strRequestUrl)

func (*TradeSatoshi) GetConfirmation

func (e *TradeSatoshi) GetConfirmation(coin *coin.Coin) int

func (*TradeSatoshi) GetConstraintFetchMethod

func (e *TradeSatoshi) GetConstraintFetchMethod(pair *pair.Pair) *exchange.ConstrainFetchMethod

*************** Exchange Constraint ***************

func (*TradeSatoshi) GetFee

func (e *TradeSatoshi) GetFee(pair *pair.Pair) float64

*************** Pair Constraint ***************

func (*TradeSatoshi) GetID

func (e *TradeSatoshi) GetID() int

*************** Exchange Information ***************

func (*TradeSatoshi) GetLotSize

func (e *TradeSatoshi) GetLotSize(pair *pair.Pair) float64

func (*TradeSatoshi) GetName

func (e *TradeSatoshi) GetName() exchange.ExchangeName

func (*TradeSatoshi) GetPairBySymbol

func (e *TradeSatoshi) GetPairBySymbol(symbol string) *pair.Pair

func (*TradeSatoshi) GetPairConstraint

func (e *TradeSatoshi) GetPairConstraint(pair *pair.Pair) *exchange.PairConstraint

************** Pairs on the Exchanges **************

func (*TradeSatoshi) GetPairs

func (e *TradeSatoshi) GetPairs() []*pair.Pair

func (*TradeSatoshi) GetPairsData

func (e *TradeSatoshi) GetPairsData() error
GetPairsData - Get Pairs Information (If API provide)

Step 1: Change Instance Name (e *<exchange Instance Name>) Step 2: Add Model of API Response Step 3: Modify API Path(strRequestUrl)

func (*TradeSatoshi) GetPriceFilter

func (e *TradeSatoshi) GetPriceFilter(pair *pair.Pair) float64

func (*TradeSatoshi) GetSymbolByCoin

func (e *TradeSatoshi) GetSymbolByCoin(coin *coin.Coin) string

func (*TradeSatoshi) GetSymbolByPair

func (e *TradeSatoshi) GetSymbolByPair(pair *pair.Pair) string

func (*TradeSatoshi) GetTradingWebURL

func (e *TradeSatoshi) GetTradingWebURL(pair *pair.Pair) string

func (*TradeSatoshi) GetTxFee

func (e *TradeSatoshi) GetTxFee(coin *coin.Coin) float64

*************** Coin Constraint ***************

func (*TradeSatoshi) HasPair

func (e *TradeSatoshi) HasPair(pair *pair.Pair) bool

func (*TradeSatoshi) InitData

func (e *TradeSatoshi) InitData() error

func (*TradeSatoshi) LimitBuy

func (e *TradeSatoshi) LimitBuy(pair *pair.Pair, quantity, rate float64) (*exchange.Order, error)

func (*TradeSatoshi) LimitSell

func (e *TradeSatoshi) LimitSell(pair *pair.Pair, quantity, rate float64) (*exchange.Order, error)

func (*TradeSatoshi) ListOrders

func (e *TradeSatoshi) ListOrders() ([]*exchange.Order, error)

func (*TradeSatoshi) LoadPublicData

func (e *TradeSatoshi) LoadPublicData(operation *exchange.PublicOperation) error

func (*TradeSatoshi) OrderBook

func (e *TradeSatoshi) OrderBook(pair *pair.Pair) (*exchange.Maker, error)

Get Pair Market Depth Step 1: Change Instance Name (e *<exchange Instance Name>) Step 2: Add Model of API Response Step 3: Get Exchange Pair Code ex. symbol := e.GetPairCode(p) Step 4: Modify API Path(strRequestUrl) Step 5: Add Params - Depend on API request Step 6: Convert the response to Standard Maker struct

func (*TradeSatoshi) OrderStatus

func (e *TradeSatoshi) OrderStatus(order *exchange.Order) error

func (*TradeSatoshi) SetCoinConstraint

func (e *TradeSatoshi) SetCoinConstraint(coinConstraint *exchange.CoinConstraint)

func (*TradeSatoshi) SetPairConstraint

func (e *TradeSatoshi) SetPairConstraint(pairConstraint *exchange.PairConstraint)

func (*TradeSatoshi) UpdateAllBalances

func (e *TradeSatoshi) UpdateAllBalances()

func (*TradeSatoshi) UpdateConstraint

func (e *TradeSatoshi) UpdateConstraint()

func (*TradeSatoshi) Withdraw

func (e *TradeSatoshi) Withdraw(coin *coin.Coin, quantity float64, addr, tag string) bool

type Withdraw

type Withdraw struct {
	WithdrawalID int `json:"WithdrawalId"`
}

Jump to

Keyboard shortcuts

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