Repository navigation
refactor(decoders): port serum layout to kit codecs and drop @project-serum/serum - #1393
Merged
Merged
Conversation
Replace @project-serum/serum's decodeInstruction with a kit-codec port of its INSTRUCTION_LAYOUT and drop the serum, bn.js and @types/bn.js deps. Test fixtures are the library's encoded bytes frozen as hex. Refs HOO-1309
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
📦 Bundle change vs
|
| Route | Size | First Load JS |
|---|---|---|
/address/[address] |
470 kB → 450 kB | 890 kB → 910 kB |
/block/[slot] |
170 kB | 590 kB → 610 kB |
/block/[slot]/rewards |
160 kB | 580 kB → 600 kB |
/tx/[signature] |
470 kB | 900 kB → 920 kB |
/tx/[signature]/inspect |
450 kB | 890 kB → 910 kB |
/tx/inspector |
450 kB | 890 kB → 910 kB |
Full route table (fresh build)
Gzipped first-load sizes from
.next/diagnostics/route-bundle-stats.json, rounded to reduce noise; a cell keeps its previous value while fresh bytes round within one step of it.Sizeis First Load JS minus the chunks shared by all routes; routes with no client JS show—.
| Type | Route | Size | First Load JS |
|---|---|---|---|
| Static | / |
140 kB | 570 kB |
| Static | /_not-found |
0 B | 450 kB |
| Dynamic | /address/[address] |
450 kB | 910 kB |
| Dynamic | /address/[address]/account-data |
460 kB | 900 kB |
| Dynamic | /address/[address]/anchor-account |
420 kB | 870 kB |
| Dynamic | /address/[address]/attestation |
420 kB | 870 kB |
| Dynamic | /address/[address]/attributes |
420 kB | 870 kB |
| Dynamic | /address/[address]/blockhashes |
420 kB | 870 kB |
| Dynamic | /address/[address]/compression |
420 kB | 870 kB |
| Dynamic | /address/[address]/concurrent-merkle-tree |
420 kB | 870 kB |
| Dynamic | /address/[address]/domains |
420 kB | 870 kB |
| Dynamic | /address/[address]/entries |
420 kB | 870 kB |
| Dynamic | /address/[address]/feature-gate |
420 kB | 870 kB |
| Dynamic | /address/[address]/idl |
530 kB | 970 kB |
| Dynamic | /address/[address]/instructions |
430 kB | 880 kB |
| Dynamic | /address/[address]/metadata |
420 kB | 870 kB |
| Dynamic | /address/[address]/nftoken-collection-nfts |
420 kB | 870 kB |
| Dynamic | /address/[address]/program-multisig |
420 kB | 870 kB |
| Dynamic | /address/[address]/rewards |
420 kB | 870 kB |
| Dynamic | /address/[address]/security |
420 kB | 860 kB |
| Dynamic | /address/[address]/slot-hashes |
420 kB | 870 kB |
| Dynamic | /address/[address]/stake-history |
420 kB | 870 kB |
| Dynamic | /address/[address]/subscriptions |
420 kB | 870 kB |
| Dynamic | /address/[address]/token-extensions |
420 kB | 860 kB |
| Dynamic | /address/[address]/tokens |
430 kB | 870 kB |
| Dynamic | /address/[address]/transfers |
430 kB | 880 kB |
| Dynamic | /address/[address]/verified-build |
420 kB | 860 kB |
| Dynamic | /address/[address]/vote-history |
420 kB | 870 kB |
| Dynamic | /api/ans-domains/[address] |
— | — |
| Dynamic | /api/domain-info/[domain] |
— | — |
| Dynamic | /api/geo-location |
— | — |
| Dynamic | /api/idl-latest |
— | — |
| Dynamic | /api/log-drain |
— | — |
| Dynamic | /api/metadata/proxy |
— | — |
| Dynamic | /api/ping/[network] |
— | — |
| Dynamic | /api/search |
— | — |
| Dynamic | /api/security-txt |
— | — |
| Dynamic | /api/slot-time |
— | — |
| Dynamic | /api/sns-domains/[address] |
— | — |
| Dynamic | /api/stake-rewards/[address] |
— | — |
| Dynamic | /api/supply |
— | — |
| Dynamic | /api/token-image/[mintAddress] |
— | — |
| Dynamic | /api/token-info |
— | — |
| Dynamic | /api/token-market-data/[address] |
— | — |
| Dynamic | /api/token-price/[mintAddress] |
— | — |
| Dynamic | /api/verification/coingecko/[address] |
— | — |
| Dynamic | /api/verification/jupiter/[mintAddress] |
— | — |
| Dynamic | /api/verification/rugcheck/[mintAddress] |
— | — |
| Dynamic | /block/[slot] |
170 kB | 610 kB |
| Dynamic | /block/[slot]/accounts |
150 kB | 590 kB |
| Dynamic | /block/[slot]/programs |
140 kB | 590 kB |
| Dynamic | /block/[slot]/rewards |
160 kB | 600 kB |
| Dynamic | /epoch/[epoch] |
20 kB | 460 kB |
| Static | /feature-gates |
50 kB | 490 kB |
| Dynamic | /mcp |
— | — |
| Static | /mcp/start |
30 kB | 470 kB |
| Dynamic | /og/feature-gate/[address] |
— | — |
| Dynamic | /og/receipt/[signature] |
— | — |
| Dynamic | /og/tx/[signature] |
— | — |
| Static | /opengraph-image.png |
— | — |
| Dynamic | /robots.txt |
— | — |
| Static | /tos |
10 kB | 460 kB |
| Dynamic | /tx/[signature] |
470 kB | 920 kB |
| Dynamic | /tx/[signature]/inspect |
450 kB | 910 kB |
| Static | /tx/inspector |
450 kB | 910 kB |
Contributor
|
askov
approved these changes
Oct 13, 2026
Woody4618
approved these changes
Oct 13, 2026
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
@project-serum/serum,bn.js, and@types/bn.jsfrom the packageThe Mango commit replaces a hand-rolled
DataViewread of the u32 discriminator withgetU32Decoder(). Mango's legacy client was removed in #1087, so this is the only remaining part of that ticket.Type of change
Closes HOO-1309 HOO-1310