@contextvm/sdk 0.4.12 → 0.4.13
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/dist/esm/payments/client-payments.d.ts +15 -2
- package/dist/esm/payments/client-payments.d.ts.map +1 -1
- package/dist/esm/payments/client-payments.js +51 -12
- package/dist/esm/payments/client-payments.js.map +1 -1
- package/dist/esm/payments/constants.d.ts +7 -0
- package/dist/esm/payments/constants.d.ts.map +1 -1
- package/dist/esm/payments/constants.js +7 -0
- package/dist/esm/payments/constants.js.map +1 -1
- package/dist/esm/payments/server-payments.d.ts.map +1 -1
- package/dist/esm/payments/server-payments.js +18 -2
- package/dist/esm/payments/server-payments.js.map +1 -1
- package/dist/esm/payments/types.d.ts +22 -0
- package/dist/esm/payments/types.d.ts.map +1 -1
- package/dist/esm/payments/types.js +25 -0
- package/dist/esm/payments/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,16 +7,29 @@ export interface ClientPaymentsOptions {
|
|
|
7
7
|
*
|
|
8
8
|
* One heartbeat is also emitted immediately when `payment_required` is
|
|
9
9
|
* received so the MCP timeout is always reset as soon as the payment flow
|
|
10
|
-
* begins
|
|
11
|
-
* @default DEFAULT_SYNTHETIC_PROGRESS_INTERVAL_MS (
|
|
10
|
+
* begins.
|
|
11
|
+
* @default DEFAULT_SYNTHETIC_PROGRESS_INTERVAL_MS (30_000 ms)
|
|
12
12
|
*/
|
|
13
13
|
syntheticProgressIntervalMs?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Duration in ms for synthetic progress when `payment_required` carries no `ttl`.
|
|
16
|
+
*
|
|
17
|
+
* Mirrors the server-side `paymentTtlMs` default so the client keeps the MCP
|
|
18
|
+
* request alive for at least as long as the server will wait.
|
|
19
|
+
* @default DEFAULT_PAYMENT_TTL_MS (300_000 ms)
|
|
20
|
+
*/
|
|
21
|
+
defaultPaymentTtlMs?: number;
|
|
14
22
|
}
|
|
15
23
|
/**
|
|
16
24
|
* Wraps a transport to automatically handle CEP-8 payment requests.
|
|
17
25
|
*
|
|
18
26
|
* When `transport` is a {@link NostrClientTransport}, PMI advertisement and
|
|
19
27
|
* synthetic progress injection are enabled automatically.
|
|
28
|
+
*
|
|
29
|
+
* Note: `payment_rejected` → JSON-RPC error synthesis requires a
|
|
30
|
+
* {@link NostrClientTransport} because correlation (requestEventId → MCP request id)
|
|
31
|
+
* depends on Nostr event tagging. On plain transports a rejected payment surfaces
|
|
32
|
+
* as an unhandled notification and the MCP request times out naturally.
|
|
20
33
|
*/
|
|
21
34
|
export declare function withClientPayments(transport: Transport, options: ClientPaymentsOptions): Transport;
|
|
22
35
|
//# sourceMappingURL=client-payments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-payments.d.ts","sourceRoot":"","sources":["../../../src/payments/client-payments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAS/E,OAAO,
|
|
1
|
+
{"version":3,"file":"client-payments.d.ts","sourceRoot":"","sources":["../../../src/payments/client-payments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAS/E,OAAO,EACL,cAAc,EAGf,MAAM,YAAY,CAAC;AAOpB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAkBD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,qBAAqB,GAC7B,SAAS,CA8VX"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isJSONRPCNotification, isJSONRPCResultResponse, isJSONRPCErrorResponse, } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
import { NostrClientTransport } from '../transport/nostr-client-transport.js';
|
|
3
3
|
import { createLogger } from '../core/utils/logger.js';
|
|
4
|
-
import { DEFAULT_SYNTHETIC_PROGRESS_INTERVAL_MS } from './constants.js';
|
|
4
|
+
import { DEFAULT_SYNTHETIC_PROGRESS_INTERVAL_MS, DEFAULT_PAYMENT_TTL_MS, } from './constants.js';
|
|
5
5
|
function isPaymentRequiredNotification(msg) {
|
|
6
6
|
return (isJSONRPCNotification(msg) &&
|
|
7
7
|
msg.method === 'notifications/payment_required');
|
|
@@ -11,11 +11,17 @@ function isPaymentRequiredNotification(msg) {
|
|
|
11
11
|
*
|
|
12
12
|
* When `transport` is a {@link NostrClientTransport}, PMI advertisement and
|
|
13
13
|
* synthetic progress injection are enabled automatically.
|
|
14
|
+
*
|
|
15
|
+
* Note: `payment_rejected` → JSON-RPC error synthesis requires a
|
|
16
|
+
* {@link NostrClientTransport} because correlation (requestEventId → MCP request id)
|
|
17
|
+
* depends on Nostr event tagging. On plain transports a rejected payment surfaces
|
|
18
|
+
* as an unhandled notification and the MCP request times out naturally.
|
|
14
19
|
*/
|
|
15
20
|
export function withClientPayments(transport, options) {
|
|
16
|
-
var _a;
|
|
21
|
+
var _a, _b;
|
|
17
22
|
const logger = createLogger('client-payments');
|
|
18
23
|
const syntheticProgressIntervalMs = (_a = options.syntheticProgressIntervalMs) !== null && _a !== void 0 ? _a : DEFAULT_SYNTHETIC_PROGRESS_INTERVAL_MS;
|
|
24
|
+
const defaultPaymentTtlMs = (_b = options.defaultPaymentTtlMs) !== null && _b !== void 0 ? _b : DEFAULT_PAYMENT_TTL_MS;
|
|
19
25
|
const syntheticProgress = new Map();
|
|
20
26
|
let syntheticProgressScheduler;
|
|
21
27
|
const maybeStopScheduler = () => {
|
|
@@ -74,6 +80,16 @@ export function withClientPayments(transport, options) {
|
|
|
74
80
|
});
|
|
75
81
|
}
|
|
76
82
|
const handlersByPmi = new Map(options.handlers.map((h) => [h.pmi, h]));
|
|
83
|
+
// Warn on duplicate PMI handlers — Map construction silently keeps only the last.
|
|
84
|
+
const seenHandlerPmis = new Set();
|
|
85
|
+
for (const h of options.handlers) {
|
|
86
|
+
if (seenHandlerPmis.has(h.pmi)) {
|
|
87
|
+
logger.warn('duplicate PMI handler registered, last one wins', {
|
|
88
|
+
pmi: h.pmi,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
seenHandlerPmis.add(h.pmi);
|
|
92
|
+
}
|
|
77
93
|
// Prevent double-paying if relays or servers deliver duplicate payment_required notifications.
|
|
78
94
|
const inFlightPayReqs = new Set();
|
|
79
95
|
let onmessage;
|
|
@@ -89,10 +105,12 @@ export function withClientPayments(transport, options) {
|
|
|
89
105
|
if (transport instanceof NostrClientTransport) {
|
|
90
106
|
const pending = transport.getPendingRequestForEventId(requestEventId);
|
|
91
107
|
const token = pending === null || pending === void 0 ? void 0 : pending.progressToken;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
108
|
+
// Fall back to defaultPaymentTtlMs when the server omits ttl so the client
|
|
109
|
+
// keeps the MCP request alive for the same duration the server will wait.
|
|
110
|
+
const ttlSeconds = message.params.ttl !== undefined
|
|
111
|
+
? message.params.ttl
|
|
112
|
+
: defaultPaymentTtlMs / 1000;
|
|
113
|
+
if (token && Number.isFinite(ttlSeconds)) {
|
|
96
114
|
// Guard against nonsensical TTLs.
|
|
97
115
|
const ttlMs = Math.floor(ttlSeconds * 1000);
|
|
98
116
|
if (ttlMs > 0 && !syntheticProgress.has(token)) {
|
|
@@ -146,6 +164,8 @@ export function withClientPayments(transport, options) {
|
|
|
146
164
|
amount: message.params.amount,
|
|
147
165
|
pay_req: message.params.pay_req,
|
|
148
166
|
description: message.params.description,
|
|
167
|
+
ttl: message.params.ttl,
|
|
168
|
+
_meta: message.params._meta,
|
|
149
169
|
requestEventId,
|
|
150
170
|
};
|
|
151
171
|
logger.info('processing payment_required', {
|
|
@@ -234,13 +254,32 @@ export function withClientPayments(transport, options) {
|
|
|
234
254
|
const requestEventId = (_a = ctx.correlatedEventId) !== null && _a !== void 0 ? _a : 'unknown';
|
|
235
255
|
// Stop synthetic progress on terminal outcomes (context path).
|
|
236
256
|
if (isJSONRPCNotification(message)) {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
257
|
+
const isAccepted = message.method === 'notifications/payment_accepted';
|
|
258
|
+
const isRejected = message.method === 'notifications/payment_rejected';
|
|
259
|
+
if (isAccepted || isRejected) {
|
|
260
|
+
const pending = transport instanceof NostrClientTransport
|
|
261
|
+
? transport.getPendingRequestForEventId(requestEventId)
|
|
241
262
|
: undefined;
|
|
242
|
-
if (progressToken) {
|
|
243
|
-
stopSyntheticProgress(progressToken);
|
|
263
|
+
if (pending === null || pending === void 0 ? void 0 : pending.progressToken) {
|
|
264
|
+
stopSyntheticProgress(pending.progressToken);
|
|
265
|
+
}
|
|
266
|
+
// On rejection, synthesize a JSON-RPC error response so the caller's
|
|
267
|
+
// pending promise is rejected immediately rather than timing out after 60 s.
|
|
268
|
+
// The server never calls forward() for a rejected payment, so no real
|
|
269
|
+
// response will arrive.
|
|
270
|
+
if (isRejected && (pending === null || pending === void 0 ? void 0 : pending.originalRequestId) != null) {
|
|
271
|
+
const rejMsg = (_b = message.params) === null || _b === void 0 ? void 0 : _b.message;
|
|
272
|
+
onmessage === null || onmessage === void 0 ? void 0 : onmessage({
|
|
273
|
+
jsonrpc: '2.0',
|
|
274
|
+
id: pending.originalRequestId,
|
|
275
|
+
error: {
|
|
276
|
+
code: -32000,
|
|
277
|
+
message: rejMsg
|
|
278
|
+
? `Payment rejected: ${rejMsg}`
|
|
279
|
+
: 'Payment rejected',
|
|
280
|
+
},
|
|
281
|
+
});
|
|
282
|
+
return;
|
|
244
283
|
}
|
|
245
284
|
}
|
|
246
285
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-payments.js","sourceRoot":"","sources":["../../../src/payments/client-payments.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GAGvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"client-payments.js","sourceRoot":"","sources":["../../../src/payments/client-payments.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,4 +5,11 @@
|
|
|
5
5
|
* so a heartbeat can arrive before the first timeout would fire.
|
|
6
6
|
*/
|
|
7
7
|
export declare const DEFAULT_SYNTHETIC_PROGRESS_INTERVAL_MS = 30000;
|
|
8
|
+
/**
|
|
9
|
+
* Default payment TTL used for synthetic progress when `payment_required` carries no `ttl`.
|
|
10
|
+
*
|
|
11
|
+
* Mirrors the server-side `paymentTtlMs` default (5 minutes) so the client
|
|
12
|
+
* keeps the MCP request alive for at least as long as the server will wait.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DEFAULT_PAYMENT_TTL_MS = 300000;
|
|
8
15
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/payments/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,sCAAsC,QAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/payments/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,sCAAsC,QAAS,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,SAAU,CAAC"}
|
|
@@ -5,4 +5,11 @@
|
|
|
5
5
|
* so a heartbeat can arrive before the first timeout would fire.
|
|
6
6
|
*/
|
|
7
7
|
export const DEFAULT_SYNTHETIC_PROGRESS_INTERVAL_MS = 30000;
|
|
8
|
+
/**
|
|
9
|
+
* Default payment TTL used for synthetic progress when `payment_required` carries no `ttl`.
|
|
10
|
+
*
|
|
11
|
+
* Mirrors the server-side `paymentTtlMs` default (5 minutes) so the client
|
|
12
|
+
* keeps the MCP request alive for at least as long as the server will wait.
|
|
13
|
+
*/
|
|
14
|
+
export const DEFAULT_PAYMENT_TTL_MS = 300000;
|
|
8
15
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/payments/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,KAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/payments/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,KAAM,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-payments.d.ts","sourceRoot":"","sources":["../../../src/payments/server-payments.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAE5B,gBAAgB,EAGhB,gBAAgB,EAGhB,cAAc,EACd,kBAAkB,EAEnB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"server-payments.d.ts","sourceRoot":"","sources":["../../../src/payments/server-payments.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAE5B,gBAAgB,EAGhB,gBAAgB,EAGhB,cAAc,EACd,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACxC,kBAAkB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAEhD,6EAA6E;IAC7E,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAuHD;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE;IACrD,MAAM,EAAE,4BAA4B,CAAC;IACrC,OAAO,EAAE,qBAAqB,CAAC;CAChC,GAAG,kBAAkB,CAsNrB"}
|
|
@@ -2,6 +2,7 @@ import { isJsonRpcRequest, } from './types.js';
|
|
|
2
2
|
import { LruCache } from '../core/utils/lru-cache.js';
|
|
3
3
|
import { withTimeout } from '../core/utils/utils.js';
|
|
4
4
|
import { createLogger } from '../core/utils/logger.js';
|
|
5
|
+
import { DEFAULT_PAYMENT_TTL_MS } from './constants.js';
|
|
5
6
|
function purgeExpiredPending(params) {
|
|
6
7
|
let checked = 0;
|
|
7
8
|
for (const [key, value] of params.pending.entries()) {
|
|
@@ -86,7 +87,17 @@ export function createServerPaymentsMiddleware(params) {
|
|
|
86
87
|
const { sender, options } = params;
|
|
87
88
|
const logger = createLogger('server-payments');
|
|
88
89
|
const processorsByPmi = new Map(options.processors.map((p) => [p.pmi, p]));
|
|
89
|
-
|
|
90
|
+
// Warn on duplicate PMI processors — Map construction silently keeps only the last.
|
|
91
|
+
const seenProcessorPmis = new Set();
|
|
92
|
+
for (const p of options.processors) {
|
|
93
|
+
if (seenProcessorPmis.has(p.pmi)) {
|
|
94
|
+
logger.warn('duplicate PMI processor registered, last one wins', {
|
|
95
|
+
pmi: p.pmi,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
seenProcessorPmis.add(p.pmi);
|
|
99
|
+
}
|
|
100
|
+
const paymentTtlMs = (_a = options.paymentTtlMs) !== null && _a !== void 0 ? _a : DEFAULT_PAYMENT_TTL_MS;
|
|
90
101
|
const pending = new LruCache((_b = options.maxPendingPayments) !== null && _b !== void 0 ? _b : 1000);
|
|
91
102
|
return async (message, ctx, forward) => {
|
|
92
103
|
// Only gate requests. Never interfere with notifications.
|
|
@@ -227,9 +238,14 @@ export function createServerPaymentsMiddleware(params) {
|
|
|
227
238
|
pending.set(requestEventId, state);
|
|
228
239
|
try {
|
|
229
240
|
await inFlight;
|
|
241
|
+
// On success, keep the entry in `pending` until TTL expiry.
|
|
242
|
+
// This guards against relay redelivery triggering a second charge.
|
|
243
|
+
// purgeExpiredPending handles eventual cleanup.
|
|
230
244
|
}
|
|
231
|
-
|
|
245
|
+
catch (err) {
|
|
246
|
+
// On failure, remove immediately so the client can retry.
|
|
232
247
|
pending.delete(requestEventId);
|
|
248
|
+
throw err;
|
|
233
249
|
}
|
|
234
250
|
};
|
|
235
251
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-payments.js","sourceRoot":"","sources":["../../../src/payments/server-payments.ts"],"names":[],"mappings":"AACA,OAAO,EAWL,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"server-payments.js","sourceRoot":"","sources":["../../../src/payments/server-payments.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,6 +72,10 @@ export interface PaymentHandlerRequest {
|
|
|
72
72
|
amount: number;
|
|
73
73
|
pay_req: string;
|
|
74
74
|
description?: string;
|
|
75
|
+
/** Time-to-live in seconds from the server's `payment_required` (CEP-8). */
|
|
76
|
+
ttl?: number;
|
|
77
|
+
/** Transparency metadata from the server's `payment_required._meta`. */
|
|
78
|
+
_meta?: Record<string, unknown>;
|
|
75
79
|
requestEventId: string;
|
|
76
80
|
}
|
|
77
81
|
/**
|
|
@@ -112,6 +116,24 @@ export type ResolvePriceRejection = {
|
|
|
112
116
|
/** Optional human-readable message explaining the rejection. */
|
|
113
117
|
message?: string;
|
|
114
118
|
};
|
|
119
|
+
/**
|
|
120
|
+
* Helper factory for {@link ResolvePriceRejection}.
|
|
121
|
+
*
|
|
122
|
+
* Prefer this over writing the object literal directly — the discriminant
|
|
123
|
+
* `reject: true` is easy to mistype as `rejected: true`, and TypeScript's
|
|
124
|
+
* union excess-property checking will not catch the mistake at a return site.
|
|
125
|
+
*/
|
|
126
|
+
export declare function rejectPrice(message?: string): ResolvePriceRejection;
|
|
127
|
+
/**
|
|
128
|
+
* Helper factory for {@link ResolvePriceQuote}.
|
|
129
|
+
*
|
|
130
|
+
* Provides a named constructor that pairs naturally with {@link rejectPrice}.
|
|
131
|
+
* Supports optional description and metadata overrides for full CEP-8 flexibility.
|
|
132
|
+
*/
|
|
133
|
+
export declare function quotePrice(amount: number, options?: {
|
|
134
|
+
description?: string;
|
|
135
|
+
meta?: Record<string, unknown>;
|
|
136
|
+
}): ResolvePriceQuote;
|
|
115
137
|
/**
|
|
116
138
|
* Result of resolvePrice callback.
|
|
117
139
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/payments/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/payments/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper factory for {@link ResolvePriceRejection}.
|
|
3
|
+
*
|
|
4
|
+
* Prefer this over writing the object literal directly — the discriminant
|
|
5
|
+
* `reject: true` is easy to mistype as `rejected: true`, and TypeScript's
|
|
6
|
+
* union excess-property checking will not catch the mistake at a return site.
|
|
7
|
+
*/
|
|
8
|
+
export function rejectPrice(message) {
|
|
9
|
+
return { reject: true, message };
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Helper factory for {@link ResolvePriceQuote}.
|
|
13
|
+
*
|
|
14
|
+
* Provides a named constructor that pairs naturally with {@link rejectPrice}.
|
|
15
|
+
* Supports optional description and metadata overrides for full CEP-8 flexibility.
|
|
16
|
+
*/
|
|
17
|
+
export function quotePrice(amount, options) {
|
|
18
|
+
return {
|
|
19
|
+
amount,
|
|
20
|
+
...((options === null || options === void 0 ? void 0 : options.description) !== undefined && {
|
|
21
|
+
description: options.description,
|
|
22
|
+
}),
|
|
23
|
+
...((options === null || options === void 0 ? void 0 : options.meta) !== undefined && { meta: options.meta }),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
1
26
|
export function isJsonRpcRequest(message) {
|
|
2
27
|
return (message.method !== undefined &&
|
|
3
28
|
message.id !== undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/payments/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/payments/types.ts"],"names":[],"mappings":"AA6IA;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,MAAc,EACd,OAAkE;IAElE,OAAO;QACL,MAAM;QACN,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,MAAK,SAAS,IAAI;YACxC,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC;QACF,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;KAC3D,CAAC;AACJ,CAAC;AA8ED,MAAM,UAAU,gBAAgB,CAC9B,OAAuB;IAEvB,OAAO,CACJ,OAA0B,CAAC,MAAM,KAAK,SAAS;QAC/C,OAA0B,CAAC,EAAE,KAAK,SAAS,CAC7C,CAAC;AACJ,CAAC"}
|