mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-29 15:10:37 +00:00
Coinbase: Update exchange implementation (#1480)
* Slight enhance of Coinbase tests Continual enhance of Coinbase tests The revamp continues Oh jeez the Orderbook part's unfinished don't look Coinbase revamp, Orderbook still unfinished * Coinbase revamp; CreateReport is still WIP * More coinbase improvements; onto sandbox testing * Coinbase revamp continues * Coinbase revamp continues * Coinbasepro revamp is ceaseless * Coinbase revamp, starting on advanced trade API * Coinbase Advanced Trade Starts in Ernest V3 done, onto V2 Coinbase revamp nears completion Coinbase revamp nears completion Test commit should fail Coinbase revamp nears completion * Coinbase revamp stage wrapper * Coinbase wrapper coherence continues * Coinbase wrapper continues writhing * Coinbase wrapper & codebase cleanup * Coinbase updates & wrap progress * More Coinbase wrapper progress * Wrapper is wrapped, kinda * Test & type checking * Coinbase REST revamp finished * Post-merge fix * WS revamp begins * WS Main Revamp Done? * CB websocket tidying up * Coinbase WS wrapperupperer * Coinbase revamp done?? * Linter progress * Continued lint cleanup * Further lint cleanup * Increased lint coverage * Does this fix all sloppy reassigns & shadowing? * Undoing retry policy change * Documentation regeneration * Coinbase code improvements * Providing warning about known issue * Updating an error to new format * Making gocritic happy * Review adherence * Endpoints moved to V3 & nil pointer fixes * Removing seemingly superfluous constant * Glorious improvements * Removing unused error * Partial public endpoint addition * Slight improvements * Wrapper improvements; still a few errors left in other packages * A lil Coinbase progress * Json cleaning * Lint appeasement * Config repair * Config fix (real) * Little fix * New public endpoint incorporation * Additional fixes * Improvements & Appeasements * LineSaver * Additional fixes * Another fix * Fixing picked nits * Quick fixies * Lil fixes * Subscriptions: Add List.Enabled * CoinbasePro: Add subscription templating * fixup! CoinbasePro: Add subscription templating * fixup! CoinbasePro: Add subscription templating * Comment fix * Subsequent fixes * Issues hopefully fixed * Lint fix * Glorious fixes * Json formatting * ShazNits * (L/N)i(n/)t * Adding a test * Tiny test improvement * Template patch testing * Fixes * Further shaznits * Lint nit * JWT move and other fixes * Small nits * Shaznit, singular * Post-merge fix * Post-merge fixes * Typo fix * Some glorious nits * Required changes * Stop going * Alias attempt * Alias fix & test cleanup * Test fix * GetDepositAddress logic improvement * Status update: Fixed * Lint fix * Happy birthday to PR 1480 * Cleanups * Necessary nit corrections * Fixing sillybug * As per request * Programming progress * Order fixes * Further fixies * Test fix * Pre-merge fixes * More shaznits * Context * Sonic error handling * Import fix * Better Sonic error handling * Perfect Sonic error handling? * F purge * Coinbase improvements * API Update Conformity * Coinbase continuation * Coinbase order improvements * Coinbase order improvements * CreateOrderConfig improvements * Managing API updates * Coinbase API update progression * jwt rename * Comment link fix * Coinbase v2 cleanup * Post-merge fixes * Review fixes * GK's suggestions * Linter fix * Minor gbjk fixes * Nit fixes * Merge fix * Lint fixes * Coinbase rename stage 1 * Coinbase rename stage 2 * Coinbase rename stage 3 * Coinbase rename stage 4 * Coinbase rename final fix * Coinbase: PoC on converting to request structs * Applying requested changes * Many review fixes, handled * Thrashed by nits * More minor modifications * The last nit!? --------- Co-authored-by: Gareth Kirwan <gbjkirwan@gmail.com>
This commit is contained in:
@@ -456,7 +456,7 @@ func TestLoadSnapshot(t *testing.T) {
|
||||
require.ErrorIs(t, err, orderbook.ErrPriceZero)
|
||||
|
||||
err = obl.LoadSnapshot(&orderbook.Book{Asks: orderbook.Levels{{Amount: 1}}})
|
||||
require.ErrorIs(t, err, orderbook.ErrExchangeNameEmpty)
|
||||
require.ErrorIs(t, err, common.ErrExchangeNameNotSet)
|
||||
|
||||
err = obl.LoadSnapshot(&orderbook.Book{Asks: orderbook.Levels{{Amount: 1}}, Exchange: "test", Pair: cp, Asset: asset.Spot})
|
||||
require.ErrorIs(t, err, orderbook.ErrLastUpdatedNotSet)
|
||||
|
||||
@@ -23,18 +23,18 @@ import (
|
||||
|
||||
// Public websocket errors
|
||||
var (
|
||||
ErrWebsocketNotEnabled = errors.New("websocket not enabled")
|
||||
ErrAlreadyDisabled = errors.New("websocket already disabled")
|
||||
ErrNotConnected = errors.New("websocket is not connected")
|
||||
ErrSignatureTimeout = errors.New("websocket timeout waiting for response with signature")
|
||||
ErrRequestRouteNotFound = errors.New("request route not found")
|
||||
ErrSignatureNotSet = errors.New("signature not set")
|
||||
ErrWebsocketNotEnabled = errors.New("websocket not enabled")
|
||||
ErrAlreadyDisabled = errors.New("websocket already disabled")
|
||||
ErrWebsocketAlreadyEnabled = errors.New("websocket already enabled")
|
||||
ErrNotConnected = errors.New("websocket is not connected")
|
||||
ErrSignatureTimeout = errors.New("websocket timeout waiting for response with signature")
|
||||
ErrRequestRouteNotFound = errors.New("request route not found")
|
||||
ErrSignatureNotSet = errors.New("signature not set")
|
||||
)
|
||||
|
||||
// Private websocket errors
|
||||
var (
|
||||
errWebsocketAlreadyInitialised = errors.New("websocket already initialised")
|
||||
errWebsocketAlreadyEnabled = errors.New("websocket already enabled")
|
||||
errDefaultURLIsEmpty = errors.New("default url is empty")
|
||||
errRunningURLIsEmpty = errors.New("running url cannot be empty")
|
||||
errInvalidWebsocketURL = errors.New("invalid websocket url")
|
||||
@@ -612,7 +612,7 @@ func (m *Manager) Disable() error {
|
||||
// Enable enables the exchange websocket protocol
|
||||
func (m *Manager) Enable() error {
|
||||
if m.IsConnected() || m.IsEnabled() {
|
||||
return fmt.Errorf("%s %w", m.exchangeName, errWebsocketAlreadyEnabled)
|
||||
return fmt.Errorf("%s %w", m.exchangeName, ErrWebsocketAlreadyEnabled)
|
||||
}
|
||||
|
||||
m.setEnabled(true)
|
||||
|
||||
@@ -1001,7 +1001,7 @@ func TestEnable(t *testing.T) {
|
||||
w.Unsubscriber = func(subscription.List) error { return nil }
|
||||
w.GenerateSubs = func() (subscription.List, error) { return nil, nil }
|
||||
require.NoError(t, w.Enable(), "Enable must not error")
|
||||
assert.ErrorIs(t, w.Enable(), errWebsocketAlreadyEnabled, "Enable should error correctly")
|
||||
assert.ErrorIs(t, w.Enable(), ErrWebsocketAlreadyEnabled, "Enable should error correctly")
|
||||
}
|
||||
|
||||
func TestSetupNewConnection(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user