Skip to content

Merge to main and publish release#71

Merged
JamesLawton merged 77 commits intomainfrom
staging
Apr 14, 2026
Merged

Merge to main and publish release#71
JamesLawton merged 77 commits intomainfrom
staging

Conversation

@JamesLawton
Copy link
Copy Markdown
Collaborator

No description provided.

Removes cloudflared/HTTP server machinery from wallet create and replaces
it with X25519 key exchange through the connector-ui relay API. The new
flow registers a CLI public key with the relay, polls for browser approval,
then prompts for a 6-digit out-of-band code to decrypt the session payload.
Adds RelayClient, RelayCodeError, and sessionPayloadToWalletSession helpers;
updates wallet import to support both relay-code and legacy ciphertext modes.
- add Ink-based terminal UI: wallet-ui, operations-ui, setup-ui, ui/components
- use terminal-agnostic colors: bold/dimColor + ANSI colors only
  (cyan, green, yellow, red, magenta); no white/gray that vanish on light terminals
- fix BalancesUI: remove top padding blank line, widen token column to 14
- rename --no-wait to --print-url to fix yargs boolean-negation conflict
- add bootstrapAccessKey() to auto-load access key at startup
- compact JSON output for all machine-readable commands
- connector-ui: fix indexer to use chain-specific endpoints
- connector-ui: show real USD balance in CodeDisplay
- connector-ui: light theme redesign with Polygon branding assets
feat: v2 relay session handoff — replace cloudflared tunnel with Durable Object relay + 6-digit code
…ction envs

Durable objects are not inherited by environments in wrangler.toml.
Also adds run_worker_first and not_found_handling to assets config.
…-bindings

fix(connector-ui): add SESSION_RELAY DO bindings to staging and production envs
JamesLawton and others added 24 commits April 10, 2026 17:20
…t_details

When the 402 response uses custom payment_details JSON and the Polygon
network entry has a facilitator URL, fund the EOA first, then sign an
EIP-3009 authorization via ExactEvmScheme and settle through the
facilitator's /settle endpoint.

Key details:
- ExactEvmScheme.createPaymentPayload requires CAIP-2 network ('eip155:137')
  for EIP-712 signing but omits scheme/network from its return value;
  manually set scheme='exact', network='polygon' for x402-rs compatibility
- x402-rs uses maxAmountRequired (not amount) and requires resource,
  description, mimeType fields; build a separate facilitatorPaymentRequirements
  for the HTTP body
- Poll Sequence nodes RPC for tx confirmation before presenting the tx hash
- Fall back to direct on-chain transfer when no facilitator is present
…tion guide

Replace the EIP-3009/facilitator path with the correct simple flow:
- Detect { payment_address, amount_usdc, supported_chains, usdc_contracts }
  (current Bazaar format) with fallback for legacy payment_details format
- Prefer Polygon; fall back to first supported chain
- Direct USDC transfer to payment_address, then retry with
  X-Payment-TxHash + X-Payment-Chain headers

Also: update yield use case prompt to target $100M TVL threshold
and include daily cron scheduling guidance
The x402 Bazaar service now returns per-network recipients in each
networks[] entry. Polygon uses a FeeSplitter contract address that
differs from the top-level recipient field. Prefer polygonNet.recipient
over details.recipient so the transfer goes to the correct address.
…o POST

- Add Yield Vault Contract Whitelist section with top Morpho vaults on
  Katana and Aave/Morpho pools on Polygon, including wallet create example
- Fix all x402 Bazaar endpoint examples from GET to POST (the catalog
  endpoints require POST; GET returns 404)
…o POST

- Add Yield Vault Contract Whitelist section with top Morpho vaults on
  Katana and Aave/Morpho pools on Polygon, including wallet create example
- Fix all x402 Bazaar endpoint examples from GET to POST (the catalog
  endpoints require POST; GET returns 404)
Swap the x402 Bazaar "code review" tile for the lead scoring service
(31bf0100). The lead scoring use case is more agentic — the agent
evaluates a domain across 7 signals and produces an actionable A-F grade,
which fits the "decide then act" pattern of the other dashboard tiles better
than a passive code review.
Split the monolithic SKILL.md into focused sub-skills:
- skills/polygon-polymarket/SKILL.md — Polymarket trading
- skills/polygon-defi/SKILL.md — DeFi placeholder
- skills/polygon-discovery/SKILL.md — x402 Bazaar pay-per-call services
- skills/SKILL.md — core setup/wallet/agent docs + index to sub-skills

Removed packages/polygon-agent-cli/skills/ — replaced by sync of the
full skills/ directory tree. Pre-commit hook now copies the entire
skills/ tree to both connector-ui/public/skills/ and the CLI package.
…t whitelist

Documents Aave v3 and Morpho vault deposits, same-chain swaps, cross-chain
bridging, session whitelisting flow, and known vault contract addresses for
Polygon mainnet and Katana (chainId 747474).
feat: refactor skills into sub-skill files by use-case
- Font: Fustat (700/500) replacing Inter
- Colors: #141635 primary text, #64708f secondary, #c8cfe1/#929eba borders
- Cards: 24px radius (rounded-3xl), cleaner shadows, no purple hairline stripe
- Buttons: dark navy #141635 CTA (was purple), purple #7c3aed for icons/accents only
- Page bg: #f5f6fb subtle off-white
- Trails widget theme updated to match new palette
- Hover states: border transitions to #929eba throughout
…ssions

Adds Aave V3, Morpho (Polygon mainnet), and all major Katana Morpho vaults
to AUTO_WHITELISTED_CONTRACTS so agents can deposit without needing manual
--contract flags.
let active = true;
const poll = async () => {
try {
const res = await fetch(`/api/relay/status/${rid}`);
Comment on lines +496 to +500
const relayRes = await fetch(`/api/relay/session/${rid}`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(encrypted)
});
for (let attempt = 0; attempt < 30; attempt++) {
await new Promise((r) => setTimeout(r, 3000));
try {
const rpcRes = await fetch(rpcUrl, {
@JamesLawton JamesLawton merged commit 5307097 into main Apr 14, 2026
6 checks passed
@JamesLawton JamesLawton deleted the staging branch April 14, 2026 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants