mppx 0.8.13 → 0.8.15
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 +37 -0
- package/dist/Errors.d.ts +10 -0
- package/dist/Errors.d.ts.map +1 -1
- package/dist/Errors.js +11 -2
- package/dist/Errors.js.map +1 -1
- package/dist/Method.d.ts +105 -3
- package/dist/Method.d.ts.map +1 -1
- package/dist/Method.js +102 -2
- package/dist/Method.js.map +1 -1
- package/dist/cli/validate/payment.d.ts.map +1 -1
- package/dist/cli/validate/payment.js +18 -4
- package/dist/cli/validate/payment.js.map +1 -1
- package/dist/client/internal/Fetch.d.ts.map +1 -1
- package/dist/client/internal/Fetch.js +98 -5
- package/dist/client/internal/Fetch.js.map +1 -1
- package/dist/client/internal/MethodChallenge.d.ts +19 -0
- package/dist/client/internal/MethodChallenge.d.ts.map +1 -0
- package/dist/client/internal/MethodChallenge.js +15 -0
- package/dist/client/internal/MethodChallenge.js.map +1 -0
- package/dist/client/internal/MethodResponse.d.ts +15 -0
- package/dist/client/internal/MethodResponse.d.ts.map +1 -1
- package/dist/client/internal/MethodResponse.js +10 -0
- package/dist/client/internal/MethodResponse.js.map +1 -1
- package/dist/server/Mppx.d.ts +23 -4
- package/dist/server/Mppx.d.ts.map +1 -1
- package/dist/server/Mppx.js +91 -82
- package/dist/server/Mppx.js.map +1 -1
- package/dist/stripe/server/internal/html.gen.d.ts +1 -1
- package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
- package/dist/stripe/server/internal/html.gen.js +1 -1
- package/dist/stripe/server/internal/html.gen.js.map +1 -1
- package/dist/tempo/client/Methods.d.ts +1 -0
- package/dist/tempo/client/Methods.d.ts.map +1 -1
- package/dist/tempo/internal/fee-payer.d.ts +1 -0
- package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
- package/dist/tempo/internal/fee-payer.js +7 -2
- package/dist/tempo/internal/fee-payer.js.map +1 -1
- package/dist/tempo/legacy/client/ChannelOps.d.ts.map +1 -1
- package/dist/tempo/legacy/client/ChannelOps.js +2 -1
- package/dist/tempo/legacy/client/ChannelOps.js.map +1 -1
- package/dist/tempo/server/Charge.d.ts +46 -77
- package/dist/tempo/server/Charge.d.ts.map +1 -1
- package/dist/tempo/server/Charge.js +289 -209
- package/dist/tempo/server/Charge.js.map +1 -1
- package/dist/tempo/server/Methods.d.ts +12 -1
- package/dist/tempo/server/Methods.d.ts.map +1 -1
- package/dist/tempo/server/Methods.js +4 -0
- package/dist/tempo/server/Methods.js.map +1 -1
- package/dist/tempo/server/Relay.d.ts +57 -0
- package/dist/tempo/server/Relay.d.ts.map +1 -0
- package/dist/tempo/server/Relay.js +179 -0
- package/dist/tempo/server/Relay.js.map +1 -0
- package/dist/tempo/server/SponsorBudget.d.ts +59 -0
- package/dist/tempo/server/SponsorBudget.d.ts.map +1 -0
- package/dist/tempo/server/SponsorBudget.js +150 -0
- package/dist/tempo/server/SponsorBudget.js.map +1 -0
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/html.gen.js.map +1 -1
- package/dist/tempo/session/client/ChannelOps.d.ts +7 -1
- package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -1
- package/dist/tempo/session/client/ChannelOps.js +9 -4
- package/dist/tempo/session/client/ChannelOps.js.map +1 -1
- package/dist/tempo/session/client/CredentialState.d.ts +5 -1
- package/dist/tempo/session/client/CredentialState.d.ts.map +1 -1
- package/dist/tempo/session/client/CredentialState.js +37 -19
- package/dist/tempo/session/client/CredentialState.js.map +1 -1
- package/dist/tempo/session/client/Runtime.d.ts +8 -0
- package/dist/tempo/session/client/Runtime.d.ts.map +1 -1
- package/dist/tempo/session/client/Runtime.js +17 -0
- package/dist/tempo/session/client/Runtime.js.map +1 -1
- package/dist/tempo/session/client/Session.d.ts +15 -5
- package/dist/tempo/session/client/Session.d.ts.map +1 -1
- package/dist/tempo/session/client/Session.js +216 -45
- package/dist/tempo/session/client/Session.js.map +1 -1
- package/dist/tempo/session/client/SessionManager.d.ts +8 -1
- package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
- package/dist/tempo/session/client/SessionManager.js +114 -44
- package/dist/tempo/session/client/SessionManager.js.map +1 -1
- package/dist/tempo/session/client/Transports.d.ts +16 -6
- package/dist/tempo/session/client/Transports.d.ts.map +1 -1
- package/dist/tempo/session/client/Transports.js +84 -37
- package/dist/tempo/session/client/Transports.js.map +1 -1
- package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
- package/dist/tempo/session/precompile/Chain.js +96 -8
- package/dist/tempo/session/precompile/Chain.js.map +1 -1
- package/dist/tempo/session/precompile/Channel.d.ts +2 -0
- package/dist/tempo/session/precompile/Channel.d.ts.map +1 -1
- package/dist/tempo/session/precompile/Channel.js +4 -0
- package/dist/tempo/session/precompile/Channel.js.map +1 -1
- package/dist/tempo/session/server/RequestState.js +3 -1
- package/dist/tempo/session/server/RequestState.js.map +1 -1
- package/dist/tempo/session/server/Ws.d.ts.map +1 -1
- package/dist/tempo/session/server/Ws.js +3 -0
- package/dist/tempo/session/server/Ws.js.map +1 -1
- package/dist/tempo/subscription/KeyAuthorization.d.ts +1 -829
- package/dist/tempo/subscription/KeyAuthorization.d.ts.map +1 -1
- package/dist/tempo/subscription/KeyAuthorization.js +14 -3
- package/dist/tempo/subscription/KeyAuthorization.js.map +1 -1
- package/dist/viem/Client.d.ts.map +1 -1
- package/dist/viem/Client.js +6 -1
- package/dist/viem/Client.js.map +1 -1
- package/package.json +2 -2
- package/src/Errors.test.ts +23 -0
- package/src/Errors.ts +21 -2
- package/src/Method.test.ts +102 -1
- package/src/Method.ts +241 -5
- package/src/cli/validate/payment.ts +18 -4
- package/src/cli/validate.test.ts +16 -0
- package/src/client/Mppx.test-d.ts +3 -3
- package/src/client/internal/Fetch.test.ts +77 -0
- package/src/client/internal/Fetch.ts +122 -11
- package/src/client/internal/MethodChallenge.ts +35 -0
- package/src/client/internal/MethodResponse.ts +28 -0
- package/src/server/Mppx.test-d.ts +2 -0
- package/src/server/Mppx.test.ts +205 -0
- package/src/server/Mppx.ts +167 -103
- package/src/stripe/server/internal/html.gen.ts +1 -1
- package/src/tempo/PublicExports.test-d.ts +20 -0
- package/src/tempo/internal/fee-payer.ts +7 -3
- package/src/tempo/legacy/client/ChannelOps.test.ts +7 -0
- package/src/tempo/legacy/client/ChannelOps.ts +2 -1
- package/src/tempo/server/Charge.test.ts +337 -63
- package/src/tempo/server/Charge.ts +443 -267
- package/src/tempo/server/Methods.ts +11 -0
- package/src/tempo/server/Relay.test.ts +677 -0
- package/src/tempo/server/Relay.ts +297 -0
- package/src/tempo/server/SponsorBudget.test.ts +154 -0
- package/src/tempo/server/SponsorBudget.ts +219 -0
- package/src/tempo/server/internal/html.gen.ts +1 -1
- package/src/tempo/session/README.md +7 -0
- package/src/tempo/session/client/ChannelOps.test.ts +17 -2
- package/src/tempo/session/client/ChannelOps.ts +12 -4
- package/src/tempo/session/client/CredentialState.ts +61 -20
- package/src/tempo/session/client/Runtime.test.ts +12 -0
- package/src/tempo/session/client/Runtime.ts +22 -0
- package/src/tempo/session/client/Session.test.ts +506 -7
- package/src/tempo/session/client/Session.ts +279 -54
- package/src/tempo/session/client/SessionManager.test.ts +318 -13
- package/src/tempo/session/client/SessionManager.ts +132 -42
- package/src/tempo/session/client/Transports.test.ts +54 -1
- package/src/tempo/session/client/Transports.ts +137 -57
- package/src/tempo/session/precompile/Chain.integration.test.ts +19 -1
- package/src/tempo/session/precompile/Chain.test.ts +197 -10
- package/src/tempo/session/precompile/Chain.ts +102 -8
- package/src/tempo/session/precompile/Channel.test.ts +9 -0
- package/src/tempo/session/precompile/Channel.ts +5 -0
- package/src/tempo/session/server/RequestState.test.ts +8 -1
- package/src/tempo/session/server/RequestState.ts +2 -2
- package/src/tempo/session/server/Session.test.ts +66 -4
- package/src/tempo/session/server/Ws.ts +3 -0
- package/src/tempo/subscription/KeyAuthorization.test.ts +70 -1
- package/src/tempo/subscription/KeyAuthorization.ts +14 -3
- package/src/viem/Client.test.ts +18 -1
- package/src/viem/Client.ts +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# mppx
|
|
2
2
|
|
|
3
|
+
## 0.8.15
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 053d37d: Bumped `postcss` (via `vite`/`vite-plus`) and `tar` (via `prool`) to patched
|
|
8
|
+
versions, resolving a path-traversal advisory in `postcss`'s source map
|
|
9
|
+
loading and a stack-overflow DoS advisory in `tar`'s path filtering.
|
|
10
|
+
- f538450: Replaced the expired Viem preview with the current published release, preserved primitive
|
|
11
|
+
subscription authorization validation with the updated signature types, and resolved the
|
|
12
|
+
brace-expansion audit advisory.
|
|
13
|
+
- 7a277bc: Fixed `mppx validate` intermittently reporting a false `InsufficientBalance`
|
|
14
|
+
error when paying with an ephemeral Tempo testnet wallet, mislabeling
|
|
15
|
+
resolved chains in payment errors, and skipping other payment methods after
|
|
16
|
+
a Tempo testnet challenge succeeded.
|
|
17
|
+
- 36bc41e: Fixed repeated session challenge retries and durable session rollback after failed payments.
|
|
18
|
+
- c69087a: Refreshed expired session challenges before creating later WebSocket vouchers.
|
|
19
|
+
- 538e515: Prevent sponsored Tempo charges from returning a fresh payment challenge after
|
|
20
|
+
a concurrent budget reconciliation observes their onchain receipt.
|
|
21
|
+
- b900118: Fixed Tempo relay charges to delegate push payment finalization without re-broadcasting transactions.
|
|
22
|
+
- f4ac248: Fixed low-level session fetches retrying vouchers for unaccepted channel opens.
|
|
23
|
+
|
|
24
|
+
## 0.8.14
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- a8e73b7: Replaced per-sender sponsored charge serialization with durable atomic aggregate fee-budget reservations. Independent expiring-nonce transactions ran concurrently, waited for capacity when the sponsor budget was full, and retained pending exposure until receipt reconciliation or transaction expiry.
|
|
29
|
+
- 6156f80: Added an optional `topUpAmount` policy for batching automatic Tempo session top-ups while preserving exact-shortfall behavior by default.
|
|
30
|
+
- 7711982: Added a single-file Hono Tempo API relay-backed charge example.
|
|
31
|
+
- 8935947: Fixed automatic session top-ups before signing HTTP, SSE, and WebSocket credentials, including preserving a durable resumed channel after a committed top-up when the paid request failed.
|
|
32
|
+
- 9cc198e: Fixed Tempo relay verification fallback and restricted server lifecycle hook combinations to unambiguous configurations.
|
|
33
|
+
- a3a0d82: Use expiring nonces for sponsored and unsponsored Tempo session management transactions.
|
|
34
|
+
- 4fbcd0a: Added automatic stablecoin swaps for Tempo session channel opens and top-ups.
|
|
35
|
+
- 0f91d5d: Marked legacy combined payment verification hooks as deprecated in favor of separate validation and broadcast hooks.
|
|
36
|
+
- 9932a58: Added structured error codes and diagnostics for payment validation failures.
|
|
37
|
+
- 8f2e847: Added Tempo API relay configuration for server-side charge validation and broadcast.
|
|
38
|
+
- c7c1e4b: Added generic `validate`/`broadcast` credential lifecycle APIs and a Tempo charge implementation; Tempo session credential handling remained unchanged.
|
|
39
|
+
|
|
3
40
|
## 0.8.13
|
|
4
41
|
|
|
5
42
|
### Patch Changes
|
package/dist/Errors.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export declare const Hints: {
|
|
|
8
8
|
* Base class for all payment-related errors.
|
|
9
9
|
*/
|
|
10
10
|
export declare abstract class PaymentError extends Error {
|
|
11
|
+
/** Safe method-specific context for diagnostics and relay responses. */
|
|
12
|
+
readonly details: Readonly<Record<string, unknown>> | undefined;
|
|
11
13
|
/** RFC 9457 Problem Details type URI. */
|
|
12
14
|
abstract readonly type: string;
|
|
13
15
|
/** Human-readable summary for RFC 9457 Problem Details. */
|
|
@@ -16,10 +18,14 @@ export declare abstract class PaymentError extends Error {
|
|
|
16
18
|
readonly status: number;
|
|
17
19
|
/** Actionable hint for resolving the error (RFC 9457 extension member). */
|
|
18
20
|
readonly hint: string | undefined;
|
|
21
|
+
protected constructor(message: string, options?: PaymentError.Options);
|
|
19
22
|
/** Converts the error to RFC 9457 Problem Details format. */
|
|
20
23
|
toProblemDetails(challengeId?: string): PaymentError.ProblemDetails;
|
|
21
24
|
}
|
|
22
25
|
export declare namespace PaymentError {
|
|
26
|
+
type Options = {
|
|
27
|
+
details?: Record<string, unknown> | undefined;
|
|
28
|
+
};
|
|
23
29
|
type ProblemDetails = {
|
|
24
30
|
/** RFC 9457 Problem Details type URI. */
|
|
25
31
|
type: string;
|
|
@@ -29,6 +35,8 @@ export declare namespace PaymentError {
|
|
|
29
35
|
status: number;
|
|
30
36
|
/** Human-readable explanation. */
|
|
31
37
|
detail: string;
|
|
38
|
+
/** Safe method-specific diagnostic context. */
|
|
39
|
+
details?: Readonly<Record<string, unknown>>;
|
|
32
40
|
/** Actionable hint for resolving the error (RFC 9457 extension member). */
|
|
33
41
|
hint?: string;
|
|
34
42
|
/** Associated challenge ID, if applicable. */
|
|
@@ -81,6 +89,8 @@ export declare class VerificationFailedError extends PaymentError {
|
|
|
81
89
|
}
|
|
82
90
|
export declare namespace VerificationFailedError {
|
|
83
91
|
type Options = {
|
|
92
|
+
/** Safe method-specific diagnostic context. */
|
|
93
|
+
details?: Record<string, unknown> | undefined;
|
|
84
94
|
/** Reason verification failed (e.g., "invalid signature", "insufficient amount"). */
|
|
85
95
|
reason?: string;
|
|
86
96
|
};
|
package/dist/Errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,eAAO,MAAM,KAAK;;;;CAOR,CAAA;AAEV;;GAEG;AACH,8BAAsB,YAAa,SAAQ,KAAK;IAC9C,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAE9B,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAE/B,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAM;IAE7B,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAEjC,6DAA6D;IAC7D,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"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"}
|
package/dist/Errors.js
CHANGED
|
@@ -8,10 +8,16 @@ export const Hints = {
|
|
|
8
8
|
* Base class for all payment-related errors.
|
|
9
9
|
*/
|
|
10
10
|
export class PaymentError extends Error {
|
|
11
|
+
/** Safe method-specific context for diagnostics and relay responses. */
|
|
12
|
+
details;
|
|
11
13
|
/** HTTP status code. */
|
|
12
14
|
status = 402;
|
|
13
15
|
/** Actionable hint for resolving the error (RFC 9457 extension member). */
|
|
14
16
|
hint;
|
|
17
|
+
constructor(message, options = {}) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.details = options.details;
|
|
20
|
+
}
|
|
15
21
|
/** Converts the error to RFC 9457 Problem Details format. */
|
|
16
22
|
toProblemDetails(challengeId) {
|
|
17
23
|
return {
|
|
@@ -19,6 +25,7 @@ export class PaymentError extends Error {
|
|
|
19
25
|
title: this.title,
|
|
20
26
|
status: this.status,
|
|
21
27
|
detail: this.message,
|
|
28
|
+
...(this.details && Object.keys(this.details).length > 0 && { details: this.details }),
|
|
22
29
|
...(this.hint && { hint: this.hint }),
|
|
23
30
|
...(challengeId && { challengeId }),
|
|
24
31
|
};
|
|
@@ -61,8 +68,10 @@ export class VerificationFailedError extends PaymentError {
|
|
|
61
68
|
title = 'Verification Failed';
|
|
62
69
|
type = 'https://paymentauth.org/problems/verification-failed';
|
|
63
70
|
constructor(options = {}) {
|
|
64
|
-
const { reason } = options;
|
|
65
|
-
super(reason ? `Payment verification failed: ${reason}.` : 'Payment verification failed.'
|
|
71
|
+
const { details, reason } = options;
|
|
72
|
+
super(reason ? `Payment verification failed: ${reason}.` : 'Payment verification failed.', {
|
|
73
|
+
details,
|
|
74
|
+
});
|
|
66
75
|
}
|
|
67
76
|
}
|
|
68
77
|
/**
|
package/dist/Errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,eAAe,EACb,yKAAyK;IAC3K,mBAAmB,EACjB,6KAA6K;IAC/K,iBAAiB,EACf,yKAAyK;CACnK,CAAA;AAEV;;GAEG;AACH,MAAM,OAAgB,YAAa,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,eAAe,EACb,yKAAyK;IAC3K,mBAAmB,EACjB,6KAA6K;IAC/K,iBAAiB,EACf,yKAAyK;CACnK,CAAA;AAEV;;GAEG;AACH,MAAM,OAAgB,YAAa,SAAQ,KAAK;IAC9C,wEAAwE;IAC/D,OAAO,CAA+C;IAQ/D,wBAAwB;IACf,MAAM,GAAW,GAAG,CAAA;IAE7B,2EAA2E;IAClE,IAAI,CAAoB;IAEjC,YAAsB,OAAe,EAAE,UAAgC,EAAE;QACvE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAChC,CAAC;IAED,6DAA6D;IAC7D,gBAAgB,CAAC,WAAoB;QACnC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YACtF,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACrC,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;SACpC,CAAA;IACH,CAAC;CACF;AAyBD;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,YAAY;IACtC,IAAI,GAAG,0BAA0B,CAAA;IAC1C,KAAK,GAAG,sBAAsB,CAAA;IACrB,MAAM,GAAG,GAAG,CAAA;IACrB,IAAI,GAAG,uDAAuD,CAAA;IACrD,IAAI,GAAG,KAAK,CAAC,mBAAmB,CAAA;IAElD,YAAY,UAA4C,EAAE;QACxD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B,MAAM,GAAG,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAA;IACpF,CAAC;CACF;AASD;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IACnC,IAAI,GAAG,uBAAuB,CAAA;IACvC,KAAK,GAAG,mBAAmB,CAAA;IAClB,MAAM,GAAG,GAAG,CAAA;IACrB,IAAI,GAAG,oDAAoD,CAAA;IAEpE,YAAY,UAAyC,EAAE;QACrD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACnC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC9C,KAAK,CAAC,YAAY,MAAM,cAAc,UAAU,GAAG,CAAC,CAAA;IACtD,CAAC;CACF;AAWD;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,YAAY;IACrC,IAAI,GAAG,yBAAyB,CAAA;IACzC,KAAK,GAAG,qBAAqB,CAAA;IAC7B,IAAI,GAAG,sDAAsD,CAAA;IAEtE,YAAY,UAA2C,EAAE;QACvD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QACnC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,gCAAgC,MAAM,GAAG,CAAC,CAAC,CAAC,8BAA8B,EAAE;YACzF,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;CACF;AAWD;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,YAAY;IACxC,IAAI,GAAG,4BAA4B,CAAA;IAC5C,KAAK,GAAG,yBAAyB,CAAA;IACjC,IAAI,GAAG,0DAA0D,CAAA;IAE1E,YAAY,UAA8C,EAAE;QAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B,MAAM,GAAG,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAA;IACpF,CAAC;CACF;AASD;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IACjC,IAAI,GAAG,qBAAqB,CAAA;IACrC,KAAK,GAAG,iBAAiB,CAAA;IACzB,IAAI,GAAG,kDAAkD,CAAA;IAElE,YAAY,UAAuC,EAAE;QACnD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,OAAO,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;IAC5E,CAAC;CACF;AASD;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IAClC,IAAI,GAAG,sBAAsB,CAAA;IACtC,KAAK,GAAG,kBAAkB,CAAA;IAC1B,IAAI,GAAG,mDAAmD,CAAA;IACjD,IAAI,GAAG,KAAK,CAAC,eAAe,CAAA;IAE9C,YAAY,UAAwC,EAAE;QACpD,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;QAC/B,MAAM,KAAK,GAAG,CAAC,qBAAqB,CAAC,CAAA;QACrC,IAAI,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,GAAG,CAAC,CAAA;QAC/C,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;CACF;AASD;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IACjC,IAAI,GAAG,qBAAqB,CAAA;IACrC,KAAK,GAAG,iBAAiB,CAAA;IACzB,IAAI,GAAG,kDAAkD,CAAA;IAElE,YAAY,UAAuC,EAAE;QACnD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,kCAAkC,MAAM,GAAG,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAA;IAChG,CAAC;CACF;AASD;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC7B,IAAI,GAAG,iBAAiB,CAAA;IACjC,KAAK,GAAG,aAAa,CAAA;IACZ,MAAM,GAAG,GAAG,CAAA;IACrB,IAAI,GAAG,8CAA8C,CAAA;IAE9D,YAAY,UAAmC,EAAE;QAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;IAC5D,CAAC;CACF;AASD;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,YAAY;IACtC,IAAI,GAAG,0BAA0B,CAAA;IAC1C,KAAK,GAAG,sBAAsB,CAAA;IAC9B,IAAI,GAAG,uDAAuD,CAAA;IAEvE,YAAY,UAA4C,EAAE;QACxD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,MAAM,GAAG,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAA;IACxF,CAAC;CACF;AASD;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,YAAY;IAC3C,IAAI,GAAG,+BAA+B,CAAA;IAC/C,KAAK,GAAG,oBAAoB,CAAA;IACnB,MAAM,GAAG,GAAG,CAAA;IACrB,IAAI,GAAG,qDAAqD,CAAA;IACnD,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAA;IAEhD,YAAY,UAAiD,EAAE;QAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,KAAK,CACH,MAAM,CAAC,CAAC,CAAC,mBAAmB,MAAM,qBAAqB,CAAC,CAAC,CAAC,kCAAkC,CAC7F,CAAA;IACH,CAAC;CACF;AASD;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,YAAY;IACtC,IAAI,GAAG,0BAA0B,CAAA;IAC1C,KAAK,GAAG,sBAAsB,CAAA;IACrB,MAAM,GAAG,GAAG,CAAA;IACrB,IAAI,GAAG,+DAA+D,CAAA;IAE/E,YAAY,UAA4C,EAAE;QACxD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,MAAM,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAA;IAC9E,CAAC;CACF;AASD;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IACnC,IAAI,GAAG,uBAAuB,CAAA;IACvC,KAAK,GAAG,mBAAmB,CAAA;IAClB,MAAM,GAAG,GAAG,CAAA;IACrB,IAAI,GAAG,4DAA4D,CAAA;IAE5E,YAAY,UAAyC,EAAE;QACrD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,MAAM,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;IACxE,CAAC;CACF;AAQD;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IACjC,IAAI,GAAG,qBAAqB,CAAA;IACrC,KAAK,GAAG,iBAAiB,CAAA;IAChB,MAAM,GAAG,GAAG,CAAA;IACrB,IAAI,GAAG,0DAA0D,CAAA;IAE1E,YAAY,UAAuC,EAAE;QACnD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,MAAM,GAAG,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAA;IAC9F,CAAC;CACF;AAQD;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,YAAY;IACvC,IAAI,GAAG,2BAA2B,CAAA;IAC3C,KAAK,GAAG,wBAAwB,CAAA;IACvB,MAAM,GAAG,GAAG,CAAA;IACrB,IAAI,GAAG,iEAAiE,CAAA;IAEjF,YAAY,UAA6C,EAAE;QACzD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,MAAM,GAAG,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAA;IAClG,CAAC;CACF;AAQD;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAChC,IAAI,GAAG,oBAAoB,CAAA;IACpC,KAAK,GAAG,iBAAiB,CAAA;IAChB,MAAM,GAAG,GAAG,CAAA;IACrB,IAAI,GAAG,0DAA0D,CAAA;IAE1E,YAAY,UAAsC,EAAE;QAClD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,MAAM,GAAG,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAA;IAChG,CAAC;CACF;AAQD;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IAClC,IAAI,GAAG,sBAAsB,CAAA;IACtC,KAAK,GAAG,mBAAmB,CAAA;IAClB,MAAM,GAAG,GAAG,CAAA;IACrB,IAAI,GAAG,4DAA4D,CAAA;IAE5E,YAAY,UAAwC,EAAE;QACpD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,MAAM,GAAG,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAA;IACrF,CAAC;CACF;AAQD;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAChC,IAAI,GAAG,oBAAoB,CAAA;IACpC,KAAK,GAAG,gBAAgB,CAAA;IACf,MAAM,GAAG,GAAG,CAAA;IACrB,IAAI,GAAG,4DAA4D,CAAA;IAE5E,YAAY,UAAsC,EAAE;QAClD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,MAAM,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;IACrE,CAAC;CACF"}
|
package/dist/Method.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as Challenge from './Challenge.js';
|
|
2
|
-
import
|
|
2
|
+
import * as Credential from './Credential.js';
|
|
3
3
|
import type { ExactPartial, LooseOmit, MaybePromise } from './internal/types.js';
|
|
4
4
|
import type * as Receipt from './Receipt.js';
|
|
5
5
|
import type * as Html from './server/internal/html/config.js';
|
|
@@ -83,11 +83,62 @@ export type VerifyContext<method extends Method> = {
|
|
|
83
83
|
envelope?: VerifiedChallengeEnvelope<z.output<method['schema']['request']>, z.output<method['schema']['credential']['payload']>, method['intent'], method['name']> | undefined;
|
|
84
84
|
request: z.input<method['schema']['request']>;
|
|
85
85
|
};
|
|
86
|
+
/** Validation hook parameters for a single method. */
|
|
87
|
+
export type ValidateContext<method extends Method> = VerifyContext<method>;
|
|
86
88
|
/** Response hook parameters for a single method. */
|
|
87
89
|
export type RespondContext<method extends Method> = VerifyContext<method> & {
|
|
88
90
|
input: globalThis.Request;
|
|
89
91
|
receipt: Receipt.Receipt;
|
|
90
92
|
};
|
|
93
|
+
/**
|
|
94
|
+
* Non-mutating method-specific validation result.
|
|
95
|
+
*
|
|
96
|
+
* Returned by {@link ValidateFn} and exposed from `mppx.validateCredential()`.
|
|
97
|
+
* This confirms that a credential is currently acceptable to the payment
|
|
98
|
+
* method; it does not settle, reserve, or otherwise consume the payment.
|
|
99
|
+
*/
|
|
100
|
+
export type Validation<method extends Method = Method, details = unknown> = Readonly<{
|
|
101
|
+
/**
|
|
102
|
+
* The challenge echoed by the credential and accepted by the method.
|
|
103
|
+
*
|
|
104
|
+
* Callers using `Mppx.validateCredential()` receive a challenge whose HMAC,
|
|
105
|
+
* expiry, route binding, and method identity have already been checked.
|
|
106
|
+
* Lower-level `Method.validateCredential()` callers must verify challenge
|
|
107
|
+
* issuance and route binding themselves.
|
|
108
|
+
*/
|
|
109
|
+
challenge: Challenge.Challenge<z.output<method['schema']['request']>, method['intent'], method['name']>;
|
|
110
|
+
/**
|
|
111
|
+
* The submitted credential with its method-specific payload parsed by the
|
|
112
|
+
* selected method schema. This is the exact credential validation examined.
|
|
113
|
+
*/
|
|
114
|
+
credential: Credential.Credential<z.output<method['schema']['credential']['payload']>, Challenge.Challenge<z.output<method['schema']['request']>, method['intent'], method['name']>>;
|
|
115
|
+
/**
|
|
116
|
+
* Method-defined, non-mutating validation data.
|
|
117
|
+
*
|
|
118
|
+
* Its shape is intentionally method-specific—for example, a recovered payer
|
|
119
|
+
* address or a simulation result. Consumers must not assume a particular
|
|
120
|
+
* shape or use it as a settlement receipt.
|
|
121
|
+
*/
|
|
122
|
+
details: details;
|
|
123
|
+
/** The validated payment intent, repeated for convenient dispatch. */
|
|
124
|
+
intent: method['intent'];
|
|
125
|
+
/** The validated payment method, repeated for convenient dispatch. */
|
|
126
|
+
method: method['name'];
|
|
127
|
+
/**
|
|
128
|
+
* The validated method request after the method's schema transforms.
|
|
129
|
+
*
|
|
130
|
+
* For `Mppx.validateCredential()` with route options, this is the
|
|
131
|
+
* authoritative route request after defaults and request-hook transforms.
|
|
132
|
+
*/
|
|
133
|
+
request: z.output<method['schema']['request']>;
|
|
134
|
+
/**
|
|
135
|
+
* Optional payer identity declared by the credential.
|
|
136
|
+
*
|
|
137
|
+
* This is an asserted identity, not independent proof of control; methods
|
|
138
|
+
* that rely on it must validate the relationship to the credential payload.
|
|
139
|
+
*/
|
|
140
|
+
source?: string | undefined;
|
|
141
|
+
}>;
|
|
91
142
|
/**
|
|
92
143
|
* A server-side configured method with verification logic.
|
|
93
144
|
*/
|
|
@@ -100,8 +151,15 @@ export type Server<method extends Method = Method, defaults extends ExactPartial
|
|
|
100
151
|
preflight?: PreflightFn<method> | undefined;
|
|
101
152
|
request?: RequestFn<method> | undefined;
|
|
102
153
|
respond?: RespondFn<method> | undefined;
|
|
154
|
+
broadcast?: BroadcastFn<method> | undefined;
|
|
103
155
|
stableBinding?: StableBindingFn<method> | undefined;
|
|
104
156
|
transport?: transportOverride | undefined;
|
|
157
|
+
validate?: ValidateFn<method> | undefined;
|
|
158
|
+
/**
|
|
159
|
+
* @deprecated Use `validate` for the non-mutating pre-check and `broadcast`
|
|
160
|
+
* for settlement. `verify` combines both operations and may consume payment
|
|
161
|
+
* state, so it cannot support a safe pre-check endpoint.
|
|
162
|
+
*/
|
|
105
163
|
verify: VerifyFn<method>;
|
|
106
164
|
};
|
|
107
165
|
export type AnyServer = Server<any, any, any, any, any>;
|
|
@@ -162,8 +220,40 @@ export type PreflightFn<method extends Method> = (parameters: {
|
|
|
162
220
|
* default amount/currency/recipient binding used by generic methods.
|
|
163
221
|
*/
|
|
164
222
|
export type StableBindingFn<method extends Method> = (request: z.output<method['schema']['request']>) => Record<string, unknown>;
|
|
165
|
-
/**
|
|
223
|
+
/**
|
|
224
|
+
* Legacy combined validation and settlement function for a single method.
|
|
225
|
+
*
|
|
226
|
+
* @deprecated Implement `validate` and `broadcast` instead. `validate` must
|
|
227
|
+
* be non-mutating; `broadcast` performs the terminal payment operation. This
|
|
228
|
+
* hook remains only for existing methods that cannot yet split those phases.
|
|
229
|
+
*/
|
|
166
230
|
export type VerifyFn<method extends Method> = (parameters: VerifyContext<method>) => Promise<Receipt.Receipt>;
|
|
231
|
+
/**
|
|
232
|
+
* Non-mutating validation function for a single method.
|
|
233
|
+
*
|
|
234
|
+
* @returns A {@link Validation} record describing the credential that was
|
|
235
|
+
* accepted. It must not settle, reserve, or otherwise consume payment state.
|
|
236
|
+
*/
|
|
237
|
+
export type ValidateFn<method extends Method> = (parameters: ValidateContext<method>) => Promise<Validation<method>>;
|
|
238
|
+
/** Terminal payment function for a single method. */
|
|
239
|
+
export type BroadcastFn<method extends Method> = (parameters: VerifyContext<method>) => Promise<Receipt.Receipt>;
|
|
240
|
+
/**
|
|
241
|
+
* Validates a credential against one of the configured methods.
|
|
242
|
+
*
|
|
243
|
+
* This checks credential structure, challenge expiry, and method-specific
|
|
244
|
+
* validation. It does not prove that the challenge was issued by a particular
|
|
245
|
+
* server; hosts that issue challenges must verify that binding separately.
|
|
246
|
+
*/
|
|
247
|
+
export declare function validateCredential<const methods extends readonly AnyServer[]>(methods: methods, input: string | Credential.Credential): Promise<Validation<methods[number]>>;
|
|
248
|
+
/**
|
|
249
|
+
* Re-validates and performs the terminal payment operation for a credential.
|
|
250
|
+
*
|
|
251
|
+
* This does not prove that the challenge was issued by a particular server;
|
|
252
|
+
* hosts that issue challenges must verify that binding separately.
|
|
253
|
+
*/
|
|
254
|
+
export declare function broadcastCredential<const methods extends readonly AnyServer[]>(methods: methods, input: string | Credential.Credential): Promise<Receipt.Receipt>;
|
|
255
|
+
/** @internal */
|
|
256
|
+
export declare function selectServerMethod(methods: readonly AnyServer[], challenge: Challenge.Challenge): AnyServer | undefined;
|
|
167
257
|
/**
|
|
168
258
|
* Optional respond function for a server-side method.
|
|
169
259
|
*
|
|
@@ -239,7 +329,19 @@ export declare namespace toServer {
|
|
|
239
329
|
respond?: RespondFn<method> | undefined;
|
|
240
330
|
stableBinding?: StableBindingFn<method> | undefined;
|
|
241
331
|
transport?: transportOverride | Transport.AnyTransport | undefined;
|
|
332
|
+
} & ({
|
|
333
|
+
broadcast: BroadcastFn<method>;
|
|
334
|
+
validate?: ValidateFn<method> | undefined;
|
|
335
|
+
verify?: undefined;
|
|
336
|
+
} | {
|
|
337
|
+
broadcast?: undefined;
|
|
338
|
+
validate?: undefined;
|
|
339
|
+
/**
|
|
340
|
+
* @deprecated Use `validate` and `broadcast` for new methods. This
|
|
341
|
+
* combined hook may mutate payment state and cannot power a safe
|
|
342
|
+
* validation-only endpoint.
|
|
343
|
+
*/
|
|
242
344
|
verify: VerifyFn<method>;
|
|
243
|
-
};
|
|
345
|
+
});
|
|
244
346
|
}
|
|
245
347
|
//# sourceMappingURL=Method.d.ts.map
|
package/dist/Method.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Method.d.ts","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Method.d.ts","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"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"}
|
package/dist/Method.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import * as Constants from './Constants.js';
|
|
2
|
+
import * as Credential from './Credential.js';
|
|
3
|
+
import * as Errors from './Errors.js';
|
|
4
|
+
import * as Expires from './Expires.js';
|
|
1
5
|
/**
|
|
2
6
|
* Creates a payment method.
|
|
3
7
|
*
|
|
@@ -28,6 +32,90 @@
|
|
|
28
32
|
export function from(method) {
|
|
29
33
|
return method;
|
|
30
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Validates a credential against one of the configured methods.
|
|
37
|
+
*
|
|
38
|
+
* This checks credential structure, challenge expiry, and method-specific
|
|
39
|
+
* validation. It does not prove that the challenge was issued by a particular
|
|
40
|
+
* server; hosts that issue challenges must verify that binding separately.
|
|
41
|
+
*/
|
|
42
|
+
export async function validateCredential(methods, input) {
|
|
43
|
+
const prepared = prepareCredential(methods, input);
|
|
44
|
+
if (!prepared.method.validate)
|
|
45
|
+
throw new Errors.VerificationFailedError({
|
|
46
|
+
details: { intent: prepared.method.intent, method: prepared.method.name },
|
|
47
|
+
reason: `${prepared.method.name}/${prepared.method.intent} does not support non-mutating credential validation`,
|
|
48
|
+
});
|
|
49
|
+
return prepared.method.validate({
|
|
50
|
+
credential: prepared.credential,
|
|
51
|
+
request: prepared.request,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Re-validates and performs the terminal payment operation for a credential.
|
|
56
|
+
*
|
|
57
|
+
* This does not prove that the challenge was issued by a particular server;
|
|
58
|
+
* hosts that issue challenges must verify that binding separately.
|
|
59
|
+
*/
|
|
60
|
+
export async function broadcastCredential(methods, input) {
|
|
61
|
+
const prepared = prepareCredential(methods, input);
|
|
62
|
+
const { method } = prepared;
|
|
63
|
+
if (method.broadcast && method.validate)
|
|
64
|
+
await method.validate({ credential: prepared.credential, request: prepared.request });
|
|
65
|
+
const broadcast = method.broadcast ?? method.verify;
|
|
66
|
+
return broadcast({ credential: prepared.credential, request: prepared.request });
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Parses a submitted credential into the inputs required for method execution.
|
|
70
|
+
*
|
|
71
|
+
* Dispatch is based on the challenge method and intent. When more than one
|
|
72
|
+
* server method handles the same wire identity, session protocol details select
|
|
73
|
+
* the appropriate implementation. The helper then asserts challenge expiry and
|
|
74
|
+
* parses the method-specific credential payload before returning the selected
|
|
75
|
+
* method and the unmodified challenge request.
|
|
76
|
+
*
|
|
77
|
+
* This intentionally does not verify that the challenge was issued by a
|
|
78
|
+
* particular host, authorize the caller or requested resource, validate the
|
|
79
|
+
* method request, or invoke method lifecycle hooks. Hosts that issue challenges
|
|
80
|
+
* must verify their challenge binding before accepting the credential.
|
|
81
|
+
*/
|
|
82
|
+
function prepareCredential(methods, input) {
|
|
83
|
+
const credential = typeof input === 'string' ? Credential.deserialize(input) : input;
|
|
84
|
+
const candidates = methods.filter((method) => method.name === credential.challenge.method && method.intent === credential.challenge.intent);
|
|
85
|
+
const method = selectServerMethod(candidates, credential.challenge);
|
|
86
|
+
if (!method)
|
|
87
|
+
throw new Errors.InvalidChallengeError({
|
|
88
|
+
id: credential.challenge.id,
|
|
89
|
+
reason: `no registered method for ${credential.challenge.method}/${credential.challenge.intent}`,
|
|
90
|
+
});
|
|
91
|
+
Expires.assert(credential.challenge.expires, credential.challenge.id);
|
|
92
|
+
let payload;
|
|
93
|
+
try {
|
|
94
|
+
payload = method.schema.credential.payload.parse(credential.payload);
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
throw new Errors.InvalidPayloadError(error instanceof Error ? { reason: error.message } : {});
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
credential: { ...credential, payload },
|
|
101
|
+
method,
|
|
102
|
+
request: credential.challenge.request,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/** @internal */
|
|
106
|
+
export function selectServerMethod(methods, challenge) {
|
|
107
|
+
if (methods.length <= 1)
|
|
108
|
+
return methods[0];
|
|
109
|
+
if (challenge.method !== Constants.Methods.tempo ||
|
|
110
|
+
challenge.intent !== Constants.Intents.session)
|
|
111
|
+
return methods[0];
|
|
112
|
+
const sessionProtocol = Constants.getMethodDetail(challenge.request.methodDetails, Constants.MethodDetailKeys.sessionProtocol);
|
|
113
|
+
if (sessionProtocol === undefined || sessionProtocol === Constants.SessionProtocols.v1)
|
|
114
|
+
return methods.find((method) => method.alias === 'sessionLegacy') ?? methods[0];
|
|
115
|
+
if (sessionProtocol === Constants.SessionProtocols.v2)
|
|
116
|
+
return methods.find((method) => method.alias === undefined) ?? methods[0];
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
31
119
|
/**
|
|
32
120
|
* Extends a method with client-side credential creation logic.
|
|
33
121
|
*
|
|
@@ -69,7 +157,17 @@ export function toClient(method, options) {
|
|
|
69
157
|
* ```
|
|
70
158
|
*/
|
|
71
159
|
export function toServer(method, options) {
|
|
72
|
-
const { alias, authorize, defaults, extensions, html, preflight, request, respond, stableBinding, transport, verify, } = options;
|
|
160
|
+
const { alias, authorize, defaults, extensions, html, preflight, request, respond, broadcast, stableBinding, transport, validate, verify, } = options;
|
|
161
|
+
const effectiveVerify = verify ??
|
|
162
|
+
(async (parameters) => {
|
|
163
|
+
if (validate)
|
|
164
|
+
await validate(parameters);
|
|
165
|
+
if (!broadcast)
|
|
166
|
+
throw new Errors.VerificationFailedError({
|
|
167
|
+
reason: `${method.name}/${method.intent} does not support credential broadcast`,
|
|
168
|
+
});
|
|
169
|
+
return broadcast(parameters);
|
|
170
|
+
});
|
|
73
171
|
return {
|
|
74
172
|
...method,
|
|
75
173
|
alias,
|
|
@@ -80,9 +178,11 @@ export function toServer(method, options) {
|
|
|
80
178
|
preflight,
|
|
81
179
|
request,
|
|
82
180
|
respond,
|
|
181
|
+
broadcast,
|
|
83
182
|
stableBinding,
|
|
84
183
|
transport,
|
|
85
|
-
|
|
184
|
+
validate,
|
|
185
|
+
verify: effectiveVerify,
|
|
86
186
|
};
|
|
87
187
|
}
|
|
88
188
|
//# sourceMappingURL=Method.js.map
|
package/dist/Method.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Method.js","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Method.js","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/cli/validate/payment.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/cli/validate/payment.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAsH7D,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IACnC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACzB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;CAC7C,GACA,OAAO,CAAC,WAAW,EAAE,CAAC,CAiJxB"}
|
|
@@ -27,6 +27,20 @@ async function provisionAndPayTestnet(challenge, verbose, silent) {
|
|
|
27
27
|
await Promise.all(hashes.map((hash) => waitForTransactionReceipt(client, { hash })));
|
|
28
28
|
if (!silent)
|
|
29
29
|
console.log(pc.dim(` Using wallet: ${account.address}`));
|
|
30
|
+
// The faucet tx receipt can land before the RPC's balance reads are
|
|
31
|
+
// consistent with it, so poll briefly for the funded balance to appear
|
|
32
|
+
// rather than racing straight into the charge.
|
|
33
|
+
const currency = challenge.request.currency;
|
|
34
|
+
if (typeof currency === 'string') {
|
|
35
|
+
for (let attempt = 0; attempt < 10; attempt++) {
|
|
36
|
+
const balance = await Actions.token
|
|
37
|
+
.getBalance(client, { account: account.address, token: currency })
|
|
38
|
+
.catch(() => undefined);
|
|
39
|
+
if (balance && balance.amount > 0n)
|
|
40
|
+
break;
|
|
41
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
30
44
|
const methods = [...tempoMethods({ account })];
|
|
31
45
|
return { methods };
|
|
32
46
|
}
|
|
@@ -158,19 +172,19 @@ export async function validatePaymentFlow(baseUrl, endpoint, verbose, options) {
|
|
|
158
172
|
const mppx = Mppx.create({ methods: provisioned.methods, polyfill: false });
|
|
159
173
|
const cred = await mppx.createCredential(fakeResp);
|
|
160
174
|
results.push(check('Payment: submitted', 'ephemeral testnet wallet'));
|
|
161
|
-
|
|
175
|
+
await sendAndValidateResponse(results, url, endpoint, cred, fetchHeaders, fetchBody, verbose, tempoModerato);
|
|
162
176
|
}
|
|
163
177
|
catch (error) {
|
|
164
178
|
results.push(fail('Payment: create credential', error.message));
|
|
165
|
-
return results;
|
|
166
179
|
}
|
|
167
180
|
}
|
|
168
181
|
else {
|
|
169
182
|
results.push(fail('Payment: auto-provision wallet', 'Failed to create and fund testnet wallet'));
|
|
170
|
-
return results;
|
|
171
183
|
}
|
|
184
|
+
options.onResults?.(results);
|
|
172
185
|
}
|
|
173
|
-
// Try each challenge method (
|
|
186
|
+
// Try each remaining challenge method (tempo testnet already handled above),
|
|
187
|
+
// so validate exercises every payment method the server offers, same as mainnet.
|
|
174
188
|
const loaded = await loadConfig().catch(() => undefined);
|
|
175
189
|
const isInteractive = options.interactive;
|
|
176
190
|
const stripeKey = process.env.MPPX_STRIPE_SECRET_KEY ?? resolveStripeKey(verbose);
|