accounts 0.6.6 → 0.7.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/CHANGELOG.md +22 -0
- package/dist/core/ExecutionError.d.ts +25 -0
- package/dist/core/ExecutionError.d.ts.map +1 -0
- package/dist/core/ExecutionError.js +170 -0
- package/dist/core/ExecutionError.js.map +1 -0
- package/dist/core/Schema.d.ts +33 -7
- package/dist/core/Schema.d.ts.map +1 -1
- package/dist/core/zod/rpc.d.ts +14 -1
- package/dist/core/zod/rpc.d.ts.map +1 -1
- package/dist/core/zod/rpc.js +14 -1
- package/dist/core/zod/rpc.js.map +1 -1
- package/dist/server/CliAuth.d.ts +110 -43
- package/dist/server/CliAuth.d.ts.map +1 -1
- package/dist/server/CliAuth.js +243 -155
- package/dist/server/CliAuth.js.map +1 -1
- package/dist/server/Handler.d.ts +0 -1
- package/dist/server/Handler.d.ts.map +1 -1
- package/dist/server/Handler.js +0 -1
- package/dist/server/Handler.js.map +1 -1
- package/dist/server/internal/handlers/relay.d.ts +29 -12
- package/dist/server/internal/handlers/relay.d.ts.map +1 -1
- package/dist/server/internal/handlers/relay.js +180 -125
- package/dist/server/internal/handlers/relay.js.map +1 -1
- package/dist/server/internal/handlers/sponsorship.d.ts +77 -0
- package/dist/server/internal/handlers/sponsorship.d.ts.map +1 -0
- package/dist/server/internal/handlers/sponsorship.js +96 -0
- package/dist/server/internal/handlers/sponsorship.js.map +1 -0
- package/dist/server/internal/handlers/utils.d.ts +3 -1
- package/dist/server/internal/handlers/utils.d.ts.map +1 -1
- package/dist/server/internal/handlers/utils.js +15 -12
- package/dist/server/internal/handlers/utils.js.map +1 -1
- package/dist/trusted-hosts.json +2 -1
- package/package.json +1 -1
- package/src/core/ExecutionError.test.ts +205 -0
- package/src/core/ExecutionError.ts +189 -0
- package/src/core/Provider.test.ts +4 -2
- package/src/core/zod/rpc.ts +18 -1
- package/src/server/CliAuth.test-d.ts +6 -0
- package/src/server/CliAuth.test.ts +83 -0
- package/src/server/CliAuth.ts +331 -208
- package/src/server/Handler.ts +0 -1
- package/src/server/internal/handlers/relay.test.ts +318 -108
- package/src/server/internal/handlers/relay.ts +243 -138
- package/src/server/internal/handlers/sponsorship.ts +172 -0
- package/src/server/internal/handlers/utils.ts +15 -10
- package/src/trusted-hosts.json +2 -1
- package/dist/server/internal/handlers/feePayer.d.ts +0 -73
- package/dist/server/internal/handlers/feePayer.d.ts.map +0 -1
- package/dist/server/internal/handlers/feePayer.js +0 -184
- package/dist/server/internal/handlers/feePayer.js.map +0 -1
- package/src/server/internal/handlers/feePayer.test.ts +0 -335
- package/src/server/internal/handlers/feePayer.ts +0 -271
package/dist/server/CliAuth.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Hex } from 'ox';
|
|
1
|
+
import { Address, Hex } from 'ox';
|
|
2
2
|
import { SignatureEnvelope } from 'ox/tempo';
|
|
3
3
|
import { type Chain, type Client, type Transport } from 'viem';
|
|
4
|
-
import type { Address } from 'viem/accounts';
|
|
5
4
|
import * as z from 'zod/mini';
|
|
6
5
|
import type { MaybePromise } from '../internal/types.js';
|
|
7
6
|
import type { Kv } from './Kv.js';
|
|
@@ -20,7 +19,7 @@ export declare const keyAuthorization: z.ZodMiniObject<{
|
|
|
20
19
|
}, z.core.$strip>>>>;
|
|
21
20
|
signature: z.ZodMiniCustom<SignatureEnvelope.SignatureEnvelopeRpc, SignatureEnvelope.SignatureEnvelopeRpc>;
|
|
22
21
|
}, z.core.$strip>;
|
|
23
|
-
/**
|
|
22
|
+
/** CLI auth device-code creation request body. */
|
|
24
23
|
export declare const createRequest: z.ZodMiniObject<{
|
|
25
24
|
account: z.ZodMiniOptional<z.ZodMiniTemplateLiteral<`0x${string}`>>;
|
|
26
25
|
chainId: z.ZodMiniOptional<z.ZodMiniCodec<z.ZodMiniTemplateLiteral<`0x${string}`>, z.ZodMiniBigInt<bigint>>>;
|
|
@@ -377,6 +376,17 @@ export declare const entry: Omit<z.ZodMiniUnion<readonly [z.ZodMiniObject<{
|
|
|
377
376
|
};
|
|
378
377
|
};
|
|
379
378
|
};
|
|
379
|
+
/** Shared CLI auth helper with pre-bound defaults and cached clients. */
|
|
380
|
+
export type CliAuth = {
|
|
381
|
+
/** Creates and stores a new device code. */
|
|
382
|
+
createDeviceCode: (options: createDeviceCode.Parameters) => Promise<createDeviceCode.ReturnType>;
|
|
383
|
+
/** Looks up a pending device code for browser approval UIs. */
|
|
384
|
+
pending: (options: pending.Parameters) => Promise<pending.ReturnType>;
|
|
385
|
+
/** Polls a device code with PKCE verification. */
|
|
386
|
+
poll: (options: poll.Parameters) => Promise<poll.ReturnType>;
|
|
387
|
+
/** Authorizes a pending device code after validating the signed key authorization. */
|
|
388
|
+
authorize: (options: authorize.Parameters) => Promise<authorize.ReturnType>;
|
|
389
|
+
};
|
|
380
390
|
/** Stored device-code entry. */
|
|
381
391
|
export type Entry = z.output<typeof entry>;
|
|
382
392
|
/** Device-code storage contract. */
|
|
@@ -392,6 +402,11 @@ export type Store = {
|
|
|
392
402
|
/** Deletes a device-code entry. */
|
|
393
403
|
delete: (code: string) => MaybePromise<void>;
|
|
394
404
|
};
|
|
405
|
+
/** Host validation and sanitization for requested CLI auth defaults. */
|
|
406
|
+
export type Policy = {
|
|
407
|
+
/** Validates and optionally rewrites requested policy before the entry is stored. */
|
|
408
|
+
validate: (options: Policy.validate.Options) => MaybePromise<Policy.validate.ReturnType>;
|
|
409
|
+
};
|
|
395
410
|
export declare namespace Entry {
|
|
396
411
|
/** Pending device-code entry. */
|
|
397
412
|
type Pending = Extract<z.output<typeof entry>, {
|
|
@@ -410,7 +425,7 @@ export declare namespace Store {
|
|
|
410
425
|
namespace authorize {
|
|
411
426
|
type Options = {
|
|
412
427
|
/** Root account that approved the access key. */
|
|
413
|
-
accountAddress: Address;
|
|
428
|
+
accountAddress: Address.Address;
|
|
414
429
|
/** Signed key authorization. */
|
|
415
430
|
keyAuthorization: z.output<typeof keyAuthorization>;
|
|
416
431
|
/** Verification code to authorize. */
|
|
@@ -424,28 +439,18 @@ export declare namespace Store {
|
|
|
424
439
|
};
|
|
425
440
|
}
|
|
426
441
|
}
|
|
427
|
-
/** Error thrown when pending device-code lookup cannot return a pending request. */
|
|
428
|
-
export declare class PendingError extends Error {
|
|
429
|
-
status: 400 | 404;
|
|
430
|
-
constructor(message: string, status: 400 | 404);
|
|
431
|
-
}
|
|
432
|
-
/** Host validation and sanitization for requested CLI auth defaults. */
|
|
433
|
-
export type Policy = {
|
|
434
|
-
/** Validates and optionally rewrites requested policy before the entry is stored. */
|
|
435
|
-
validate: (options: Policy.validate.Options) => MaybePromise<Policy.validate.ReturnType>;
|
|
436
|
-
};
|
|
437
442
|
export declare namespace Policy {
|
|
438
443
|
namespace validate {
|
|
439
444
|
type Options = {
|
|
440
445
|
/** Requested root account restriction. */
|
|
441
|
-
account?: Address | undefined;
|
|
446
|
+
account?: Address.Address | undefined;
|
|
442
447
|
/** Requested access-key expiry timestamp. Omit to let the server choose one. */
|
|
443
448
|
expiry?: number | undefined;
|
|
444
449
|
/** Requested key type. */
|
|
445
450
|
keyType: z.output<typeof keyType>;
|
|
446
451
|
/** Requested spending limits. */
|
|
447
452
|
limits?: readonly {
|
|
448
|
-
token: Address;
|
|
453
|
+
token: Address.Address;
|
|
449
454
|
limit: bigint;
|
|
450
455
|
}[] | undefined;
|
|
451
456
|
/** Requested access-key public key. */
|
|
@@ -456,12 +461,18 @@ export declare namespace Policy {
|
|
|
456
461
|
expiry: number;
|
|
457
462
|
/** Approved spending limits. */
|
|
458
463
|
limits?: readonly {
|
|
459
|
-
token: Address;
|
|
464
|
+
token: Address.Address;
|
|
460
465
|
limit: bigint;
|
|
461
466
|
}[] | undefined;
|
|
462
467
|
};
|
|
463
468
|
}
|
|
464
469
|
}
|
|
470
|
+
/** Error thrown when pending device-code lookup cannot return a pending request. */
|
|
471
|
+
export declare class PendingError extends Error {
|
|
472
|
+
/** HTTP status returned by handler surfaces. */
|
|
473
|
+
status: 400 | 404;
|
|
474
|
+
constructor(message: string, status: 400 | 404);
|
|
475
|
+
}
|
|
465
476
|
/** Built-in device-code store helpers. */
|
|
466
477
|
export declare const Store: {
|
|
467
478
|
/**
|
|
@@ -485,70 +496,126 @@ export declare const Policy: {
|
|
|
485
496
|
/** Returns the provided policy unchanged. */
|
|
486
497
|
from(policy: Policy): Policy;
|
|
487
498
|
};
|
|
488
|
-
/**
|
|
489
|
-
|
|
490
|
-
|
|
499
|
+
/**
|
|
500
|
+
* Instantiates a CLI auth helper with shared defaults and cached clients.
|
|
501
|
+
*
|
|
502
|
+
* @example
|
|
503
|
+
* ```ts
|
|
504
|
+
* import { CliAuth } from 'accounts/server'
|
|
505
|
+
*
|
|
506
|
+
* const cli = CliAuth.from({
|
|
507
|
+
* store: CliAuth.Store.memory(),
|
|
508
|
+
* })
|
|
509
|
+
*
|
|
510
|
+
* const created = await cli.createDeviceCode({ request })
|
|
511
|
+
* ```
|
|
512
|
+
*
|
|
513
|
+
* @param options - Shared CLI auth defaults.
|
|
514
|
+
* @returns CLI auth helper.
|
|
515
|
+
*/
|
|
516
|
+
export declare function from(options?: from.Options): CliAuth;
|
|
517
|
+
export declare namespace from {
|
|
518
|
+
/** Shared CLI auth helper configuration. */
|
|
491
519
|
type Options = {
|
|
492
|
-
/**
|
|
520
|
+
/** Default chain ID embedded into created device codes. @default tempo.id */
|
|
493
521
|
chainId?: bigint | number | undefined;
|
|
522
|
+
/**
|
|
523
|
+
* Preconfigured chains used to build and cache viem clients.
|
|
524
|
+
*
|
|
525
|
+
* Unknown chain IDs are cached lazily using a tempo-shaped chain object so
|
|
526
|
+
* standalone helpers can still verify signatures without a full chain list.
|
|
527
|
+
*
|
|
528
|
+
* @default [tempo]
|
|
529
|
+
*/
|
|
530
|
+
chains?: readonly [Chain, ...Chain[]] | undefined;
|
|
494
531
|
/** Time source used for TTL evaluation. */
|
|
495
532
|
now?: (() => number) | undefined;
|
|
496
533
|
/** Policy used to validate requested expiry and limits. */
|
|
497
534
|
policy?: Policy | undefined;
|
|
498
535
|
/** Random byte generator used for verification code allocation. */
|
|
499
536
|
random?: ((size: number) => Uint8Array) | undefined;
|
|
500
|
-
/** Incoming device-code creation request. */
|
|
501
|
-
request: z.output<typeof createRequest>;
|
|
502
537
|
/** Device-code store. */
|
|
503
538
|
store?: Store | undefined;
|
|
504
539
|
/** Pending entry TTL in milliseconds. @default 600000 */
|
|
505
540
|
ttlMs?: number | undefined;
|
|
541
|
+
/** Transports keyed by chain ID. Defaults to `http()` for each chain. */
|
|
542
|
+
transports?: Record<number, Transport> | undefined;
|
|
543
|
+
};
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Creates and stores a new device code.
|
|
547
|
+
*
|
|
548
|
+
* @param options - Shared defaults plus the incoming request.
|
|
549
|
+
* @returns Created device code.
|
|
550
|
+
*/
|
|
551
|
+
export declare function createDeviceCode(options: createDeviceCode.Options): Promise<createDeviceCode.ReturnType>;
|
|
552
|
+
export declare namespace createDeviceCode {
|
|
553
|
+
/** Parameters for creating a new device code. */
|
|
554
|
+
type Parameters = {
|
|
555
|
+
/** Incoming device-code creation request. */
|
|
556
|
+
request: z.output<typeof createRequest>;
|
|
506
557
|
};
|
|
558
|
+
/** Shared CLI auth defaults plus create-device-code parameters. */
|
|
559
|
+
type Options = from.Options & Parameters;
|
|
560
|
+
/** Created device-code response body. */
|
|
507
561
|
type ReturnType = z.output<typeof createResponse>;
|
|
508
562
|
}
|
|
509
|
-
/**
|
|
563
|
+
/**
|
|
564
|
+
* Looks up a pending device code for browser approval UIs.
|
|
565
|
+
*
|
|
566
|
+
* @param options - Shared defaults plus the pending lookup parameters.
|
|
567
|
+
* @returns Pending device-code payload.
|
|
568
|
+
*/
|
|
510
569
|
export declare function pending(options: pending.Options): Promise<pending.ReturnType>;
|
|
511
570
|
export declare namespace pending {
|
|
512
|
-
|
|
571
|
+
/** Parameters for looking up a pending device code. */
|
|
572
|
+
type Parameters = {
|
|
513
573
|
/** Verification code from the route path. */
|
|
514
574
|
code: string;
|
|
515
|
-
/** Time source used for TTL evaluation. */
|
|
516
|
-
now?: (() => number) | undefined;
|
|
517
|
-
/** Device-code store. */
|
|
518
|
-
store?: Store | undefined;
|
|
519
575
|
};
|
|
576
|
+
/** Shared CLI auth defaults plus pending lookup parameters. */
|
|
577
|
+
type Options = from.Options & Parameters;
|
|
578
|
+
/** Pending device-code response body. */
|
|
520
579
|
type ReturnType = z.output<typeof pendingResponse>;
|
|
521
580
|
}
|
|
522
|
-
/**
|
|
581
|
+
/**
|
|
582
|
+
* Polls a device code with PKCE verification.
|
|
583
|
+
*
|
|
584
|
+
* @param options - Shared defaults plus the poll parameters.
|
|
585
|
+
* @returns Pending, authorized, or expired poll response.
|
|
586
|
+
*/
|
|
523
587
|
export declare function poll(options: poll.Options): Promise<poll.ReturnType>;
|
|
524
588
|
export declare namespace poll {
|
|
525
|
-
|
|
589
|
+
/** Parameters for polling a device code. */
|
|
590
|
+
type Parameters = {
|
|
526
591
|
/** Verification code from the route path. */
|
|
527
592
|
code: string;
|
|
528
|
-
/** Time source used for TTL evaluation. */
|
|
529
|
-
now?: (() => number) | undefined;
|
|
530
593
|
/** Poll request body. */
|
|
531
594
|
request: z.output<typeof pollRequest>;
|
|
532
|
-
/** Device-code store. */
|
|
533
|
-
store?: Store | undefined;
|
|
534
595
|
};
|
|
596
|
+
/** Shared CLI auth defaults plus poll parameters. */
|
|
597
|
+
type Options = from.Options & Parameters;
|
|
598
|
+
/** Poll response body. */
|
|
535
599
|
type ReturnType = z.output<typeof pollResponse>;
|
|
536
600
|
}
|
|
537
|
-
/**
|
|
601
|
+
/**
|
|
602
|
+
* Authorizes a pending device code after validating the signed key authorization.
|
|
603
|
+
*
|
|
604
|
+
* @param options - Shared defaults plus the authorization request.
|
|
605
|
+
* @returns Authorized response body.
|
|
606
|
+
*/
|
|
538
607
|
export declare function authorize(options: authorize.Options): Promise<authorize.ReturnType>;
|
|
539
608
|
export declare namespace authorize {
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
chainId?: bigint | number | undefined;
|
|
609
|
+
/** Parameters for authorizing a pending device code. */
|
|
610
|
+
type Parameters = {
|
|
543
611
|
/** Client used to verify the signed key authorization. */
|
|
544
612
|
client?: Client<Transport, Chain | undefined> | undefined;
|
|
545
|
-
/** Time source used for TTL evaluation. */
|
|
546
|
-
now?: (() => number) | undefined;
|
|
547
613
|
/** Authorize request body. */
|
|
548
614
|
request: z.output<typeof authorizeRequest>;
|
|
549
|
-
/** Device-code store. */
|
|
550
|
-
store?: Store | undefined;
|
|
551
615
|
};
|
|
616
|
+
/** Shared CLI auth defaults plus authorization parameters. */
|
|
617
|
+
type Options = from.Options & Parameters;
|
|
618
|
+
/** Authorization response body. */
|
|
552
619
|
type ReturnType = z.output<typeof authorizeResponse>;
|
|
553
620
|
}
|
|
554
621
|
//# sourceMappingURL=CliAuth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliAuth.d.ts","sourceRoot":"","sources":["../../src/server/CliAuth.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"CliAuth.d.ts","sourceRoot":"","sources":["../../src/server/CliAuth.ts"],"names":[],"mappings":"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"}
|