2026-10-14 16:06:04 -07:00
|
|
|
# Orgchain (branch `orgchain`)
|
|
|
|
|
|
|
|
|
|
Super Testnet restyled for lineage, served at https://lineage.yolopreneur.lol/orgchain/.
|
|
|
|
|
|
2026-10-14 17:47:56 -07:00
|
|
|
- Same lab and chain as `main`, plus the tree (below). The rest of the difference is a skin and copy: `src/lineage.css` (loads after `style.css` and
|
2026-10-14 16:06:04 -07:00
|
|
|
points its tokens at lineage's), a rehearsal guide and lineage branding in `index.html`, the lineage favicon,
|
|
|
|
|
relative paths (`vite.config.js` `base: './'`, the recursive preview, license links), the theme following the system
|
|
|
|
|
setting under its own storage key, and Inscriboor downloads linking to supertestnet.lol (the extension only connects
|
|
|
|
|
there, so the local test wallet is the path here).
|
|
|
|
|
- Build: `npm ci && npm run build`, then copy `dist/` to `ventures/lineage/orgchain/` on `teahubxyz/time` `gh-pages`.
|
|
|
|
|
Headers (CSP and the rest, matching supertestnet.lol's) come from `ventures/lineage/_headers`, scoped to
|
|
|
|
|
`/orgchain/*`.
|
|
|
|
|
- Keep in step with `main`: rebase this branch onto `main`, rebuild, recopy.
|
2026-10-14 17:47:56 -07:00
|
|
|
|
|
|
|
|
## The tree (lineage lab keys)
|
|
|
|
|
|
|
|
|
|
- `src/adapters/lineage-keys.js`: a 24-word lab root; each org's seed is BIP-85 from its parent
|
|
|
|
|
(`m/83696968'/39'/0'/24'/<index>'`); each node's wallet is BIP-86 `m/86'/1'/<account>'/0/0`; its npub is NIP-06
|
|
|
|
|
`m/44'/1237'/<account>'/0/0`. Orgs use account 0; seats are accounts 1..n of their org's seed. Tested against the
|
|
|
|
|
BIP-85, BIP-86 and NIP-06 spec vectors (`tests/lineage.test.js`).
|
|
|
|
|
- Lab simplification: like every wallet in this lab, the derived key is used directly as the Taproot output key
|
|
|
|
|
(no BIP-86 tweak), so addresses differ from a real BIP-86 wallet's.
|
|
|
|
|
- `src/adapters/keyring.js`: the drawing in teahub `docs/lineage.md` as nodes. Indices are never reused. Graduation
|
|
|
|
|
retires a leaf org on a derived edge and adds an adopted node with a fresh root.
|
|
|
|
|
- `src/adapters/handoff.js`: the bound handoff (OpenOrdex's buy-order direction). The recipient builds a 2-in/2-out
|
|
|
|
|
transaction and signs its fee input; the holder countersigns the inscription input. Both are default signatures, so
|
|
|
|
|
`chain.js` is unchanged. Not yet: closing (burns), paid handoffs (a third output), open sell orders
|
|
|
|
|
(`SIGHASH_SINGLE|ANYONECANPAY` would need the chain to accept 65-byte signatures).
|
|
|
|
|
- `src/tree.js` is the panel. The keyring and open claims are saved with the lab (same storage key, optional fields).
|
|
|
|
|
- Tests: `npm test` (unit) and `npx playwright test` (`tests/tree.spec.js` rehearses a full graduation;
|
|
|
|
|
`tests/flow.spec.js` follows this branch's copy and theme).
|
|
|
|
|
|