exchange/order/limits: Migrate to new package and integrate with exchanges (#1860)

* move limits, transition to key gen

* rollout NewExchangePairAssetKey everywhere

* test improvements

* self-review fixes

* ok, lets go

* fix merge issue

* slower value func,assertify,drop IsValidPairString

* remove binance reference for backtesting test

* Redundant nil checks removed due to redundancy

* Update order_test.go

* Move limits back into /exchanges/

* puts limits in a different box again

* SHAZBERT SPECIAL SUGGESTIONS

* Update gateio_wrapper.go

* fixes all build issues

* Many niteroos!

* something has gone awry

* bugfix

* gk's everywhere nits

* lint

* extra lint

* re-remove IsValidPairString

* lint fix

* standardise test

* revert some bads

* dupe rm

* another revert 360 mcgee

* un-in-revertify

* Update exchange/order/limits/levels_test.go

Co-authored-by: Adrian Gallagher <adrian.gallagher@thrasher.io>

* fix

* Update exchanges/binance/binance_test.go

HERE'S HOPING GITHUB FORMATS THIS CORRECTLY!

Co-authored-by: Gareth Kirwan <gbjkirwan@gmail.com>

* update text

* rn func, same line err gk4202000

---------

Co-authored-by: Adrian Gallagher <adrian.gallagher@thrasher.io>
Co-authored-by: Gareth Kirwan <gbjkirwan@gmail.com>
This commit is contained in:
Scott
2025-08-26 12:30:21 +10:00
committed by GitHub
parent fc0f262c42
commit 85403fe801
103 changed files with 1751 additions and 2168 deletions

View File

@@ -15,7 +15,7 @@ import (
// NewHandlerHolder returns a new HandlerHolder
func NewHandlerHolder() *HandlerHolder {
return &HandlerHolder{
data: make(map[key.ExchangePairAsset]Handler),
data: make(map[key.ExchangeAssetPair]Handler),
}
}
@@ -27,15 +27,10 @@ func (h *HandlerHolder) SetDataForCurrency(e string, a asset.Item, p currency.Pa
h.m.Lock()
defer h.m.Unlock()
if h.data == nil {
h.data = make(map[key.ExchangePairAsset]Handler)
h.data = make(map[key.ExchangeAssetPair]Handler)
}
e = strings.ToLower(e)
h.data[key.ExchangePairAsset{
Exchange: e,
Base: p.Base.Item,
Quote: p.Quote.Item,
Asset: a,
}] = k
h.data[key.NewExchangeAssetPair(e, a, p)] = k
return nil
}
@@ -66,12 +61,7 @@ func (h *HandlerHolder) GetDataForCurrency(ev common.Event) (Handler, error) {
exch := ev.GetExchange()
a := ev.GetAssetType()
p := ev.Pair()
handler, ok := h.data[key.ExchangePairAsset{
Exchange: exch,
Base: p.Base.Item,
Quote: p.Quote.Item,
Asset: a,
}]
handler, ok := h.data[key.NewExchangeAssetPair(exch, a, p)]
if !ok {
return nil, fmt.Errorf("%s %s %s %w", exch, a, p, ErrHandlerNotFound)
}
@@ -85,7 +75,7 @@ func (h *HandlerHolder) Reset() error {
}
h.m.Lock()
defer h.m.Unlock()
h.data = make(map[key.ExchangePairAsset]Handler)
h.data = make(map[key.ExchangeAssetPair]Handler)
return nil
}