twzrd-x402-gate 0.9.13 → 0.9.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/QUICKSTART.md +3 -3
- package/README.md +52 -5
- package/dist/doctor.js +6 -6
- package/dist/guarded-x402-fetch.d.ts +31 -0
- package/dist/guarded-x402-fetch.d.ts.map +1 -0
- package/dist/guarded-x402-fetch.js +167 -0
- package/dist/guarded-x402-fetch.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/QUICKSTART.md
CHANGED
|
@@ -6,13 +6,13 @@ is unreachable the gate never *invents* a wash flag. A failed preflight, or a me
|
|
|
6
6
|
outage on a scored path, blocks by default (`TWZRD_FAIL_OPEN=true` to allow). A reachable
|
|
7
7
|
card with no wash signal still proceeds.
|
|
8
8
|
|
|
9
|
-
**Pin:** `twzrd-x402-gate@0.9.
|
|
9
|
+
**Pin:** `twzrd-x402-gate@0.9.15` + stock PayAI client `x402-solana@3.0.0` (official
|
|
10
10
|
`beforePayment` seat). `@x402/core` Path E remains supported; refuse script is fallback.
|
|
11
11
|
|
|
12
12
|
## 1. Stock PayAI client (default seat — copy-paste)
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
npm install twzrd-x402-gate@0.9.
|
|
15
|
+
npm install twzrd-x402-gate@0.9.15 x402-solana@3.0.0
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
> **ESM-only.** The package ships `import` conditions only — a CommonJS
|
|
@@ -37,7 +37,7 @@ Then: `await client.fetch("https://merchant.example/paid");`
|
|
|
37
37
|
## 1b. Official `@x402/core` client (Path E)
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
|
-
npm install twzrd-x402-gate@0.9.
|
|
40
|
+
npm install twzrd-x402-gate@0.9.15 @x402/core @x402/fetch @x402/svm
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
```typescript
|
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@ refuse. Protects the **payer** from a risky **merchant** (`payTo`). Chain-neutra
|
|
|
41
41
|
### Default-on AutoGate (5 lines)
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
npm install twzrd-x402-gate@0.9.
|
|
44
|
+
npm install twzrd-x402-gate@0.9.15 @x402/core @x402/fetch @x402/svm
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
```typescript
|
|
@@ -80,7 +80,7 @@ transfer on-chain. Wash/sybil edges are primarily discounted in TWZRD scoring, n
|
|
|
80
80
|
revenue refusal.
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
|
-
npm install twzrd-x402-gate@0.9.
|
|
83
|
+
npm install twzrd-x402-gate@0.9.15
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
```typescript
|
|
@@ -125,7 +125,7 @@ Fixture-backed SVM extract tests live in `test/seller-hook.test.ts` +
|
|
|
125
125
|
Install the published gate and run against wash fixtures:
|
|
126
126
|
|
|
127
127
|
```bash
|
|
128
|
-
npm install twzrd-x402-gate@0.9.
|
|
128
|
+
npm install twzrd-x402-gate@0.9.15
|
|
129
129
|
# from package root after install, or from a checkout:
|
|
130
130
|
npm run wash-dogfood
|
|
131
131
|
```
|
|
@@ -218,6 +218,8 @@ official x402 client receives 402
|
|
|
218
218
|
|
|
219
219
|
No AgentCash. No marketplace. No second probe. No TWZRD custody.
|
|
220
220
|
|
|
221
|
+
> **Note on `@x402/core` Defaults:** `@x402/core` >= 2.23.0 evaluates default spend controls *before* invoking TWZRD hooks. Calls breaching `core` defaults or referencing unrecognized assets abort before the gate preflight or callbacks execute. Use `setSpendControls(false)` or `x402Client.fromConfig` if core spend limits should be deferred entirely to TWZRD.
|
|
222
|
+
|
|
221
223
|
### PayKit (`@solana/pay-kit`)
|
|
222
224
|
|
|
223
225
|
Foundation [pay-kit#303](https://github.com/solana-foundation/pay-kit/pull/303)
|
|
@@ -297,7 +299,7 @@ Dogfood (one public live proof path):
|
|
|
297
299
|
## Install
|
|
298
300
|
|
|
299
301
|
```bash
|
|
300
|
-
npm install twzrd-x402-gate@0.9.
|
|
302
|
+
npm install twzrd-x402-gate@0.9.15
|
|
301
303
|
```
|
|
302
304
|
|
|
303
305
|
Do not hardcode a version in this doc — every past pin here (**0.5.4**, **0.7.1**, **0.8.5**,
|
|
@@ -571,6 +573,51 @@ What happens on every HTTP 402 the raw fetch returns:
|
|
|
571
573
|
|
|
572
574
|
Non-402 responses pass through unchanged.
|
|
573
575
|
|
|
576
|
+
### One-line x402 fetch with local spend limits
|
|
577
|
+
|
|
578
|
+
`createGuardedX402Fetch` combines a configured `@x402/core` client with the
|
|
579
|
+
existing TWZRD pre-sign evaluator and local recipient / spend rules. Register
|
|
580
|
+
the payment schemes and wallet signer on the client first; the helper returns
|
|
581
|
+
the paying fetch, so the request can use the normal x402 402 flow:
|
|
582
|
+
|
|
583
|
+
```typescript
|
|
584
|
+
import { x402Client } from "@x402/core/client";
|
|
585
|
+
import { createGuardedX402Fetch } from "twzrd-x402-gate";
|
|
586
|
+
|
|
587
|
+
const client = new x402Client();
|
|
588
|
+
// Register the x402 payment schemes and wallet signer on `client` here.
|
|
589
|
+
|
|
590
|
+
const guardedFetch = createGuardedX402Fetch({
|
|
591
|
+
client,
|
|
592
|
+
maxPricePerCall: "0.05",
|
|
593
|
+
hourlyBudgetCap: "2.00",
|
|
594
|
+
allowedRecipients: ["0x1234567890abcdef1234567890abcdef12345678"],
|
|
595
|
+
});
|
|
596
|
+
|
|
597
|
+
const response = await guardedFetch("https://api.example.com/paid-resource");
|
|
598
|
+
```
|
|
599
|
+
|
|
600
|
+
The local checks run against the x402 client's selected payment requirement,
|
|
601
|
+
then TWZRD's existing `@x402/core` pre-sign evaluator runs before the client
|
|
602
|
+
creates the payment signature. The caps are decimal USDC values compared with
|
|
603
|
+
the selected requirement's six-decimal atomic amount. When a spend cap is
|
|
604
|
+
enabled, the helper accepts only canonical USDC on Solana mainnet/devnet and
|
|
605
|
+
Base mainnet/Sepolia; unsupported tokens and networks fail closed. EVM
|
|
606
|
+
recipient matching is case-insensitive; Solana base58 matching is
|
|
607
|
+
case-sensitive. Supplying an empty `allowedRecipients` array denies every
|
|
608
|
+
recipient.
|
|
609
|
+
|
|
610
|
+
The hourly ledger is in memory for the lifetime of this returned fetch and is
|
|
611
|
+
shared by concurrent calls through it. Spend is reserved while TWZRD evaluates
|
|
612
|
+
the challenge and recorded before the pre-sign hook returns, so a later signer
|
|
613
|
+
failure still consumes the budget. It resets when the process restarts. The
|
|
614
|
+
existing `TWZRD_AUTO_GATE=0` / `TWZRD_GATE_ENABLED=false` switches disable the
|
|
615
|
+
remote TWZRD evaluation only; local caps and the recipient allowlist remain on.
|
|
616
|
+
The helper expects a configured x402 client because a bare `signer.pay()` method
|
|
617
|
+
does not define a standard x402 challenge-to-payment contract. A separate paid
|
|
618
|
+
Path A fetch cannot be passed through `twzrd.x402Fetch`: it has a different
|
|
619
|
+
signer and cannot share this fetch's local ledger.
|
|
620
|
+
|
|
574
621
|
### Networks (Solana mainnet and Base mainnet scored)
|
|
575
622
|
|
|
576
623
|
The gate **recognizes** multi-chain 402s. **Solana mainnet and Base mainnet (`eip155:8453`)** run the scored preflight. Other EVM networks do not. `eip155:137` does not run `twzrdPreflight` or the scored preflight.
|
|
@@ -898,7 +945,7 @@ A payment is **blocked** when:
|
|
|
898
945
|
|
|
899
946
|
`null_reason: unknown_subject` returns reason `twzrd_unevaluated_subject_unknown_subject`. A price above `recommended_cap_usdc` returns a reason that starts with `twzrd_over_recommended_cap_`. A direct `createTwzrdBeforePaymentHook` abort of a block card returns reason `twzrd_decision_block`. That reason string is not `block` and is not `twzrd_fail_closed`. A missing `payTo` returns reason `twzrd_unidentifiable_payment_recipient` from `twzrdApprovePayment`. That reason is not `twzrd_missing_payTo`. When the buyer preflight fetch throws and `TWZRD_FAIL_OPEN` is unset, `twzrdApprovePayment` returns reason `twzrd_fail_closed`. That reason is not `twzrd_preflight_fetch_error`.
|
|
900
947
|
|
|
901
|
-
An evaluated `warn` (no `null_reason`, score present) is allowed unless overridden. When the buyer preflight fetch throws and `TWZRD_FAIL_OPEN` is unset, `twzrdApprovePayment` returns `approved: false` with reason `twzrd_fail_closed` and the wallet does not sign. An omitted `failOpen` on `createTwzrdSettleGuard` is a different default: a thrown screen returns without abort. 0.9.
|
|
948
|
+
An evaluated `warn` (no `null_reason`, score present) is allowed unless overridden. When the buyer preflight fetch throws and `TWZRD_FAIL_OPEN` is unset, `twzrdApprovePayment` returns `approved: false` with reason `twzrd_fail_closed` and the wallet does not sign. An omitted `failOpen` on `createTwzrdSettleGuard` is a different default: a thrown screen returns without abort. 0.9.15 is not uniformly fail-closed.
|
|
902
949
|
|
|
903
950
|
A 402 whose payment requirements yield **no identifiable seller wallet** (missing/empty `payTo`, or an unparseable `accepts[]`) is a different case from "unknown seller" — it always **blocks** with `reason: twzrd_unidentifiable_payment_recipient`, without ever calling the preflight network. The wallet does not sign. This is unconditional (not affected by buyer `failOpen`): that switch governs a buyer preflight outage, not a missing payTo. An omitted `failOpen` on `createTwzrdSettleGuard` is a different default: a thrown screen returns without abort.
|
|
904
951
|
|
package/dist/doctor.js
CHANGED
|
@@ -33,7 +33,7 @@ const HOSTS = [
|
|
|
33
33
|
id: "solana-agent-kit",
|
|
34
34
|
label: "Solana Agent Kit (SolanaAgentKit)",
|
|
35
35
|
deps: ["solana-agent-kit"],
|
|
36
|
-
install: "npm install twzrd-x402-gate@0.9.
|
|
36
|
+
install: "npm install twzrd-x402-gate@0.9.15",
|
|
37
37
|
snippet: `import { SolanaAgentKit } from "solana-agent-kit";
|
|
38
38
|
import { twzrdBeforeSign } from "twzrd-x402-gate";
|
|
39
39
|
|
|
@@ -49,7 +49,7 @@ const agent = new SolanaAgentKit(wallet, rpcUrl, {
|
|
|
49
49
|
id: "pay-kit",
|
|
50
50
|
label: "Solana PayKit (createPayKitClient)",
|
|
51
51
|
deps: ["@solana/pay-kit"],
|
|
52
|
-
install: "npm install twzrd-x402-gate@0.9.
|
|
52
|
+
install: "npm install twzrd-x402-gate@0.9.15 @solana/pay-kit",
|
|
53
53
|
snippet: `import { createPayKitClient } from "@solana/pay-kit";
|
|
54
54
|
import { createTwzrdPayKitBeforePaymentHook } from "twzrd-x402-gate";
|
|
55
55
|
|
|
@@ -71,7 +71,7 @@ const client = await createPayKitClient({
|
|
|
71
71
|
id: "x402-client",
|
|
72
72
|
label: "official x402 client (@x402/core)",
|
|
73
73
|
deps: ["@x402/core", "@x402/fetch", "@x402/svm"],
|
|
74
|
-
install: "npm install twzrd-x402-gate@0.9.
|
|
74
|
+
install: "npm install twzrd-x402-gate@0.9.15 @x402/core @x402/fetch @x402/svm",
|
|
75
75
|
snippet: `import { x402Client } from "@x402/core/client";
|
|
76
76
|
import { installTwzrdAutoGate } from "twzrd-x402-gate";
|
|
77
77
|
|
|
@@ -83,7 +83,7 @@ installTwzrdAutoGate(client, { refuseWashFlagged: true });`,
|
|
|
83
83
|
id: "elizaos",
|
|
84
84
|
label: "elizaOS agent runtime",
|
|
85
85
|
deps: ["@elizaos/core", "elizaos"],
|
|
86
|
-
install: "npm install twzrd-x402-gate@0.9.
|
|
86
|
+
install: "npm install twzrd-x402-gate@0.9.15",
|
|
87
87
|
snippet: `import { installTwzrdAutoGate } from "twzrd-x402-gate";
|
|
88
88
|
|
|
89
89
|
// Gate the payment client your plugin hands to the runtime, not the runtime
|
|
@@ -94,7 +94,7 @@ installTwzrdAutoGate(paymentClient, { refuseWashFlagged: true });`,
|
|
|
94
94
|
id: "goat",
|
|
95
95
|
label: "GOAT SDK",
|
|
96
96
|
deps: ["@goat-sdk/core"],
|
|
97
|
-
install: "npm install twzrd-x402-gate@0.9.
|
|
97
|
+
install: "npm install twzrd-x402-gate@0.9.15",
|
|
98
98
|
snippet: `import { installTwzrdAutoGate } from "twzrd-x402-gate";
|
|
99
99
|
|
|
100
100
|
installTwzrdAutoGate(walletClient, { refuseWashFlagged: true });`,
|
|
@@ -103,7 +103,7 @@ installTwzrdAutoGate(walletClient, { refuseWashFlagged: true });`,
|
|
|
103
103
|
id: "raw-fetch",
|
|
104
104
|
label: "raw fetch + x402 payer",
|
|
105
105
|
deps: ["x402-fetch", "x402"],
|
|
106
|
-
install: "npm install twzrd-x402-gate@0.9.
|
|
106
|
+
install: "npm install twzrd-x402-gate@0.9.15",
|
|
107
107
|
snippet: `import { installTwzrdAutoGate } from "twzrd-x402-gate";
|
|
108
108
|
|
|
109
109
|
// Wraps fetch: a refused payment never reaches the payer.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type InstallX402ClientHookOptions, type X402ClientLike } from "./x402-client-hook.js";
|
|
2
|
+
export type GuardedX402FetchOptions = {
|
|
3
|
+
/** Configured x402 client with its payment schemes and wallet signer. */
|
|
4
|
+
client: X402ClientLike;
|
|
5
|
+
/** Raw HTTP transport. The returned fetch handles x402 402 challenges. */
|
|
6
|
+
fetch?: typeof fetch;
|
|
7
|
+
/** Maximum amount for one payment, in USDC (six decimal places). */
|
|
8
|
+
maxPricePerCall?: number | string;
|
|
9
|
+
/** Maximum spend in a rolling 60-minute window, in USDC. */
|
|
10
|
+
hourlyBudgetCap?: number | string;
|
|
11
|
+
/** If provided, only these payTo values are allowed. An empty list denies all. */
|
|
12
|
+
allowedRecipients?: readonly string[];
|
|
13
|
+
/** Options passed to the existing TWZRD x402 pre-sign evaluator. */
|
|
14
|
+
twzrd?: Omit<InstallX402ClientHookOptions, "x402Fetch"> & {
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
};
|
|
17
|
+
/** Injectable clock for deterministic host-side integrations. */
|
|
18
|
+
now?: () => number;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Build a paying fetch around a configured x402 client. Local recipient and
|
|
22
|
+
* spend controls run on the selected 402 requirement; the existing TWZRD
|
|
23
|
+
* pre-sign evaluator then runs before the x402 client can create a signature.
|
|
24
|
+
*
|
|
25
|
+
* The rolling budget lives in memory for the lifetime of this returned fetch.
|
|
26
|
+
* It is intentionally conservative: once all pre-sign checks pass, the amount
|
|
27
|
+
* is recorded before the hook returns, so a subsequent signer error still
|
|
28
|
+
* consumes budget.
|
|
29
|
+
*/
|
|
30
|
+
export declare function createGuardedX402Fetch(options: GuardedX402FetchOptions): typeof fetch;
|
|
31
|
+
//# sourceMappingURL=guarded-x402-fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guarded-x402-fetch.d.ts","sourceRoot":"","sources":["../src/guarded-x402-fetch.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAiB/B,MAAM,MAAM,uBAAuB,GAAG;IACpC,yEAAyE;IACzE,MAAM,EAAE,cAAc,CAAC;IACvB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,oEAAoE;IACpE,KAAK,CAAC,EAAE,IAAI,CAAC,4BAA4B,EAAE,WAAW,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACjF,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC;AAyCF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,KAAK,CA8GrF"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { isTwzrdAutoGateDisabled } from "./auto-gate.js";
|
|
2
|
+
import { toMicroUsd } from "./intent.js";
|
|
3
|
+
import { resolveRequirementFields } from "./payto.js";
|
|
4
|
+
import { createTwzrdPayKitBeforePaymentHook, } from "./x402-client-hook.js";
|
|
5
|
+
const HOUR_MS = 60 * 60 * 1000;
|
|
6
|
+
const guardedClients = new WeakSet();
|
|
7
|
+
const USDC_ASSETS = {
|
|
8
|
+
solana: new Set([
|
|
9
|
+
"epjfwdd5aufqssqem2qn1xzybapc8g4weggkzwytdt1v", // mainnet USDC
|
|
10
|
+
"gh9zwemdlj8dsckntktqpbnwlnnbjuszag9vp2kgtkjr", // devnet USDC
|
|
11
|
+
]),
|
|
12
|
+
"eip155:8453": new Set([
|
|
13
|
+
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", // Base USDC
|
|
14
|
+
]),
|
|
15
|
+
"eip155:84532": new Set([
|
|
16
|
+
"0x036cbd53842c5426634e7929541ec2318f3dcf7e", // Base Sepolia test USDC
|
|
17
|
+
]),
|
|
18
|
+
};
|
|
19
|
+
function parseLimit(value, label) {
|
|
20
|
+
if (value === undefined)
|
|
21
|
+
return undefined;
|
|
22
|
+
const text = typeof value === "number" ? String(value) : value;
|
|
23
|
+
try {
|
|
24
|
+
return toMicroUsd(text);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
throw new TypeError(`[twzrd-x402-gate] ${label} must be a non-negative USDC decimal with at most 6 fractional digits`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function recipientMatches(payTo, allowed) {
|
|
31
|
+
// EVM addresses are case-insensitive; Solana base58 addresses are not.
|
|
32
|
+
const key = payTo.startsWith("0x") ? payTo.toLowerCase() : payTo;
|
|
33
|
+
return allowed.some((candidate) => (candidate.startsWith("0x") ? candidate.toLowerCase() : candidate) === key);
|
|
34
|
+
}
|
|
35
|
+
function isUsdcRequirement(requirement) {
|
|
36
|
+
const network = String(requirement.network ?? "").toLowerCase();
|
|
37
|
+
const asset = String(requirement.asset ?? "").toLowerCase();
|
|
38
|
+
if (network === "solana" || network.startsWith("solana:")) {
|
|
39
|
+
return USDC_ASSETS.solana.has(asset);
|
|
40
|
+
}
|
|
41
|
+
if (network === "base" || network === "base-mainnet" || network === "eip155:8453") {
|
|
42
|
+
return USDC_ASSETS["eip155:8453"].has(asset);
|
|
43
|
+
}
|
|
44
|
+
if (network === "base-sepolia" || network === "eip155:84532") {
|
|
45
|
+
return USDC_ASSETS["eip155:84532"].has(asset);
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
function abort(reason) {
|
|
50
|
+
return { abort: true, reason: `[twzrd-guarded-fetch] ${reason}` };
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Build a paying fetch around a configured x402 client. Local recipient and
|
|
54
|
+
* spend controls run on the selected 402 requirement; the existing TWZRD
|
|
55
|
+
* pre-sign evaluator then runs before the x402 client can create a signature.
|
|
56
|
+
*
|
|
57
|
+
* The rolling budget lives in memory for the lifetime of this returned fetch.
|
|
58
|
+
* It is intentionally conservative: once all pre-sign checks pass, the amount
|
|
59
|
+
* is recorded before the hook returns, so a subsequent signer error still
|
|
60
|
+
* consumes budget.
|
|
61
|
+
*/
|
|
62
|
+
export function createGuardedX402Fetch(options) {
|
|
63
|
+
if (!options || !options.client || typeof options.client.onBeforePaymentCreation !== "function") {
|
|
64
|
+
throw new TypeError("[twzrd-x402-gate] createGuardedX402Fetch requires a configured x402 client");
|
|
65
|
+
}
|
|
66
|
+
if (guardedClients.has(options.client)) {
|
|
67
|
+
throw new Error("[twzrd-x402-gate] createGuardedX402Fetch is already installed on this client");
|
|
68
|
+
}
|
|
69
|
+
if (options.twzrd?.x402Fetch) {
|
|
70
|
+
throw new TypeError("[twzrd-x402-gate] configure a separate guarded x402 client for paid TWZRD Path A; " +
|
|
71
|
+
"an external paying fetch cannot share this hourly ledger");
|
|
72
|
+
}
|
|
73
|
+
const maxPerCall = parseLimit(options.maxPricePerCall, "maxPricePerCall");
|
|
74
|
+
const hourlyCap = parseLimit(options.hourlyBudgetCap, "hourlyBudgetCap");
|
|
75
|
+
const recipients = options.allowedRecipients;
|
|
76
|
+
const fetchImpl = options.fetch ?? globalThis.fetch.bind(globalThis);
|
|
77
|
+
const now = options.now ?? Date.now;
|
|
78
|
+
const entries = [];
|
|
79
|
+
let pendingMicro = 0n;
|
|
80
|
+
const twzrdHook = createTwzrdPayKitBeforePaymentHook(options.twzrd);
|
|
81
|
+
const guardedHook = async (context) => {
|
|
82
|
+
const selected = context.selectedRequirements ?? context.requirements ?? {};
|
|
83
|
+
const fields = resolveRequirementFields(selected);
|
|
84
|
+
if (fields.conflict)
|
|
85
|
+
return abort(fields.conflict);
|
|
86
|
+
const payTo = fields.payTo;
|
|
87
|
+
if (recipients !== undefined) {
|
|
88
|
+
if (!payTo)
|
|
89
|
+
return abort("recipient_missing");
|
|
90
|
+
if (!recipientMatches(payTo, recipients))
|
|
91
|
+
return abort("unauthorized_recipient");
|
|
92
|
+
}
|
|
93
|
+
const hasSpendRule = maxPerCall !== undefined || hourlyCap !== undefined;
|
|
94
|
+
let amountMicro;
|
|
95
|
+
if (hasSpendRule) {
|
|
96
|
+
if (!isUsdcRequirement(selected)) {
|
|
97
|
+
return abort("unsupported_or_non_usdc_asset");
|
|
98
|
+
}
|
|
99
|
+
if (fields.amount === undefined || !/^\d+$/.test(fields.amount)) {
|
|
100
|
+
return abort("amount_missing_or_malformed");
|
|
101
|
+
}
|
|
102
|
+
try {
|
|
103
|
+
amountMicro = BigInt(fields.amount);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return abort("amount_missing_or_malformed");
|
|
107
|
+
}
|
|
108
|
+
if (maxPerCall !== undefined && amountMicro > maxPerCall) {
|
|
109
|
+
return abort("price_cap_exceeded");
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const recordedAt = now();
|
|
113
|
+
if (hourlyCap !== undefined && amountMicro !== undefined) {
|
|
114
|
+
const cutoff = recordedAt - HOUR_MS;
|
|
115
|
+
for (let i = entries.length - 1; i >= 0; i--) {
|
|
116
|
+
if (entries[i].at <= cutoff)
|
|
117
|
+
entries.splice(i, 1);
|
|
118
|
+
}
|
|
119
|
+
const spent = entries.reduce((sum, entry) => sum + entry.micro, 0n);
|
|
120
|
+
if (spent + pendingMicro + amountMicro > hourlyCap) {
|
|
121
|
+
return abort("hourly_budget_exceeded");
|
|
122
|
+
}
|
|
123
|
+
// No await between the budget check and reservation: concurrent requests
|
|
124
|
+
// in this process see the reservation before entering the TWZRD hook.
|
|
125
|
+
pendingMicro += amountMicro;
|
|
126
|
+
}
|
|
127
|
+
let reservation = hourlyCap !== undefined && amountMicro !== undefined;
|
|
128
|
+
try {
|
|
129
|
+
// Match installTwzrdAutoGate's switch semantics: disabling TWZRD's
|
|
130
|
+
// reputation evaluation never disables these local hard spend controls.
|
|
131
|
+
if (!isTwzrdAutoGateDisabled(options.twzrd)) {
|
|
132
|
+
const result = await twzrdHook(context);
|
|
133
|
+
if (result?.abort)
|
|
134
|
+
return result;
|
|
135
|
+
}
|
|
136
|
+
if (hourlyCap !== undefined && amountMicro !== undefined) {
|
|
137
|
+
entries.push({ at: recordedAt, micro: amountMicro });
|
|
138
|
+
}
|
|
139
|
+
return undefined;
|
|
140
|
+
}
|
|
141
|
+
finally {
|
|
142
|
+
if (reservation && amountMicro !== undefined) {
|
|
143
|
+
pendingMicro -= amountMicro;
|
|
144
|
+
reservation = false;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
// Register our composite hook once. It applies local limits first, then the
|
|
149
|
+
// same official x402 pre-sign evaluator used by AutoGate 0.9.13.
|
|
150
|
+
options.client.onBeforePaymentCreation(guardedHook);
|
|
151
|
+
guardedClients.add(options.client);
|
|
152
|
+
let payingFetch;
|
|
153
|
+
let initializing;
|
|
154
|
+
const getPayingFetch = () => {
|
|
155
|
+
if (payingFetch)
|
|
156
|
+
return Promise.resolve(payingFetch);
|
|
157
|
+
if (!initializing) {
|
|
158
|
+
initializing = import("@x402/fetch").then(({ wrapFetchWithPayment }) => {
|
|
159
|
+
payingFetch = wrapFetchWithPayment(fetchImpl, options.client);
|
|
160
|
+
return payingFetch;
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
return initializing;
|
|
164
|
+
};
|
|
165
|
+
return async (input, init) => (await getPayingFetch())(input, init);
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=guarded-x402-fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guarded-x402-fetch.js","sourceRoot":"","sources":["../src/guarded-x402-fetch.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export { TWZRD_TRUST_GATE_BLOCK_WASH, TWZRD_TRUST_GATE_BLOCK_CAN_SPEND, TWZRD_TR
|
|
|
20
20
|
export { attachBlockOutcomeAttestation, AUTOGATE_BLOCK_PROOF_SCHEMA, AUTOGATE_BLOCK_PROOF_SCHEMA_V1_1, AUTOGATE_BLOCK_PROOF_SCHEMA_V1_2, buildAutogateBlockProof, resolveInstalledPackageVersion, type AutogateBlockProof, type BuildAutogateBlockProofInput, type ExecutionMode, } from "./block-proof.js";
|
|
21
21
|
export { safeFetch, runAgentcashFetch, main as safeFetchMain, type SafeFetchOptions, type SafeFetchResult, } from "./safe-fetch.js";
|
|
22
22
|
export { installTwzrdX402ClientHook, twzrdBeforePaymentCreation, evaluateBeforePaymentCreation, createTwzrdBeforePaymentHook, createTwzrdPayKitBeforePaymentHook, mapX402SolanaRequirements, flattenDeclaredResource, resourceUrlFromPaymentRequired, type X402ClientLike, type X402SelectedRequirements, type X402DeclaredResource, type BeforePaymentCreationContext, type BeforePaymentCreationResult, type InstallX402ClientHookOptions, type X402PaymentControlOptions, type X402SolanaBeforePaymentContext, } from "./x402-client-hook.js";
|
|
23
|
+
export { createGuardedX402Fetch, type GuardedX402FetchOptions, } from "./guarded-x402-fetch.js";
|
|
23
24
|
export { RESOURCE_BIND_DOMAIN, RESOURCE_BIND_DOMAIN_V2, RESOURCE_BIND_EXTRA_KEY, RESOURCE_BIND_MEMO_PREFIX, RESOURCE_BIND_V2_MEMO_PREFIX, RESOURCE_BIND_MEMO_MAX, DECISION_ID_MAX_BYTES, ZERO_BODY_HASH, canonicalResourceUrl, resourceBindLeafHash, resourceBindLeafHashV2, assertDecisionId, normalizePreflightId, networksEquivalent, rawReqFromPaymentRequired, rememberRawInvoice, wrapFetchRememberInvoice, resourceBindMemo, memoContainsResourceBind, pickBindMemo, stampResourceBind, evaluateResourceBind, type BindStrength, type ResourceBindReq, type ResourceBindDecision, type ResourceBindSchema, type DecisionBind, } from "./resource-bind.js";
|
|
24
25
|
export { extractSvmMemoFromTransaction, extractSvmTransferLegs, evaluateResourceBindFromSvmTx, evaluateResourceBindLegsFromSvmTx, normalizeResourceBindScheme, transferAmountMatchesLeaf, MEMO_PROGRAM_ADDRESS as RESOURCE_BIND_MEMO_PROGRAM, type ResourceBindAmountScheme, type ResourceBindLeafFields, type SvmTransferLegs, } from "./resource-bind-tx.js";
|
|
25
26
|
export { twzrd, spendControlSafeFetch, verifyOfferBindingAfterPay, type OfferBindingCheck, type SpendControlOptions, type SpendControlResult, } from "./spend-control.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,7 @@ export { TWZRD_TRUST_GATE_BLOCK_WASH, TWZRD_TRUST_GATE_BLOCK_CAN_SPEND, TWZRD_TR
|
|
|
22
22
|
export { attachBlockOutcomeAttestation, AUTOGATE_BLOCK_PROOF_SCHEMA, AUTOGATE_BLOCK_PROOF_SCHEMA_V1_1, AUTOGATE_BLOCK_PROOF_SCHEMA_V1_2, buildAutogateBlockProof, resolveInstalledPackageVersion, } from "./block-proof.js";
|
|
23
23
|
export { safeFetch, runAgentcashFetch, main as safeFetchMain, } from "./safe-fetch.js";
|
|
24
24
|
export { installTwzrdX402ClientHook, twzrdBeforePaymentCreation, evaluateBeforePaymentCreation, createTwzrdBeforePaymentHook, createTwzrdPayKitBeforePaymentHook, mapX402SolanaRequirements, flattenDeclaredResource, resourceUrlFromPaymentRequired, } from "./x402-client-hook.js";
|
|
25
|
+
export { createGuardedX402Fetch, } from "./guarded-x402-fetch.js";
|
|
25
26
|
export { RESOURCE_BIND_DOMAIN, RESOURCE_BIND_DOMAIN_V2, RESOURCE_BIND_EXTRA_KEY, RESOURCE_BIND_MEMO_PREFIX, RESOURCE_BIND_V2_MEMO_PREFIX, RESOURCE_BIND_MEMO_MAX, DECISION_ID_MAX_BYTES, ZERO_BODY_HASH, canonicalResourceUrl, resourceBindLeafHash, resourceBindLeafHashV2, assertDecisionId, normalizePreflightId, networksEquivalent, rawReqFromPaymentRequired, rememberRawInvoice, wrapFetchRememberInvoice, resourceBindMemo, memoContainsResourceBind, pickBindMemo, stampResourceBind, evaluateResourceBind, } from "./resource-bind.js";
|
|
26
27
|
export { extractSvmMemoFromTransaction, extractSvmTransferLegs, evaluateResourceBindFromSvmTx, evaluateResourceBindLegsFromSvmTx, normalizeResourceBindScheme, transferAmountMatchesLeaf, MEMO_PROGRAM_ADDRESS as RESOURCE_BIND_MEMO_PROGRAM, } from "./resource-bind-tx.js";
|
|
27
28
|
export { twzrd, spendControlSafeFetch, verifyOfferBindingAfterPay, } from "./spend-control.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "twzrd-x402-gate",
|
|
3
|
-
"version": "0.9.
|
|
4
|
-
"description": "Released identity 0.9.
|
|
3
|
+
"version": "0.9.15",
|
|
4
|
+
"description": "Released identity 0.9.15. Buyer-side x402 trust gate: free preflight before signing USDC to a merchant. On Solana mainnet and Base mainnet (eip155:8453), a missing payTo is not approved, a buyer preflight outage does not sign unless TWZRD_FAIL_OPEN=true, null_reason unknown_subject does not sign, a price above recommended_cap_usdc does not sign, and disagreeing v1/v2 price or recipient fields are refused. An approved warn whose paying fetch is wired requests /v1/intel/quick and does not request /v1/intel/trust. Other EVM networks do not run the scored preflight. createTwzrdBeforePaymentHook does not read TWZRD_AUTO_GATE or TWZRD_GATE_ENABLED; those switches apply only to installTwzrdAutoGate. createTwzrdSettleGuard stays fail-open by default, so an unavailable gate does not abort. 0.9.15 is not uniformly fail-closed.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -143,9 +143,9 @@
|
|
|
143
143
|
"@solana-program/token": "^0.9.0",
|
|
144
144
|
"@solana/kit": "^5.1.0",
|
|
145
145
|
"@types/node": "^20.11.0",
|
|
146
|
-
"@x402/core": "^2.
|
|
147
|
-
"@x402/fetch": "^2.
|
|
148
|
-
"@x402/svm": "^2.
|
|
146
|
+
"@x402/core": "^2.26.0",
|
|
147
|
+
"@x402/fetch": "^2.26.0",
|
|
148
|
+
"@x402/svm": "^2.26.0",
|
|
149
149
|
"js-sha3": "^0.13.0",
|
|
150
150
|
"tsx": "^4.23.12",
|
|
151
151
|
"typescript": "^5.4.0",
|