Files
orgchain/PROVENANCE.md
T
teahubxyzandClaude Opus 5.5 69a97544da Orgchain v1.7: items, standing offers and the first deal; a Mainnet setting
The chain takes ordinary spends of up to eight inputs and outputs, whose
key-path signatures may carry SIGHASH_SINGLE|ANYONECANPAY (0x83); reveals
keep their two-in, two-out shape. A new make op records an item, an
inscription its maker holds. Any node can offer test BTC for an item another
node holds, in any holding: the buyer's SegWit key signs the whole deal, the
offer stands in the lab, and the holder accepts by countersigning the item's
input, so the item and the payment swap in one transaction. Offers go stale
when a promised coin moves or a side re-keys or closes, and payments spend
unpromised coins first. Sends take up to eight coins. Mainnet is a third
mining setting: no holding mines, beats pay the lab wallet, and holdings are
funded from it. The sample ends on lineage's open offer for sol's launch-kit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-15 00:32:29 -07:00

5.9 KiB

Provenance

Reviewed 2026-10-04 against the exact upstream revisions below. Upstream repositories were inspected outside this worktree; only the small adaptations identified here were imported. Original adapter/UI code is distinct from the upstream projects and is not endorsed by their authors.

Upstream Revision License Use in v0
supertestnet/testnet_generator 498be4cc775ef18e7ff17357d007918518f47b98 CC0-1.0 getVin/getVout object helpers from index.html adapted into src/upstream/primitives.js; converted to ES exports, explicit scripts, explicit final sequence. Inspiration for browser-owned UTXO chain, immediate 50-coin reward, button mining and integrated explorer. The upstream consensus/Script engine and relay system are not imported.
supertestnet/inscriptions-online 470b8bdf29ead319cff9dc119a005cbf58ee598c CC0-1.0 index.html ord envelope array adapted in src/adapters/inscription.js. Modern tapscript API, locally extended with MIME/byte payloads, explicit data-push encoding, 16 KiB cap, tag-3 parent serialization, parent-preserving child reveals and repeated tag-5 CBOR metadata fields. Single commit/reveal, same-wallet destination, no external broadcast or fee services. These extensions and the safe preview UI are original local adapter code.
supertestnet/vanilla-js-browser-wallet 19ae5097f4645bf5b1103a39abc04155a8b072fc CC0-1.0 Conceptual inspiration for minimal vanilla-JS wallet and local signing. No copied implementation.
supertestnet/node_faker 2fae6056a7e93322a00a4150468934542ddc937d CC0-1.0 Evaluated, not imported: its bitcoind-like API obtains data through Electrum connections. That introduces an unnecessary external backend for the self-contained v0. LocalRPC is a new, intentionally partial in-process read facade, not a claim of node_faker compatibility.

The upstream CC0 legal text is retained unchanged at public/licenses/supertestnet-CC0.txt. Source comments identify the exact adapted code and revisions.

Runtime dependencies are pinned in package.json and package-lock.json:

  • @cmdcode/tapscript 1.5.3, Christopher Scott, upstream, CC-BY-1.0. Used for transaction encoding, signing/verification, Taproot commitments and addresses, and the BIP-143 digests and signatures of SegWit payments. Installed package license retained unchanged at public/licenses/tapscript.txt. Library source is unmodified; Vite bundles/minifies it for the browser.
  • @noble/curves 1.9.7, Paul Miller and contributors, upstream, MIT. Used for key generation/validation and public keys, and to verify the low-S DER signatures of SegWit payments: secp256k1 for chain and nostr keys, Ed25519 and X25519 for lineage's leaves. License retained at public/licenses/noble-curves.txt.
  • @noble/hashes 1.8.0, Paul Miller and contributors, upstream, MIT. Used for synthetic block hashes, BIP-85's HMAC, the leaves' HKDF-SHA256 and the RIPEMD-160 of P2WPKH key hashes. License retained at public/licenses/noble-hashes.txt.
  • @scure/base 1.2.6, Paul Miller, upstream, MIT. Used for bech32 npubs and base64 leaf keys. License retained at public/licenses/scure-base.txt.
  • @scure/bip32 1.7.0, Patricio Palladino and Paul Miller, upstream, MIT. Used for HD derivation under the BIP-85, BIP-86, BIP-84 and NIP-06 paths. License retained at public/licenses/scure-bip32.txt.
  • @scure/bip39 1.6.0, Patricio Palladino and Paul Miller, upstream, MIT. Used for the 24-word lab roots and their seeds. License retained at public/licenses/scure-bip39.txt.

Three local changes to the engine, all original code in src/adapters/chain.js, tested in tests/money.test.js, with Super Testnet's tests (tests/adapters.test.js) passing unchanged. Orgchain v1.5: the chain also accepts native SegWit (P2WPKH) outputs and SIGHASH_ALL P2WPKH spends, verified per BIP-143, so lineage accounts can hold and send test BTC at their BIP-84 addresses; everything about inscriptions stays Taproot-only. Orgchain v1.6: a coinbase may split the block reward across up to 64 outputs (mineTo; mine still pays one script), so one beat can pay several holdings. Orgchain v1.7: ordinary (non-reveal) spends may take up to eight inputs and outputs (MAX_IO), and their key-path Taproot signatures may carry SIGHASH_SINGLE|ANYONECANPAY (0x83, the sell-order flag), so one transaction can carry a deal: an item, the buyer's coins, the price and change. Reveals keep their two-in, two-out shape and default signatures.

Vite and Playwright are build/test dependencies, not runtime network services. Their installed package notices remain in the locked dependency installation. No unlicensed upstream code was copied.

The bounded JSON/CBOR codec, byte-derived MetadataIndex, trusted event-counter reducer, local API facade and persisted auto-miner schedule are original adapter code. Metadata encoding and endpoint naming were checked against the Ordinals metadata and endpoint references; no ord source code was copied.