@aibtc/tx-schemas 0.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.
Files changed (50) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +73 -0
  3. package/dist/core/enums.d.ts +161 -0
  4. package/dist/core/enums.d.ts.map +1 -0
  5. package/dist/core/enums.js +98 -0
  6. package/dist/core/enums.js.map +1 -0
  7. package/dist/core/index.d.ts +6 -0
  8. package/dist/core/index.d.ts.map +1 -0
  9. package/dist/core/index.js +6 -0
  10. package/dist/core/index.js.map +1 -0
  11. package/dist/core/payment.d.ts +267 -0
  12. package/dist/core/payment.d.ts.map +1 -0
  13. package/dist/core/payment.js +85 -0
  14. package/dist/core/payment.js.map +1 -0
  15. package/dist/core/primitives.d.ts +11 -0
  16. package/dist/core/primitives.d.ts.map +1 -0
  17. package/dist/core/primitives.js +29 -0
  18. package/dist/core/primitives.js.map +1 -0
  19. package/dist/core/schemas.d.ts +2 -0
  20. package/dist/core/schemas.d.ts.map +1 -0
  21. package/dist/core/schemas.js +2 -0
  22. package/dist/core/schemas.js.map +1 -0
  23. package/dist/core/terminal-reasons.d.ts +154 -0
  24. package/dist/core/terminal-reasons.d.ts.map +1 -0
  25. package/dist/core/terminal-reasons.js +82 -0
  26. package/dist/core/terminal-reasons.js.map +1 -0
  27. package/dist/http/index.d.ts +2 -0
  28. package/dist/http/index.d.ts.map +1 -0
  29. package/dist/http/index.js +2 -0
  30. package/dist/http/index.js.map +1 -0
  31. package/dist/http/schemas.d.ts +424 -0
  32. package/dist/http/schemas.d.ts.map +1 -0
  33. package/dist/http/schemas.js +171 -0
  34. package/dist/http/schemas.js.map +1 -0
  35. package/dist/index.d.ts +4 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +4 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/rpc/index.d.ts +2 -0
  40. package/dist/rpc/index.d.ts.map +1 -0
  41. package/dist/rpc/index.js +2 -0
  42. package/dist/rpc/index.js.map +1 -0
  43. package/dist/rpc/schemas.d.ts +339 -0
  44. package/dist/rpc/schemas.d.ts.map +1 -0
  45. package/dist/rpc/schemas.js +91 -0
  46. package/dist/rpc/schemas.js.map +1 -0
  47. package/docs/package-schemas.md +52 -0
  48. package/docs/x402-approval-spec.md +530 -0
  49. package/docs/x402-state-machines.md +241 -0
  50. package/package.json +101 -0
