Skip to content

feat: private pay CLI#2

Open
snawaz wants to merge 17 commits intomainfrom
snawaz/ppay
Open

feat: private pay CLI#2
snawaz wants to merge 17 commits intomainfrom
snawaz/ppay

Conversation

@snawaz
Copy link
Copy Markdown

@snawaz snawaz commented Mar 26, 2026

Summary by CodeRabbit

  • New Features

    • Added a CLI to perform repeated private USDC transfers with configurable count, delays, retries, checkpointing, and a summary of confirmed transactions.
  • Documentation

    • Added CLI usage, installation, supported keypair formats, environment variables, examples, and notes on transfer behavior and balance verification.
  • Chores

    • Published package as an ES module and exposed the CLI executable for local installation.

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pay Ready Ready Preview, Comment Apr 1, 2026 8:01am

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 26, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds a CLI named ppay and README docs; updates package.json (ES module, bin, script, bs58); adds a POSIX launcher; and introduces a new TypeScript CLI (scripts/ppay.ts) that automates repeated private USDC transfers, signing, submission, retries, checkpoints, and run export.

Changes

Cohort / File(s) Summary
Documentation
README.md
Added "Private USDC CLI" section with usage, example invocation, npm link instructions, accepted from key formats, and environment variables controlling API/cluster/mint/RPC and CLI params.
Package manifest
package.json
Declared package "type": "module", added CLI bin mapping ("ppay": "./ppay"), new npm script "ppay", and added dependency "bs58": "^6.0.0".
Shell launcher
ppay
New POSIX wrapper that sets strict flags, resolves its directory robustly, and execs Node with --experimental-strip-types, forwarding CLI args.
CLI implementation
scripts/ppay.ts
New TypeScript CLI (~995 lines): arg parsing and validation, multi-format keypair loading, env/config resolution, Solana Connection and slot/balance snapshots, loop requesting unsigned private-transfer txs from Payments API, verify required signer, local signing and RPC submission with retry/backoff and confirmation, checkpoint delays and double-spend checks, settle-retry logic, and export of per-run JSON data (balances, transactions, result).

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes


Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Author

snawaz commented Mar 26, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

@snawaz snawaz requested a review from GabrielePicco March 26, 2026 19:59
@snawaz snawaz marked this pull request as ready for review March 26, 2026 19:59
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.

1 participant