{"_id":"@adunai/sdk","_rev":"4-be484d530260245edd52c4154b92c516","name":"@adunai/sdk","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@adunai/sdk","version":"0.1.0","license":"Apache-2.0","_id":"@adunai/sdk@0.1.0","maintainers":[{"name":"adunai-protocol","email":"adunai00@proton.me"}],"dist":{"shasum":"77ef90f24d4fffab9bcbc53edb712ece2375dbbc","tarball":"https://registry.npmjs.org/@adunai/sdk/-/sdk-0.1.0.tgz","fileCount":136,"integrity":"sha512-SeT5uAj7/ARkjbu//lO2oVTZ/dSSoBInuu20GmTGK6Ejzny213P0w94LxXLoyVeBlBQ2D8goOdfwDYRVi/1RIg==","signatures":[{"sig":"MEQCIEYYLGZ/Aq6wVdcJ+1+q7dLLajC7Vz+Q0lRtTNBGQMCMAiAOc3WbTHfL20HkoX0IO2TgoQXv+lpSnKW5+0hMjPxPsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12526905},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.mjs","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/agents/index.d.ts","import":"./dist/agents/index.mjs","require":"./dist/agents/index.cjs"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.cjs"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.mjs","require":"./dist/errors/index.cjs"},"./handles":{"types":"./dist/handles/index.d.ts","import":"./dist/handles/index.mjs","require":"./dist/handles/index.cjs"},"./identity":{"types":"./dist/identity/index.d.ts","import":"./dist/identity/index.mjs","require":"./dist/identity/index.cjs"},"./payments":{"types":"./dist/payments/index.d.ts","import":"./dist/payments/index.mjs","require":"./dist/payments/index.cjs"},"./timelock":{"types":"./dist/timelock/index.d.ts","import":"./dist/timelock/index.mjs","require":"./dist/timelock/index.cjs"},"./treasury":{"types":"./dist/treasury/index.d.ts","import":"./dist/treasury/index.mjs","require":"./dist/treasury/index.cjs"},"./attestations":{"types":"./dist/attestations/index.d.ts","import":"./dist/attestations/index.mjs","require":"./dist/attestations/index.cjs"}},"gitHead":"eeef5d4e4d18ce1a48967a81af62b342329c60b3","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsup","clean":"rm -rf dist .tsbuildinfo","codegen":"tsx scripts/codegen-abi.ts","typecheck":"tsc --noEmit","sweep:celo":"tsx scripts/celo-wiring-sweep.ts","test:watch":"vitest","codegen:all":"pnpm run codegen && pnpm run codegen:deployments && pnpm run codegen:schemas && pnpm run codegen:tokens","codegen:tokens":"tsx scripts/codegen-tokens.ts","codegen:schemas":"tsx scripts/codegen-schemas.ts","codegen:deployments":"tsx scripts/codegen-deployments.ts"},"_npmUser":{"name":"adunai-protocol","email":"adunai00@proton.me"},"deprecated":"Shipped five no-op brick token addresses under launchTokens. Use 0.1.1+.","_npmVersion":"11.13.0","description":"TypeScript SDK for the Adunai protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{"zod":"^3.23.0","viem":"^2.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.9.0","devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.5.0","@types/node":"^20.12.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0_1783493491879_0.5196878365553395","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@adunai/sdk","version":"0.1.1","license":"Apache-2.0","_id":"@adunai/sdk@0.1.1","maintainers":[{"name":"adunai-protocol","email":"adunai00@proton.me"}],"dist":{"shasum":"6f98778c1debff4693c7084d4d6ac8066aa99321","tarball":"https://registry.npmjs.org/@adunai/sdk/-/sdk-0.1.1.tgz","fileCount":136,"integrity":"sha512-vNCRfVMyMhmjAcwZBr1HKDYDKISuOaqKvVgwjP70TJEuEP0gvj4hIdWdm6gGSihg2VKpq9NJn1+FKTU8iSof/Q==","signatures":[{"sig":"MEUCIDYIfU1l/XSrJOrJ9C6Dr+csLt10tBjSlO3yZSUFMZzvAiEAtWqu6ML0ca1oJB1oeSmVJ4La7FYcoUo2Dpr+OiajzNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12526905},"type":"module","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.mjs","require":"./dist/types/index.cjs"},"./agents":{"types":"./dist/agents/index.d.ts","import":"./dist/agents/index.mjs","require":"./dist/agents/index.cjs"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.cjs"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.mjs","require":"./dist/errors/index.cjs"},"./handles":{"types":"./dist/handles/index.d.ts","import":"./dist/handles/index.mjs","require":"./dist/handles/index.cjs"},"./identity":{"types":"./dist/identity/index.d.ts","import":"./dist/identity/index.mjs","require":"./dist/identity/index.cjs"},"./payments":{"types":"./dist/payments/index.d.ts","import":"./dist/payments/index.mjs","require":"./dist/payments/index.cjs"},"./timelock":{"types":"./dist/timelock/index.d.ts","import":"./dist/timelock/index.mjs","require":"./dist/timelock/index.cjs"},"./treasury":{"types":"./dist/treasury/index.d.ts","import":"./dist/treasury/index.mjs","require":"./dist/treasury/index.cjs"},"./attestations":{"types":"./dist/attestations/index.d.ts","import":"./dist/attestations/index.mjs","require":"./dist/attestations/index.cjs"}},"gitHead":"2f7e669fdf90235722c9a440e3cc3261b1b2b196","scripts":{"lint":"tsc --noEmit","test":"vitest run","build":"tsup","clean":"rm -rf dist .tsbuildinfo","codegen":"tsx scripts/codegen-abi.ts","typecheck":"tsc --noEmit","sweep:celo":"tsx scripts/celo-wiring-sweep.ts","test:watch":"vitest","codegen:all":"pnpm run codegen && pnpm run codegen:deployments && pnpm run codegen:schemas && pnpm run codegen:tokens","codegen:tokens":"tsx scripts/codegen-tokens.ts","codegen:schemas":"tsx scripts/codegen-schemas.ts","codegen:deployments":"tsx scripts/codegen-deployments.ts"},"_npmUser":{"name":"adunai-protocol","email":"adunai00@proton.me"},"_npmVersion":"11.13.0","description":"TypeScript SDK for the Adunai protocol","directories":{},"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{"zod":"^3.23.0","viem":"^2.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.9.0","devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.5.0","@types/node":"^20.12.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.1_1784337961017_0.7734218288341348","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@adunai/sdk","version":"0.1.2","description":"TypeScript SDK for the Adunai protocol","license":"Apache-2.0","type":"module","sideEffects":false,"packageManager":"pnpm@11.9.0","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.mjs","require":"./dist/client/index.cjs"},"./identity":{"types":"./dist/identity/index.d.ts","import":"./dist/identity/index.mjs","require":"./dist/identity/index.cjs"},"./handles":{"types":"./dist/handles/index.d.ts","import":"./dist/handles/index.mjs","require":"./dist/handles/index.cjs"},"./attestations":{"types":"./dist/attestations/index.d.ts","import":"./dist/attestations/index.mjs","require":"./dist/attestations/index.cjs"},"./payments":{"types":"./dist/payments/index.d.ts","import":"./dist/payments/index.mjs","require":"./dist/payments/index.cjs"},"./treasury":{"types":"./dist/treasury/index.d.ts","import":"./dist/treasury/index.mjs","require":"./dist/treasury/index.cjs"},"./agents":{"types":"./dist/agents/index.d.ts","import":"./dist/agents/index.mjs","require":"./dist/agents/index.cjs"},"./timelock":{"types":"./dist/timelock/index.d.ts","import":"./dist/timelock/index.mjs","require":"./dist/timelock/index.cjs"},"./errors":{"types":"./dist/errors/index.d.ts","import":"./dist/errors/index.mjs","require":"./dist/errors/index.cjs"},"./types":{"types":"./dist/types/index.d.ts","import":"./dist/types/index.mjs","require":"./dist/types/index.cjs"}},"scripts":{"build":"tsup","build:clean":"rm -rf dist && tsup","typecheck":"tsc --noEmit","lint":"tsc --noEmit","test":"vitest run","test:watch":"vitest","codegen":"tsx scripts/codegen-abi.ts","codegen:deployments":"tsx scripts/codegen-deployments.ts","codegen:schemas":"tsx scripts/codegen-schemas.ts","codegen:tokens":"tsx scripts/codegen-tokens.ts","codegen:all":"pnpm run codegen && pnpm run codegen:deployments && pnpm run codegen:schemas && pnpm run codegen:tokens","clean":"rm -rf dist .tsbuildinfo","sweep:celo":"tsx scripts/celo-wiring-sweep.ts","verify:dist":"node scripts/verify-dist.mjs","token-sync:check":"tsx ../scripts/address-powers/assert-token-sync.ts","prepublishOnly":"npm run build:clean && npm run verify:dist && npm run token-sync:check"},"dependencies":{"viem":"^2.21.0","zod":"^3.23.0"},"devDependencies":{"@types/node":"^20.12.0","tsup":"^8.3.0","tsx":"^4.19.0","typescript":"^5.5.0","vitest":"^2.1.0"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"gitHead":"17079f1869f40b4fd03251888183b0e1270b55ac","_id":"@adunai/sdk@0.1.2","_nodeVersion":"24.17.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-t/BSav0VbSYqwpxQlIlC/4JL26bWs9Nhdfrxrbr0VoM7UaEeslU7ypEwRo5X7dy4VZDfmhPCuwyW8AOTei4xkA==","shasum":"798564eda4a2c2ad6042b295fb239a0b9622c0a4","tarball":"https://registry.npmjs.org/@adunai/sdk/-/sdk-0.1.2.tgz","fileCount":137,"unpackedSize":12381894,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDVAvh5x8/RIf7SsVRvudmEKP1Y9JHpFEbiB/myF5xz4wIgT1Sgk3+vt2UquRZ6v6sH7sv35PU1X6Y1bRHHiuFPSXE="}]},"_npmUser":{"name":"adunai-protocol","email":"adunai00@proton.me"},"directories":{},"maintainers":[{"name":"adunai-protocol","email":"adunai00@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.2_1785961227603_0.8880058588646598"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T06:51:31.568Z","modified":"2026-08-05T20:20:27.962Z","0.1.0":"2026-07-08T06:51:32.064Z","0.1.1":"2026-07-18T01:26:01.168Z","0.1.2":"2026-08-05T20:20:27.809Z"},"license":"Apache-2.0","description":"TypeScript SDK for the Adunai protocol","maintainers":[{"name":"adunai-protocol","email":"adunai00@proton.me"}],"readme":"# @adunai/sdk\n\nTypeScript SDK for the [Adunai protocol](https://github.com/adunai/adunai-protocol) — non-state, identity-first Digital Public Infrastructure (DPI) for African economic life; payments and savings are downstream applications.\n\n**Status:** Phase 0 scaffold. **NOT AUDITED. Testnet only** — primary **Celo Sepolia (chainId 11142220)**; Base Sepolia (chainId 84532) fallback. Mainnet rejected at construction. See `docs/PROJECT_BRIEF.md` §7.\n\n## Install\n\n```bash\npnpm add @adunai/sdk viem zod\n```\n\n## Quickstart\n\n```ts\nimport { createAdunaiClient } from '@adunai/sdk'\nimport { createPublicClient, http } from 'viem'\nimport { baseSepolia } from 'viem/chains'\n\nconst adunai = createAdunaiClient({\n  publicClient: createPublicClient({ chain: baseSepolia, transport: http() }),\n  network: 'base-sepolia',\n})\n\n// Read a DID:\nconst identity = await adunai.identity.resolve(someDid)\n```\n\nTo submit transactions, also pass a `walletClient` (viem) or an `accountAbstraction` adapter (ERC-4337). See `examples/` for end-to-end programs.\n\n## Scope\n\nPhase 0 SDK implements the IdentityRegistry namespace as the reference pattern; other namespaces (handles, attestations, payments, treasury, agents, timelock) are stubs filled in across follow-up scaffolding steps.\n\n## Design constraints\n\nA handful of constraints are non-negotiable and enforced by the type system:\n\n- **Phone-as-key is opt-in only.** No `findByPhone(e164)` convenience. Phone resolution goes through `handles.resolveCanonical(CanonicalName.fromPhone(e164))` and fails closed.\n- **PaymentsRouter event DIDs are unauthenticated.** Decoded events default `verified: false`; promotion requires `events.verifyDidOwnership(event)`.\n- **Mainnet not supported in Phase 0.** Throws at `createAdunaiClient` time.\n- **ERC-4337 EntryPoint v0.7 only.** Other versions throw `UnsupportedEntryPointVersion`.\n- **Indexer option is reserved for Phase 1.** Typed `never`; runtime throws `IndexerSupportPhase1`.\n\nSee the architecture proposal (in the repo conversation history) for the full design rationale.\n\n## Subpath exports\n\n```ts\nimport { createAdunaiClient } from '@adunai/sdk'\nimport { createIdentityNamespace } from '@adunai/sdk/identity'\nimport { DID, CanonicalName, SchemaId } from '@adunai/sdk/types'\nimport { AdunaiContractError, isAdunaiError } from '@adunai/sdk/errors'\n```\n\n## Build / dev\n\n```bash\npnpm install\npnpm run codegen           # Generate ABI from Foundry artifacts\npnpm run codegen:schemas   # Generate canonical schema registry\npnpm test                  # Vitest unit tests\npnpm run build             # tsup → ESM + CJS + .d.ts\npnpm run typecheck\n```\n\n## Compatibility\n\n| Environment | Phase 0 | Phase 1 |\n|---|---|---|\n| Node.js (18+) | ✅ supported | — |\n| Browser (via Wagmi/viem) | ✅ supported | — |\n| React Native (Metro/Hermes) | structural compat (read-only smoke test); no full-flow CI | full prepare→sign→submit→confirm CI |\n\n## License\n\nApache-2.0 (Foundation to finalize between MIT and Apache 2.0 before first public release; default Apache-2.0 for now).\n\n## Links\n\n- Protocol docs: `docs/WHITEPAPER.md`, `docs/CONTRACT_ARCHITECTURE.md`, `docs/PROJECT_BRIEF.md`\n- Deployment addresses: `deployments/base-sepolia.json` (canonical)\n- Reference wallet: see `docs/WALLET_INTEGRATION_GUIDE.md` §9\n","readmeFilename":"README.md"}