Zenix
Zenix
if you really want to use DeDiS/protobuf, maybe write a func EncodeValue(value reflect.Value) to wrap from L51~L57 https://github.com/dedis/protobuf/blob/master/encode.go#L51 and write another func (dec *Decoder) DecodeValue(v reflect.Value) to wrap L64 https://github.com/dedis/protobuf/blob/master/decode.go#L64
https://github.com/zenixls2/alacritty/commit/3ed043046fc74f288d4c8fa7e4463dc201213500 this patch is fairly old, but may give you some ideas about the performance optimization. ignore the part of `performance.md`. That part was estimated before all the optimization happens...
for stable coin pairs, should have no big influence.
there's OnMarketTradeEvent implemented for Binance and FTX.
https://mxcdevelop.github.io/apidocs/spot_v3_en/#introduction
https://github.com/mxcdevelop/APIDoc/blob/master/websocket/spot/websocket-api.md
https://github.com/mxcdevelop/APIDoc/blob/master/contract/contract-api.md
https://mxcdevelop.github.io/apidocs/contract_v1_en/#update-log
https://quickfixengine.org/go/
FYI The documentation's abstraction and expected behavior parts will finally be exported to bbgo's website.