@aibtc/tx-schemas 0.2.2 → 0.3.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/README.md
CHANGED
|
@@ -70,6 +70,8 @@ const settleRequest = HttpSettleRequestSchema.parse({
|
|
|
70
70
|
- The default protected-resource delivery invariant is `deliver-only-on-confirmed`.
|
|
71
71
|
- Any product that delivers on in-flight states should document that as an application exception, not a canonical package rule.
|
|
72
72
|
- `paymentId` is relay-owned and duplicate submission should reuse the same `paymentId` until terminal resolution.
|
|
73
|
+
- Accepted duplicate submit responses should return the current caller-facing in-flight status for that `paymentId`: `queued`, `broadcasting`, or `mempool` as applicable.
|
|
74
|
+
- `queued_with_warning` remains an RPC-only temporary compatibility shim for warning-aware callers during migration.
|
|
73
75
|
- Polling contracts may surface `checkStatusUrl` as an additive convenience field, and internal/external polling should treat it as another way to reach the same `paymentId` lifecycle.
|
|
74
76
|
- Terminal polling responses should carry a normalized `terminalReason` when one is known, even if transports also emit local error codes.
|
|
75
77
|
|
package/dist/rpc/schemas.d.ts
CHANGED
|
@@ -71,7 +71,11 @@ export declare const RpcSubmitPaymentRequestSchema: z.ZodObject<{
|
|
|
71
71
|
export declare const RpcSubmitPaymentAcceptedSchema: z.ZodObject<{
|
|
72
72
|
accepted: z.ZodLiteral<true>;
|
|
73
73
|
paymentId: z.ZodString;
|
|
74
|
-
status: z.ZodUnion<readonly [z.
|
|
74
|
+
status: z.ZodUnion<readonly [z.ZodEnum<{
|
|
75
|
+
queued: "queued";
|
|
76
|
+
broadcasting: "broadcasting";
|
|
77
|
+
mempool: "mempool";
|
|
78
|
+
}>, z.ZodLiteral<"queued_with_warning">]>;
|
|
75
79
|
senderNonce: z.ZodOptional<z.ZodObject<{
|
|
76
80
|
provided: z.ZodNumber;
|
|
77
81
|
expected: z.ZodNumber;
|
|
@@ -125,7 +129,11 @@ export declare const RpcSubmitPaymentRejectedSchema: z.ZodObject<{
|
|
|
125
129
|
export declare const RpcSubmitPaymentResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
126
130
|
accepted: z.ZodLiteral<true>;
|
|
127
131
|
paymentId: z.ZodString;
|
|
128
|
-
status: z.ZodUnion<readonly [z.
|
|
132
|
+
status: z.ZodUnion<readonly [z.ZodEnum<{
|
|
133
|
+
queued: "queued";
|
|
134
|
+
broadcasting: "broadcasting";
|
|
135
|
+
mempool: "mempool";
|
|
136
|
+
}>, z.ZodLiteral<"queued_with_warning">]>;
|
|
129
137
|
senderNonce: z.ZodOptional<z.ZodObject<{
|
|
130
138
|
provided: z.ZodNumber;
|
|
131
139
|
expected: z.ZodNumber;
|
|
@@ -244,7 +252,11 @@ export type RpcCheckPaymentResult = z.infer<typeof RpcCheckPaymentResultSchema>;
|
|
|
244
252
|
export declare const SubmitPaymentRpcResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
245
253
|
accepted: z.ZodLiteral<true>;
|
|
246
254
|
paymentId: z.ZodString;
|
|
247
|
-
status: z.ZodUnion<readonly [z.
|
|
255
|
+
status: z.ZodUnion<readonly [z.ZodEnum<{
|
|
256
|
+
queued: "queued";
|
|
257
|
+
broadcasting: "broadcasting";
|
|
258
|
+
mempool: "mempool";
|
|
259
|
+
}>, z.ZodLiteral<"queued_with_warning">]>;
|
|
248
260
|
senderNonce: z.ZodOptional<z.ZodObject<{
|
|
249
261
|
provided: z.ZodNumber;
|
|
250
262
|
expected: z.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/rpc/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,eAAe,oWAiBlB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;EAA0B,CAAC;AAE1D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAQjC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;iBAUxC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;iBAGxC,CAAC;AAEH,eAAO,MAAM,8BAA8B
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/rpc/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,eAAe,oWAiBlB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;EAA0B,CAAC;AAE1D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAQjC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;iBAUxC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;iBAGxC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOzC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQzC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAGvC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;iBAEvC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAatC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAA+B,CAAC;AAC3E,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA8B,CAAC"}
|
package/dist/rpc/schemas.js
CHANGED
|
@@ -54,7 +54,7 @@ export const RpcSubmitPaymentRequestSchema = z.object({
|
|
|
54
54
|
export const RpcSubmitPaymentAcceptedSchema = z.object({
|
|
55
55
|
accepted: z.literal(true),
|
|
56
56
|
paymentId: PaymentIdSchema,
|
|
57
|
-
status: z.union([
|
|
57
|
+
status: z.union([InFlightPaymentStateSchema, z.literal("queued_with_warning")]),
|
|
58
58
|
senderNonce: RpcSenderNonceInfoSchema.optional(),
|
|
59
59
|
warning: RpcSubmitPaymentWarningSchema.optional(),
|
|
60
60
|
checkStatusUrl: UrlSchema.optional(),
|
package/dist/rpc/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/rpc/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,GACV,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,qBAAqB;IACrB,eAAe;IACf,oBAAoB;IACpB,wBAAwB;IACxB,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,yBAAyB;IACzB,kBAAkB;IAClB,oBAAoB;IACpB,mBAAmB;IACnB,gBAAgB;IAChB,oBAAoB;IACpB,uBAAuB;IACvB,kBAAkB;IAClB,mBAAmB;CACX,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,iBAAiB,EAAE,mBAAmB;IACtC,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvC,cAAc,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpE,iBAAiB,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,QAAQ,EAAE,wBAAwB;IAClC,QAAQ,EAAE,wBAAwB;IAClC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,QAAQ,EAAE,wBAAwB;QAClC,QAAQ,EAAE,wBAAwB;QAClC,QAAQ,EAAE,wBAAwB;KACnC,CAAC;IACF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,KAAK,EAAE,oBAAoB;IAC3B,MAAM,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACzB,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/rpc/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ Notes:
|
|
|
24
24
|
|
|
25
25
|
- `paymentId` is relay-owned.
|
|
26
26
|
- Duplicate submission of the same already-known payment artifact should reuse the same `paymentId` until that payment reaches a terminal state.
|
|
27
|
+
- Accepted duplicate submit responses should return the current caller-facing in-flight status for that reused `paymentId`: `queued`, `broadcasting`, or `mempool` as applicable.
|
|
27
28
|
- Internal and external polling should both treat `paymentId` as the stable handle for in-flight and terminal lookup.
|
|
28
29
|
|
|
29
30
|
## Terminal Outcome Contract
|
|
@@ -55,7 +56,8 @@ Relay-owned responsibilities:
|
|
|
55
56
|
|
|
56
57
|
## Compatibility Notes
|
|
57
58
|
|
|
58
|
-
- `RpcSubmitPaymentAccepted.status` should return `queued` for
|
|
59
|
+
- `RpcSubmitPaymentAccepted.status` should return canonical caller-facing in-flight states: `queued` for fresh acceptance, and `queued`, `broadcasting`, or `mempool` when duplicate reuse surfaces the active state of the reused `paymentId`.
|
|
60
|
+
- `queued_with_warning` remains allowed only as a temporary compatibility shim while warning-aware callers migrate.
|
|
59
61
|
- `RpcCheckPaymentResult.status` and `HttpPaymentStatusResponse.status` must never return `submitted`.
|
|
60
62
|
- `RpcCheckPaymentResult` and `HttpPaymentStatusResponse` may both surface `checkStatusUrl` as an additive canonical poll hint.
|
|
61
63
|
- `terminalReason` is additive and should be emitted wherever relay adapters already know the normalized terminal classification.
|
|
@@ -72,7 +74,7 @@ Relay-owned responsibilities:
|
|
|
72
74
|
| Scenario | Canonical status | terminalReason | Service delivery default | Client action |
|
|
73
75
|
| --- | --- | --- | --- | --- |
|
|
74
76
|
| Fresh submission accepted | `queued` | | wait or poll by `paymentId` | no rebuild |
|
|
75
|
-
| Duplicate same submission | `queued` or
|
|
77
|
+
| Duplicate same submission | `queued`, `broadcasting`, or `mempool` | | do not create a second receipt | reuse same `paymentId` / same tx |
|
|
76
78
|
| Relay broadcasting | `broadcasting` | | do not deliver by default | poll |
|
|
77
79
|
| Seen in mempool | `mempool` | | do not deliver by default unless route exception is documented | poll |
|
|
78
80
|
| Confirmed on-chain | `confirmed` | | deliver | success |
|
package/docs/package-schemas.md
CHANGED
|
@@ -46,6 +46,8 @@ The approval spec establishes these package-level semantics:
|
|
|
46
46
|
- `failed`, `replaced`, and `not_found` are terminal-failure states.
|
|
47
47
|
- resource delivery during in-flight states is transport/product policy, not a new domain state
|
|
48
48
|
- duplicate submission should reuse the same relay-owned `paymentId` until that payment reaches a terminal state
|
|
49
|
+
- accepted duplicate submit responses should return the current caller-facing in-flight status for that `paymentId`: `queued`, `broadcasting`, or `mempool`
|
|
50
|
+
- `queued_with_warning` remains an RPC-only temporary compatibility shim while warning-aware callers migrate
|
|
49
51
|
- polling/status adapters may expose `checkStatusUrl` as an additive canonical poll hint for that same `paymentId`
|
|
50
52
|
- polling/status adapters should emit canonical `terminalReason` values when they know the terminal outcome
|
|
51
53
|
|
package/package.json
CHANGED