argus/test
Local Dev 9aa8b6b33f covenants: the subscription and the delivery escrow, on one shared base (draft)
The roadmap asks for the covenant capability to be built once and used three
times. covenant.js is the shared part: artifact to bytecode, redeem script and
lock, signing a covenant input, an unlocking script for any function, and
assembling a transaction around covenant inputs. The registry library now
sits on it, and so do the two new contracts.

Subscription: the buyer funds a balance. Anyone may send one period's price
to the host once per period, the rest going back to the same script; the
buyer may take the balance back at any time with only their signature. A
draw spends its input alone, because with two inputs one payment and one
return could satisfy both and the host would keep a balance.

Delivery escrow: a payment that can be collected only by the transaction
that mints the agreed certificate to the buyer and publishes the agreed
registration, or refunded by the buyer after a wait. It forbids any other
token in the transaction: resolvers accept an update from any token of a
name's category, so a deliverer who minted a second one alongside the
certificate could later rewrite the buyer's name. It also sits at a fixed
input, so two payments cannot be collected against one certificate.

Neither can see the registry: an escrow cannot know the name was taken
between payment and delivery. The contract says so.

Drafts, not reviewed. The tests run every path in the VM under the 2025 and
2026 rules and count that the VM itself refused the tampered ones.
2026-10-04 16:08:10 +02:00
..
blocklist.test.mjs blocklist: write side, operator tool, and the tests the roadmap asks for 2026-10-04 02:32:59 +02:00
bns-indexer.test.mjs Theseus navigator UI overhaul, BNS-only indexer, site restructure 2026-07-30 08:16:55 +02:00
chipnet-acceptance.mjs Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
chipnet-escrow-refund.mjs Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
chipnet-paybyqr.mjs Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
connect-shape.test.mjs Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
covenant-family.test.mjs covenants: the subscription and the delivery escrow, on one shared base (draft) 2026-10-04 16:08:10 +02:00
dns-server.test.mjs resolver: echo EDNS OPT record so strict clients stop failing 2026-08-02 01:19:09 +02:00
electrum-pool.test.mjs Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
manifest-hosts.test.mjs feat(gateway): a name's owner decides what its subdomains serve 2026-09-28 01:04:36 +02:00
orders.test.mjs Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
password-vault.test.mjs Snapshot in-progress work: Ariadne mobile, Theseus password manager, Hephaestus 2026-08-14 23:17:18 +02:00
plans.test.mjs Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
portfolio-index.test.mjs Theseus navigator UI overhaul, BNS-only indexer, site restructure 2026-07-30 08:16:55 +02:00
record-picker.test.mjs feat(bns): 'p' reverse-proxy record type — mirror an upstream URL under a BNS name 2026-09-07 00:18:07 +02:00
register-tx.test.mjs Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
registry-covenant.test.mjs registry covenant v1: the contract that holds a name and enforces its lifecycle (draft) 2026-10-04 15:42:36 +02:00
registry-lifecycle.test.mjs Theseus navigator UI overhaul, BNS-only indexer, site restructure 2026-07-30 08:16:55 +02:00
release.test.mjs registrar: build and send a release, and keep registration closed until it confirms 2026-10-04 01:55:14 +02:00
tld-enforcement.test.mjs BNS: per-TLD on-chain registry, multi-beacon indexer, enforcement gate 2026-08-29 17:11:02 +02:00
tld-index.test.mjs BNS: per-TLD on-chain registry, multi-beacon indexer, enforcement gate 2026-08-29 17:11:02 +02:00