twzrd-x402-gate 0.9.11 → 0.9.12
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 +9 -8
- package/README.md +30 -23
- package/dist/auto-gate.js +1 -1
- package/dist/auto-gate.js.map +1 -1
- package/dist/buyer-defaults.d.ts +4 -3
- package/dist/buyer-defaults.d.ts.map +1 -1
- package/dist/buyer-defaults.js +5 -4
- package/dist/buyer-defaults.js.map +1 -1
- package/dist/doctor.js +6 -6
- package/dist/doctor.js.map +1 -1
- package/dist/evaluate.d.ts +14 -12
- package/dist/evaluate.d.ts.map +1 -1
- package/dist/evaluate.js +44 -47
- package/dist/evaluate.js.map +1 -1
- package/dist/foreign-key.d.ts +6 -2
- package/dist/foreign-key.d.ts.map +1 -1
- package/dist/foreign-key.js +11 -6
- package/dist/foreign-key.js.map +1 -1
- package/dist/merchant-card.d.ts +7 -3
- package/dist/merchant-card.d.ts.map +1 -1
- package/dist/merchant-card.js +13 -5
- package/dist/merchant-card.js.map +1 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +15 -2
- package/dist/policy.js.map +1 -1
- package/dist/seller-hook.js.map +1 -1
- package/dist/types.d.ts +12 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/with-guard.d.ts +3 -3
- package/dist/with-guard.js +3 -3
- package/dist/x402-client-hook.d.ts +2 -2
- package/dist/x402-client-hook.d.ts.map +1 -1
- package/dist/x402-client-hook.js +41 -39
- package/dist/x402-client-hook.js.map +1 -1
- package/package.json +2 -2
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.12` + 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.12 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.12 @x402/core @x402/fetch @x402/svm
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
```typescript
|
|
@@ -147,9 +147,10 @@ createTwzrdBeforePaymentHook({
|
|
|
147
147
|
|
|
148
148
|
## 3b. Turn on Path A (buyer cash, not the rail)
|
|
149
149
|
|
|
150
|
-
Refuse stays free until you wire a paying fetch. Then
|
|
151
|
-
|
|
152
|
-
|
|
150
|
+
Refuse stays free until you wire a paying fetch. Then a proceeding `warn`
|
|
151
|
+
settles the first paid hop: `GET /v1/intel/quick/{payTo}` at $0.001. Optional
|
|
152
|
+
V7 `$0.05` `/trust` stays on material allow or explicit `autoReceipt`.
|
|
153
|
+
Facilitator settle hooks stay free.
|
|
153
154
|
|
|
154
155
|
```typescript
|
|
155
156
|
import { wrapFetchWithPayment } from "@x402/svm";
|
|
@@ -177,8 +178,8 @@ Everything else (thresholds, wash caps, fail posture, settle guard): [README](./
|
|
|
177
178
|
|
|
178
179
|
## What this will NOT do
|
|
179
180
|
|
|
180
|
-
- **
|
|
181
|
-
(observed; no
|
|
181
|
+
- **Base mainnet is scored.** Solana mainnet and Base mainnet (`eip155:8453`) run the scored preflight. Other EVM networks get an explicit `unknown`
|
|
182
|
+
(observed; no scored preflight) unless you set
|
|
182
183
|
`TWZRD_UNSUPPORTED_NETWORK_MODE=strict`. Observe is not a wash bypass —
|
|
183
184
|
`wash_flagged` still refuses before sign.
|
|
184
185
|
- **No delivery guarantee.** It screens the merchant before you pay, nothing after.
|
package/README.md
CHANGED
|
@@ -36,12 +36,12 @@ verify receipts yourself: [REVIEW.md](https://github.com/twzrd-sol/twzrd-trust/b
|
|
|
36
36
|
**Core product (buyer gate):** after the client selects the exact payment requirement and
|
|
37
37
|
**before** payment payload creation / wallet signing — free preflight + merchant_card wash
|
|
38
38
|
refuse. Protects the **payer** from a risky **merchant** (`payTo`). Chain-neutral envelope;
|
|
39
|
-
**Solana
|
|
39
|
+
**Solana mainnet and Base mainnet (`eip155:8453`)** are scored. Other EVM networks do not run the scored preflight.
|
|
40
40
|
|
|
41
41
|
### Default-on AutoGate (5 lines)
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
npm install twzrd-x402-gate @x402/core @x402/fetch @x402/svm
|
|
44
|
+
npm install twzrd-x402-gate@0.9.12 @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.12
|
|
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.12
|
|
129
129
|
# from package root after install, or from a checkout:
|
|
130
130
|
npm run wash-dogfood
|
|
131
131
|
```
|
|
@@ -269,7 +269,7 @@ Canonical path for every agent that spends USDC on Solana x402:
|
|
|
269
269
|
|------|------|------|----------------|
|
|
270
270
|
| 1 | `POST /v1/intel/preflight` | free | `decision=block` → refuse (`twzrd_decision_block`). Score floor / optional `can_spend` also deny. |
|
|
271
271
|
| 2 | `GET /v1/intel/merchant_card/{payTo}` | free | `wash_flagged: true` → refuse by default (`twzrd_wash_flagged`). **Only tightens** step 1. |
|
|
272
|
-
| 3 |
|
|
272
|
+
| 3 | First paid hop `quickCheck` | $0.001 | On `warn`: `GET /v1/intel/quick/{payTo}`. Optional V7: `GET /v1/intel/trust/{payTo}` at $0.05 (`autoReceipt` / material allow). Never required for the free refuse path. |
|
|
273
273
|
| 4 | Pay (or refuse) | resource price | Only if steps 1–2 approved (and any opt-in paid escalate did not block). |
|
|
274
274
|
|
|
275
275
|
**Fail-open (no invent):**
|
|
@@ -286,7 +286,7 @@ Canonical path for every agent that spends USDC on Solana x402:
|
|
|
286
286
|
- `wash_flagged=true` + `washMaxUsdc` set + `priceUsdc <= cap` → allow, `washCapped=true`, reason `twzrd_wash_capped_{price}_le_{cap}`.
|
|
287
287
|
- `wash_flagged=true` + price above cap (or price unknown) → refuse with `twzrd_wash_flagged_above_cap_*`.
|
|
288
288
|
|
|
289
|
-
**Order note:** `onWarnUpsell` (points at paid
|
|
289
|
+
**Order note:** `onWarnUpsell` (points at first paid hop `GET /v1/intel/quick` $0.001) fires on preflight `warn` **before** the merchant_card wash check. A wash-flagged seller that preflighted as `warn` may still get the upsell hook, then be refused on step 2. Optional V7 `GET /v1/intel/trust` $0.05 stays `autoReceipt` / `requireReceipt` / `escalateOnWarn:false`.
|
|
290
290
|
|
|
291
291
|
Dogfood (one public live proof path):
|
|
292
292
|
- Free only (wash refuse): `npm run wash-dogfood` → [`examples/wash-refuse-dogfood.ts`](./examples/wash-refuse-dogfood.ts)
|
|
@@ -297,7 +297,7 @@ Dogfood (one public live proof path):
|
|
|
297
297
|
## Install
|
|
298
298
|
|
|
299
299
|
```bash
|
|
300
|
-
npm install twzrd-x402-gate@0.9.
|
|
300
|
+
npm install twzrd-x402-gate@0.9.12
|
|
301
301
|
```
|
|
302
302
|
|
|
303
303
|
Do not hardcode a version in this doc — every past pin here (**0.5.4**, **0.7.1**, **0.8.5**,
|
|
@@ -479,7 +479,7 @@ probe request → TWZRD scores challenge A → (if allowed) AgentCash request
|
|
|
479
479
|
|
|
480
480
|
- Exit `2` = policy blocked (AgentCash never started).
|
|
481
481
|
- Exit `0` = passthrough / dry-run allowed / AgentCash returned success (binding unproven).
|
|
482
|
-
- Base
|
|
482
|
+
- Base mainnet (`eip155:8453`) is scored, like Solana mainnet. Other EVM networks do not run the scored preflight (see Networks).
|
|
483
483
|
|
|
484
484
|
### CLI: `twzrd-bounty-preflight` (worker-side refuse, zero spend)
|
|
485
485
|
|
|
@@ -568,18 +568,18 @@ What happens on every HTTP 402 the raw fetch returns:
|
|
|
568
568
|
|
|
569
569
|
Non-402 responses pass through unchanged.
|
|
570
570
|
|
|
571
|
-
### Networks (Solana
|
|
571
|
+
### Networks (Solana mainnet and Base mainnet scored)
|
|
572
572
|
|
|
573
|
-
The gate **recognizes** multi-chain 402s
|
|
573
|
+
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.
|
|
574
574
|
|
|
575
575
|
| Network | Reputation scored? | Default policy (`unsupportedNetworkMode`) |
|
|
576
576
|
|---------|-------------------|-------------------------------------------|
|
|
577
577
|
| Solana mainnet | Yes — free preflight + merchant_card | allow/block from intel |
|
|
578
|
-
| Base
|
|
579
|
-
|
|
|
578
|
+
| Base mainnet (`eip155:8453`, `base`) | Yes — free preflight + merchant_card | allow/block from intel |
|
|
579
|
+
| Other EVM (`eip155:*` except 8453) | **No** scored preflight | `observe` (default): `decision=unknown`, `policyAction=allow`, telemetry `unsupported_network_seen`. **Wash still runs** — `wash_flagged` refuses before sign. |
|
|
580
|
+
| Other EVM in `strict` mode | No | `policyAction=block` before sign |
|
|
580
581
|
|
|
581
|
-
|
|
582
|
-
represented as a TWZRD trust `allow`. Set `TWZRD_UNSUPPORTED_NETWORK_MODE=strict` (or
|
|
582
|
+
An unscored network is never represented as a TWZRD trust `allow`. Set `TWZRD_UNSUPPORTED_NETWORK_MODE=strict` (or
|
|
583
583
|
`{ unsupportedNetworkMode: "strict" }`) to hard-block unscored networks.
|
|
584
584
|
|
|
585
585
|
`requireReceipt` (Path A) follows the same line: `hard` receipts apply to **scored networks
|
|
@@ -668,12 +668,19 @@ Opt out of wash refuse: `withTwzrdGuard(fetch, { refuseWashFlagged: false })` or
|
|
|
668
668
|
|
|
669
669
|
Non-402 responses pass through unchanged.
|
|
670
670
|
|
|
671
|
-
###
|
|
671
|
+
### First paid hop on warn (revenue path)
|
|
672
|
+
|
|
673
|
+
Wiring `x402Fetch` turns on buyer defaults: a proceeding `warn` settles
|
|
674
|
+
`GET /v1/intel/quick/{payTo}` at **$0.001** (escalateOnWarn). That is the first paid hop.
|
|
675
|
+
|
|
676
|
+
Optional V7 — `autoReceipt` or material-allow `requireReceipt` — buys
|
|
677
|
+
`GET /v1/intel/trust/{payTo}` at $0.05 for a signed credential. Opt out of the
|
|
678
|
+
cheap hop with `escalateOnWarn: false` if the host explicitly wants /trust first.
|
|
672
679
|
|
|
673
680
|
```typescript
|
|
674
681
|
const safeFetch = withTwzrdGuard(x402Fetch, {
|
|
675
|
-
|
|
676
|
-
|
|
682
|
+
x402Fetch, // warn → $0.001 /quick first
|
|
683
|
+
autoReceipt: true, // optional V7: also buy $0.05 /trust on allow (not after /quick)
|
|
677
684
|
onReceipt: (receipt, tx) => {
|
|
678
685
|
// receipt is a twzrd_receipt (V7 + ERC-8004 reputation_credential)
|
|
679
686
|
console.log("Trust receipt captured:", tx);
|
|
@@ -681,9 +688,8 @@ const safeFetch = withTwzrdGuard(x402Fetch, {
|
|
|
681
688
|
});
|
|
682
689
|
```
|
|
683
690
|
|
|
684
|
-
`autoReceipt` is **off by default** — it spends the **buyer's** USDC, so you opt in. When on
|
|
685
|
-
|
|
686
|
-
for the counterparty before you pay the resource.
|
|
691
|
+
`autoReceipt` is **off by default** — it spends the **buyer's** USDC, so you opt in. When on
|
|
692
|
+
and `/quick` did not already settle, warn/allow can buy the $0.05 V7 credential.
|
|
687
693
|
|
|
688
694
|
**`x402Fetch` is yours to supply** (this package is dependency-free). Wire the proven
|
|
689
695
|
`@x402/svm` sponsored-feePayer client — the same one `twzrd-mcp-server` uses:
|
|
@@ -902,7 +908,7 @@ A 402 whose payment requirements yield **no identifiable seller wallet** (missin
|
|
|
902
908
|
| `blockDecisions` | `TWZRD_BLOCK_DECISIONS` | `block` | Decisions that throw |
|
|
903
909
|
| `failOpen` | `TWZRD_FAIL_OPEN` | `false` | `true` opts into legacy allow-on-outage; default blocks (fail-closed) |
|
|
904
910
|
| `gateOnCanSpend` | `TWZRD_GATE_ON_CAN_SPEND` | `false` | Also block when `can_spend=false` |
|
|
905
|
-
| `autoReceipt` | — | `false` |
|
|
911
|
+
| `autoReceipt` | — | `false` | Optional V7: auto-buy $0.05 `/trust` when `/quick` did not already settle |
|
|
906
912
|
| `x402Fetch` | — | — | x402-capable fetch for `autoReceipt` |
|
|
907
913
|
| `onReceipt` | — | — | Callback after receipt is captured |
|
|
908
914
|
| `disabled` (`installTwzrdAutoGate` only) | `TWZRD_AUTO_GATE=0`/`false` | `false` | Bypass the guard entirely — `payWrap` gets the raw, unguarded fetch |
|
|
@@ -997,9 +1003,10 @@ The gate path only ever calls free endpoints — the preflight plus, by default
|
|
|
997
1003
|
(`quickCheck`, `autoReceipt`) is otherwise opt-in, with one documented
|
|
998
1004
|
exception (QUICKSTART 3b): on the fetch / payWrap seat, wiring a paying fetch
|
|
999
1005
|
auto-enables buyer Path A, so a proceeding `warn` settles the $0.001 quick
|
|
1000
|
-
tier (
|
|
1006
|
+
tier (`GET /v1/intel/quick/{payTo}`) through your wallet with no further flag —
|
|
1001
1007
|
opt out with `escalateOnWarn: false`, `requireReceipt: false`, or by leaving
|
|
1002
|
-
`x402Fetch` unwired.
|
|
1008
|
+
`x402Fetch` unwired. Optional V7 `/trust` at $0.05 stays on material allow or
|
|
1009
|
+
explicit `autoReceipt`. The merchant-facing payment still waits on the free
|
|
1003
1010
|
preflight's verdict.
|
|
1004
1011
|
|
|
1005
1012
|
## License
|
package/dist/auto-gate.js
CHANGED
|
@@ -164,7 +164,7 @@ export function installTwzrdAutoGate(target, options) {
|
|
|
164
164
|
return target(echoing);
|
|
165
165
|
}
|
|
166
166
|
// The payWrap they already supply is a paying fetch. Use it as Path A
|
|
167
|
-
// x402Fetch so the canonical install fires warn
|
|
167
|
+
// x402Fetch so the canonical install fires warn → $0.001 /quick without a
|
|
168
168
|
// second argument. payWrap(echoing) is unguarded — no recursion into the gate.
|
|
169
169
|
const x402Fetch = fetchOpts?.x402Fetch ?? target(echoing);
|
|
170
170
|
return target(withTwzrdGuard(raw, { ...fetchOpts, x402Fetch }));
|
package/dist/auto-gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-gate.js","sourceRoot":"","sources":["../src/auto-gate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auto-gate.js","sourceRoot":"","sources":["../src/auto-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/buyer-defaults.d.ts
CHANGED
|
@@ -7,11 +7,12 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Ladder (when x402Fetch is present and flags are unset):
|
|
9
9
|
* block → free refuse
|
|
10
|
-
* warn
|
|
11
|
-
*
|
|
12
|
-
* allow + price >= $2.50 → $0.05 V6
|
|
10
|
+
* warn (any price) → $0.001 GET /quick (escalateOnWarn)
|
|
11
|
+
* allow + price >= $2.50 → optional V7 $0.05 GET /trust (requireReceipt)
|
|
13
12
|
* allow + price < $2.50 → free proceed
|
|
14
13
|
*
|
|
14
|
+
* First paid hop is always /quick on warn. $0.05 /trust is opt-in V7
|
|
15
|
+
* (material allow, autoReceipt, or escalateOnWarn: false + requireReceipt).
|
|
15
16
|
* Opt out: `requireReceipt: false` and/or `escalateOnWarn: false`.
|
|
16
17
|
*/
|
|
17
18
|
import type { RequireReceiptPolicy } from "./receipt-policy.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buyer-defaults.d.ts","sourceRoot":"","sources":["../src/buyer-defaults.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"buyer-defaults.d.ts","sourceRoot":"","sources":["../src/buyer-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wEAAwE;AACxE,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,eAAO,MAAM,6BAA6B,EAAE,oBAK3C,CAAC;AAEF,eAAO,MAAM,8BAA8B;;CAE1C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B,KAAK,GACL;IACE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEN,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,GAAG,oBAAoB,CAAC;IAChD,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACtC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAUhF"}
|
package/dist/buyer-defaults.js
CHANGED
|
@@ -7,18 +7,19 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Ladder (when x402Fetch is present and flags are unset):
|
|
9
9
|
* block → free refuse
|
|
10
|
-
* warn
|
|
11
|
-
*
|
|
12
|
-
* allow + price >= $2.50 → $0.05 V6
|
|
10
|
+
* warn (any price) → $0.001 GET /quick (escalateOnWarn)
|
|
11
|
+
* allow + price >= $2.50 → optional V7 $0.05 GET /trust (requireReceipt)
|
|
13
12
|
* allow + price < $2.50 → free proceed
|
|
14
13
|
*
|
|
14
|
+
* First paid hop is always /quick on warn. $0.05 /trust is opt-in V7
|
|
15
|
+
* (material allow, autoReceipt, or escalateOnWarn: false + requireReceipt).
|
|
15
16
|
* Opt out: `requireReceipt: false` and/or `escalateOnWarn: false`.
|
|
16
17
|
*/
|
|
17
18
|
/** ROI break-even from productization (0.05 lookup vs ~2% bad rate). */
|
|
18
19
|
export const DEFAULT_BUYER_MATERIAL_USDC = 2.5;
|
|
19
20
|
export const DEFAULT_BUYER_REQUIRE_RECEIPT = {
|
|
20
21
|
minSpendUsdc: DEFAULT_BUYER_MATERIAL_USDC,
|
|
21
|
-
onWarn:
|
|
22
|
+
onWarn: false,
|
|
22
23
|
hard: true,
|
|
23
24
|
materialWarnOnly: true,
|
|
24
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buyer-defaults.js","sourceRoot":"","sources":["../src/buyer-defaults.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"buyer-defaults.js","sourceRoot":"","sources":["../src/buyer-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,wEAAwE;AACxE,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE/C,MAAM,CAAC,MAAM,6BAA6B,GAAyB;IACjE,YAAY,EAAE,2BAA2B;IACzC,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,IAAI;IACV,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,YAAY,EAAE,CAAC;CAChB,CAAC;AAeF;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAqB;IAC7D,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,IAAI,GAAoB,EAAE,GAAG,IAAI,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,6BAA6B,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,8BAA8B,EAAE,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
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",
|
|
36
|
+
install: "npm install twzrd-x402-gate@0.9.12",
|
|
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 @solana/pay-kit",
|
|
52
|
+
install: "npm install twzrd-x402-gate@0.9.12 @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 @x402/core @x402/fetch @x402/svm",
|
|
74
|
+
install: "npm install twzrd-x402-gate@0.9.12 @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",
|
|
86
|
+
install: "npm install twzrd-x402-gate@0.9.12",
|
|
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",
|
|
97
|
+
install: "npm install twzrd-x402-gate@0.9.12",
|
|
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",
|
|
106
|
+
install: "npm install twzrd-x402-gate@0.9.12",
|
|
107
107
|
snippet: `import { installTwzrdAutoGate } from "twzrd-x402-gate";
|
|
108
108
|
|
|
109
109
|
// Wraps fetch: a refused payment never reaches the payer.
|
package/dist/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAY9C;;;GAGG;AACH,MAAM,KAAK,GAAW;IACpB;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,mCAAmC;QAC1C,IAAI,EAAE,CAAC,kBAAkB,CAAC;QAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAY9C;;;GAGG;AACH,MAAM,KAAK,GAAW;IACpB;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,mCAAmC;QAC1C,IAAI,EAAE,CAAC,kBAAkB,CAAC;QAC1B,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE;;;;;;;IAOT;QACA,IAAI,EACF,oFAAoF;YACpF,4EAA4E;KAC/E;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,oCAAoC;QAC3C,IAAI,EAAE,CAAC,iBAAiB,CAAC;QACzB,OAAO,EAAE,oDAAoD;QAC7D,OAAO,EAAE;;;;;;;;;;;;IAYT;QACA,IAAI,EACF,oEAAoE;YACpE,oEAAoE;YACpE,8DAA8D;KACjE;IACD;QACE,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,mCAAmC;QAC1C,IAAI,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC;QAChD,OAAO,EAAE,qEAAqE;QAC9E,OAAO,EAAE;;;;;2DAK8C;KACxD;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,uBAAuB;QAC9B,IAAI,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;QAClC,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE;;;;kEAIqD;KAC/D;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,CAAC,gBAAgB,CAAC;QACxB,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE;;iEAEoD;KAC9D;IACD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,wBAAwB;QAC/B,IAAI,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC;QAC5B,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE;;;gFAGmE;KAC7E;CACF,CAAC;AAEF,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAmC;IAC7D,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,GAAG,GAAG;QACV,GAAG,CAAE,GAAG,CAAC,YAAuC,IAAI,EAAE,CAAC;QACvD,GAAG,CAAE,GAAG,CAAC,eAA0C,IAAI,EAAE,CAAC;QAC1D,GAAG,CAAE,GAAG,CAAC,gBAA2C,IAAI,EAAE,CAAC;KAC5D,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAKhC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEhE,2EAA2E;IAC3E,4EAA4E;IAC5E,uDAAuD;IACvD,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,IAAI,IAAsB,CAAC;IAC3B,MAAM,MAAM,GAAG;QACb,uBAAuB,CAAC,CAAO;YAC7B,IAAI,GAAG,CAAC,CAAC;YACT,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;IAEF,oBAAoB,CAAC,MAAe,EAAE;QACpC,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,CAAC;QACpB,QAAQ,EAAE,IAAI;QACd,kFAAkF;QAClF,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CACjB,IAAI,QAAQ,CACV,IAAI,CAAC,SAAS,CAAC;YACb,cAAc,EAAE;gBACd,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,EAAE;gBACf,SAAS,EAAE,KAAK;gBAChB,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,MAAM;aACnB;SACF,CAAC,EACF,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CACjE,CAA4B;KACvB,CAAC,CAAC;IAEZ,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,KAAK;YACd,iBAAiB;YACjB,MAAM,EAAE,yCAAyC;SAClD,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC;YACrB,oBAAoB,EAAE;gBACpB,KAAK,EAAE,8CAA8C;gBACrD,OAAO,EAAE,QAAQ;gBACjB,KAAK,EAAE,8CAA8C;gBACrD,iBAAiB,EAAE,OAAO;gBAC1B,MAAM,EAAE,OAAO;aAChB;YACD,iEAAiE;YACjE,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,iBAAiB,IAAI,CAAC,CAAC;YACzB,CAAC;SACF,CAAC,CAAC;QACH,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAK,GAA2B,CAAC,KAAK,EAAE,CAAC;YACzE,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,GAAG,MAAM,CAAE,GAA2B,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gEAAgE;QAChE,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,GAAG,MAAM,CAAE,GAAa,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,IAAI,CAAC,CAAC,GAAG,EAAE;IAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,CAAC,uCAAuC,cAAc,GAAG,CAAC,CAAC;IAC/D,IAAI,EAAE,CAAC;IAEP,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAClE,IAAI,CAAC,6CAA6C,CAAC,CAAC;QACpD,IAAI,EAAE,CAAC;QACP,IAAI,CAAC,qEAAqE,CAAC,CAAC;QAC5E,IAAI,CAAC,wEAAwE,CAAC,CAAC;QAC/E,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,YAAY,QAAQ,CAAC,MAAM,sBAAsB,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACjD,IAAI,EAAE,CAAC;IAEP,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QACtE,IAAI,EAAE,CAAC;QACP,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACvB,IAAI,EAAE,CAAC;QACP,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACX,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC;IAED,IAAI,CAAC,+DAA+D,CAAC,CAAC;IACtE,IAAI,EAAE,CAAC;IACP,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;IACnC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,sDAAsD,CAAC,CAAC;QAC7D,IAAI,CAAC,gCAAgC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,oBAAoB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACzC,IAAI,EAAE,CAAC;QACP,IAAI,CAAC,yEAAyE,CAAC,CAAC;QAChF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAChE,IAAI,CAAC,oBAAoB,KAAK,CAAC,OAAO,uBAAuB,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxF,IAAI,CAAC,qEAAqE,CAAC,CAAC;IAC5E,OAAO,CAAC,CAAC;AACX,CAAC;AAED,6EAA6E;AAC7E,+EAA+E;AAC/E,2EAA2E;AAC3E,IACE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACf,iCAAiC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EACvD,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,CACT,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5B,CAAC,GAAG,EAAE,EAAE;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/evaluate.d.ts
CHANGED
|
@@ -11,12 +11,14 @@ export type EvaluateX402Options = TwzrdGateConfig & {
|
|
|
11
11
|
*/
|
|
12
12
|
autoReceipt?: boolean;
|
|
13
13
|
/**
|
|
14
|
-
* Host threshold policy for Path A ($0.05
|
|
14
|
+
* Host threshold policy for optional V7 Path A ($0.05 /trust). Opt-in.
|
|
15
15
|
* - Free preflight still decides allow|warn|block.
|
|
16
|
-
* -
|
|
17
|
-
*
|
|
16
|
+
* - First paid hop on warn is escalateOnWarn ($0.001 /quick) when set.
|
|
17
|
+
* - This policy auto-runs /trust when resource price > minSpendUsdc
|
|
18
|
+
* (default 10) OR decision === "warn" (onWarn default true) — and
|
|
19
|
+
* only if the cheap hop did not already settle.
|
|
18
20
|
* - Never on decision === "block" (free refuse stays free).
|
|
19
|
-
* - hard (default true): deny merchant spend if
|
|
21
|
+
* - hard (default true): deny merchant spend if /trust fails.
|
|
20
22
|
* Requires x402Fetch.
|
|
21
23
|
*/
|
|
22
24
|
requireReceipt?: boolean | RequireReceiptPolicy;
|
|
@@ -50,8 +52,9 @@ export type EvaluateX402Options = TwzrdGateConfig & {
|
|
|
50
52
|
* the paid signal actually gates the spend (unlike autoReceipt, which is upsell-only
|
|
51
53
|
* and never changes the decision). Opt-in; requires x402Fetch. Fail-soft: if the
|
|
52
54
|
* quick tier cannot answer, the base warn decision is preserved. Only tightens
|
|
53
|
-
* (warn -> maybe block); never loosens a block or allow.
|
|
54
|
-
*
|
|
55
|
+
* (warn -> maybe block); never loosens a block or allow. This is the first
|
|
56
|
+
* paid hop on warn — it short-circuits autoReceipt / requireReceipt /trust
|
|
57
|
+
* so the buyer is not bounced onto $0.05. Set false to force V7 /trust.
|
|
55
58
|
*/
|
|
56
59
|
escalateOnWarn?: BuyerEscalateOnWarn;
|
|
57
60
|
};
|
|
@@ -107,12 +110,11 @@ export type EvaluateX402Result = {
|
|
|
107
110
|
* Evaluate an x402 resource before the buyer pays:
|
|
108
111
|
* 1. Run free TWZRD preflight on the seller (no auth, no cost).
|
|
109
112
|
* 2. Return decision + trust score.
|
|
110
|
-
* 3. If
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* did not already fire).
|
|
113
|
+
* 3. If escalateOnWarn is set and decision=warn: settle GET /quick
|
|
114
|
+
* $0.001 first and re-decide on the paid score (no double settle).
|
|
115
|
+
* 4. Else if autoReceipt / requireReceipt triggers and decision !== block:
|
|
116
|
+
* auto-fetch optional V7 GET /trust via x402Fetch ($0.05).
|
|
117
|
+
* With requireReceipt.hard (default), deny spend if /trust fails.
|
|
116
118
|
*
|
|
117
119
|
* Defaults to gateOnCanSpend=false (decision-only) — the free-tier preflight
|
|
118
120
|
* returns can_spend=false for most unknown sellers, which would block too eagerly
|
package/dist/evaluate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG;IAClD;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG;IAClD;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,oBAAoB,CAAC;IAChD;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/D;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,yBAAyB,GAAG,KAAK,CAAC;IACxD;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iFAAiF;IACjF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;OAIG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,8FAA8F;IAC9F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6GAA6G;IAC7G,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kFAAkF;IAClF,aAAa,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,uBAAuB,EAC5C,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAmS7B"}
|
package/dist/evaluate.js
CHANGED
|
@@ -9,12 +9,11 @@ import { evaluateLogInclusion, resolveRequireLogInclusionPolicy, } from "./log-i
|
|
|
9
9
|
* Evaluate an x402 resource before the buyer pays:
|
|
10
10
|
* 1. Run free TWZRD preflight on the seller (no auth, no cost).
|
|
11
11
|
* 2. Return decision + trust score.
|
|
12
|
-
* 3. If
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* did not already fire).
|
|
12
|
+
* 3. If escalateOnWarn is set and decision=warn: settle GET /quick
|
|
13
|
+
* $0.001 first and re-decide on the paid score (no double settle).
|
|
14
|
+
* 4. Else if autoReceipt / requireReceipt triggers and decision !== block:
|
|
15
|
+
* auto-fetch optional V7 GET /trust via x402Fetch ($0.05).
|
|
16
|
+
* With requireReceipt.hard (default), deny spend if /trust fails.
|
|
18
17
|
*
|
|
19
18
|
* Defaults to gateOnCanSpend=false (decision-only) — the free-tier preflight
|
|
20
19
|
* returns can_spend=false for most unknown sellers, which would block too eagerly
|
|
@@ -81,9 +80,9 @@ export async function evaluate_x402_resource(resourceUrl, paymentRequirements, o
|
|
|
81
80
|
reputationScored: approval.reputationScored,
|
|
82
81
|
policyAction: approval.policyAction,
|
|
83
82
|
};
|
|
84
|
-
//
|
|
85
|
-
//
|
|
86
|
-
//
|
|
83
|
+
// First paid hop is $0.001 GET /quick on warn (escalateOnWarn). Optional
|
|
84
|
+
// V7 $0.05 GET /trust (requireReceipt / autoReceipt) runs only when the
|
|
85
|
+
// cheap hop did not already settle. Never on block.
|
|
87
86
|
const receiptPolicy = resolveRequireReceiptPolicy(opts.requireReceipt);
|
|
88
87
|
const receiptRequired = shouldRequirePathAReceipt({
|
|
89
88
|
policy: receiptPolicy,
|
|
@@ -100,7 +99,42 @@ export async function evaluate_x402_resource(resourceUrl, paymentRequirements, o
|
|
|
100
99
|
// buy Path A on an unscored rail, and do not treat a missing Base receipt
|
|
101
100
|
// as a hard deny of a policy allow.
|
|
102
101
|
const scoredRail = approval.reputationScored !== false;
|
|
103
|
-
const
|
|
102
|
+
const esc = opts.escalateOnWarn;
|
|
103
|
+
const wantQuick = !!esc &&
|
|
104
|
+
scoredRail &&
|
|
105
|
+
typeof opts.x402Fetch === "function" &&
|
|
106
|
+
!!payTo &&
|
|
107
|
+
decision === "warn" &&
|
|
108
|
+
base.approved &&
|
|
109
|
+
(priceUsdc ?? 0) >= (esc.minSpendUsdc ?? 0);
|
|
110
|
+
if (wantQuick && payTo && esc) {
|
|
111
|
+
const floor = esc.blockBelowScore ?? config.preflightMinScore;
|
|
112
|
+
const quick = await quickCheck(payTo, {
|
|
113
|
+
intelBase: config.intelBase,
|
|
114
|
+
fetch: config.fetch,
|
|
115
|
+
x402Fetch: opts.x402Fetch,
|
|
116
|
+
});
|
|
117
|
+
if (quick.available && quick.score !== null) {
|
|
118
|
+
const escApproved = quick.score >= floor;
|
|
119
|
+
return {
|
|
120
|
+
...base,
|
|
121
|
+
approved: escApproved,
|
|
122
|
+
trustScore: quick.score,
|
|
123
|
+
escalated: true,
|
|
124
|
+
escalatedScore: quick.score,
|
|
125
|
+
escalatedTier: quick.tier,
|
|
126
|
+
reason: escApproved
|
|
127
|
+
? `twzrd_escalated_warn_allow (paid quick score ${quick.score} >= ${floor})`
|
|
128
|
+
: `twzrd_escalated_warn_block (paid quick score ${quick.score} < ${floor})`,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
return {
|
|
132
|
+
...base,
|
|
133
|
+
escalated: true,
|
|
134
|
+
escalatedScore: null,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
const attemptReceipt = scoredRail && wantPathA && !wantQuick;
|
|
104
138
|
if (!scoredRail && wantPathA) {
|
|
105
139
|
base.receiptSkipped = "unscored_network";
|
|
106
140
|
}
|
|
@@ -250,43 +284,6 @@ export async function evaluate_x402_resource(resourceUrl, paymentRequirements, o
|
|
|
250
284
|
// so every later return (escalation included) reports it.
|
|
251
285
|
base.logInclusion = annotated;
|
|
252
286
|
}
|
|
253
|
-
// Cheap re-decide only when Path A did not already fire.
|
|
254
|
-
if (!receiptRequired &&
|
|
255
|
-
!attemptReceipt &&
|
|
256
|
-
opts.escalateOnWarn &&
|
|
257
|
-
typeof opts.x402Fetch === "function" &&
|
|
258
|
-
payTo &&
|
|
259
|
-
decision === "warn" &&
|
|
260
|
-
base.approved &&
|
|
261
|
-
(priceUsdc ?? 0) >= (opts.escalateOnWarn.minSpendUsdc ?? 0)) {
|
|
262
|
-
const floor = opts.escalateOnWarn.blockBelowScore ?? config.preflightMinScore;
|
|
263
|
-
const quick = await quickCheck(payTo, {
|
|
264
|
-
intelBase: config.intelBase,
|
|
265
|
-
fetch: config.fetch,
|
|
266
|
-
x402Fetch: opts.x402Fetch,
|
|
267
|
-
});
|
|
268
|
-
if (quick.available && quick.score !== null) {
|
|
269
|
-
const escApproved = quick.score >= floor;
|
|
270
|
-
return {
|
|
271
|
-
...base,
|
|
272
|
-
approved: escApproved,
|
|
273
|
-
trustScore: quick.score,
|
|
274
|
-
escalated: true,
|
|
275
|
-
escalatedScore: quick.score,
|
|
276
|
-
escalatedTier: quick.tier,
|
|
277
|
-
receiptRequired: receiptRequired || undefined,
|
|
278
|
-
reason: escApproved
|
|
279
|
-
? `twzrd_escalated_warn_allow (paid quick score ${quick.score} >= ${floor})`
|
|
280
|
-
: `twzrd_escalated_warn_block (paid quick score ${quick.score} < ${floor})`,
|
|
281
|
-
};
|
|
282
|
-
}
|
|
283
|
-
return {
|
|
284
|
-
...base,
|
|
285
|
-
escalated: true,
|
|
286
|
-
escalatedScore: null,
|
|
287
|
-
receiptRequired: receiptRequired || undefined,
|
|
288
|
-
};
|
|
289
|
-
}
|
|
290
287
|
return { ...base, receiptRequired: receiptRequired || undefined };
|
|
291
288
|
}
|
|
292
289
|
//# sourceMappingURL=evaluate.js.map
|
package/dist/evaluate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAkB,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAE1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,gCAAgC,GAGjC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAkB,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAE1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,gCAAgC,GAGjC,MAAM,oBAAoB,CAAC;AAkH5B;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAmB,EACnB,mBAA4C,EAC5C,OAA4B,EAAE;IAE9B,MAAM,MAAM,GAAG,aAAa,CAAC;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,mEAAmE;QACnE,6EAA6E;QAC7E,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;QACnD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,EAAwB;YAC9B,YAAY,EAAE,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CACxC;QACE,WAAW,EAAE,QAAQ,IAAI,WAAW;QACpC,KAAK;QACL,SAAS;QACT,WAAW,EAAE,wBAAwB;QACrC,wEAAwE;QACxE,sDAAsD;QACtD,KAAK,EAAE,mBAAmB,CAAC,OAAO;KACnC;IACD,+DAA+D;IAC/D,MAAM,CACP,CAAC;IAEF,0FAA0F;IAC1F,MAAM,QAAQ,GAAG,CACf,QAAQ,CAAC,OAAO,KAAK,SAAS;QAC5B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,IAAI,SAAS,CAAC,CACjC,CAAC;IAC/B,8EAA8E;IAC9E,MAAM,UAAU,GACd,KAAK,IAAI,QAAQ,CAAC,gBAAgB,KAAK,IAAI;QACzC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,mBAAmB,kBAAkB,CAAC,KAAK,CAAC,EAAE;QACnE,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,IAAI,GAAuB;QAC/B,QAAQ;QACR,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI;QAC7C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI;QACzC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,UAAU;QACV,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;QAC3C,YAAY,EAAE,QAAQ,CAAC,YAAY;KACpC,CAAC;IAEF,yEAAyE;IACzE,wEAAwE;IACxE,oDAAoD;IACpD,MAAM,aAAa,GAAG,2BAA2B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvE,MAAM,eAAe,GAAG,yBAAyB,CAAC;QAChD,MAAM,EAAE,aAAa;QACrB,QAAQ;QACR,SAAS;KACV,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,yBAAyB,CAAC;QAC1C,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,QAAQ;QACR,SAAS;KACV,CAAC,CAAC;IACH,2EAA2E;IAC3E,0EAA0E;IAC1E,oCAAoC;IACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,KAAK,KAAK,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;IAChC,MAAM,SAAS,GACb,CAAC,CAAC,GAAG;QACL,UAAU;QACV,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU;QACpC,CAAC,CAAC,KAAK;QACP,QAAQ,KAAK,MAAM;QACnB,IAAI,CAAC,QAAQ;QACb,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;IAC9C,IAAI,SAAS,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC,iBAAiB,CAAC;QAC9D,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE;YACpC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC;YACzC,OAAO;gBACL,GAAG,IAAI;gBACP,QAAQ,EAAE,WAAW;gBACrB,UAAU,EAAE,KAAK,CAAC,KAAK;gBACvB,SAAS,EAAE,IAAI;gBACf,cAAc,EAAE,KAAK,CAAC,KAAK;gBAC3B,aAAa,EAAE,KAAK,CAAC,IAAI;gBACzB,MAAM,EAAE,WAAW;oBACjB,CAAC,CAAC,gDAAgD,KAAK,CAAC,KAAK,OAAO,KAAK,GAAG;oBAC5E,CAAC,CAAC,gDAAgD,KAAK,CAAC,KAAK,MAAM,KAAK,GAAG;aAC9E,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,IAAI;YACP,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;SACrB,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,UAAU,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC;IAC7D,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC;IAC3C,CAAC;IACD,MAAM,SAAS,GAAG,gCAAgC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC7E,6EAA6E;IAC7E,oDAAoD;IACpD,IAAI,WAA+B,CAAC;IAEpC,IAAI,cAAc,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU,IAAI,KAAK,EAAE,CAAC;QACpE,IAAI,CAAC;YACH,2EAA2E;YAC3E,0EAA0E;YAC1E,mEAAmE;YACnE,MAAM,SAAS,GAAG,mBAAmB,cAAc,EAAE,CAAC;YACtD,MAAM,OAAO,GAA2B;gBACtC,MAAM,EAAE,kBAAkB;gBAC1B,gBAAgB,EAAE,SAAS;gBAC3B,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,IAAI,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS;aACzG,CAAC;YACF,qFAAqF;YACrF,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC7C,OAAO,CAAC,sBAAsB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAC/B,GAAG,MAAM,CAAC,SAAS,mBAAmB,kBAAkB,CAAC,KAAK,CAAC,EAAE,EACjE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAC3B,CAAC;YACF,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAO9B,CAAC;gBACF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;gBACnC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAA+C,CAAC;gBAC1E,MAAM,EAAE,GACN,IAAI,CAAC,EAAE;oBACP,IAAI,CAAC,UAAU;oBACf,CAAC,OAAO,QAAQ,EAAE,aAAa,KAAK,QAAQ;wBAC1C,CAAC,CAAC,QAAQ,CAAC,aAAa;wBACxB,CAAC,CAAC,SAAS,CAAC,CAAC;gBACjB,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;gBAClD,IAAI,IAAI,CAAC,SAAS;oBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAEhD,4DAA4D;gBAC5D,gEAAgE;gBAChE,IAAI,YAA6C,CAAC;gBAClD,IAAI,SAAS,EAAE,CAAC;oBACd,qEAAqE;oBACrE,0DAA0D;oBAC1D,YAAY,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE;wBAC5D,QAAQ,EAAE,IAAI;wBACd,YAAY,EAAE,IAAI,CAAC,aAAa;qBACjC,CAAC,CAAC;oBACH,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;wBAC5B,OAAO;4BACL,GAAG,IAAI;4BACP,QAAQ,EAAE,KAAK;4BACf,OAAO;4BACP,SAAS,EAAE,EAAE;4BACb,kBAAkB,EAAE,WAAW;4BAC/B,eAAe;4BACf,YAAY;4BACZ,kBAAkB,EAAE,IAAI;4BACxB,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,KAAK,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,4CAA4C,WAAW,SAAS,IAAI,GAAG,aAAa,QAAQ,GAAG;4BAChL,YAAY,EAAE,OAAO;yBACtB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,OAAO;oBACL,GAAG,IAAI;oBACP,OAAO;oBACP,SAAS,EAAE,EAAE;oBACb,kBAAkB,EAAE,WAAW;oBAC/B,eAAe;oBACf,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C,CAAC;YACJ,CAAC;YACD,+DAA+D;YAC/D,IAAI,eAAe,IAAI,aAAa,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;gBACrD,OAAO;oBACL,GAAG,IAAI;oBACP,QAAQ,EAAE,KAAK;oBACf,eAAe,EAAE,IAAI;oBACrB,qBAAqB,EAAE,IAAI;oBAC3B,MAAM,EAAE,uCAAuC,IAAI,CAAC,MAAM,WAAW,SAAS,IAAI,GAAG,aAAa,QAAQ,GAAG;oBAC7G,YAAY,EAAE,OAAO;iBACtB,CAAC;YACJ,CAAC;YACD,WAAW,GAAG,8BAA8B,IAAI,CAAC,MAAM,GAAG,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,eAAe,IAAI,aAAa,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;gBACrD,OAAO;oBACL,GAAG,IAAI;oBACP,QAAQ,EAAE,KAAK;oBACf,eAAe,EAAE,IAAI;oBACrB,qBAAqB,EAAE,IAAI;oBAC3B,MAAM,EAAE,uCAAuC,SAAS,IAAI,GAAG,aAAa,QAAQ,GAAG;oBACvF,YAAY,EAAE,OAAO;iBACtB,CAAC;YACJ,CAAC;YACD,6DAA6D;YAC7D,WAAW,GAAG,kBAAkB,CAAC;QACnC,CAAC;IACH,CAAC;SAAM,IACL,eAAe;QACf,aAAa,EAAE,IAAI,KAAK,KAAK;QAC7B,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU,EACpC,CAAC;QACD,wEAAwE;QACxE,2DAA2D;QAC3D,OAAO;YACL,GAAG,IAAI;YACP,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,IAAI;YACrB,qBAAqB,EAAE,IAAI;YAC3B,MAAM,EACJ,sEAAsE;YACxE,YAAY,EAAE,OAAO;SACtB,CAAC;IACJ,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,WAAW,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC;IACxF,CAAC;IAED,wEAAwE;IACxE,qEAAqE;IACrE,2EAA2E;IAC3E,2DAA2D;IAC3D,uEAAuE;IACvE,iDAAiD;IACjD,0EAA0E;IAC1E,wEAAwE;IACxE,oCAAoC;IACpC,oEAAoE;IACpE,oEAAoE;IACpE,iCAAiC;IACjC,IAAI,SAAS,IAAI,cAAc,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,WAAW,IAAI,cAAc,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1F,MAAM,SAAS,GAAwB;YACrC,GAAG,OAAO;YACV,MAAM,EAAE,CAAC,wBAAwB,IAAI,EAAE,CAAC;SACzC,CAAC;QACF,iEAAiE;QACjE,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO;gBACL,GAAG,IAAI;gBACP,QAAQ,EAAE,KAAK;gBACf,eAAe;gBACf,YAAY,EAAE,SAAS;gBACvB,kBAAkB,EAAE,IAAI;gBACxB,MAAM,EAAE,GAAG,SAAS,CAAC,UAAU,0BAA0B,IAAI,WAAW,SAAS,IAAI,GAAG,aAAa,QAAQ,GAAG;gBAChH,YAAY,EAAE,OAAO;aACtB,CAAC;QACJ,CAAC;QACD,0EAA0E;QAC1E,0DAA0D;QAC1D,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAED,OAAO,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,eAAe,IAAI,SAAS,EAAE,CAAC;AACpE,CAAC"}
|
package/dist/foreign-key.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* House dogfood wallets. A Path A "foreign" pay must not load these.
|
|
3
|
+
* Resolved against the current home directory so no account name is baked
|
|
4
|
+
* into the published package.
|
|
5
|
+
*/
|
|
6
|
+
export declare const HOUSE_PAYER_PREFIXES: readonly string[];
|
|
3
7
|
export declare class HousePayerKeyError extends Error {
|
|
4
8
|
name: string;
|
|
5
9
|
constructor(resolved: string);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foreign-key.d.ts","sourceRoot":"","sources":["../src/foreign-key.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"foreign-key.d.ts","sourceRoot":"","sources":["../src/foreign-key.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAIR,CAAC;AAE3C,qBAAa,kBAAmB,SAAQ,KAAK;IAClC,IAAI,SAAwB;gBACzB,QAAQ,EAAE,MAAM;CAG7B;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IACtC,IAAI,SAA4B;gBAC7B,OAAO,EAAE,MAAM;CAG5B;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAa5D;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,EAAE,MAAM,EAAE,GACb;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CASpE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAYlD"}
|