argus/src/lib
Local Dev 9404c024b7 BNS: resolvers read covenant-held names
A name whose certificate sits in the registry covenant has an owner and an
expiry that are hashed into its address, not written on the chain. Until
now a resolver saw only "held by some script address", forever.

The transaction that moves the certificate now says the state (`c` in the
payload) and the resolver checks it against the address, using the
covenant's code from the network table. Nobody is trusted about who owns
such a name or until when.

Entering is the one step script cannot police - a certificate can be sent
to a covenant address with any expiry - so resolvers set the price: the
entering transaction pays the fund for whole years and may claim no more
than it paid for. Once a name is inside, only a verified state speaks for
it; otherwise an owner could announce their way back to a name that never
expires.

A name past its grace period stays taken but resolves to nothing, judged
at the chain tip (the indexer now answers what that is) or, failing that,
at the newest block in the beacon history, so a stale index lapses a name
late and never early.

Same rules in the gateway, the Ariadne resolver and the Android resolver;
the builders announce every move, and there is one to put an existing
name into the covenant. Chipnet's fund and steward are the operator key.
2026-10-04 18:08:00 +02:00
..
connect bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
blocklist-tx.js blocklist: write side, operator tool, and the tests the roadmap asks for 2026-10-04 02:32:59 +02:00
bns-index-core.js Theseus: read BNS names from Ariadne's indexer; its own is the standby 2026-10-03 17:06:24 +02:00
bns-pipe.js BNS indexer core, source chain and pipe protocol as shared modules 2026-10-03 16:01:26 +02:00
bns-source-chain.js Theseus: read BNS names from Ariadne's indexer; its own is the standby 2026-10-03 17:06:24 +02:00
bns.js BNS: resolvers read covenant-held names 2026-10-04 18:08:00 +02:00
ca.js Ariadne c5efae43: tlds.bch-driven install + BNS_POLICY, doc-aligned 2026-08-01 02:06:48 +02:00
chain.js bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
commit-box-artifact.js registry covenant v1: the contract that holds a name and enforces its lifecycle (draft) 2026-10-04 15:42:36 +02:00
covenant.js covenants: the subscription and the delivery escrow, on one shared base (draft) 2026-10-04 16:08:10 +02:00
delivery-escrow-artifact.js covenants: close the holes an adversarial review found 2026-10-04 16:53:56 +02:00
dns-patch.js Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
dns-server.js resolver: echo EDNS OPT record so strict clients stop failing 2026-08-02 01:19:09 +02:00
electrum.js bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
escrow-covenant.js covenants: close the holes an adversarial review found 2026-10-04 16:53:56 +02:00
gen-wallets.js bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
hermes-derive.js Hermes: wire NIP-17 messaging into Theseus, provision chipnet hermes.bch 2026-08-18 20:14:43 +02:00
issue-cert.js Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
manifest.js refactor(gateway): one definition of what makes a signed manifest valid 2026-09-28 01:01:27 +02:00
market-tx.js feat(market): names can be priced in US dollars — a covenant holds the certificate, a gateway-signed oracle sets the BCH amount 2026-09-20 19:20:46 +02:00
market-usd.js bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
name-index.js Theseus navigator UI overhaul, BNS-only indexer, site restructure 2026-07-30 08:16:55 +02:00
name-registry-artifact.js covenants: close the holes an adversarial review found 2026-10-04 16:53:56 +02:00
orders.js bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
password-vault.js feat(theseus/aegis): 0.6.1 — in-panel vault setup/unlock, BCH wallet imports, opt-in fiat prices, WizardConnect 2026-09-09 10:33:21 +02:00
plans.js Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
portfolio.js bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
record-picker.js feat(gateway): a name's owner decides what its subdomains serve 2026-09-28 01:04:36 +02:00
register-tx.js BNS: resolvers read covenant-held names 2026-10-04 18:08:00 +02:00
registrar.js registrar: build and send a release, and keep registration closed until it confirms 2026-10-04 01:55:14 +02:00
registry-covenant.js BNS: resolvers read covenant-held names 2026-10-04 18:08:00 +02:00
registry-lifecycle.js Theseus navigator UI overhaul, BNS-only indexer, site restructure 2026-07-30 08:16:55 +02:00
resolve-web.js Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
resolver-web.d.ts BNS: resolvers read covenant-held names 2026-10-04 18:08:00 +02:00
resolver-web.js BNS: resolvers read covenant-held names 2026-10-04 18:08:00 +02:00
sia-upload.js Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
sign-message.js bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
sign-tx.js Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
snapshot-name.js BNS: Sia+Nostr snapshot mirror, Theseus warm-start, VPS playbook, electrum.bch 2026-08-30 09:59:01 +02:00
subscription-artifact.js covenants: close the holes an adversarial review found 2026-10-04 16:53:56 +02:00
subscription-covenant.js covenants: close the holes an adversarial review found 2026-10-04 16:53:56 +02:00
tld-index.js BNS: a transaction with more than one protocol message carries none 2026-10-04 16:53:58 +02:00
tlds.js Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
usd-listing-artifact.js feat(market): names can be priced in US dollars — a covenant holds the certificate, a gateway-signed oracle sets the BCH amount 2026-09-20 19:20:46 +02:00
wallet-web.js bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
wallet.js bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00