Orgchain v1.14.1: a belt counts only on its seat's own sat
Placement is now a rule of lineage/v0, not just how Orgchain inscribes:
an award counts only if it is inscribed on its recipient's own sat, so any
indexer can check that a belt is soulbound. The reducer compares sats
(satOf): the lab's sat numbers, ord's, or, without ord's sat index, its
satpoints, which two inscriptions share exactly when they share a sat. ord
events now carry the sat number when ord has one. Belts inscribed anywhere
else, as before v1.14, are rejected.
A promotion is another reinscription on the same sat, over the belt before
it: each badge keeps its skill's earlier belts, and Inspect shows the
ladder ("re-inscribed over white (beat 5)"). The sample's sol now goes
white, then green. An award and its recipient's own close no longer
conflict within a block, since both spend the recipient's inscription.
Rehearsed again on Bitcoin Core regtest from height 178: sixteen beats and
133 transactions; ord shows sol's sat carrying sol, its white belt and its
green belt, in order, each belt charmed reinscription and vindicated, and
the compare matches. The fixture is re-recorded.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
This commit is contained in:
1 parent
c8c18b073e
commit
5a7f11e49d
17 files changed
+122
-67
No files matched your search
@@ -28,11 +28,12 @@ Orgchain is lineage's app for creating and operating lineage holdings on Super T
|
||||
inputs) and splits back by the deal's layout once adopted (`unbundle`): one output per inscribed sat, never two
|
||||
sats' inscriptions left sharing a coin, or selling one would sell the other. Its buyer's keys sign the adoption and
|
||||
the split: never sign for the buyer at the seller's act.
|
||||
- Belts are soulbound (`src/orgchain/belts.js`): the reducer binds a belt to the node it names, and the lab inscribes
|
||||
it on that node's own sat (a reinscription) in one three-input reveal that the recipient's key co-signs, so it goes
|
||||
wherever its node goes. Count and split coins by inscribed sat, never by inscription, since a node shares its sat
|
||||
with its belts, and never make a belt a lot. The compare checks ord's satpoints and charms (`charmsOf` models the
|
||||
ones lineage's inscriptions earn); keep that model in step with ord.
|
||||
- Belts are soulbound (`src/orgchain/belts.js`): a belt counts only when it is inscribed on its recipient's own sat
|
||||
(the reducer compares sats with `satOf`: the lab's sat numbers, ord's, or else ord's satpoints), and the lab puts it
|
||||
there in one three-input reveal that the recipient's key co-signs, so it goes wherever its node goes; a promotion is
|
||||
another reinscription on that sat. Count and split coins by inscribed sat, never by inscription, since a node shares
|
||||
its sat with its belts, and never make a belt a lot. The compare checks ord's satpoints and charms (`charmsOf` models
|
||||
the ones lineage's inscriptions earn); keep that model in step with ord.
|
||||
- Moves (`join`, `adopt`): neither half's effect may depend on their order within a block, since a miner may put them
|
||||
either way; the move records both halves. An old parent keeps a moved child in `children` so its index is never
|
||||
reused: walk children with `kidsOf`. A holding that moves becomes an org: its old root stays in `keys.roots` so old
|
||||
|
||||
Reference in new issue
Block a user