fix(mexc): support protobuf-encoded responses #17
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
buf.proto-buildertooling from v0.14.0 to v0.17.1.Details
MEXC Provider Changes
Protobuf Integration
proto/v2/vendors/mexc/websocket-protoas a git submodule pointing to MEXC's official protobuf repo.providers/websockets/mexc/pb/for all MEXC push data messages (e.g.,PublicMiniTickerV3Api,PublicIncreaseDepthsV3Api, order/deal/kline messages).Message Handling
ws_data_handler.go:HandleMessagenow attempts protobuf deserialization first, falling back to JSON only for control messages (subscription acks, pongs).Build & Tooling
Makefile
proto-gen-vendorstarget to runscripts/protocgen-vendors.shfor vendor protobuf generation.deploy-devtarget (Levant/Nomad deployment).e2e-docker-buildto use local image names (slinky-sim-app,slinky-e2e-sidecar) instead of GHCR URIs to avoid registry dependency.docker-pushto usedocker buildx build --pushwith multi-arch support (linux/amd64,linux/arm64) instead of plaindocker push.Protobuf Tooling
protoImageNamefromghcr.io/cosmos/proto-builder:0.14.0to0.17.1.scripts/protocgen-vendors.shto lint and generate vendor protobuf definitions.Go Version & Dependencies
golang:1.25.4-trixie/golang:1.25.4-alpine3.22.ENV GOTOOLCHAIN=autoto base and sidecar Dockerfiles to allow automatic toolchain upgrades.CI/CD
.github/workflows/e2e.yml(end-to-end test workflow removed entirely).release.yml: added Docker login step for GHCR (docker/login-action@v3) before running GoReleaser to enable multi-arch image pushes.Testing
Unit Tests
providers/websockets/mexc/ws_data_handler_test.goupdated with new protobuf message factory (getPriceFactory) for generating test messages.Coverage
.github/workflows/e2e.yml; no obvious replacement added.