ENC Wallet SDK — composes DM+Registry+EVM
Wallet SDK — pure, in-memory Node, real crypto.
npm install @enc-protocol/wallet --registry https://npm-registry.ocrybit.workers.dev/import { WalletClient, createIdentity } from "@enc-protocol/wallet"
// Create identity and enclave
const owner = createIdentity("alice")
const client = WalletClient.create(owner)
// Query events
const events = client.query()
// Grant role to another identity
const bob = createIdentity("bob")
client.grant(bob, "Member")
// Use as different identity
const bobClient = client.as(bob)Extends AppClient from @enc-protocol/app.
| Method | Params | Returns | Description |
|---|---|---|---|
query(type?) | string | Event[] | Query events |
grant(target, role) | Identity, string | { ok, error? } | Grant role |
as(identity) | Identity | WalletClient | Switch identity |
static create(owner) | Identity | WalletClient | Create enclave |
| Event | Role | Ops |
|---|---|---|
| Terminate | owner | C |
| * | Public | R |
| * | OWNER | R |
| * | FRIEND | R |
All properties proven by Lean native_decide:
(validate config).allPass = true := by native_decideconfig.eventSchemas.length = 0 := by native_decideconfig.permits "*" "Public" "R" = true ∧ ... := by native_decidecomponentsReachable config = true := by native_decideconfig.permits "Terminate" "owner" "C" = true := by native_decidedepsResolve config = true := by native_decideverifyTestSuite config tests = true := by native_decideverifyStatefulSuite config statefulTests = true := by native_decide@enc-protocol/app