@ixo/ucan 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/README.md +215 -117
- package/dist/capabilities/capability.d.ts +2 -2
- package/dist/capabilities/capability.d.ts.map +1 -1
- package/dist/capabilities/capability.js.map +1 -1
- package/dist/client/create-client.d.ts +1 -0
- package/dist/client/create-client.d.ts.map +1 -1
- package/dist/client/create-client.js +6 -3
- package/dist/client/create-client.js.map +1 -1
- package/dist/did/ixo-resolver.d.ts.map +1 -1
- package/dist/did/ixo-resolver.js.map +1 -1
- package/dist/store/memory.d.ts.map +1 -1
- package/dist/store/memory.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/validator/validator.d.ts +3 -1
- package/dist/validator/validator.d.ts.map +1 -1
- package/dist/validator/validator.js +25 -0
- package/dist/validator/validator.js.map +1 -1
- package/docs/FLOW.md +287 -0
- package/docs/examples/CLIENT.md +418 -0
- package/docs/examples/SERVER.md +419 -0
- package/package.json +6 -8
- package/scripts/test-ucan.ts +31 -19
- package/src/capabilities/capability.ts +8 -7
- package/src/client/create-client.ts +29 -11
- package/src/did/ixo-resolver.ts +4 -6
- package/src/did/utils.ts +0 -1
- package/src/store/memory.ts +4 -2
- package/src/validator/validator.test.ts +611 -0
- package/src/validator/validator.ts +67 -7
- package/tsconfig.json +1 -1
- package/vitest.config.ts +2 -0
- package/.eslintrc.js +0 -9
- package/.prettierignore +0 -3
- package/.prettierrc.js +0 -4
- package/CHANGELOG.md +0 -0
- package/jest.config.js +0 -3
package/.turbo/turbo-build.log
CHANGED
package/README.md
CHANGED
|
@@ -1,189 +1,287 @@
|
|
|
1
1
|
# @ixo/ucan
|
|
2
2
|
|
|
3
|
-
UCAN (User Controlled Authorization Networks) implementation for
|
|
3
|
+
A framework-agnostic UCAN (User Controlled Authorization Networks) implementation for any service. Built on top of the battle-tested [ucanto](https://github.com/storacha/ucanto) library and conforming to the [UCAN specification](https://github.com/ucan-wg/spec/).
|
|
4
|
+
|
|
5
|
+
## What is UCAN?
|
|
6
|
+
|
|
7
|
+
UCAN is a decentralized authorization system using cryptographically signed tokens. Think of it as "JWT meets capabilities" - users can grant specific permissions to others, who can further delegate (but never escalate) those permissions.
|
|
8
|
+
|
|
9
|
+
**Key concepts:**
|
|
10
|
+
|
|
11
|
+
- **Capabilities**: What actions can be performed on which resources
|
|
12
|
+
- **Delegations**: Granting capabilities to others (can be chained)
|
|
13
|
+
- **Invocations**: Requests to use a capability
|
|
14
|
+
- **Attenuation**: Permissions can only be narrowed, never expanded
|
|
15
|
+
|
|
16
|
+
📖 **[See the visual flow diagram →](./docs/FLOW.md)**
|
|
4
17
|
|
|
5
18
|
## Features
|
|
6
19
|
|
|
7
|
-
- **
|
|
8
|
-
- **
|
|
9
|
-
- **
|
|
10
|
-
- **
|
|
20
|
+
- 🔐 **Built on ucanto** - Battle-tested UCAN library from Storacha
|
|
21
|
+
- 🎯 **Generic Capabilities** - Define your own capabilities with custom schemas
|
|
22
|
+
- ⚙️ **Caveat Validation** - Enforce limits and restrictions on delegations
|
|
23
|
+
- 🌐 **Multi-DID Support** - `did:key` (native) + `did:ixo` (via blockchain indexer)
|
|
24
|
+
- 🚀 **Framework-Agnostic** - Works with Express, Fastify, Hono, NestJS, etc.
|
|
25
|
+
- 🛡️ **Replay Protection** - Built-in invocation store prevents replay attacks
|
|
11
26
|
|
|
12
27
|
## Installation
|
|
13
28
|
|
|
14
29
|
```bash
|
|
30
|
+
npm install @ixo/ucan
|
|
31
|
+
# or
|
|
15
32
|
pnpm add @ixo/ucan
|
|
16
33
|
```
|
|
17
34
|
|
|
18
35
|
## Quick Start
|
|
19
36
|
|
|
20
|
-
###
|
|
37
|
+
### 1. Define a Capability
|
|
21
38
|
|
|
22
39
|
```typescript
|
|
23
|
-
import {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
40
|
+
import { defineCapability, Schema } from '@ixo/ucan';
|
|
41
|
+
|
|
42
|
+
const EmployeesRead = defineCapability({
|
|
43
|
+
can: 'employees/read',
|
|
44
|
+
protocol: 'myapp:',
|
|
45
|
+
nb: { limit: Schema.integer().optional() },
|
|
46
|
+
derives: (claimed, delegated) => {
|
|
47
|
+
const claimedLimit = claimed.nb?.limit ?? Infinity;
|
|
48
|
+
const delegatedLimit = delegated.nb?.limit ?? Infinity;
|
|
49
|
+
|
|
50
|
+
if (claimedLimit > delegatedLimit) {
|
|
51
|
+
return {
|
|
52
|
+
error: new Error(
|
|
53
|
+
`Limit ${claimedLimit} exceeds allowed ${delegatedLimit}`,
|
|
54
|
+
),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return { ok: {} };
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
```
|
|
29
61
|
|
|
30
|
-
|
|
31
|
-
// Format: ixo:oracle:{oracleDid}:mcp/{serverName}/{toolName}
|
|
62
|
+
### 2. Create a Validator (Server)
|
|
32
63
|
|
|
33
|
-
|
|
34
|
-
|
|
64
|
+
```typescript
|
|
65
|
+
import { createUCANValidator, createIxoDIDResolver } from '@ixo/ucan';
|
|
66
|
+
|
|
67
|
+
const validator = await createUCANValidator({
|
|
68
|
+
serverDid: 'did:ixo:ixo1abc...', // Your server's DID
|
|
69
|
+
rootIssuers: ['did:ixo:ixo1admin...'], // DIDs that can issue root capabilities
|
|
70
|
+
didResolver: createIxoDIDResolver({
|
|
71
|
+
indexerUrl: 'https://blocksync.ixo.earth/graphql',
|
|
72
|
+
}),
|
|
35
73
|
});
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 3. Protect a Route
|
|
36
77
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
78
|
+
```typescript
|
|
79
|
+
app.post('/employees', async (req, res) => {
|
|
80
|
+
const result = await validator.validate(
|
|
81
|
+
req.body.invocation, // Base64-encoded CAR
|
|
82
|
+
EmployeesRead,
|
|
83
|
+
'myapp:company/acme',
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
if (!result.ok) {
|
|
87
|
+
return res.status(403).json({ error: result.error });
|
|
44
88
|
}
|
|
45
|
-
});
|
|
46
89
|
|
|
47
|
-
|
|
90
|
+
// result.invoker — DID of who made the request
|
|
91
|
+
// result.capability — validated capability with caveats (nb)
|
|
92
|
+
// result.expiration — earliest expiration across the delegation chain (undefined = never)
|
|
93
|
+
// result.proofChain — delegation path from root to invoker, e.g. ["did:key:root", "did:key:user"]
|
|
94
|
+
|
|
95
|
+
const limit = result.capability?.nb?.limit ?? 10;
|
|
96
|
+
res.json({ employees: getEmployees(limit) });
|
|
97
|
+
});
|
|
48
98
|
```
|
|
49
99
|
|
|
50
|
-
### Client
|
|
100
|
+
### 4. Create & Use a Delegation (Client)
|
|
51
101
|
|
|
52
102
|
```typescript
|
|
53
|
-
import {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
103
|
+
import {
|
|
104
|
+
generateKeypair,
|
|
105
|
+
createDelegation,
|
|
106
|
+
createInvocation,
|
|
107
|
+
serializeInvocation,
|
|
108
|
+
} from '@ixo/ucan';
|
|
109
|
+
|
|
110
|
+
// Generate a keypair for the user
|
|
111
|
+
const { signer, did } = await generateKeypair();
|
|
112
|
+
|
|
113
|
+
// Root creates a delegation for the user
|
|
114
|
+
const delegation = await createDelegation({
|
|
115
|
+
issuer: rootSigner,
|
|
116
|
+
audience: did,
|
|
117
|
+
capabilities: [
|
|
118
|
+
{ can: 'employees/read', with: 'myapp:company/acme', nb: { limit: 50 } },
|
|
119
|
+
],
|
|
120
|
+
expiration: Math.floor(Date.now() / 1000) + 3600, // 1 hour
|
|
60
121
|
});
|
|
61
122
|
|
|
62
|
-
//
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
123
|
+
// User creates an invocation
|
|
124
|
+
const invocation = await createInvocation({
|
|
125
|
+
issuer: signer,
|
|
126
|
+
audience: serverDid,
|
|
127
|
+
capability: {
|
|
128
|
+
can: 'employees/read',
|
|
129
|
+
with: 'myapp:company/acme',
|
|
130
|
+
nb: { limit: 25 },
|
|
131
|
+
},
|
|
132
|
+
proofs: [delegation],
|
|
67
133
|
});
|
|
68
134
|
|
|
69
|
-
//
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
with: createMCPResourceURI('did:ixo:oracle123', 'postgres', '*')
|
|
75
|
-
}],
|
|
76
|
-
expiration: Math.floor(Date.now() / 1000) + 86400 // 24 hours
|
|
135
|
+
// Serialize and send
|
|
136
|
+
const serialized = await serializeInvocation(invocation);
|
|
137
|
+
await fetch('/employees', {
|
|
138
|
+
method: 'POST',
|
|
139
|
+
body: JSON.stringify({ invocation: serialized }),
|
|
77
140
|
});
|
|
78
141
|
```
|
|
79
142
|
|
|
80
|
-
##
|
|
143
|
+
## Documentation
|
|
81
144
|
|
|
82
|
-
|
|
145
|
+
| Document | Description |
|
|
146
|
+
| --------------------------------------------------------- | ---------------------------------------------------- |
|
|
147
|
+
| **[Flow Diagram](./docs/FLOW.md)** | Visual explanation of UCAN delegation and invocation |
|
|
148
|
+
| **[Server Example](./docs/examples/SERVER.md)** | Complete Express server with protected routes |
|
|
149
|
+
| **[Client Example](./docs/examples/CLIENT.md)** | Frontend/client-side usage |
|
|
150
|
+
| **[Capabilities Guide](./docs/examples/CAPABILITIES.md)** | How to define custom capabilities with caveats |
|
|
83
151
|
|
|
84
|
-
|
|
85
|
-
ixo:oracle:{oracleDid}:mcp/{serverName}/{toolName}
|
|
86
|
-
```
|
|
152
|
+
## API Reference
|
|
87
153
|
|
|
88
|
-
|
|
89
|
-
- `ixo:oracle:did:ixo:abc123:mcp/postgres/query` - Specific tool
|
|
90
|
-
- `ixo:oracle:did:ixo:abc123:mcp/postgres/*` - All tools in server (wildcard)
|
|
91
|
-
- `ixo:oracle:did:ixo:abc123:mcp/*` - All MCP tools (wildcard)
|
|
154
|
+
### Capability Definition
|
|
92
155
|
|
|
93
|
-
|
|
156
|
+
```typescript
|
|
157
|
+
defineCapability(options: DefineCapabilityOptions)
|
|
158
|
+
```
|
|
94
159
|
|
|
95
|
-
|
|
160
|
+
Define a capability with optional caveat validation.
|
|
96
161
|
|
|
97
|
-
|
|
98
|
-
|
|
162
|
+
| Option | Type | Description |
|
|
163
|
+
| ---------- | ---------- | -------------------------------------- |
|
|
164
|
+
| `can` | `string` | Action name (e.g., `'employees/read'`) |
|
|
165
|
+
| `protocol` | `string` | URI protocol (default: `'urn:'`) |
|
|
166
|
+
| `nb` | `object` | Schema for caveats using `Schema.*` |
|
|
167
|
+
| `derives` | `function` | Custom validation for attenuation |
|
|
168
|
+
|
|
169
|
+
### Validator
|
|
99
170
|
|
|
100
171
|
```typescript
|
|
101
|
-
|
|
172
|
+
createUCANValidator(options: CreateValidatorOptions): Promise<UCANValidator>
|
|
173
|
+
```
|
|
102
174
|
|
|
103
|
-
|
|
104
|
-
indexerUrl: 'https://blocksync.ixo.earth/graphql'
|
|
105
|
-
});
|
|
175
|
+
Create a framework-agnostic validator.
|
|
106
176
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
177
|
+
| Option | Type | Description |
|
|
178
|
+
| ----------------- | ----------------- | ------------------------------------- |
|
|
179
|
+
| `serverDid` | `string` | Server's DID (any method supported) |
|
|
180
|
+
| `rootIssuers` | `string[]` | DIDs that can self-issue capabilities |
|
|
181
|
+
| `didResolver` | `DIDKeyResolver` | Resolver for non-`did:key` DIDs |
|
|
182
|
+
| `invocationStore` | `InvocationStore` | Custom store for replay protection |
|
|
110
183
|
|
|
111
|
-
|
|
184
|
+
#### `ValidateResult`
|
|
112
185
|
|
|
113
|
-
The
|
|
186
|
+
The `validator.validate()` method returns a `ValidateResult`:
|
|
114
187
|
|
|
115
|
-
|
|
116
|
-
|
|
188
|
+
| Field | Type | Description |
|
|
189
|
+
| ------------ | ----------------------- | ---------------------------------------------------------------------------------------------------- |
|
|
190
|
+
| `ok` | `boolean` | Whether validation succeeded |
|
|
191
|
+
| `invoker` | `string` | DID of the invoker (on success) |
|
|
192
|
+
| `capability` | `object` | Validated capability with `can`, `with`, and optional `nb` caveats (on success) |
|
|
193
|
+
| `expiration` | `number \| undefined` | Effective expiration (Unix seconds) — the earliest across the delegation chain. Undefined = never. |
|
|
194
|
+
| `proofChain` | `string[] \| undefined` | Delegation path from root issuer to invoker, e.g. `["did:key:root", "did:key:alice", "did:key:bob"]` |
|
|
195
|
+
| `error` | `object` | Error with `code` and `message` (on failure) |
|
|
117
196
|
|
|
118
|
-
|
|
119
|
-
defaultTtlMs: 24 * 60 * 60 * 1000, // 24 hours
|
|
120
|
-
cleanupIntervalMs: 60 * 60 * 1000, // 1 hour
|
|
121
|
-
});
|
|
197
|
+
Error codes: `INVALID_FORMAT`, `INVALID_SIGNATURE`, `UNAUTHORIZED`, `REPLAY`, `EXPIRED`, `CAVEAT_VIOLATION`.
|
|
122
198
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
199
|
+
### Client Helpers
|
|
200
|
+
|
|
201
|
+
| Function | Description |
|
|
202
|
+
| ------------------------------------ | --------------------------------- |
|
|
203
|
+
| `generateKeypair()` | Generate new Ed25519 keypair |
|
|
204
|
+
| `parseSigner(privateKey, did?)` | Parse private key into signer |
|
|
205
|
+
| `signerFromMnemonic(mnemonic, did?)` | Derive signer from BIP39 mnemonic |
|
|
206
|
+
| `createDelegation(options)` | Create a delegation |
|
|
207
|
+
| `createInvocation(options)` | Create an invocation |
|
|
208
|
+
| `serializeDelegation(delegation)` | Serialize to base64 CAR |
|
|
209
|
+
| `serializeInvocation(invocation)` | Serialize to base64 CAR |
|
|
210
|
+
| `parseDelegation(serialized)` | Parse from base64 CAR |
|
|
127
211
|
|
|
128
|
-
|
|
129
|
-
|
|
212
|
+
> **Note:** Both `createDelegation` and `createInvocation` default to `expiration: Infinity` (never expires) when no expiration is specified. Pass an explicit Unix timestamp (seconds) to set an expiration.
|
|
213
|
+
|
|
214
|
+
### DID Resolution
|
|
215
|
+
|
|
216
|
+
```typescript
|
|
217
|
+
createIxoDIDResolver(config: IxoDIDResolverConfig): DIDKeyResolver
|
|
218
|
+
createCompositeDIDResolver(resolvers: DIDKeyResolver[]): DIDKeyResolver
|
|
130
219
|
```
|
|
131
220
|
|
|
132
|
-
|
|
221
|
+
### Replay Protection
|
|
133
222
|
|
|
134
|
-
|
|
223
|
+
```typescript
|
|
224
|
+
new InMemoryInvocationStore(options?)
|
|
225
|
+
createInvocationStore(options?)
|
|
226
|
+
```
|
|
135
227
|
|
|
136
|
-
|
|
137
|
-
- `ucan.service.ts` - NestJS service for validation
|
|
138
|
-
- `ucan.module.ts` - NestJS module
|
|
228
|
+
## DID Support
|
|
139
229
|
|
|
140
|
-
|
|
230
|
+
| DID Method | Support | Notes |
|
|
231
|
+
| ---------- | --------------- | ----------------------------------- |
|
|
232
|
+
| `did:key` | ✅ Native | Parsed directly from the identifier |
|
|
233
|
+
| `did:ixo` | ✅ Via resolver | Resolved via IXO blockchain indexer |
|
|
234
|
+
| `did:web` | 🔧 Extendable | Implement custom resolver |
|
|
141
235
|
|
|
142
|
-
|
|
236
|
+
## Environment Variables
|
|
143
237
|
|
|
144
238
|
```env
|
|
239
|
+
# For IXO DID resolution
|
|
145
240
|
BLOCKSYNC_GRAPHQL_URL=https://blocksync.ixo.earth/graphql
|
|
146
241
|
```
|
|
147
242
|
|
|
148
|
-
|
|
243
|
+
## Advanced Usage
|
|
149
244
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
245
|
+
### Re-exported ucanto Packages
|
|
246
|
+
|
|
247
|
+
For advanced use cases, you can access the underlying ucanto packages:
|
|
248
|
+
|
|
249
|
+
```typescript
|
|
250
|
+
import {
|
|
251
|
+
UcantoServer,
|
|
252
|
+
UcantoClient,
|
|
253
|
+
UcantoValidator,
|
|
254
|
+
ed25519,
|
|
255
|
+
} from '@ixo/ucan';
|
|
154
256
|
```
|
|
155
257
|
|
|
156
|
-
|
|
258
|
+
### Custom Invocation Store
|
|
157
259
|
|
|
158
|
-
|
|
260
|
+
Implement the `InvocationStore` interface for distributed deployments:
|
|
159
261
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
262
|
+
```typescript
|
|
263
|
+
interface InvocationStore {
|
|
264
|
+
has(cid: string): Promise<boolean>;
|
|
265
|
+
add(cid: string, ttlMs?: number): Promise<void>;
|
|
266
|
+
cleanup?(): Promise<void>;
|
|
267
|
+
}
|
|
268
|
+
```
|
|
166
269
|
|
|
167
|
-
|
|
270
|
+
## Testing
|
|
168
271
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
- `createMCPResourceURI(oracleDid, serverName, toolName)` - Build MCP resource URI
|
|
174
|
-
- `parseMCPResourceURI(uri)` - Parse MCP resource URI into components
|
|
175
|
-
- `createInvocationStore(options)` - Create an invocation store
|
|
272
|
+
```bash
|
|
273
|
+
pnpm test # Run unit tests (vitest)
|
|
274
|
+
pnpm test:ucan # Run interactive test script with full UCAN flow
|
|
275
|
+
```
|
|
176
276
|
|
|
177
|
-
|
|
277
|
+
The unit tests cover proof chain construction, expiration computation, validation failures, caveat enforcement, and replay protection.
|
|
178
278
|
|
|
179
|
-
|
|
279
|
+
## License
|
|
180
280
|
|
|
181
|
-
|
|
281
|
+
MIT
|
|
182
282
|
|
|
183
|
-
|
|
184
|
-
- [ ] Add SQLite implementation for persistence
|
|
185
|
-
- [ ] Add delegation management utilities
|
|
186
|
-
- [ ] Add capability inspection utilities
|
|
187
|
-
- [ ] Add support for capability revocation lists
|
|
188
|
-
- [ ] Add support for time-based restrictions in caveats
|
|
283
|
+
## Links
|
|
189
284
|
|
|
285
|
+
- [ucanto (underlying library)](https://github.com/storacha/ucanto)
|
|
286
|
+
- [UCAN Specification](https://github.com/ucan-wg/spec/)
|
|
287
|
+
- [IXO Network](https://www.ixo.world/)
|
|
@@ -11,7 +11,7 @@ type Infer<T> = T extends {
|
|
|
11
11
|
type InferStruct<U extends Record<string, unknown>> = {
|
|
12
12
|
[K in keyof U]: Infer<U[K]>;
|
|
13
13
|
};
|
|
14
|
-
export interface DefineCapabilityOptions<NBSchema extends Record<string,
|
|
14
|
+
export interface DefineCapabilityOptions<NBSchema extends Record<string, unknown> = Record<string, never>> {
|
|
15
15
|
can: string;
|
|
16
16
|
protocol?: string;
|
|
17
17
|
supportWildcards?: boolean;
|
|
@@ -28,6 +28,6 @@ export interface DefineCapabilityOptions<NBSchema extends Record<string, any> =
|
|
|
28
28
|
error: Error;
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
export declare function defineCapability<NBSchema extends Record<string,
|
|
31
|
+
export declare function defineCapability<NBSchema extends Record<string, unknown> = Record<string, never>>(options: DefineCapabilityOptions<NBSchema>): import("@ucanto/interface").TheCapabilityParser<import("@ucanto/interface").CapabilityMatch<`${string}/${string}`, import("@ucanto/interface").URI<`${string}:`>, Schema.InferStruct<{}>>>;
|
|
32
32
|
export type { UcantoCapability, Infer, InferStruct };
|
|
33
33
|
//# sourceMappingURL=capability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/capabilities/capability.ts"],"names":[],"mappings":"AAWA,OAAO,EAAmB,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGxE,OAAO,EAAE,MAAM,EAAE,CAAC;AAUlB,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/capabilities/capability.ts"],"names":[],"mappings":"AAWA,OAAO,EAAmB,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGxE,OAAO,EAAE,MAAM,EAAE,CAAC;AAUlB,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS;IACxB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CAC5D,GACG,CAAC,GACD,KAAK,CAAC;AAMV,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;KACnD,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5B,CAAC;AA+BF,MAAM,WAAW,uBAAuB,CAEtC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAMhE,GAAG,EAAE,MAAM,CAAC;IAOZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAOlB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAe3B,EAAE,CAAC,EAAE,QAAQ,CAAC;IAsBd,OAAO,CAAC,EAAE,CACR,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;KAAE,EACrD,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;KAAE,KACpD;QAAE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;CACvD;AAuCD,wBAAgB,gBAAgB,CAC9B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAChE,OAAO,EAAE,uBAAuB,CAAC,QAAQ,CAAC,8LAqE3C;AAGD,YAAY,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/capabilities/capability.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/capabilities/capability.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,MAAM,EAAE,CAAC;AA2JlB,MAAM,UAAU,gBAAgB,CAE9B,OAA0C;IAC1C,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAiB,CAAC;IAC9D,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAG1D,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE;QACzB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAyC,CAAC;QAClE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEtB,OAAO,UAAU,CAAC;QAChB,GAAG,EAAE,OAAO,CAAC,GAA4B;QACzC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC7B,EAAE,EAAE,QAAQ;QACZ,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE;YAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;YAChC,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC;YAGpC,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;gBAEhC,IAAI,gBAAgB,EAAE,CAAC;oBAErB,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;4BACpC,OAAO;gCACL,KAAK,EAAE,IAAI,KAAK,CACd,aAAa,UAAU,qBAAqB,YAAY,GAAG,CAC5D;6BACF,CAAC;wBACJ,CAAC;oBACH,CAAC;yBAEI,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;4BACpC,OAAO;gCACL,KAAK,EAAE,IAAI,KAAK,CACd,aAAa,UAAU,qBAAqB,YAAY,GAAG,CAC5D;6BACF,CAAC;wBACJ,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO;4BACL,KAAK,EAAE,IAAI,KAAK,CACd,aAAa,UAAU,qBAAqB,YAAY,GAAG,CAC5D;yBACF,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO;wBACL,KAAK,EAAE,IAAI,KAAK,CACd,aAAa,UAAU,qBAAqB,YAAY,GAAG,CAC5D;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAGD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,OAAO,CAAC,OAAO,CACpB,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,EAA2B,EAAE,EAC7D,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,EAA2B,EAAE,CAClE,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACpB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -25,6 +25,7 @@ export declare function createInvocation(options: {
|
|
|
25
25
|
audience: string;
|
|
26
26
|
capability: Capability;
|
|
27
27
|
proofs?: Delegation[];
|
|
28
|
+
expiration?: number;
|
|
28
29
|
}): Promise<Client.IssuedInvocationView<Client.Capability<Client.Ability, `${string}:${string}`, unknown>>>;
|
|
29
30
|
export declare function serializeInvocation(invocation: Awaited<ReturnType<typeof createInvocation>>): Promise<string>;
|
|
30
31
|
export declare function serializeDelegation(delegation: Delegation): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-client.d.ts","sourceRoot":"","sources":["../../src/client/create-client.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"create-client.d.ts","sourceRoot":"","sources":["../../src/client/create-client.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,EACV,MAAM,EACN,UAAU,EACV,UAAU,EAEX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAmChD,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAOD;AASD,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,GAAG,MAAM,CAM1E;AAqBD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAuDD;AA2BD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAE9C,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,MAAM,CAAC;IAEjB,YAAY,EAAE,UAAU,EAAE,CAAC;IAE3B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;CACvB,GAAG,OAAO,CAAC,UAAU,CAAC,CAatB;AA6BD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAE9C,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,MAAM,CAAC;IAEjB,UAAU,EAAE,UAAU,CAAC;IAEvB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IAEtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,2GAWA;AAQD,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,GACvD,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAQD,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,MAAM,CAAC,CAejB;AAQD,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAgB7E;AAGD,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -37,10 +37,12 @@ export async function signerFromMnemonic(mnemonic, did) {
|
|
|
37
37
|
keyMaterial.set(ED25519_PRIV_MULTICODEC, 0);
|
|
38
38
|
keyMaterial.set(seed, ED25519_PRIV_MULTICODEC.length);
|
|
39
39
|
keyMaterial.set(ED25519_PUB_MULTICODEC, ED25519_PRIV_MULTICODEC.length + seed.length);
|
|
40
|
-
keyMaterial.set(keypair.pubkey, ED25519_PRIV_MULTICODEC.length +
|
|
40
|
+
keyMaterial.set(keypair.pubkey, ED25519_PRIV_MULTICODEC.length +
|
|
41
|
+
seed.length +
|
|
42
|
+
ED25519_PUB_MULTICODEC.length);
|
|
41
43
|
const base64 = Buffer.from(keyMaterial).toString('base64');
|
|
42
44
|
const multibasePrivateKey = 'M' + base64;
|
|
43
|
-
|
|
45
|
+
const signer = ed25519.Signer.parse(multibasePrivateKey);
|
|
44
46
|
const finalSigner = did ? signer.withDID(did) : signer;
|
|
45
47
|
return {
|
|
46
48
|
signer: finalSigner,
|
|
@@ -54,7 +56,7 @@ export async function createDelegation(options) {
|
|
|
54
56
|
issuer: options.issuer,
|
|
55
57
|
audience: audiencePrincipal,
|
|
56
58
|
capabilities: options.capabilities,
|
|
57
|
-
expiration: options.expiration,
|
|
59
|
+
expiration: options.expiration ?? Infinity,
|
|
58
60
|
proofs: options.proofs,
|
|
59
61
|
notBefore: options.notBefore,
|
|
60
62
|
});
|
|
@@ -66,6 +68,7 @@ export async function createInvocation(options) {
|
|
|
66
68
|
audience: audiencePrincipal,
|
|
67
69
|
capability: options.capability,
|
|
68
70
|
proofs: options.proofs ?? [],
|
|
71
|
+
expiration: options.expiration ?? Infinity,
|
|
69
72
|
});
|
|
70
73
|
}
|
|
71
74
|
export async function serializeInvocation(invocation) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-client.js","sourceRoot":"","sources":["../../src/client/create-client.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-client.js","sourceRoot":"","sources":["../../src/client/create-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ixo-resolver.d.ts","sourceRoot":"","sources":["../../src/did/ixo-resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ixo-resolver.d.ts","sourceRoot":"","sources":["../../src/did/ixo-resolver.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAU,MAAM,aAAa,CAAC;AAM1D,MAAM,WAAW,oBAAoB;IAKnC,UAAU,EAAE,MAAM,CAAC;IAKnB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAsJD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,GAC3B,cAAc,CA2GhB;AAQD,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,cAAc,EAAE,GAC1B,cAAc,CAuBhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ixo-resolver.js","sourceRoot":"","sources":["../../src/did/ixo-resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ixo-resolver.js","sourceRoot":"","sources":["../../src/did/ixo-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/store/memory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/store/memory.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAmCnD,qBAAa,uBAAwB,YAAW,eAAe;IAC7D,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,eAAe,CAA+C;IAGtE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAGtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;gBAWzC,OAAO,GAAE;QACP,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;KACxB;IAgBF,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBlC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB9B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAKD,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,IAAI,IAAI;CAOhB;AASD,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,GAAG,eAAe,CAElB"}
|
package/dist/store/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/store/memory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/store/memory.ts"],"names":[],"mappings":"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"}
|