run402 4.6.0 → 4.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/sdk/dist/errors.d.ts +53 -2
- package/sdk/dist/errors.d.ts.map +1 -1
- package/sdk/dist/errors.js +91 -0
- package/sdk/dist/errors.js.map +1 -1
- package/sdk/dist/index.d.ts +2 -2
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +1 -1
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/node/_paid-stack.d.ts +1 -1
- package/sdk/dist/node/_paid-stack.d.ts.map +1 -1
- package/sdk/dist/node/index.d.ts +15 -2
- package/sdk/dist/node/index.d.ts.map +1 -1
- package/sdk/dist/node/index.js +23 -4
- package/sdk/dist/node/index.js.map +1 -1
- package/sdk/dist/node/paid-fetch.d.ts +147 -9
- package/sdk/dist/node/paid-fetch.d.ts.map +1 -1
- package/sdk/dist/node/paid-fetch.js +785 -75
- package/sdk/dist/node/paid-fetch.js.map +1 -1
- package/sdk/dist/node/payment-attempts.d.ts +54 -0
- package/sdk/dist/node/payment-attempts.d.ts.map +1 -0
- package/sdk/dist/node/payment-attempts.js +220 -0
- package/sdk/dist/node/payment-attempts.js.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Node-only x402-wrapped fetch. Reads the allowance file, checks on-chain
|
|
3
|
-
* USDC balances
|
|
4
|
-
* responses when the
|
|
3
|
+
* USDC balances through independent RPC providers, and returns a fetch wrapper
|
|
4
|
+
* that auto-signs 402 responses only when the requested chain has confirmed
|
|
5
|
+
* funds.
|
|
5
6
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Balance reads are pre-payment, read-only operations. They may be retried and
|
|
8
|
+
* failed over safely; a payment payload has not been created or submitted yet.
|
|
9
|
+
* An exhausted RPC check is never represented as a zero balance.
|
|
9
10
|
*
|
|
10
11
|
* The viem / @x402/* / mppx imports live behind `./_paid-stack.ts` so the
|
|
11
12
|
* SDK's direct surface to those packages is auditable from one file and the
|
|
@@ -14,13 +15,150 @@
|
|
|
14
15
|
* Never calls `process.exit` — the SDK leaves exit-code decisions to the
|
|
15
16
|
* CLI edge.
|
|
16
17
|
*/
|
|
18
|
+
import type { CredentialsProvider } from "../credentials.js";
|
|
19
|
+
import { Run402Error } from "../errors.js";
|
|
20
|
+
import type { MppStack, X402Stack } from "./_paid-stack.js";
|
|
21
|
+
import { type PaymentAttemptStore } from "./payment-attempts.js";
|
|
17
22
|
type FetchFn = typeof globalThis.fetch;
|
|
18
|
-
|
|
23
|
+
interface RpcClient {
|
|
24
|
+
readContract: (args: unknown) => Promise<bigint>;
|
|
25
|
+
}
|
|
26
|
+
interface BalanceRetryOptions {
|
|
27
|
+
attemptsPerProvider?: number;
|
|
28
|
+
baseDelayMs?: number;
|
|
29
|
+
sleep?: (milliseconds: number) => Promise<void>;
|
|
30
|
+
random?: () => number;
|
|
31
|
+
}
|
|
32
|
+
interface PaymentRequirementLike {
|
|
33
|
+
network?: string;
|
|
34
|
+
amount?: string;
|
|
35
|
+
[key: string]: unknown;
|
|
36
|
+
}
|
|
37
|
+
interface KnownBalance {
|
|
38
|
+
status: "known";
|
|
39
|
+
balance: bigint;
|
|
40
|
+
}
|
|
41
|
+
interface UnknownBalance {
|
|
42
|
+
status: "unknown";
|
|
43
|
+
error: X402BalanceError;
|
|
44
|
+
}
|
|
45
|
+
type BalanceState = KnownBalance | UnknownBalance;
|
|
46
|
+
type BalanceStates = Record<string, BalanceState>;
|
|
47
|
+
export type X402BalanceErrorCode = "X402_RPC_TIMEOUT" | "X402_RPC_RATE_LIMITED" | "X402_RPC_UNAVAILABLE" | "X402_INSUFFICIENT_FUNDS";
|
|
48
|
+
/**
|
|
49
|
+
* A machine-readable x402 balance-preflight failure.
|
|
50
|
+
*
|
|
51
|
+
* `safeToRetry` is true only for read-only RPC failures. A confirmed balance
|
|
52
|
+
* miss is not retryable without changing wallet funds or payment requirements.
|
|
53
|
+
* Both states are emitted before payment payload creation, so
|
|
54
|
+
* `mutationState` is always `not_started`.
|
|
55
|
+
*/
|
|
56
|
+
export declare class X402BalanceError extends Run402Error {
|
|
57
|
+
readonly kind: "local_error";
|
|
58
|
+
readonly code: X402BalanceErrorCode;
|
|
59
|
+
readonly cause?: unknown;
|
|
60
|
+
constructor(code: X402BalanceErrorCode, message: string, details: Record<string, unknown>, cause?: unknown);
|
|
61
|
+
}
|
|
62
|
+
export type X402PaymentNetwork = "eip155:8453" | "eip155:84532";
|
|
63
|
+
/** Public-chain operations exposed to an opaque signer provider. */
|
|
64
|
+
export interface PaymentPublicClient {
|
|
65
|
+
readContract(args: unknown): Promise<bigint>;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Minimum EVM signer shape needed by x402. Implementations may keep key
|
|
69
|
+
* material behind KMS/HSM boundaries; only the public payer address and
|
|
70
|
+
* signing operation cross into the SDK.
|
|
71
|
+
*/
|
|
72
|
+
export interface EvmPaymentSigner {
|
|
73
|
+
readonly address: `0x${string}`;
|
|
74
|
+
signTypedData(message: {
|
|
75
|
+
domain: Record<string, unknown>;
|
|
76
|
+
types: Record<string, unknown>;
|
|
77
|
+
primaryType: string;
|
|
78
|
+
message: Record<string, unknown>;
|
|
79
|
+
}): Promise<`0x${string}`>;
|
|
80
|
+
readContract?(args: unknown): Promise<unknown>;
|
|
81
|
+
signTransaction?(args: unknown): Promise<`0x${string}`>;
|
|
82
|
+
getTransactionCount?(args: {
|
|
83
|
+
address: `0x${string}`;
|
|
84
|
+
}): Promise<number>;
|
|
85
|
+
estimateFeesPerGas?(): Promise<{
|
|
86
|
+
maxFeePerGas: bigint;
|
|
87
|
+
maxPriorityFeePerGas: bigint;
|
|
88
|
+
}>;
|
|
89
|
+
}
|
|
90
|
+
/** Async, opaque x402 payer. Returning null means that network is unsupported. */
|
|
91
|
+
export interface EvmPaymentSignerProvider {
|
|
92
|
+
getSigner(context: {
|
|
93
|
+
network: X402PaymentNetwork;
|
|
94
|
+
publicClient: PaymentPublicClient;
|
|
95
|
+
}): Promise<EvmPaymentSigner | null>;
|
|
96
|
+
}
|
|
97
|
+
export type PaymentPayerSource = "payment_signer" | "allowance_path" | "credentials" | "default_allowance";
|
|
98
|
+
/** Safe, key-free provenance for the payer selected by paid fetch. */
|
|
99
|
+
export interface PaymentPayerProvenance {
|
|
100
|
+
readonly source: PaymentPayerSource;
|
|
101
|
+
readonly rail: "x402" | "mpp";
|
|
102
|
+
readonly payers: readonly {
|
|
103
|
+
readonly address: string;
|
|
104
|
+
readonly network?: X402PaymentNetwork;
|
|
105
|
+
}[];
|
|
106
|
+
}
|
|
107
|
+
export type ConfiguredPaidFetch = FetchFn & {
|
|
108
|
+
readonly payer: PaymentPayerProvenance;
|
|
109
|
+
/** Refreshes mutable balance state without re-resolving the selected payer. */
|
|
110
|
+
refreshBalances(): Promise<void>;
|
|
111
|
+
};
|
|
112
|
+
export type LazyPaidFetch = FetchFn & {
|
|
113
|
+
/** Initializes the selected source if needed and returns public payer provenance only. */
|
|
114
|
+
getPayer(): Promise<PaymentPayerProvenance | null>;
|
|
115
|
+
};
|
|
116
|
+
export interface PaidFetchOptions {
|
|
117
|
+
/** Explicit local allowance file. When set, no other allowance is consulted. */
|
|
118
|
+
allowancePath?: string;
|
|
119
|
+
/** Auth provider whose optional allowance capability may also fund payments. */
|
|
120
|
+
credentials?: Pick<CredentialsProvider, "readAllowance">;
|
|
121
|
+
/** Explicit opaque x402 signer. Mutually exclusive with allowancePath. */
|
|
122
|
+
paymentSigner?: EvmPaymentSignerProvider;
|
|
123
|
+
}
|
|
124
|
+
/** @internal Test seam; not re-exported from `@run402/sdk/node`. */
|
|
125
|
+
export declare function _setPaidStackLoadersForTest(loaders?: {
|
|
126
|
+
x402?: () => Promise<X402Stack>;
|
|
127
|
+
mpp?: () => Promise<MppStack>;
|
|
128
|
+
}): void;
|
|
129
|
+
interface TrackedPaidFetchOptions {
|
|
130
|
+
store?: PaymentAttemptStore;
|
|
131
|
+
createAttemptId?: () => string;
|
|
132
|
+
now?: () => string;
|
|
133
|
+
fetch?: FetchFn;
|
|
134
|
+
}
|
|
135
|
+
/** @internal Exported only for deterministic source-level tests; not re-exported by the package. */
|
|
136
|
+
export declare function checkBalanceAcrossProviders(clients: readonly RpcClient[], tokenAddress: string, walletAddress: string, network: string, options?: BalanceRetryOptions): Promise<bigint>;
|
|
137
|
+
/** @internal Exported only for deterministic source-level tests; not re-exported by the package. */
|
|
138
|
+
export declare function filterAffordableRequirements(requirements: PaymentRequirementLike[], balances: BalanceStates): PaymentRequirementLike[];
|
|
139
|
+
export declare function setupPaidFetch(options?: PaidFetchOptions): Promise<ConfiguredPaidFetch | null>;
|
|
140
|
+
declare function createLazyPaidFetchFrom(setup: () => Promise<FetchFn | null>): FetchFn;
|
|
19
141
|
/**
|
|
20
142
|
* Returns a fetch that lazily initializes the x402 wrapper on first call.
|
|
21
|
-
*
|
|
22
|
-
*
|
|
143
|
+
* Failed initialization is not cached; concurrent first calls share one
|
|
144
|
+
* attempt, and a later request can recover after transient RPC/setup failure.
|
|
145
|
+
*/
|
|
146
|
+
export declare function createLazyPaidFetch(options?: PaidFetchOptions): LazyPaidFetch;
|
|
147
|
+
/** @internal Source-level unit-test seam; not re-exported by the package. */
|
|
148
|
+
export declare const __paidFetchInternals: {
|
|
149
|
+
createLazyPaidFetchFrom: typeof createLazyPaidFetchFrom;
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Request-scoped payment tracker around `@x402/fetch`.
|
|
153
|
+
*
|
|
154
|
+
* The wrapped package may call its base fetch twice: first without payment to
|
|
155
|
+
* obtain the 402 challenge, then with a signed payment authorization. The
|
|
156
|
+
* AsyncLocalStorage context lets the base-fetch boundary update the correct
|
|
157
|
+
* durable attempt even when multiple paid requests run concurrently.
|
|
158
|
+
*
|
|
159
|
+
* Exported from this module for deterministic boundary tests, but intentionally
|
|
160
|
+
* not re-exported from the package entry point.
|
|
23
161
|
*/
|
|
24
|
-
export declare function
|
|
162
|
+
export declare function createTrackedX402Fetch(wrapFetchWithPayment: (fetch: FetchFn, client: unknown) => FetchFn, client: unknown, opts?: TrackedPaidFetchOptions): FetchFn;
|
|
25
163
|
export {};
|
|
26
164
|
//# sourceMappingURL=paid-fetch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paid-fetch.d.ts","sourceRoot":"","sources":["../../src/node/paid-fetch.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"paid-fetch.d.ts","sourceRoot":"","sources":["../../src/node/paid-fetch.ts"],"names":[],"mappings":"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"}
|