← attestto.com  ·  Specification  ·  All Specs

Implementation Report

did:sns DID Method — Attestto Resolver

186 tests passed · 0 failed · 7 services + conformance suite
FieldValue
DID Methoddid:sns
ImplementerAttestto
LanguageTypeScript (Node.js / AdonisJS)
Data RegistrySolana (SPL Name Service + SAS)
Report Date2026-03-11
Implementation Count1 (Universal Resolver driver planned as 2nd)

Supporting Services

ServiceRoleTests
DidSnsResolverCore DID resolution34
DidSnsMetadataServiceOn-chain metadata serialization (v1+v2)41
SasAttestationServiceSAS attestation CRUD on Solana17
VleiBridgeServicevLEI → SAS bridge36
UnifiedDidResolverMulti-method resolver (did:sns + did:web + did:key)10
Universal Resolver DriverDocker driver for DIF Universal Resolver13
W3C Conformance SuiteDID Resolution spec conformance (7 sections)35

DidSnsResolver — 34 Tests

DID Parsing (10 tests)

#TestResult
1Parses standard did:sns:alice.attestto.solPASS
2Parses without .sol suffixPASS
3Parses with network qualifier (did:sns:devnet:...)PASS
4Parses top-level domainPASS
5Parses tenant root domainPASS
6Parses tenant client subdomainPASS
7Parses flat-namespaced tenant clientPASS
8Rejects invalid prefixPASS
9Rejects empty namePASS
10Rejects invalid charactersPASS

DID Resolution (5 tests)

#TestW3C ReqResult
11Valid DID Document structureDID Core §7.1PASS
12Ed25519 verification methodDID Core §5.2PASS
13Authentication + assertion referencesDID Core §5.3PASS
14Service endpoints (vault, VP, DIDComm)DID Core §5.4PASS
15Document metadata (created, versionId)DID Res §4.1PASS

Controller Hierarchy (5 tests)

#TestResult
16Subdomain controller → parentPASS
17Tenant client controller → tenant rootPASS
18Flat-namespaced → platform rootPASS
19Tenant root is self-sovereignPASS
20Top-level domain is self-sovereignPASS

Error Handling (3 tests)

#TestW3C ErrorResult
21INVALID_DID for malformed inputinvalidDidPASS
22INVALID_DID for wrong methodinvalidDidPASS
233-level hierarchy → NOT_FOUNDnotFoundPASS

Network Qualifier (2 tests)

#TestResult
24Devnet qualifier preserved in DIDPASS
25Devnet subdomain controller includes networkPASS

LEI / vLEI Enrichment (4 tests)

#TestResult
26LEI adds alsoKnownAs with GLEIF URLPASS
27LEI adds GleifLookupService endpointPASS
28LEI includes SBT and PDA when availablePASS
29Without LEI — no enrichmentPASS

SAS Attestation Enrichment (3 tests)

#TestResult
30sasOverride injects SAS dataPASS
31includeSas flag acceptedPASS
32SasEnrichment interface shapePASS

Class Key Verification (2 tests)

#TestResult
33skipOnChain → null classKeyPASS
34classKey in snsMetadata when presentPASS

DidSnsMetadataService — 41 Tests

Covers read operations (10), v1 write (8), v2 write (8), roundtrip (4), document verification (4), flag operations (4), constants (3). All PASS.

SasAttestationService — 17 Tests

Covers enablement checks (8), error handling (4), identity attestation (5). All PASS.

VleiBridgeService — 36 Tests

Covers bridge lifecycle, SAS mirroring, SNS buffer write (Step 7), and error handling. All PASS.

UnifiedDidResolver — 10 Tests

Multi-method resolver supporting did:sns, did:web, and did:key. Tests cover method dispatch, fallback handling, and resolution metadata propagation. All PASS.

Universal Resolver Driver — 13 Tests

Docker-based driver wrapping DidSnsResolver for the DIF Universal Resolver infrastructure. Tests cover HTTP endpoint handling, DID Document response format, error code mapping, and container health checks. All PASS.

W3C Conformance Suite — 35 Tests

Validates did:sns resolution against the W3C DID Resolution specification across 7 sections: DID syntax, document structure, verification methods, service endpoints, document metadata, error codes, and content-type negotiation. All PASS.

W3C DID Resolution Conformance

Required Error Codes (DID Resolution §4.1.1)

Error CodeTestedResult
invalidDidTests 21, 22PASS
notFoundTest 23PASS
deactivatedZero-owner checkPASS
internalErrorCatch-all in resolve()PASS

DID Document Structure (DID Core §4)

RequirementTestedResult
id matches input DIDTest 11PASS
@context includes DID Core v1Test 11PASS
verificationMethod arrayTest 12PASS
authentication relationshipTest 13PASS
assertionMethod relationshipTest 13PASS
service endpointsTest 14PASS
controller hierarchyTests 16-20PASS
Content-Type: application/did+ld+jsonTest 11PASS

Dependencies

PackageVersionPurpose
@solana/web3.js^1.98.xSolana RPC, PublicKey, Transaction
@solana/kit^2.xWeb3.js v2 (SAS service)
@bonfida/spl-name-service^3.0.xSNS domain resolution
sas-lib^0.xSAS attestation CRUD