feat(cli): add minimal recognized-usage seller commands - #986
Open
alexanderludwig wants to merge 3 commits into
Open
feat(cli): add minimal recognized-usage seller commands#986alexanderludwig wants to merge 3 commits into
alexanderludwig wants to merge 3 commits into
Conversation
alexanderludwig
force-pushed
the
feat/cli-recognized-usage
branch
from
September 5, 2026 00:03
adac29e to
0c3a808
Compare
alexanderludwig
force-pushed
the
feat/cli-recognized-usage
branch
from
September 5, 2026 00:25
0c3a808 to
5b725a9
Compare
alexanderludwig
force-pushed
the
contracts-update-all
branch
from
September 5, 2026 08:55
a2f8027 to
91c67a4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
seller stakeANTS-only, with an explicit lock duration. It never switches to USDC based on the network. Legacy USDC staking, withdrawal, and the migration starter claim live underseller legacy.seller register. ANTS staking uses the verified binding and no longer accepts an identity override.seller rewards [claim]. Reads include legacy, recognized-usage, and pool earnings without transactions; claims collect all eligible rewards into the current wallet.network contractsinspection command. Automatic registry/address validation remains inside payment commands.@antseed/node/paymentsSDK clients, not CLI-specific wrappers. Remove the CLI’s directethersdependency; retain command parsing, output, instructions, and confirmations in the CLI.Dependency and scope
Stacked on #968 (
contracts-update-all). Merge the prerequisite first, then retarget this PR tomain.The comparison against the base contains no Solidity source changes. It includes the CLI/SDK integration, minimal seller UX, documentation, and fork tests. The SDK now owns the existing on-chain slashing getter and shared payment logic. The pre-existing local Solidity-interface edit remains uncommitted and excluded. No new contract selectors or deployments are required by this SDK cleanup.
SDK ownership
Payment command reference
These are the new or updated seller payment commands; existing seller start/setup/status/doctor commands remain available.
antseed seller register [--agent-id <id>] [--metadata <uri>]antseed seller stake <ants> --epochs <n>antseed seller rewards [--json]antseed seller rewards claimantseed seller pool positions [--json]antseed seller pool withdraw <ids...> [--accept-slashing] [-y, --yes]antseed seller legacy stake <usdc> [--agent-id <id>]antseed seller legacy unstakeantseed seller legacy claim-starterseller status [--json]includes upgrade-aware identity, stake, eligibility, and position-count information. Buyer emissions retain their existinginfo/claimcommands and--legacy-only/--new-onlyfilters.Intentional compatibility breaks
seller stakeseller legacy stakeseller stake --agent-idseller register --agent-id, then stake without an identity overrideseller unstakeseller legacy unstakeseller pool claim-starter,seller pool bootstrap,seller pool initseller legacy claim-starter; no aliasesseller emissions info,seller pool rewardsseller rewardsseller emissions claim,seller pool rewards claimseller rewards claimnetwork contractsSeller reward claims no longer expose era filters, per-position selection, or alternate recipients. The canonical command claims all eligible seller earnings into the current wallet. Buyer commands are unchanged by this simplification.
Safety behavior
seller legacy stake; it never treats an ANTS amount as USDC.--yesdoes not replace--accept-slashing. Slashing is determined by the existing contracts at execution; the displayed estimate is not a guaranteed maximum loss.Validation
git diff --check.Fork tests use unchanged M001 contracts on an isolated local Base-mainnet fork. Usage is seeded through the authorized recorder; this is CLI-to-contract integration coverage, not production testing or a complete buyer-to-model inference session. No production transactions are sent.
Local M001 rehearsal helpers
These are repository development helpers, not additional installed
antseedcommands. Each accepts--out <directory>.pnpm m001:sandbox up [--port <port>]BASE_MAINNET_RPC_URL.pnpm m001:sandbox cutoverpnpm m001:sandbox advance-epoch [n]pnpm m001:sandbox fund-seller <address>pnpm m001:sandbox fund-ants <address> <amount>ANTS_HOLDER.pnpm m001:sandbox fund-position-init <count>ANTS_HOLDER.pnpm m001:sandbox statuspnpm m001:sandbox downDocumentation
Updates the changelog, CLI and SDK READMEs, website command/provider/payment guides, setup next steps, and M001 CLI rehearsal instructions. The SDK README documents the shared APIs, read-only preview snapshots, receipt reporting, and RPC requirements. Removed commands are listed only in migration notes, not as supported aliases.