@hpp-io/x402-mcp-bridge 0.0.2 → 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.
- package/README.md +146 -123
- package/bin/hpp-x402.js +5 -0
- package/dist/a2a.d.ts +2 -2
- package/dist/a2a.js +14 -6
- package/dist/a2a.js.map +1 -1
- package/dist/autoTopup.d.ts +4 -1
- package/dist/autoTopup.js +4 -0
- package/dist/autoTopup.js.map +1 -1
- package/dist/cli/channel.d.ts +1 -1
- package/dist/cli/channel.js +1 -8
- package/dist/cli/channel.js.map +1 -1
- package/dist/cli/hpp-x402.d.ts +2 -0
- package/dist/cli/hpp-x402.js +377 -0
- package/dist/cli/hpp-x402.js.map +1 -0
- package/dist/cli/install-claude-code.d.ts +24 -0
- package/dist/cli/install-claude-code.js +50 -0
- package/dist/cli/install-claude-code.js.map +1 -0
- package/dist/cli/install-cursor.d.ts +7 -0
- package/dist/cli/install-cursor.js +26 -0
- package/dist/cli/install-cursor.js.map +1 -0
- package/dist/cli/install-mcp-host.d.ts +2 -2
- package/dist/cli/install-mcp-host.js.map +1 -1
- package/dist/cli/install-windsurf.d.ts +7 -0
- package/dist/cli/install-windsurf.js +37 -0
- package/dist/cli/install-windsurf.js.map +1 -0
- package/dist/cli/policy.d.ts +1 -1
- package/dist/cli/policy.js +1 -8
- package/dist/cli/policy.js.map +1 -1
- package/dist/cli/revoke.d.ts +1 -1
- package/dist/cli/revoke.js +1 -5
- package/dist/cli/revoke.js.map +1 -1
- package/dist/cli/safe.d.ts +62 -62
- package/dist/cli/serve.d.ts +1 -0
- package/dist/cli/serve.js +128 -0
- package/dist/cli/serve.js.map +1 -0
- package/dist/cli/setup.d.ts +1 -1
- package/dist/cli/setup.js +1 -5
- package/dist/cli/setup.js.map +1 -1
- package/dist/client.d.ts +6 -2
- package/dist/client.js +34 -15
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +71 -15
- package/dist/config.js +66 -10
- package/dist/config.js.map +1 -1
- package/dist/discovery.d.ts +43 -0
- package/dist/discovery.js +62 -0
- package/dist/discovery.js.map +1 -0
- package/dist/discoveryTools.d.ts +75 -0
- package/dist/discoveryTools.js +101 -0
- package/dist/discoveryTools.js.map +1 -0
- package/dist/funds/direct-balance.d.ts +28 -0
- package/dist/funds/direct-balance.js +61 -0
- package/dist/funds/direct-balance.js.map +1 -0
- package/dist/funds.d.ts +32 -0
- package/dist/funds.js +2 -0
- package/dist/funds.js.map +1 -0
- package/dist/httpX402.d.ts +8 -2
- package/dist/httpX402.js +26 -13
- package/dist/httpX402.js.map +1 -1
- package/dist/index.js +66 -11
- package/dist/index.js.map +1 -1
- package/dist/sellerTools.d.ts +247 -0
- package/dist/sellerTools.js +202 -0
- package/dist/sellerTools.js.map +1 -0
- package/dist/server.d.ts +8 -2
- package/dist/server.js +165 -64
- package/dist/server.js.map +1 -1
- package/dist/spendGuard.d.ts +24 -0
- package/dist/spendGuard.js +124 -0
- package/dist/spendGuard.js.map +1 -0
- package/package.json +13 -12
- package/bin/hpp-x402-channel.js +0 -5
- package/bin/hpp-x402-keychain.js +0 -5
- package/bin/hpp-x402-policy.js +0 -5
- package/bin/hpp-x402-safe-revoke.js +0 -5
- package/bin/hpp-x402-safe-setup.js +0 -5
- package/dist/autoSettlePickup.d.ts +0 -69
- package/dist/autoSettlePickup.js +0 -150
- package/dist/autoSettlePickup.js.map +0 -1
- package/dist/cli/keychain.d.ts +0 -1
- package/dist/cli/keychain.js +0 -147
- package/dist/cli/keychain.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,179 +1,202 @@
|
|
|
1
1
|
# @hpp-io/x402-mcp-bridge
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
5
|
-
>
|
|
6
|
-
>
|
|
3
|
+
> The agent payment rail for HPP. A stdio MCP bridge + a unified `hpp-x402`
|
|
4
|
+
> CLI that let Claude Desktop / Claude Code / Cursor / Windsurf / OpenClaw make
|
|
5
|
+
> autonomous **HPP USDC.e** payments over [x402](https://x402.org) — discover
|
|
6
|
+
> paid services, pay per call, all within a spend cap. No API keys, no manual
|
|
7
|
+
> signing.
|
|
7
8
|
|
|
8
9
|
## What it is
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
spawns, exposes itself as an MCP server to the host, and internally:
|
|
11
|
+
MCP hosts (Claude Desktop, Cursor, …) can't sign x402 payments. This package is
|
|
12
|
+
two things:
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- Retries the call.
|
|
14
|
+
- **The bridge** (`x402-mcp-bridge`) — a stdio MCP server the host spawns. It
|
|
15
|
+
proxies a paid upstream MCP server, and adds local tools to **discover** and
|
|
16
|
+
**call** any x402 service on HPP. When a service returns `402`, the bridge
|
|
17
|
+
pays with your wallet and retries. The host just sees tools that work.
|
|
18
|
+
- **The CLI** (`hpp-x402`) — one command to create a wallet, register the bridge
|
|
19
|
+
into your host, fund it, and browse/call services from the terminal.
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
Two wallet modes:
|
|
23
22
|
|
|
24
|
-
|
|
23
|
+
| Mode | Cap | Gas | For |
|
|
24
|
+
|------|-----|-----|-----|
|
|
25
|
+
| **light** (default) | fund small = your cap | none (settlement is gasless) | quick start, low value |
|
|
26
|
+
| **Safe** (governance) | on-chain daily cap (AllowanceModule) | delegate pays top-up gas | treasury, teams |
|
|
25
27
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"DELEGATE_PRIVATE_KEY": "keychain://hpp-x402/delegate-default",
|
|
35
|
-
"SAFE_ADDRESS": "0x...",
|
|
36
|
-
"ALLOWANCE_MODULE_ADDRESS": "0x...",
|
|
37
|
-
"USDCE_ADDRESS": "0x...",
|
|
38
|
-
"RESOURCE_SERVER_URL": "https://your-x402-server/mcp/sse",
|
|
39
|
-
"HPP_RPC_URL": "https://sepolia.hpp.io",
|
|
40
|
-
"HPP_NETWORK": "eip155:181228"
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
28
|
+
## Install
|
|
29
|
+
|
|
30
|
+
The bridge **auto-creates a wallet on first run** and defaults to HPP Sepolia —
|
|
31
|
+
there's no config to write. You just fund the address it prints.
|
|
32
|
+
|
|
33
|
+
**Claude Code — one line:**
|
|
34
|
+
```bash
|
|
35
|
+
claude mcp add hpp-x402 -s user -- npx -y @hpp-io/x402-mcp-bridge
|
|
45
36
|
```
|
|
46
37
|
|
|
47
|
-
`
|
|
38
|
+
**Or install the CLI too** (puts `hpp-x402` on your PATH; works for every host):
|
|
39
|
+
```bash
|
|
40
|
+
# macOS / Linux
|
|
41
|
+
curl -fsSL https://raw.githubusercontent.com/hpp-io/x402-mcp-bridge/main/install.sh | bash
|
|
42
|
+
# Windows (PowerShell)
|
|
43
|
+
irm https://raw.githubusercontent.com/hpp-io/x402-mcp-bridge/main/install.ps1 | iex
|
|
44
|
+
```
|
|
45
|
+
then register it into your host — the CLI writes the correct config per host:
|
|
46
|
+
```bash
|
|
47
|
+
hpp-x402 install claude # or claude-code | cursor | windsurf | openclaw
|
|
48
|
+
```
|
|
48
49
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
startup. **Recommended** — no plaintext key on disk.
|
|
52
|
-
- `0x[64 hex]` — raw key. Fine for quickstart / development.
|
|
50
|
+
**Fund it.** Restart your host, then send USDC.e (on HPP, no native gas) to your
|
|
51
|
+
wallet address — find it any of these ways:
|
|
53
52
|
|
|
54
|
-
|
|
53
|
+
- the address the bridge **prints on first run**, or
|
|
54
|
+
- ask the agent **“what's my wallet address?”** (the `wallet_address` tool), or
|
|
55
|
+
- run **`hpp-x402 fund`**.
|
|
55
56
|
|
|
56
|
-
|
|
57
|
-
stdio MCP servers. See [`examples/`](./examples/) for ready-to-merge JSON
|
|
58
|
-
snippets and a [local development guide](./examples/local-dev.md) for using
|
|
59
|
-
the bridge before it's published to npm.
|
|
57
|
+
That's it — ask the agent to discover and pay for a service.
|
|
60
58
|
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
> **Want explicit control?** `hpp-x402 setup --install <host>` runs the classic
|
|
60
|
+
> flow (generate the key + write the full env block). Any env you set yourself
|
|
61
|
+
> (delegate key, network, Safe) always overrides the zero-config defaults.
|
|
63
62
|
|
|
64
|
-
##
|
|
63
|
+
## The `hpp-x402` CLI
|
|
65
64
|
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
```
|
|
66
|
+
hpp-x402 setup one-command onboarding (+ optional --install <host>)
|
|
67
|
+
hpp-x402 wallet <sub> address | balance | generate | import <key> | remove
|
|
68
|
+
hpp-x402 install <host> register the bridge into an MCP host
|
|
69
|
+
hpp-x402 fund show the deposit address + on-chain balance
|
|
70
|
+
hpp-x402 discover [query] browse/search curated HPP x402 services
|
|
71
|
+
hpp-x402 call <resourceId> pay + invoke a discovered service (--body '{...}')
|
|
72
|
+
hpp-x402 status network + wallet + balance + server reachability
|
|
73
|
+
hpp-x402 policy <sub> host policy for x402_http_call (show/set/list/...)
|
|
74
|
+
hpp-x402 channel <sub> batch-settlement channels (ls/status/refund)
|
|
75
|
+
hpp-x402 safe <setup|revoke> Safe (governance) wallet + AllowanceModule
|
|
76
|
+
```
|
|
68
77
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
`setAllowance(<delegate>, USDC.e, <daily cap>, 1440 minutes, 0)` —
|
|
74
|
-
one Safe transaction each (or batched via Safe's MultiSend).
|
|
75
|
-
5. Send a small amount of native ETH to the delegate EOA (it pays gas
|
|
76
|
-
for `executeAllowanceTransfer`).
|
|
78
|
+
Run the CLI as `hpp-x402 <command>` after the installer above, or without
|
|
79
|
+
installing via `npx -y -p @hpp-io/x402-mcp-bridge hpp-x402 <command>`. The `-p`
|
|
80
|
+
matters: a bare `npx @hpp-io/x402-mcp-bridge` launches the MCP **server**, not
|
|
81
|
+
the CLI.
|
|
77
82
|
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
Common flags: `-a, --account <name>` (keychain slot, default `delegate-default`),
|
|
84
|
+
`-n, --network <caip2>` (`eip155:181228` Sepolia / `eip155:190415` Mainnet).
|
|
80
85
|
|
|
81
|
-
|
|
86
|
+
Keys are stored in the OS keychain (macOS Keychain / Windows Credential Vault /
|
|
87
|
+
Linux libsecret) and referenced as `keychain://hpp-x402/<account>` — never
|
|
88
|
+
plaintext on disk. Use `--print-key` on `setup` for a raw key (dev only).
|
|
82
89
|
|
|
83
|
-
|
|
84
|
-
so it never lives in `.env` / `claude_desktop_config.json` plaintext.
|
|
90
|
+
## Discover → pay, from the terminal
|
|
85
91
|
|
|
86
92
|
```bash
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
93
|
+
hpp-x402 discover "image generation" -n eip155:190415
|
|
94
|
+
# → lists services with resourceId, price (USDC.e), network, scheme
|
|
95
|
+
|
|
96
|
+
hpp-x402 call <resourceId> --body '{"prompt":"a red bicycle"}'
|
|
97
|
+
# → pays with your wallet (within the spend cap) and returns the result
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
The same capability is exposed to agents as MCP tools (below), so an agent can
|
|
101
|
+
discover and pay on its own.
|
|
102
|
+
|
|
103
|
+
## Tools the host sees
|
|
90
104
|
|
|
91
|
-
|
|
92
|
-
npx -y -p @hpp-io/x402-mcp-bridge hpp-x402-keychain generate
|
|
93
|
-
# → prints address — fund it with HPP gas, then add as Safe delegate
|
|
105
|
+
Registered by the bridge on top of any proxied upstream tools:
|
|
94
106
|
|
|
95
|
-
|
|
96
|
-
|
|
107
|
+
| Tool | What it does |
|
|
108
|
+
|------|--------------|
|
|
109
|
+
| `wallet_address` | report your own wallet address (to fund it with USDC.e) |
|
|
110
|
+
| `hpp_discover` | list/search the curated HPP discovery directory (read-only) |
|
|
111
|
+
| `hpp_call` | call a discovered service by `resourceId`; pays via your wallet |
|
|
112
|
+
| `x402_http_call` | call any allow-listed x402 HTTP endpoint (auth headers from local policy) |
|
|
113
|
+
| `pay_a2a_agent` | pay + message another A2A agent |
|
|
97
114
|
|
|
98
|
-
|
|
99
|
-
|
|
115
|
+
Discovery is **curated** (facilitator-indexed HPP services) — that's the trust
|
|
116
|
+
boundary — and every paid call is still bounded by the daily spend cap.
|
|
117
|
+
Non-custodial throughout: discovery never holds funds or sees your keys.
|
|
118
|
+
|
|
119
|
+
## Configuration (env)
|
|
120
|
+
|
|
121
|
+
**All env is optional.** A bare entry boots on HPP Sepolia with an auto-created
|
|
122
|
+
keychain wallet:
|
|
123
|
+
|
|
124
|
+
```jsonc
|
|
125
|
+
{ "mcpServers": { "hpp-x402": {
|
|
126
|
+
"command": "npx", "args": ["-y", "@hpp-io/x402-mcp-bridge"]
|
|
127
|
+
} } }
|
|
100
128
|
```
|
|
101
129
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
mainnet / project-specific delegates.
|
|
130
|
+
Set env only to override the defaults — mainnet, a specific key, a proxied
|
|
131
|
+
server, or Safe mode:
|
|
105
132
|
|
|
106
|
-
|
|
133
|
+
```jsonc
|
|
134
|
+
"env": {
|
|
135
|
+
"HPP_NETWORK": "eip155:190415", // Mainnet (default: Sepolia)
|
|
136
|
+
"DELEGATE_PRIVATE_KEY": "keychain://hpp-x402/my-wallet", // default: auto-created
|
|
137
|
+
"RESOURCE_SERVER_URL": "https://your-x402-server/mcp/sse" // proxy a seller's MCP tools
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
| Var | Notes |
|
|
142
|
+
|-----|-------|
|
|
143
|
+
| `DELEGATE_PRIVATE_KEY` | **optional** — auto-created in the OS keychain if unset. `keychain://hpp-x402/<account>` or `0x<64 hex>` |
|
|
144
|
+
| `HPP_NETWORK` | **optional** — CAIP-2 id, default `eip155:181228` (Sepolia); `eip155:190415` = Mainnet |
|
|
145
|
+
| `USDCE_ADDRESS` / `HPP_RPC_URL` | **optional** — default per network |
|
|
146
|
+
| `RESOURCE_SERVER_URL` | optional upstream MCP server to proxy (omit = local tools only) |
|
|
147
|
+
| `SAFE_ADDRESS` + `ALLOWANCE_MODULE_ADDRESS` | set both = Safe mode; omit both = light mode |
|
|
148
|
+
| `HPP_X402_DISCOVERY` | `on` (default) / `off` — registers `hpp_discover` / `hpp_call` |
|
|
149
|
+
| `HPP_X402_DISCOVERY_URL` | discovery base URL (default `https://x402-discovery.hpp.io`) |
|
|
150
|
+
|
|
151
|
+
## Safe mode (governance)
|
|
107
152
|
|
|
108
|
-
|
|
153
|
+
For an on-chain daily cap and treasury separation, use a Safe + AllowanceModule
|
|
154
|
+
instead of the light EOA:
|
|
109
155
|
|
|
110
|
-
|
|
156
|
+
```bash
|
|
157
|
+
hpp-x402 safe setup --owner-pk 0x... --allowance <atomic> # deploy + enable + delegate
|
|
158
|
+
hpp-x402 safe revoke --owner-pk 0x... --delegate 0x... # emergency: deleteAllowance
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Then set `SAFE_ADDRESS` + `ALLOWANCE_MODULE_ADDRESS` in the host config; the
|
|
162
|
+
bridge auto-tops up the delegate from the Safe within the chain-enforced cap
|
|
163
|
+
(`AllowanceModule.executeAllowanceTransfer`) before each payment.
|
|
164
|
+
|
|
165
|
+
## Architecture
|
|
111
166
|
|
|
112
167
|
```
|
|
113
|
-
host (Claude Desktop)
|
|
168
|
+
host (Claude Desktop / Cursor / …)
|
|
114
169
|
│ stdio (MCP)
|
|
115
170
|
▼
|
|
116
171
|
[ this bridge ]
|
|
117
172
|
─ Signer (delegate EOA)
|
|
118
|
-
─
|
|
119
|
-
─
|
|
173
|
+
─ Funds (light DirectBalance | Safe AutoTopup within cap)
|
|
174
|
+
─ discovery client (curated HPP services)
|
|
175
|
+
─ upstream MCP client (@x402/mcp wrapped) ─ optional
|
|
120
176
|
│
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
remote x402 MCP server
|
|
177
|
+
▼ SSE / StreamableHTTP (MCP + x402) discovery REST
|
|
178
|
+
paid x402 services on HPP
|
|
124
179
|
```
|
|
125
180
|
|
|
126
181
|
## Releasing to npm
|
|
127
182
|
|
|
128
|
-
|
|
183
|
+
Tag-driven via the GitHub Actions Publish workflow:
|
|
129
184
|
|
|
130
185
|
```
|
|
131
|
-
# (1) Recommended: tag-driven release
|
|
132
186
|
git checkout main && git pull
|
|
133
187
|
npm version patch # or minor / major
|
|
134
|
-
git push --follow-tags # → workflow
|
|
135
|
-
|
|
136
|
-
# (2) Ad-hoc: workflow_dispatch from GitHub UI
|
|
137
|
-
# Actions tab → "Publish to npm" → Run workflow
|
|
138
|
-
# Optional `dry_run` toggle for verification
|
|
188
|
+
git push --follow-tags # → workflow publishes to npm
|
|
139
189
|
```
|
|
140
190
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
The `prepublishOnly` script in package.json runs `typecheck && build`
|
|
145
|
-
locally too, so manual `npm publish` from a developer's machine still
|
|
146
|
-
guards against shipping broken builds.
|
|
191
|
+
`prepublishOnly` runs `typecheck && build`, so a broken build never ships.
|
|
192
|
+
Required repo secret: `NPM_TOKEN` (npmjs "Automation" token scoped to `@hpp-io`).
|
|
147
193
|
|
|
148
194
|
## Related
|
|
149
195
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
LangChain ReAct, OpenAI function-calling, Coinbase AgentKit, A2A
|
|
153
|
-
seller↔buyer, etc. — see the runnable Gallery:
|
|
154
|
-
|
|
196
|
+
Building an **agent / SDK** integration instead (LangChain, OpenAI
|
|
197
|
+
function-calling, AgentKit, A2A)? See the runnable gallery:
|
|
155
198
|
→ [hpp-io/hpp-x402-agent-sample](https://github.com/hpp-io/hpp-x402-agent-sample)
|
|
156
199
|
|
|
157
|
-
Both paths share the same wallet/x402 layer; pick whichever surface fits
|
|
158
|
-
your distribution.
|
|
159
|
-
|
|
160
|
-
## Status
|
|
161
|
-
|
|
162
|
-
**v0.0.1 — published on npm** as `@hpp-io/x402-mcp-bridge`. Working
|
|
163
|
-
end-to-end against HPP Sepolia (smoke proves both the "delegate has
|
|
164
|
-
balance" and "delegate empty → autoTopup → pay" paths). Install with
|
|
165
|
-
`npx -y @hpp-io/x402-mcp-bridge` or `npm i -g @hpp-io/x402-mcp-bridge`.
|
|
166
|
-
|
|
167
|
-
Roadmap:
|
|
168
|
-
|
|
169
|
-
- v0.1: package on npm, full README with screenshots, OS keychain wrapper
|
|
170
|
-
for `DELEGATE_PRIVATE_KEY` (`keychain://hpp-x402-delegate`).
|
|
171
|
-
- v0.2: additional `Signer` implementations (HPP self-hosted server-wallet
|
|
172
|
-
API, ERC-4337 session keys).
|
|
173
|
-
- v0.3: structured guardrail layer (allowlist of `RESOURCE_SERVER_URL`,
|
|
174
|
-
per-call max payment cap) — mirrors Coinbase AgentKit's
|
|
175
|
-
`X402ActionProvider`.
|
|
176
|
-
|
|
177
200
|
## License
|
|
178
201
|
|
|
179
202
|
Apache-2.0
|
package/bin/hpp-x402.js
ADDED
package/dist/a2a.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Network } from "@x402/core/types";
|
|
2
2
|
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { Funds } from "./funds.js";
|
|
4
4
|
import type { RawEoaSigner } from "./signers/raw-eoa.js";
|
|
5
5
|
export interface A2aPayerDeps {
|
|
6
6
|
signer: RawEoaSigner;
|
|
7
7
|
network: Network;
|
|
8
8
|
/** Optional: ensure the delegate holds enough USDC.e before paying. */
|
|
9
|
-
|
|
9
|
+
funds?: Funds;
|
|
10
10
|
/**
|
|
11
11
|
* Per-request timeout for the gate + paid `message/send` JSON-RPC calls.
|
|
12
12
|
* Defaults to {@link DEFAULT_A2A_RPC_TIMEOUT_MS} (60s). Override via env
|
package/dist/a2a.js
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import { x402Client } from "@x402/core/client";
|
|
20
20
|
import { ExactEvmScheme } from "@x402/evm/exact/client";
|
|
21
|
+
import { checkWalletSpend, recordWalletSpend } from "./spendGuard.js";
|
|
21
22
|
import { log } from "./log.js";
|
|
22
23
|
/**
|
|
23
24
|
* Pick the single `accept` entry the bridge will actually pay against:
|
|
@@ -153,15 +154,20 @@ export async function payA2aAgent(deps, args) {
|
|
|
153
154
|
// Reconstruct a single-accept PaymentRequired for the SDK so its
|
|
154
155
|
// internal selection cannot diverge from what we just chose.
|
|
155
156
|
const narrowedRequired = { ...required, accepts: [accept] };
|
|
156
|
-
|
|
157
|
-
//
|
|
158
|
-
|
|
157
|
+
const requiredAtomic = BigInt(accept.amount ?? "0");
|
|
158
|
+
// 2a. Wallet-wide guard (per-call + daily ledger) — the same brake as the
|
|
159
|
+
// HTTP/MCP path, so A2A payments are capped too (previously uncapped).
|
|
160
|
+
const walletDeny = checkWalletSpend(requiredAtomic);
|
|
161
|
+
if (walletDeny)
|
|
162
|
+
return errorResult(`blocked: ${walletDeny}`);
|
|
163
|
+
// 2b. Spend-cap: ensure the delegate holds enough USDC.e (Safe autoTopup or
|
|
164
|
+
// light-mode balance check). Skipped when no funds source is wired.
|
|
165
|
+
if (deps.funds) {
|
|
159
166
|
try {
|
|
160
|
-
|
|
161
|
-
await deps.autoTopup.ensure(requiredAtomic);
|
|
167
|
+
await deps.funds.ensure(requiredAtomic);
|
|
162
168
|
}
|
|
163
169
|
catch (err) {
|
|
164
|
-
return errorResult(`
|
|
170
|
+
return errorResult(`funds check failed (spend cap / insufficient balance?): ${err.message}`);
|
|
165
171
|
}
|
|
166
172
|
}
|
|
167
173
|
// 3. Sign the exact payload with the bridge's delegate EOA against
|
|
@@ -190,6 +196,8 @@ export async function payA2aAgent(deps, args) {
|
|
|
190
196
|
return errorResult(`A2A payment did not complete (state="${finalState}", payment="${payStatus}"): ` +
|
|
191
197
|
JSON.stringify(task?.status?.message ?? task?.metadata ?? {}).slice(0, 300));
|
|
192
198
|
}
|
|
199
|
+
// Record the successful spend against the wallet-wide daily ledger.
|
|
200
|
+
recordWalletSpend(requiredAtomic);
|
|
193
201
|
return {
|
|
194
202
|
content: [{ type: "text", text: JSON.stringify({ payment: payStatus, ...extractResult(task) }) }],
|
|
195
203
|
};
|
package/dist/a2a.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../src/a2a.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../src/a2a.ts"],"names":[],"mappings":"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"}
|
package/dist/autoTopup.d.ts
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { type Address, type Hex } from "viem";
|
|
18
18
|
import type { Signer } from "./signer.js";
|
|
19
|
+
import type { Funds } from "./funds.js";
|
|
19
20
|
export interface AutoTopupOptions {
|
|
20
21
|
/** PoC-only: explicit pull amount (atomic). If unset, a dynamic value
|
|
21
22
|
* based on `requiredAtomic` × headroom is used. */
|
|
@@ -23,7 +24,7 @@ export interface AutoTopupOptions {
|
|
|
23
24
|
/** Headroom multiplier for dynamic topup. Default 10. */
|
|
24
25
|
headroomX?: bigint;
|
|
25
26
|
}
|
|
26
|
-
export declare class AutoTopup {
|
|
27
|
+
export declare class AutoTopup implements Funds {
|
|
27
28
|
private readonly signer;
|
|
28
29
|
private readonly safe;
|
|
29
30
|
private readonly allowanceModule;
|
|
@@ -40,6 +41,8 @@ export declare class AutoTopup {
|
|
|
40
41
|
* (or null if no topup was needed).
|
|
41
42
|
*/
|
|
42
43
|
ensure(requiredAtomic: bigint): Promise<Hex | null>;
|
|
44
|
+
/** Funds interface: the delegate's immediately-spendable balance. */
|
|
45
|
+
balance(): Promise<bigint>;
|
|
43
46
|
/** Read delegate's current ERC-20 balance. */
|
|
44
47
|
private balanceOfDelegate;
|
|
45
48
|
/** allowance.amount - allowance.spent (after on-chain auto-reset, which
|
package/dist/autoTopup.js
CHANGED
|
@@ -114,6 +114,10 @@ export class AutoTopup {
|
|
|
114
114
|
}
|
|
115
115
|
return this.execute(amount);
|
|
116
116
|
}
|
|
117
|
+
/** Funds interface: the delegate's immediately-spendable balance. */
|
|
118
|
+
async balance() {
|
|
119
|
+
return this.balanceOfDelegate();
|
|
120
|
+
}
|
|
117
121
|
/** Read delegate's current ERC-20 balance. */
|
|
118
122
|
async balanceOfDelegate() {
|
|
119
123
|
return (await this.publicClient.readContract({
|
package/dist/autoTopup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoTopup.js","sourceRoot":"","sources":["../src/autoTopup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,IAAI,EACJ,WAAW,GAKZ,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"autoTopup.js","sourceRoot":"","sources":["../src/autoTopup.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/channel.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare function run(): Promise<void>;
|
package/dist/cli/channel.js
CHANGED
|
@@ -276,7 +276,7 @@ async function cmdWithdraw(url, finalize) {
|
|
|
276
276
|
}
|
|
277
277
|
console.log(`finalize tx: ${txHash}`);
|
|
278
278
|
}
|
|
279
|
-
async function
|
|
279
|
+
export async function run() {
|
|
280
280
|
const args = process.argv.slice(2);
|
|
281
281
|
const subcmd = args[0];
|
|
282
282
|
switch (subcmd) {
|
|
@@ -320,11 +320,4 @@ async function main() {
|
|
|
320
320
|
usage();
|
|
321
321
|
}
|
|
322
322
|
}
|
|
323
|
-
main().catch((err) => {
|
|
324
|
-
console.error("hpp-x402-channel fatal:", err.message ?? err);
|
|
325
|
-
if (process.env.LOG_LEVEL === "debug" && err instanceof Error && err.stack) {
|
|
326
|
-
console.error(err.stack);
|
|
327
|
-
}
|
|
328
|
-
process.exit(1);
|
|
329
|
-
});
|
|
330
323
|
//# sourceMappingURL=channel.js.map
|
package/dist/cli/channel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/cli/channel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/cli/channel.ts"],"names":[],"mappings":"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"}
|