argus/src
Local Dev 34e336258b bns: the blocklist consumer, shipped with an empty list
A resolver that learns about blocklists only after the first scam needs a
release before it can warn anyone. The consumer ships now, pointed at a list
with no entries, so the first real report costs a transaction instead.

A list is an address, named by a BNS name whose bl record holds it. Entries
are RPT (the report), BLK and UBK. A flag counts only when it names a valid
report in the same list for the same name and reason, and only when its
transaction is spent FROM the list address: anyone can pay an address, so
being in its history proves nothing. That spend rule is what lets the
authority change hands later without the resolver learning the difference.

resolveName attaches blocked, blockReason, blockReportTxid and blockedBy to a
flagged name and leaves every other answer untouched. With no subscription it
is the old resolver exactly. A list that cannot be read never stops a name
from resolving. Lists are read from full electrum servers: the project's
beacon-only indexers answer 'no history' for any other address, which would
look like an empty list.

The default list is sirius-blocklist.x, a two-part name because a three-part
one collapses to its parent. Address conversion is dependency-free so this
file stays a single-file drop-in.
2026-10-04 02:32:58 +02:00
..
daemon resolver: echo EDNS OPT record so strict clients stop failing 2026-08-02 01:19:09 +02:00
gateway sirius-x: release a name from the dashboard; the gateway reports a released name 2026-10-04 01:55:17 +02:00
indexer bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
lib bns: the blocklist consumer, shipped with an empty list 2026-10-04 02:32:58 +02:00
web registrar: build and send a release, and keep registration closed until it confirms 2026-10-04 01:55:14 +02:00
cdn-name-index.mjs Ariadne for Android 0.20: every live TLD claimed; CDN name snapshot refreshed by the gateway 2026-09-28 02:01:55 +02:00
cdn-name-snapshot.mjs BNS: publish the raw name snapshot publicly, in two copies 2026-10-03 13:08:27 +02:00
config.js bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
generate-mobile-index.mjs Ariadne mobile 0.10: bundle BNS starter index in APK 2026-08-30 22:15:10 +02:00
generate-network-constants.mjs bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
publish-name-mirror.mjs bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
publish-tld-mirror.mjs bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
register-electrum-list.mjs BNS: Sia+Nostr snapshot mirror, Theseus warm-start, VPS playbook, electrum.bch 2026-08-30 09:59:01 +02:00
register-hermes-chipnet.mjs Hermes: wire NIP-17 messaging into Theseus, provision chipnet hermes.bch 2026-08-18 20:14:43 +02:00
register.js Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
registrar-config.js bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
resolve.js Theseus navigator UI overhaul, BNS-only indexer, site restructure 2026-07-30 08:16:55 +02:00
revert-silentmode-bch.mjs BNS: Sia+Nostr snapshot mirror, Theseus warm-start, VPS playbook, electrum.bch 2026-08-30 09:59:01 +02:00
seed-tld-beacon.mjs feat(argus): seed .cash TLD on the chipnet TLD beacon 2026-09-09 04:52:01 +02:00
snapshot-name-to-file.mjs bns: one network table instead of chipnet constants copied into fifteen places 2026-09-27 21:18:37 +02:00
update.js Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00
wallet-app.js Initial commit — Silent Mode baseline (2026-07-29) 2026-07-29 13:54:34 +02:00