fix(strategy27): support Unicode futures symbols and matching candidate hashes - #284
Conversation
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
Live acceptance completed after merge.
The user was concurrently operating the same page, so no further refresh or interval restoration was performed after the live check. |
Problem and behavior
Strategy27 rejected valid Unicode USDT perpetual symbols in its ordinary/compound contracts, compound client, and shared Binance pathname parser. Chinese symbol text also produced a compound hash mismatch against Python. These gaps prevented display after the server-side canonical-symbol crash was fixed in CorsairQuant PR #332.
Accept exact uppercase Unicode letter/number bases, decode Binance pathname segments before route validation, and hash sorted compact JSON as UTF-8. Invalid wire symbols and malformed encoded paths remain rejected. A Python-generated Unicode candidate fixture validates and draws through both source and generated entrypoints. Existing ASCII candidate IDs remain unchanged.
The shared parser is bundled by five Binance scripts, so regenerate all five with matching metadata: Strategy27 0.5.1, Strategy29 0.4.1, orderbook 2.7.203, trading-data 1.1.14, and CoinMarketCap-data 0.1.16. The release includes main's unified-client changes from #283.
Validation
npm test— 920 passed.npm run test:ui— 67 Playwright scenarios passed.npm run build:binance-userscriptsandnpm run check:binance-userscriptspassed.git diff --checkpassed.