@@ -0,0 +1,85 @@
1
+ import { z } from "zod";
2
+ import { InFlightPaymentStateSchema, PAYMENT_STATE_TO_CATEGORY, PaymentStateCategorySchema, PaymentStateSchema, } from "./enums.js";
3
+ import { IsoDateTimeSchema, NonNegativeIntegerSchema, PaymentIdSchema, TransactionIdSchema, UrlSchema, } from "./primitives.js";
4
+ import { FailedTerminalReasonSchema, NotFoundTerminalReasonSchema, ReplacedTerminalReasonSchema, } from "./terminal-reasons.js";
5
+ const PaymentStatusBaseSchema = z.object({
6
+ state: PaymentStateSchema,
7
+ category: PaymentStateCategorySchema,
8
+ });
9
+ function inFlightStatusSchema(state) {
10
+ return PaymentStatusBaseSchema.extend({
11
+ state: z.literal(state),
12
+ category: z.literal(PAYMENT_STATE_TO_CATEGORY[state]),
13
+ paymentId: PaymentIdSchema,
14
+ txid: TransactionIdSchema.optional(),
15
+ });
16
+ }
17
+ export const RequiresPaymentStatusSchema = PaymentStatusBaseSchema.extend({
18
+ state: z.literal("requires_payment"),
19
+ category: z.literal(PAYMENT_STATE_TO_CATEGORY.requires_payment),
20
+ });
21
+ export const SubmittedPaymentStatusSchema = inFlightStatusSchema("submitted");
22
+ export const QueuedPaymentStatusSchema = inFlightStatusSchema("queued");
23
+ export const BroadcastingPaymentStatusSchema = inFlightStatusSchema("broadcasting");
24
+ export const MempoolPaymentStatusSchema = inFlightStatusSchema("mempool");
25
+ export const ConfirmedPaymentStatusSchema = PaymentStatusBaseSchema.extend({
26
+ state: z.literal("confirmed"),
27
+ category: z.literal(PAYMENT_STATE_TO_CATEGORY.confirmed),
28
+ paymentId: PaymentIdSchema,
29
+ txid: TransactionIdSchema.optional(),
30
+ blockHeight: NonNegativeIntegerSchema.optional(),
31
+ confirmedAt: IsoDateTimeSchema.optional(),
32
+ explorerUrl: UrlSchema.optional(),
33
+ });
34
+ export const FailedPaymentStatusSchema = PaymentStatusBaseSchema.extend({
35
+ state: z.literal("failed"),
36
+ category: z.literal(PAYMENT_STATE_TO_CATEGORY.failed),
37
+ paymentId: PaymentIdSchema,
38
+ txid: TransactionIdSchema.optional(),
39
+ reason: FailedTerminalReasonSchema,
40
+ detail: z.string().optional(),
41
+ retryable: z.boolean().optional(),
42
+ });
43
+ export const ReplacedPaymentStatusSchema = PaymentStatusBaseSchema.extend({
44
+ state: z.literal("replaced"),
45
+ category: z.literal(PAYMENT_STATE_TO_CATEGORY.replaced),
46
+ paymentId: PaymentIdSchema,
47
+ txid: TransactionIdSchema.optional(),
48
+ reason: ReplacedTerminalReasonSchema,
49
+ detail: z.string().optional(),
50
+ });
51
+ export const NotFoundPaymentStatusSchema = PaymentStatusBaseSchema.extend({
52
+ state: z.literal("not_found"),
53
+ category: z.literal(PAYMENT_STATE_TO_CATEGORY.not_found),
54
+ paymentId: PaymentIdSchema,
55
+ reason: NotFoundTerminalReasonSchema,
56
+ detail: z.string().optional(),
57
+ });
58
+ export const PaymentStatusSchema = z.discriminatedUnion("state", [
59
+ RequiresPaymentStatusSchema,
60
+ SubmittedPaymentStatusSchema,
61
+ QueuedPaymentStatusSchema,
62
+ BroadcastingPaymentStatusSchema,
63
+ MempoolPaymentStatusSchema,
64
+ ConfirmedPaymentStatusSchema,
65
+ FailedPaymentStatusSchema,
66
+ ReplacedPaymentStatusSchema,
67
+ NotFoundPaymentStatusSchema,
68
+ ]);
69
+ export const TrackedPaymentStatusSchema = z.discriminatedUnion("state", [
70
+ SubmittedPaymentStatusSchema,
71
+ QueuedPaymentStatusSchema,
72
+ BroadcastingPaymentStatusSchema,
73
+ MempoolPaymentStatusSchema,
74
+ ConfirmedPaymentStatusSchema,
75
+ FailedPaymentStatusSchema,
76
+ ReplacedPaymentStatusSchema,
77
+ NotFoundPaymentStatusSchema,
78
+ ]);
79
+ export const TerminalPaymentStatusSchema = z.discriminatedUnion("state", [
80
+ ConfirmedPaymentStatusSchema,
81
+ FailedPaymentStatusSchema,
82
+ ReplacedPaymentStatusSchema,
83
+ NotFoundPaymentStatusSchema,
84
+ ]);
85
+ //# sourceMappingURL=payment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../src/core/payment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ export declare const AmountStringSchema: z.ZodString;
3
+ export declare const PaymentIdSchema: z.ZodString;
4
+ export declare const TransactionHexSchema: z.ZodString;
5
+ export declare const TransactionIdSchema: z.ZodString;
6
+ export declare const StacksAddressSchema: z.ZodString;
7
+ export declare const IsoDateTimeSchema: z.ZodString;
8
+ export declare const PositiveIntegerSchema: z.ZodNumber;
9
+ export declare const NonNegativeIntegerSchema: z.ZodNumber;
10
+ export declare const UrlSchema: z.ZodString;
11
+ //# sourceMappingURL=primitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/core/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB,aAE0B,CAAC;AAE1D,eAAO,MAAM,eAAe,aAEsD,CAAC;AAEnF,eAAO,MAAM,oBAAoB,aAEyC,CAAC;AAE3E,eAAO,MAAM,mBAAmB,aAEyC,CAAC;AAE1E,eAAO,MAAM,mBAAmB,aAEM,CAAC;AAEvC,eAAO,MAAM,iBAAiB,aAED,CAAC;AAE9B,eAAO,MAAM,qBAAqB,aAGrB,CAAC;AAEd,eAAO,MAAM,wBAAwB,aAGrB,CAAC;AAEjB,eAAO,MAAM,SAAS,aAAmB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { z } from "zod";
2
+ export const AmountStringSchema = z
3
+ .string()
4
+ .regex(/^[0-9]+$/, "Expected an integer amount string");
5
+ export const PaymentIdSchema = z
6
+ .string()
7
+ .regex(/^pay_[A-Za-z0-9_-]+$/, "Expected a relay payment id with a pay_ prefix");
8
+ export const TransactionHexSchema = z
9
+ .string()
10
+ .regex(/^(?:0x)?[0-9a-fA-F]+$/, "Expected hex-encoded transaction data");
11
+ export const TransactionIdSchema = z
12
+ .string()
13
+ .regex(/^(?:0x)?[0-9a-fA-F]{64}$/, "Expected a 32-byte transaction id");
14
+ export const StacksAddressSchema = z
15
+ .string()
16
+ .min(1, "Expected a Stacks address");
17
+ export const IsoDateTimeSchema = z
18
+ .string()
19
+ .datetime({ offset: true });
20
+ export const PositiveIntegerSchema = z
21
+ .number()
22
+ .int()
23
+ .positive();
24
+ export const NonNegativeIntegerSchema = z
25
+ .number()
26
+ .int()
27
+ .nonnegative();
28
+ export const UrlSchema = z.string().url();
29
+ //# sourceMappingURL=primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/core/primitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,KAAK,CAAC,UAAU,EAAE,mCAAmC,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,EAAE;KACR,KAAK,CAAC,sBAAsB,EAAE,gDAAgD,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,EAAE;KACR,KAAK,CAAC,uBAAuB,EAAE,uCAAuC,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,EAAE;KACR,KAAK,CAAC,0BAA0B,EAAE,mCAAmC,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAE9B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,GAAG,EAAE;KACL,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,EAAE;KACR,GAAG,EAAE;KACL,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { BroadcastingPaymentStatusSchema, ConfirmedPaymentStatusSchema, FailedPaymentStatusSchema, MempoolPaymentStatusSchema, NotFoundPaymentStatusSchema, PaymentStatusSchema, QueuedPaymentStatusSchema, ReplacedPaymentStatusSchema, RequiresPaymentStatusSchema, SubmittedPaymentStatusSchema, TerminalPaymentStatusSchema, TrackedPaymentStatusSchema, } from "./payment.js";
2
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/core/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { BroadcastingPaymentStatusSchema, ConfirmedPaymentStatusSchema, FailedPaymentStatusSchema, MempoolPaymentStatusSchema, NotFoundPaymentStatusSchema, PaymentStatusSchema, QueuedPaymentStatusSchema, ReplacedPaymentStatusSchema, RequiresPaymentStatusSchema, SubmittedPaymentStatusSchema, TerminalPaymentStatusSchema, TrackedPaymentStatusSchema, } from "./payment.js";
2
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/core/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,cAAc,CAAC"}
@@ -0,0 +1,154 @@
1
+ import { z } from "zod";
2
+ export declare const FAILED_TERMINAL_REASONS: readonly ["invalid_transaction", "not_sponsored", "sender_nonce_stale", "sender_nonce_gap", "sender_nonce_duplicate", "queue_unavailable", "sponsor_failure", "broadcast_failure", "chain_abort", "internal_error"];
3
+ export declare const REPLACED_TERMINAL_REASONS: readonly ["nonce_replacement", "superseded"];
4
+ export declare const NOT_FOUND_TERMINAL_REASONS: readonly ["expired", "unknown_payment_identity"];
5
+ export declare const TERMINAL_REASONS: readonly ["invalid_transaction", "not_sponsored", "sender_nonce_stale", "sender_nonce_gap", "sender_nonce_duplicate", "queue_unavailable", "sponsor_failure", "broadcast_failure", "chain_abort", "internal_error", "nonce_replacement", "superseded", "expired", "unknown_payment_identity"];
6
+ export declare const TERMINAL_REASON_CATEGORIES: readonly ["validation", "sender", "relay", "settlement", "replacement", "identity"];
7
+ export declare const FailedTerminalReasonSchema: z.ZodEnum<{
8
+ invalid_transaction: "invalid_transaction";
9
+ not_sponsored: "not_sponsored";
10
+ sender_nonce_stale: "sender_nonce_stale";
11
+ sender_nonce_gap: "sender_nonce_gap";
12
+ sender_nonce_duplicate: "sender_nonce_duplicate";
13
+ queue_unavailable: "queue_unavailable";
14
+ sponsor_failure: "sponsor_failure";
15
+ broadcast_failure: "broadcast_failure";
16
+ chain_abort: "chain_abort";
17
+ internal_error: "internal_error";
18
+ }>;
19
+ export declare const ReplacedTerminalReasonSchema: z.ZodEnum<{
20
+ nonce_replacement: "nonce_replacement";
21
+ superseded: "superseded";
22
+ }>;
23
+ export declare const NotFoundTerminalReasonSchema: z.ZodEnum<{
24
+ expired: "expired";
25
+ unknown_payment_identity: "unknown_payment_identity";
26
+ }>;
27
+ export declare const TerminalReasonSchema: z.ZodEnum<{
28
+ invalid_transaction: "invalid_transaction";
29
+ not_sponsored: "not_sponsored";
30
+ sender_nonce_stale: "sender_nonce_stale";
31
+ sender_nonce_gap: "sender_nonce_gap";
32
+ sender_nonce_duplicate: "sender_nonce_duplicate";
33
+ queue_unavailable: "queue_unavailable";
34
+ sponsor_failure: "sponsor_failure";
35
+ broadcast_failure: "broadcast_failure";
36
+ chain_abort: "chain_abort";
37
+ internal_error: "internal_error";
38
+ nonce_replacement: "nonce_replacement";
39
+ superseded: "superseded";
40
+ expired: "expired";
41
+ unknown_payment_identity: "unknown_payment_identity";
42
+ }>;
43
+ export declare const TerminalReasonCategorySchema: z.ZodEnum<{
44
+ validation: "validation";
45
+ sender: "sender";
46
+ relay: "relay";
47
+ settlement: "settlement";
48
+ replacement: "replacement";
49
+ identity: "identity";
50
+ }>;
51
+ export declare const TERMINAL_REASON_TO_STATE: {
52
+ readonly invalid_transaction: "failed";
53
+ readonly not_sponsored: "failed";
54
+ readonly sender_nonce_stale: "failed";
55
+ readonly sender_nonce_gap: "failed";
56
+ readonly sender_nonce_duplicate: "failed";
57
+ readonly queue_unavailable: "failed";
58
+ readonly sponsor_failure: "failed";
59
+ readonly broadcast_failure: "failed";
60
+ readonly chain_abort: "failed";
61
+ readonly internal_error: "failed";
62
+ readonly nonce_replacement: "replaced";
63
+ readonly superseded: "replaced";
64
+ readonly expired: "not_found";
65
+ readonly unknown_payment_identity: "not_found";
66
+ };
67
+ export declare const paymentTerminalStateByReason: {
68
+ readonly invalid_transaction: "failed";
69
+ readonly not_sponsored: "failed";
70
+ readonly sender_nonce_stale: "failed";
71
+ readonly sender_nonce_gap: "failed";
72
+ readonly sender_nonce_duplicate: "failed";
73
+ readonly queue_unavailable: "failed";
74
+ readonly sponsor_failure: "failed";
75
+ readonly broadcast_failure: "failed";
76
+ readonly chain_abort: "failed";
77
+ readonly internal_error: "failed";
78
+ readonly nonce_replacement: "replaced";
79
+ readonly superseded: "replaced";
80
+ readonly expired: "not_found";
81
+ readonly unknown_payment_identity: "not_found";
82
+ };
83
+ export declare const TERMINAL_REASON_TO_CATEGORY: {
84
+ readonly invalid_transaction: "validation";
85
+ readonly not_sponsored: "validation";
86
+ readonly sender_nonce_stale: "sender";
87
+ readonly sender_nonce_gap: "sender";
88
+ readonly sender_nonce_duplicate: "sender";
89
+ readonly queue_unavailable: "relay";
90
+ readonly sponsor_failure: "relay";
91
+ readonly internal_error: "relay";
92
+ readonly broadcast_failure: "settlement";
93
+ readonly chain_abort: "settlement";
94
+ readonly nonce_replacement: "replacement";
95
+ readonly superseded: "replacement";
96
+ readonly expired: "identity";
97
+ readonly unknown_payment_identity: "identity";
98
+ };
99
+ export declare const paymentTerminalReasonCategoryByReason: {
100
+ readonly invalid_transaction: "validation";
101
+ readonly not_sponsored: "validation";
102
+ readonly sender_nonce_stale: "sender";
103
+ readonly sender_nonce_gap: "sender";
104
+ readonly sender_nonce_duplicate: "sender";
105
+ readonly queue_unavailable: "relay";
106
+ readonly sponsor_failure: "relay";
107
+ readonly internal_error: "relay";
108
+ readonly broadcast_failure: "settlement";
109
+ readonly chain_abort: "settlement";
110
+ readonly nonce_replacement: "replacement";
111
+ readonly superseded: "replacement";
112
+ readonly expired: "identity";
113
+ readonly unknown_payment_identity: "identity";
114
+ };
115
+ export declare const TerminalReasonDetailSchema: z.ZodObject<{
116
+ reason: z.ZodEnum<{
117
+ invalid_transaction: "invalid_transaction";
118
+ not_sponsored: "not_sponsored";
119
+ sender_nonce_stale: "sender_nonce_stale";
120
+ sender_nonce_gap: "sender_nonce_gap";
121
+ sender_nonce_duplicate: "sender_nonce_duplicate";
122
+ queue_unavailable: "queue_unavailable";
123
+ sponsor_failure: "sponsor_failure";
124
+ broadcast_failure: "broadcast_failure";
125
+ chain_abort: "chain_abort";
126
+ internal_error: "internal_error";
127
+ nonce_replacement: "nonce_replacement";
128
+ superseded: "superseded";
129
+ expired: "expired";
130
+ unknown_payment_identity: "unknown_payment_identity";
131
+ }>;
132
+ category: z.ZodEnum<{
133
+ validation: "validation";
134
+ sender: "sender";
135
+ relay: "relay";
136
+ settlement: "settlement";
137
+ replacement: "replacement";
138
+ identity: "identity";
139
+ }>;
140
+ terminalState: z.ZodEnum<{
141
+ failed: "failed";
142
+ replaced: "replaced";
143
+ not_found: "not_found";
144
+ }>;
145
+ code: z.ZodOptional<z.ZodString>;
146
+ message: z.ZodOptional<z.ZodString>;
147
+ retryable: z.ZodOptional<z.ZodBoolean>;
148
+ }, z.core.$strip>;
149
+ export type FailedTerminalReason = z.infer<typeof FailedTerminalReasonSchema>;
150
+ export type ReplacedTerminalReason = z.infer<typeof ReplacedTerminalReasonSchema>;
151
+ export type NotFoundTerminalReason = z.infer<typeof NotFoundTerminalReasonSchema>;
152
+ export type TerminalReason = z.infer<typeof TerminalReasonSchema>;
153
+ export type TerminalReasonCategory = z.infer<typeof TerminalReasonCategorySchema>;
154
+ //# sourceMappingURL=terminal-reasons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-reasons.d.ts","sourceRoot":"","sources":["../../src/core/terminal-reasons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,uBAAuB,qNAW1B,CAAC;AAEX,eAAO,MAAM,yBAAyB,8CAG5B,CAAC;AAEX,eAAO,MAAM,0BAA0B,kDAG7B,CAAC;AAEX,eAAO,MAAM,gBAAgB,+RAInB,CAAC;AAEX,eAAO,MAAM,0BAA0B,qFAO7B,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;EAAkC,CAAC;AAC1E,eAAO,MAAM,4BAA4B;;;EAAoC,CAAC;AAC9E,eAAO,MAAM,4BAA4B;;;EAAqC,CAAC;AAC/E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAA2B,CAAC;AAC7D,eAAO,MAAM,4BAA4B;;;;;;;EAAqC,CAAC;AAE/E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;CAe3B,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;CAA2B,CAAC;AAErE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;CAemE,CAAC;AAE5G,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;CAA8B,CAAC;AAEjF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,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,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { z } from "zod";
2
+ export const FAILED_TERMINAL_REASONS = [
3
+ "invalid_transaction",
4
+ "not_sponsored",
5
+ "sender_nonce_stale",
6
+ "sender_nonce_gap",
7
+ "sender_nonce_duplicate",
8
+ "queue_unavailable",
9
+ "sponsor_failure",
10
+ "broadcast_failure",
11
+ "chain_abort",
12
+ "internal_error",
13
+ ];
14
+ export const REPLACED_TERMINAL_REASONS = [
15
+ "nonce_replacement",
16
+ "superseded",
17
+ ];
18
+ export const NOT_FOUND_TERMINAL_REASONS = [
19
+ "expired",
20
+ "unknown_payment_identity",
21
+ ];
22
+ export const TERMINAL_REASONS = [
23
+ ...FAILED_TERMINAL_REASONS,
24
+ ...REPLACED_TERMINAL_REASONS,
25
+ ...NOT_FOUND_TERMINAL_REASONS,
26
+ ];
27
+ export const TERMINAL_REASON_CATEGORIES = [
28
+ "validation",
29
+ "sender",
30
+ "relay",
31
+ "settlement",
32
+ "replacement",
33
+ "identity",
34
+ ];
35
+ export const FailedTerminalReasonSchema = z.enum(FAILED_TERMINAL_REASONS);
36
+ export const ReplacedTerminalReasonSchema = z.enum(REPLACED_TERMINAL_REASONS);
37
+ export const NotFoundTerminalReasonSchema = z.enum(NOT_FOUND_TERMINAL_REASONS);
38
+ export const TerminalReasonSchema = z.enum(TERMINAL_REASONS);
39
+ export const TerminalReasonCategorySchema = z.enum(TERMINAL_REASON_CATEGORIES);
40
+ export const TERMINAL_REASON_TO_STATE = {
41
+ invalid_transaction: "failed",
42
+ not_sponsored: "failed",
43
+ sender_nonce_stale: "failed",
44
+ sender_nonce_gap: "failed",
45
+ sender_nonce_duplicate: "failed",
46
+ queue_unavailable: "failed",
47
+ sponsor_failure: "failed",
48
+ broadcast_failure: "failed",
49
+ chain_abort: "failed",
50
+ internal_error: "failed",
51
+ nonce_replacement: "replaced",
52
+ superseded: "replaced",
53
+ expired: "not_found",
54
+ unknown_payment_identity: "not_found",
55
+ };
56
+ export const paymentTerminalStateByReason = TERMINAL_REASON_TO_STATE;
57
+ export const TERMINAL_REASON_TO_CATEGORY = {
58
+ invalid_transaction: "validation",
59
+ not_sponsored: "validation",
60
+ sender_nonce_stale: "sender",
61
+ sender_nonce_gap: "sender",
62
+ sender_nonce_duplicate: "sender",
63
+ queue_unavailable: "relay",
64
+ sponsor_failure: "relay",
65
+ internal_error: "relay",
66
+ broadcast_failure: "settlement",
67
+ chain_abort: "settlement",
68
+ nonce_replacement: "replacement",
69
+ superseded: "replacement",
70
+ expired: "identity",
71
+ unknown_payment_identity: "identity",
72
+ };
73
+ export const paymentTerminalReasonCategoryByReason = TERMINAL_REASON_TO_CATEGORY;
74
+ export const TerminalReasonDetailSchema = z.object({
75
+ reason: TerminalReasonSchema,
76
+ category: TerminalReasonCategorySchema,
77
+ terminalState: z.enum(["failed", "replaced", "not_found"]),
78
+ code: z.string().min(1).optional(),
79
+ message: z.string().min(1).optional(),
80
+ retryable: z.boolean().optional(),
81
+ });
82
+ //# sourceMappingURL=terminal-reasons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-reasons.js","sourceRoot":"","sources":["../../src/core/terminal-reasons.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./schemas.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./schemas.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}