10 Commits
Author SHA1 Message Date
zeekay 8d4749c4fb the docs layout imports the face it uses
docs/app/layout.tsx referenced ZenMono without importing it and without @hanzo/font in its dependencies at all, so the docs site could not compile: tsc reports "Cannot find name 'ZenMono'" on the bare tree. Both faces are imported from the package now, and the package is declared. The README hero card still asked for Inter.
2026-08-28 11:28:44 -07:00
zeekay ff0f0c2bc7 fix(type): the binding is named for the face it holds
The docs layout named three different faces in one place: a binding called
`inter` or `geist`, constructed from next/font/google so it actually held Inter,
publishing `--font-geist-sans`, which @hanzo/font does not set. Whichever a
reader trusted, two were wrong.

It takes Zen and ZenMono from @hanzo/font — named `sans` and `mono` for the role
they fill, setting the properties the package publishes.
2026-08-28 09:26:46 -07:00
zeekayandHanzo Dev 98338a6c5e fix(docs): finish the half-done migration — dex docs could not install or build
The docs job died at INSTALL, before any of the rest was visible:

    postinstall: hanzo-mdx
    Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@hanzo/docs-core'

This package was mid-migration to the @hanzo toolchain and several pieces were
simply never finished. Each one only became visible once the one before it was
fixed, so they are listed in the order they surfaced:

1. @hanzo/docs-core undeclared — @hanzo/mdx imports it, so postinstall crashed.
2. `hanzo-mdx` with NO ARGUMENTS reports "generated files" and writes nothing.
   It needs `source.config.ts .source`, the form luxfi/consensus uses. Both the
   build and postinstall scripts were bare.
3. zod ^3 — @hanzo/mdx 14.2.x calls `z.looseObject`, which is zod 4:
   `TypeError: z.looseObject is not a function`. Nothing in docs/ imports zod
   directly (0 files), so it exists only for this toolchain; moved to ^4.2.1,
   matching mpc which runs the same generator.
4. `import { docs } from "@/.source"` is a DIRECTORY import and the generator
   emits no index — it writes browser/dynamic/server.ts. Now "@/.source/server".
5. @hanzo/docs undeclared — next.config.mjs imports @hanzo/docs/mdx/next.
6. app/global.css imported `fumadocs-ui/style.css`, an upstream package that is
   not a dependency here. Now @hanzo/docs-ui/style.css, as consensus has it.
7. RootProvider, DocsLayout, DocsPage and defaultMdxComponents were imported
   from `@hanzo/ui`, which exports NONE of them — checked at runtime, all five
   names including `loader` come back undefined. That is the
   "Element type is invalid … got: undefined" build failure. They live in
   @hanzo/docs-ui, where consensus already gets them.
8. docs.toFumadocsSource() does not exist on the @hanzo runtime; loader now
   comes from @hanzo/docs/core/source with toSource().
9. react-day-picker, react-resizable-panels and flexsearch were undeclared
   peers. PINNED to what @hanzo/ui asks for (^9, ^2) — installing latest gives
   react-resizable-panels 4, where `PanelGroup` no longer exists.

Verified as a fresh checkout would run it, with node_modules and .source deleted:

    pnpm install --frozen-lockfile   OK   (was ERR_MODULE_NOT_FOUND)
    .source after install            generated by postinstall
    pnpm build                       OK

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-02 06:46:33 -07:00
zeekay 3e7a500dee feat(docs): use flat imports from @hanzo/ui
Simplify imports: import { DocsLayout, RootProvider } from '@hanzo/ui'
instead of @hanzo/ui/docs/layouts/docs subpaths
2025-12-17 14:52:09 -08:00
zeekay e647e428ab chore(docs): migrate from fumadocs to @hanzo/mdx and @hanzo/ui
- Replace fumadocs-ui with @hanzo/ui/docs/*
- Replace fumadocs-mdx with @hanzo/mdx
- Update import paths and CLI commands
2025-12-17 14:31:51 -08:00
zeekay 3d42bc3de2 chore(docs): use unified @hanzo/docs package
Consolidate to single @hanzo/docs package with subpath exports:
- @hanzo/docs/core/* for core functionality
- @hanzo/docs/ui/* for UI components
- @hanzo/docs/mdx/* for MDX processing

Uses hanzo-docs CLI instead of fumadocs-mdx for build commands.
2025-12-17 14:22:35 -08:00
zeekay 640bfbc2b6 chore(docs): migrate from fumadocs to @hanzo/docs packages
Use Hanzo's own documentation framework fork for better integration
with existing @hanzo/ui components and consistent theming.

- Replace fumadocs-core with @hanzo/docs-core
- Replace fumadocs-ui with @hanzo/docs-ui
- Replace fumadocs-mdx with @hanzo/docs-mdx
2025-12-17 14:17:30 -08:00
zeekay fae0efeb1b chore: normalize naming to LX across codebase
Apply consistent naming conventions throughout:
- Standardize product name to "LX" in documentation
- Update README files and API documentation
- Apply linter fixes to all source files
- Update Hummingbot connector documentation
2025-12-11 21:04:37 -08:00
zeekay a859585613 docs: add LP specification references and implementation status
- Add LP specification links to all documentation pages
- Add implementation status tables with GitHub source links
- Add links to LP discussions on luxfi/LPs
- Update architecture diagram with B-Chain sidecar model
- Add redirect from / to /docs
- Update API, SDK, orderbook, consensus, bridge, lending docs
- Link to LP-9000 DEX series, LP-6000 Bridge series, LP-8401 Lending
2025-12-11 17:31:38 -08:00
zeekay c64a1457a8 refactor: Simplify orderbook to pure Go default with optional CGO
Clean architecture following Go principles:
- factory.go: Pure Go implementation (default, no CGO)
- factory_cgo.go: C++ optimized version when CGO=1
- orderbook.go: Standalone Go orderbook implementation
- cpp_orderbook.go: C++ bindings for high performance

Also includes:
- Vault execution integration with orderbook
- dex-api-server command for REST/WebSocket API
- E2E test scripts for API validation
- Documentation site scaffolding
2025-12-11 11:47:43 -08:00