@reppo/cli 0.8.6 → 0.10.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 CHANGED
@@ -62,10 +62,10 @@ Errors **always** emit JSON on stderr regardless of mode, with a stable `code` f
62
62
  - `reppo approve --spender <pod-manager|subnet-manager|ve-reppo|0x…> [--amount <units|max>] [--token reppo|usdc|0x…]` — set an ERC20 allowance so subsequent writes (lock, grant-access, mint-pod) don't fail with INSUFFICIENT_ALLOWANCE. `--token` accepts the `reppo`/`usdc` aliases or an arbitrary ERC20 token address (0x…) — e.g. a datanet's primary token, so an operator can approve it for the SubnetManager; for an address the token's `decimals()` is read on-chain for amount scaling. Defaults to unlimited (`max`); reads the current allowance first and emits `{status:'no-op'}` if it already covers the request.
63
63
  - `reppo vote --pod <id> --votes <n> --like|--dislike` — cast a vote on a pod, spending `<n>` voting power
64
64
  - `reppo mint-pod --datanet <id> [--token reppo|primary] [--to <addr>]` — mint a pod into a datanet. Add `--pod-name <s>` to also publish metadata (Phase 2): after the on-chain mint, register the pod with the platform (`POST /agents/{id}/pods`). Requires `--subnet-uuid <cuid>` (the platform UUID, **not** the numeric `--datanet` id), `--agree-to-terms`, and `REPPO_AGENT_ID` + agent key. Optionally `--pod-description`, `--category`, `--platform`, `--url`, and a dataset: `--dataset <file>` (pinned to IPFS via `PINATA_JWT`) or `--dataset-uri <url>` (used as-is). A Phase-2 failure does not fail the mint — it exits 0 with `metadata.published:false`; re-run with the same `--idempotency-key` to retry.
65
- - `reppo lock <amount> --duration <seconds>` — lock REPPO into veREPPO for voting power
65
+ - `reppo lock <amount> --duration <seconds>` — lock REPPO into veREPPO for voting power. Auto-approves veREPPO for REPPO when the allowance is short (no manual `approve` needed); emits `autoApproveTx` when it does.
66
66
  - `reppo unlock <lockupId> [--to <addr>]` — withdraw an expired veREPPO lockup, returning the locked REPPO
67
67
  - `reppo extend-lock <lockupId> --duration <seconds>` — extend an existing veREPPO lockup
68
- - `reppo grant-access --datanet <id> [--to <addr>] [--token reppo|primary]` — pay the datanet access fee and grant `--to` access. Defaults to REPPO; `--token primary` pays in the datanet's primary token (e.g. $EXY). Output: `feeAmount` (on-chain fee quote), `feePaid` (receipt-derived actual), `feeToken: { symbol, address, decimals }`, and `token`. On the REPPO path the legacy `reppoFee` field is also emitted for back-compat (pre-0.8.5 consumers).
68
+ - `reppo grant-access --datanet <id> [--to <addr>] [--token reppo|primary]` — pay the datanet access fee and grant `--to` access. Defaults to REPPO; `--token primary` pays in the datanet's primary token (e.g. $EXY). Auto-approves the SubnetManager for the fee token when the allowance is short (no manual `approve` needed); emits `autoApproveTx` when it does. Output: `feeAmount` (on-chain fee quote), `feePaid` (receipt-derived actual), `feeToken: { symbol, address, decimals }`, and `token`. On the REPPO path the legacy `reppoFee` field is also emitted for back-compat (pre-0.8.5 consumers).
69
69
  - `reppo claim-emissions --pod <id> --epoch <n>` — claim a pod's emissions for an epoch
70
70
  - `reppo register-agent --name <s> --description <s>` — register a new agent identity on the Reppo platform; returns `{ id, apiKey }`. The apiKey is the Bearer token for subsequent agent-scoped calls (`/agents/[id]/subnets`, `/agents/[id]/pods`). On-chain mints use your `REPPO_PRIVATE_KEY` wallet; the platform no longer provisions one server-side.
71
71
  - `reppo auth [--force]` — sign in to the platform API (api.reppo.xyz); caches a 24h Bearer token used by `query emissions-due` and other platform-API commands
package/dist/bin.js CHANGED
@@ -8,6 +8,7 @@ import { Cli, Builtins } from 'clipanion';
8
8
  import { ApproveCommand } from './commands/approve.js';
9
9
  import { AuthCommand } from './commands/auth.js';
10
10
  import { ClaimEmissionsCommand } from './commands/claim-emissions.js';
11
+ import { ClaimVoterEmissionsCommand } from './commands/claim-voter-emissions.js';
11
12
  import { ExtendLockCommand } from './commands/extend-lock.js';
12
13
  import { GrantAccessCommand } from './commands/grant-access.js';
13
14
  import { ListDatanetsCommand } from './commands/list/datanets.js';
@@ -46,6 +47,7 @@ cli.register(Builtins.VersionCommand);
46
47
  cli.register(ApproveCommand);
47
48
  cli.register(AuthCommand);
48
49
  cli.register(ClaimEmissionsCommand);
50
+ cli.register(ClaimVoterEmissionsCommand);
49
51
  cli.register(ExtendLockCommand);
50
52
  cli.register(GrantAccessCommand);
51
53
  cli.register(ListDatanetsCommand);
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Auto-approval helper for write commands that pull an ERC20 (lock → veREPPO,
3
+ * grant-access → SubnetManager).
4
+ *
5
+ * Pre-alpha these commands threw INSUFFICIENT_ALLOWANCE and told the operator to
6
+ * "send approve() manually, e.g. via cast" — a real onboarding blocker for
7
+ * non-technical node operators. `ensureAllowance` now sends an unlimited approve()
8
+ * and waits for its receipt whenever the current allowance is short, so the spend
9
+ * just works. An allowance that already covers the amount is a no-op (no tx) — which
10
+ * keeps the command idempotent on retry: a re-run after the approve landed simply
11
+ * sees a sufficient allowance and proceeds.
12
+ *
13
+ * Unlimited (MaxUint256) matches `reppo approve`'s default and the one-time-approve
14
+ * pattern agents expect; a bounded approval would force a fresh approve tx on every
15
+ * fee change. The spender is always a Reppo protocol contract the caller already
16
+ * consented to interact with by running the command.
17
+ */
18
+ import { type Address } from 'viem';
19
+ import type { Clients } from './clients.js';
20
+ export interface EnsureAllowanceResult {
21
+ /** True when an approve() tx was sent (allowance was short); false on a no-op. */
22
+ approved: boolean;
23
+ /** The approve tx hash, present only when `approved` is true. */
24
+ approveTx?: `0x${string}`;
25
+ }
26
+ /**
27
+ * Ensure the caller has approved `spender` for at least `needed` of `token`.
28
+ * Sends an unlimited approve() + waits for the receipt when short; no-op otherwise.
29
+ * Pass `knownAllowance` to reuse an allowance the caller already read (avoids a
30
+ * second RPC round-trip).
31
+ */
32
+ export declare function ensureAllowance(clients: Clients, token: Address, spender: Address, needed: bigint, knownAllowance?: bigint): Promise<EnsureAllowanceResult>;
33
+ //# sourceMappingURL=allowance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance.d.ts","sourceRoot":"","sources":["../../src/chain/allowance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAM5C,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB,iEAAiE;IACjE,SAAS,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,qBAAqB,CAAC,CA6BhC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Auto-approval helper for write commands that pull an ERC20 (lock → veREPPO,
3
+ * grant-access → SubnetManager).
4
+ *
5
+ * Pre-alpha these commands threw INSUFFICIENT_ALLOWANCE and told the operator to
6
+ * "send approve() manually, e.g. via cast" — a real onboarding blocker for
7
+ * non-technical node operators. `ensureAllowance` now sends an unlimited approve()
8
+ * and waits for its receipt whenever the current allowance is short, so the spend
9
+ * just works. An allowance that already covers the amount is a no-op (no tx) — which
10
+ * keeps the command idempotent on retry: a re-run after the approve landed simply
11
+ * sees a sufficient allowance and proceeds.
12
+ *
13
+ * Unlimited (MaxUint256) matches `reppo approve`'s default and the one-time-approve
14
+ * pattern agents expect; a bounded approval would force a fresh approve tx on every
15
+ * fee change. The spender is always a Reppo protocol contract the caller already
16
+ * consented to interact with by running the command.
17
+ */
18
+ import { maxUint256 } from 'viem';
19
+ import { nextNonce } from './clients.js';
20
+ import { erc20 } from './contracts.js';
21
+ import { decodeRevert } from './errors.js';
22
+ import { cliError } from '../output/format.js';
23
+ /**
24
+ * Ensure the caller has approved `spender` for at least `needed` of `token`.
25
+ * Sends an unlimited approve() + waits for the receipt when short; no-op otherwise.
26
+ * Pass `knownAllowance` to reuse an allowance the caller already read (avoids a
27
+ * second RPC round-trip).
28
+ */
29
+ export async function ensureAllowance(clients, token, spender, needed, knownAllowance) {
30
+ const t = erc20(token);
31
+ const allowance = knownAllowance ?? (await clients.publicClient.readContract({
32
+ address: t.address, abi: t.abi, functionName: 'allowance',
33
+ args: [clients.account.address, spender],
34
+ }));
35
+ if (allowance >= needed)
36
+ return { approved: false };
37
+ let approveTx;
38
+ try {
39
+ const nonce = await nextNonce(clients.publicClient, clients.account.address);
40
+ approveTx = await clients.walletClient.writeContract({
41
+ address: t.address, abi: t.abi, functionName: 'approve',
42
+ args: [spender, maxUint256],
43
+ chain: clients.walletClient.chain, account: clients.account, nonce,
44
+ });
45
+ }
46
+ catch (e) {
47
+ const decoded = decodeRevert(e);
48
+ throw cliError(decoded.code, 'auto-approve tx failed to submit', decoded.hint);
49
+ }
50
+ // Wait so the on-chain nonce advances before the caller's own write (the next
51
+ // nextNonce returns approveNonce+1) and so a revert fails loud, not silently.
52
+ const receipt = await clients.publicClient.waitForTransactionReceipt({ hash: approveTx, timeout: 120_000 });
53
+ if (receipt.status === 'reverted') {
54
+ throw cliError('APPROVE_REVERTED', `auto-approve tx reverted: ${approveTx}`, 'The approve() transaction reverted on-chain. Check the token contract and that the wallet holds gas.');
55
+ }
56
+ return { approved: true, approveTx };
57
+ }
58
+ //# sourceMappingURL=allowance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowance.js","sourceRoot":"","sources":["../../src/chain/allowance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,UAAU,EAAgB,MAAM,MAAM,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAS/C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAgB,EAChB,KAAc,EACd,OAAgB,EAChB,MAAc,EACd,cAAuB;IAEvB,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,SAAS,GAAG,cAAc,IAAI,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;QAC3E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,WAAW;QACzD,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;KACzC,CAAC,CAAC,CAAC;IACJ,IAAI,SAAS,IAAI,MAAM;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAEpD,IAAI,SAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7E,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;YACnD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,SAAS;YACvD,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;YAC3B,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK;SACnE,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,kCAAkC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,CAAC;IAED,8EAA8E;IAC9E,8EAA8E;IAC9E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5G,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAClC,MAAM,QAAQ,CAAC,kBAAkB,EAAE,6BAA6B,SAAS,EAAE,EACzE,sGAAsG,CAAC,CAAC;IAC5G,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACvC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { BaseCommand } from './_base.js';
2
+ export declare class ClaimVoterEmissionsCommand extends BaseCommand {
3
+ static paths: string[][];
4
+ static usage: import("clipanion").Usage;
5
+ pod: string;
6
+ epoch: string;
7
+ idempotencyKey: string | undefined;
8
+ dryRun: boolean;
9
+ execute(): Promise<number>;
10
+ }
11
+ //# sourceMappingURL=claim-voter-emissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-voter-emissions.d.ts","sourceRoot":"","sources":["../../src/commands/claim-voter-emissions.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWzC,qBAAa,0BAA2B,SAAQ,WAAW;IACzD,OAAgB,KAAK,aAA+B;IAEpD,OAAgB,KAAK,4BAUlB;IAEH,GAAG,SAA8C;IACjD,KAAK,SAAgD;IACrD,cAAc,qBAAsC;IACpD,MAAM,UAAsC;IAEtC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAyJjC"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * `reppo claim-voter-emissions --pod <id> --epoch <n>` — claim the SIGNER's
3
+ * voter emissions for a pod it up/down-voted in a given epoch.
4
+ *
5
+ * Counterpart to `claim-emissions` (which claims the POD OWNER's emissions via
6
+ * claimPodOwnerEmissions). Voters earn a separate share of a pod's epoch pool
7
+ * for curating it; that reward is claimed with claimVoterEmissions(voter, podId,
8
+ * epoch) and was previously unclaimable through the CLI.
9
+ *
10
+ * Pre-flight (V2):
11
+ * 1. INVALID_POD_ID, INVALID_EPOCH (parse)
12
+ * 2. ALREADY_CLAIMED (hasUserClaimedEmissions(epoch, podId, voter) === true)
13
+ *
14
+ * No ownership check — the caller claims AS A VOTER, not the owner. PodManager
15
+ * V2 exposes no per-(voter,pod) "due" view, so there is no NO_EMISSIONS_DUE
16
+ * pre-flight: the contract reverts cleanly when nothing is due and the
17
+ * structured decoder surfaces the code.
18
+ *
19
+ * Two-phase write protocol via peekIdempotent.
20
+ * Args fingerprint: { podId, epoch } — re-using one --idempotency-key across
21
+ * different (podId, epoch) is rejected with IDEMPOTENCY_ARGS_MISMATCH.
22
+ */
23
+ import { Option } from 'clipanion';
24
+ import { BaseCommand } from './_base.js';
25
+ import { cliError, emit } from '../output/format.js';
26
+ import { createClients, nextNonce } from '../chain/clients.js';
27
+ import { podManager } from '../chain/contracts.js';
28
+ import { decodeRevert } from '../chain/errors.js';
29
+ import { handleSubmittedCacheDecision } from './write-cache.js';
30
+ import { waitForWriteReceipt, receiptGasEth } from '../chain/receipt.js';
31
+ import { begin, markSubmitted, markConfirmed, markFailed, peekIdempotent } from '../state/idempotency.js';
32
+ const COMMAND = 'claim-voter-emissions';
33
+ export class ClaimVoterEmissionsCommand extends BaseCommand {
34
+ static paths = [['claim-voter-emissions']];
35
+ static usage = BaseCommand.Usage({
36
+ description: 'Claim your voter emissions for a pod you voted on, for a given epoch.',
37
+ examples: [
38
+ ['Claim voter emissions for pod 34, epoch 3940',
39
+ 'reppo claim-voter-emissions --pod 34 --epoch 3940'],
40
+ ['With idempotency key',
41
+ 'reppo claim-voter-emissions --pod 34 --epoch 3940 --idempotency-key claim-voter-34-3940'],
42
+ ['Dry-run',
43
+ 'reppo claim-voter-emissions --pod 34 --epoch 3940 --dry-run'],
44
+ ],
45
+ });
46
+ pod = Option.String('--pod', { required: true });
47
+ epoch = Option.String('--epoch', { required: true });
48
+ idempotencyKey = Option.String('--idempotency-key');
49
+ dryRun = Option.Boolean('--dry-run', false);
50
+ async execute() {
51
+ try {
52
+ const cfg = this.loadConfig();
53
+ const pk = cfg.privateKey;
54
+ if (!pk) {
55
+ throw cliError('MISSING_PRIVATE_KEY', 'No signing key available.', 'Set REPPO_PRIVATE_KEY in env.');
56
+ }
57
+ let podId;
58
+ try {
59
+ podId = BigInt(this.pod);
60
+ }
61
+ catch {
62
+ throw cliError('INVALID_POD_ID', `Pod id must be a non-negative integer; got "${this.pod}".`);
63
+ }
64
+ let epoch;
65
+ try {
66
+ epoch = BigInt(this.epoch);
67
+ }
68
+ catch {
69
+ throw cliError('INVALID_EPOCH', `Epoch must be a non-negative integer; got "${this.epoch}".`);
70
+ }
71
+ const args = { podId: podId.toString(), epoch: epoch.toString() };
72
+ const decision = await peekIdempotent(this.idempotencyKey, COMMAND, args, this.dryRun);
73
+ if (decision.kind === 'return-confirmed') {
74
+ emit({ ...decision.result, idempotent: true, status: 'confirmed' }, [`(cached, confirmed) tx: ${decision.txHash ?? 'n/a'}`]);
75
+ return 0;
76
+ }
77
+ if (decision.kind === 'return-submitted') {
78
+ const clients = createClients({
79
+ network: cfg.network,
80
+ privateKey: pk,
81
+ ...(cfg.rpcUrl ? { rpcUrl: cfg.rpcUrl } : {}),
82
+ });
83
+ return handleSubmittedCacheDecision(decision, {
84
+ idempotencyKey: this.idempotencyKey,
85
+ command: COMMAND,
86
+ args,
87
+ network: cfg.network,
88
+ publicClient: clients.publicClient,
89
+ buildResult: () => ({
90
+ podId: podId.toString(),
91
+ epoch: epoch.toString(),
92
+ amountClaimed: { unavailable: 'PodManager V2 does not expose a per-voter emissions-due view' },
93
+ }),
94
+ });
95
+ }
96
+ const clients = createClients({
97
+ network: cfg.network,
98
+ privateKey: pk,
99
+ ...(cfg.rpcUrl ? { rpcUrl: cfg.rpcUrl } : {}),
100
+ });
101
+ const pm = podManager(cfg.network);
102
+ const voter = clients.account.address;
103
+ // Pre-flight: already-claimed by THIS voter for (epoch, pod). PodManager V2
104
+ // exposes no per-(voter,pod) "due" view, so NO_EMISSIONS_DUE is not pre-
105
+ // flighted — the contract reverts cleanly and the decoder surfaces the code.
106
+ const alreadyClaimed = await clients.publicClient.readContract({
107
+ address: pm.address, abi: pm.abi, functionName: 'hasUserClaimedEmissions', args: [epoch, podId, voter],
108
+ });
109
+ if (alreadyClaimed) {
110
+ throw cliError('ALREADY_CLAIMED', `Voter emissions for pod ${podId}, epoch ${epoch} have already been claimed by ${voter}.`, 'Nothing to do — pick a different (pod, epoch).');
111
+ }
112
+ if (this.dryRun) {
113
+ const sim = await clients.publicClient.simulateContract({
114
+ address: pm.address, abi: pm.abi, functionName: 'claimVoterEmissions',
115
+ args: [voter, podId, epoch], account: clients.account,
116
+ }).catch((e) => {
117
+ const decoded = decodeRevert(e);
118
+ throw cliError(decoded.code, 'Simulation reverted', decoded.hint);
119
+ });
120
+ emit({
121
+ simulated: true,
122
+ voter,
123
+ podId: podId.toString(),
124
+ epoch: epoch.toString(),
125
+ amountDue: { unavailable: 'PodManager V2 does not expose a per-voter emissions-due view' },
126
+ gas: sim.request.gas?.toString() ?? null,
127
+ });
128
+ return 0;
129
+ }
130
+ if (this.idempotencyKey)
131
+ await begin(this.idempotencyKey, COMMAND, args);
132
+ let tx;
133
+ try {
134
+ const nonce = await nextNonce(clients.publicClient, clients.account.address);
135
+ tx = await clients.walletClient.writeContract({
136
+ address: pm.address, abi: pm.abi, functionName: 'claimVoterEmissions',
137
+ args: [voter, podId, epoch],
138
+ chain: clients.walletClient.chain, account: clients.account, nonce,
139
+ });
140
+ }
141
+ catch (e) {
142
+ const decoded = decodeRevert(e);
143
+ if (this.idempotencyKey)
144
+ await markFailed(this.idempotencyKey, COMMAND, args, decoded.code);
145
+ throw cliError(decoded.code, 'claim-voter-emissions tx failed to submit', decoded.hint);
146
+ }
147
+ // markSubmitted BEFORE waitForReceipt — closes the retry-resend window.
148
+ if (this.idempotencyKey) {
149
+ await markSubmitted(this.idempotencyKey, COMMAND, args, tx, {
150
+ podId: podId.toString(),
151
+ epoch: epoch.toString(),
152
+ amountClaimed: { unavailable: 'PodManager V2 does not expose a per-voter emissions-due view' },
153
+ });
154
+ }
155
+ const receipt = await waitForWriteReceipt(clients.publicClient, tx);
156
+ if (receipt.status === 'reverted') {
157
+ if (this.idempotencyKey)
158
+ await markFailed(this.idempotencyKey, COMMAND, args, 'TX_REVERTED', tx);
159
+ throw cliError('TX_REVERTED', `claim-voter-emissions tx reverted: ${tx}`);
160
+ }
161
+ const result = {
162
+ txHash: tx,
163
+ gasEth: receiptGasEth(receipt),
164
+ voter,
165
+ podId: podId.toString(),
166
+ epoch: epoch.toString(),
167
+ amountClaimed: { unavailable: 'PodManager V2 does not expose a per-voter emissions-due view' },
168
+ block: receipt.blockNumber.toString(),
169
+ basescanUrl: cfg.network === 'mainnet'
170
+ ? `https://basescan.org/tx/${tx}`
171
+ : `https://sepolia.basescan.org/tx/${tx}`,
172
+ };
173
+ if (this.idempotencyKey)
174
+ await markConfirmed(this.idempotencyKey, COMMAND, args, result, tx);
175
+ emit(result, [
176
+ `✓ Claimed voter emissions for pod ${podId}, epoch ${epoch}`,
177
+ ` amount: (unknown — V2 has no per-voter emissions-due view)`,
178
+ ` tx: ${result.basescanUrl}`,
179
+ ` block: ${receipt.blockNumber}`,
180
+ ]);
181
+ return 0;
182
+ }
183
+ catch (err) {
184
+ this.handleError(err);
185
+ }
186
+ }
187
+ }
188
+ //# sourceMappingURL=claim-voter-emissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-voter-emissions.js","sourceRoot":"","sources":["../../src/commands/claim-voter-emissions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"grant-access.d.ts","sourceRoot":"","sources":["../../src/commands/grant-access.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWzC,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG;IACrD,MAAM,EAAE,0BAA0B,GAAG,iCAAiC,CAAC;IACvE,SAAS,EAAE,mBAAmB,GAAG,0BAA0B,CAAC;CAC7D,CAIA;AAED,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,OAAgB,KAAK,aAAsB;IAE3C,OAAgB,KAAK,4BAclB;IAEH,OAAO,SAAyG;IAChH,KAAK,SAAoG;IACzG,EAAE,qBAA6H;IAC/H,cAAc,qBAAsC;IACpD,MAAM,UAAsC;IAEtC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAyPjC"}
1
+ {"version":3,"file":"grant-access.d.ts","sourceRoot":"","sources":["../../src/commands/grant-access.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAYzC,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG;IACrD,MAAM,EAAE,0BAA0B,GAAG,iCAAiC,CAAC;IACvE,SAAS,EAAE,mBAAmB,GAAG,0BAA0B,CAAC;CAC7D,CAIA;AAED,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,OAAgB,KAAK,aAAsB;IAE3C,OAAgB,KAAK,4BAclB;IAEH,OAAO,SAAyG;IAChH,KAAK,SAAoG;IACzG,EAAE,qBAA6H;IAC/H,cAAc,qBAAsC;IACpD,MAAM,UAAsC;IAEtC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CA4QjC"}
@@ -16,7 +16,8 @@
16
16
  * 3. hasSubnetAccess(datanetId, to) → ACCESS_ALREADY_GRANTED
17
17
  * 4. fee getter → fee amount (in the fee token)
18
18
  * 5. feeToken balance >= fee → INSUFFICIENT_REPPO_BALANCE / INSUFFICIENT_TOKEN_BALANCE
19
- * 6. feeToken allowance(caller→sm) ≥ → INSUFFICIENT_ALLOWANCE
19
+ * 6. feeToken allowance(caller→sm): a short allowance is AUTO-APPROVED
20
+ * (unlimited approve() + wait) before the access call — no longer a hard error.
20
21
  *
21
22
  * Idempotency: begin → submit → markSubmitted → wait → markConfirmed.
22
23
  * Args fingerprint: { datanetId, to, token }.
@@ -27,6 +28,7 @@ import { BaseCommand } from './_base.js';
27
28
  import { cliError, emit } from '../output/format.js';
28
29
  import { createClients, nextNonce } from '../chain/clients.js';
29
30
  import { subnetManager, reppoToken, erc20 } from '../chain/contracts.js';
31
+ import { ensureAllowance } from '../chain/allowance.js';
30
32
  import { decodeRevert } from '../chain/errors.js';
31
33
  import { handleSubmittedCacheDecision } from './write-cache.js';
32
34
  import { waitForWriteReceipt, receiptGasEth, tokenFeeFromReceipt } from '../chain/receipt.js';
@@ -191,11 +193,10 @@ export class GrantAccessCommand extends BaseCommand {
191
193
  if (balance < fee) {
192
194
  throw cliError(this.token === 'reppo' ? 'INSUFFICIENT_REPPO_BALANCE' : 'INSUFFICIENT_TOKEN_BALANCE', `Caller has ${formatUnits(balance, feeTokenDecimals)} ${feeTokenSymbol} but the fee is ${formatUnits(fee, feeTokenDecimals)} ${feeTokenSymbol}.`, `Acquire more ${feeTokenSymbol} before granting access.`);
193
195
  }
194
- if (allowance < fee) {
195
- throw cliError('INSUFFICIENT_ALLOWANCE', `${feeTokenSymbol} allowance from ${clients.account.address} to SubnetManager is ${formatUnits(allowance, feeTokenDecimals)}, ` +
196
- `below the fee of ${formatUnits(fee, feeTokenDecimals)} ${feeTokenSymbol}.`, `Approve the SubnetManager (${sm.address}) for at least ${formatUnits(fee, feeTokenDecimals)} ${feeTokenSymbol} ` +
197
- `(send the approve() tx manually, e.g. via cast).`);
198
- }
196
+ // Auto-approval: a short allowance no longer hard-fails. The real-write path
197
+ // (below) sends an unlimited approve() to SubnetManager for the fee token before
198
+ // the access call; dry-run only reports it (the access sim would revert).
199
+ const needsApproval = allowance < fee;
199
200
  const feeFields = {
200
201
  feeToken: { symbol: feeTokenSymbol, address: feeTokenAddress, decimals: feeTokenDecimals },
201
202
  feeAmount: { raw: fee.toString(), formatted: formatUnits(fee, feeTokenDecimals) },
@@ -205,6 +206,21 @@ export class GrantAccessCommand extends BaseCommand {
205
206
  : {}),
206
207
  };
207
208
  if (this.dryRun) {
209
+ if (needsApproval) {
210
+ // Can't simulate the access call without allowance (it would revert). Report
211
+ // the approve that the real run would send first.
212
+ emit({
213
+ simulated: true,
214
+ wouldAutoApprove: { token: feeTokenAddress, spender: sm.address, currentAllowance: formatUnits(allowance, feeTokenDecimals) },
215
+ datanetId: datanetId.toString(),
216
+ to: target,
217
+ token: this.token,
218
+ ...feeFields,
219
+ }, [
220
+ `(dry-run) would auto-approve SubnetManager for ${feeTokenSymbol}, then grant ${target} access to datanet ${datanetId}`,
221
+ ]);
222
+ return 0;
223
+ }
208
224
  const sim = await clients.publicClient.simulateContract({
209
225
  address: sm.address, abi: sm.abi, functionName: fns.access,
210
226
  args: [datanetId, target], account: clients.account,
@@ -222,6 +238,10 @@ export class GrantAccessCommand extends BaseCommand {
222
238
  });
223
239
  return 0;
224
240
  }
241
+ // Auto-approve SubnetManager to pull the fee token before the access call (no-op
242
+ // when already approved). Outside the idempotency two-phase: approve() is
243
+ // self-idempotent via the allowance read, and waiting advances the nonce.
244
+ const approval = await ensureAllowance(clients, feeTokenAddress, sm.address, fee, allowance);
225
245
  if (this.idempotencyKey)
226
246
  await begin(this.idempotencyKey, COMMAND, args);
227
247
  let tx;
@@ -254,6 +274,7 @@ export class GrantAccessCommand extends BaseCommand {
254
274
  const result = {
255
275
  txHash: tx,
256
276
  gasEth: receiptGasEth(receipt),
277
+ ...(approval.approved ? { autoApproveTx: approval.approveTx } : {}),
257
278
  feePaid,
258
279
  // Legacy top-level field for back-compat with pre-0.8.5 consumers that
259
280
  // read `reppoFee`; only meaningful on the REPPO path.
@@ -272,6 +293,7 @@ export class GrantAccessCommand extends BaseCommand {
272
293
  // Show the on-chain fee quote (always correct); feePaid in JSON is the
273
294
  // receipt-derived actual, which can read 0 for non-standard transfer flows.
274
295
  emit(result, [
296
+ ...(approval.approved ? [`✓ Auto-approved SubnetManager for ${feeTokenSymbol} (tx: ${approval.approveTx})`] : []),
275
297
  `✓ Granted ${target} access to datanet ${datanetId}`,
276
298
  ` fee: ${result.feeAmount.formatted} ${feeTokenSymbol}`,
277
299
  ` tx: ${result.basescanUrl}`,
@@ -1 +1 @@
1
- {"version":3,"file":"grant-access.js","sourceRoot":"","sources":["../../src/commands/grant-access.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grant-access.js","sourceRoot":"","sources":["../../src/commands/grant-access.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/commands/lock.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWzC,qBAAa,WAAY,SAAQ,WAAW;IAC1C,OAAgB,KAAK,aAAc;IAEnC,OAAgB,KAAK,4BAUlB;IAEH,MAAM,SAAqC;IAC3C,QAAQ,SAA4F;IACpG,cAAc,qBAAsC;IACpD,MAAM,UAAsC;IAEtC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CA2MjC"}
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/commands/lock.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAYzC,qBAAa,WAAY,SAAQ,WAAW;IAC1C,OAAgB,KAAK,aAAc;IAEnC,OAAgB,KAAK,4BAUlB;IAEH,MAAM,SAAqC;IAC3C,QAAQ,SAA4F;IACpG,cAAc,qBAAsC;IACpD,MAAM,UAAsC;IAEtC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CA4NjC"}
@@ -8,7 +8,8 @@
8
8
  * 1. INVALID_AMOUNT / INVALID_DURATION (parse)
9
9
  * 2. DURATION_OUT_OF_BOUNDS (min/maxStakeDuration)
10
10
  * 3. INSUFFICIENT_REPPO_BALANCE
11
- * 4. INSUFFICIENT_ALLOWANCE (caller → veReppo)
11
+ * 4. allowance (caller → veReppo): a short allowance is AUTO-APPROVED
12
+ * (unlimited approve() + wait) before stake — no longer a hard error.
12
13
  * 5. previewPoints captures the predicted voting-power-gained for the
13
14
  * result payload; also surfaces in dry-run.
14
15
  *
@@ -28,6 +29,7 @@ import { BaseCommand } from './_base.js';
28
29
  import { cliError, emit } from '../output/format.js';
29
30
  import { createClients, nextNonce } from '../chain/clients.js';
30
31
  import { veReppo, reppoToken } from '../chain/contracts.js';
32
+ import { ensureAllowance } from '../chain/allowance.js';
31
33
  import { decodeRevert } from '../chain/errors.js';
32
34
  import { handleSubmittedCacheDecision } from './write-cache.js';
33
35
  import { waitForWriteReceipt, receiptGasEth } from '../chain/receipt.js';
@@ -141,12 +143,26 @@ export class LockCommand extends BaseCommand {
141
143
  if (balance < amount) {
142
144
  throw cliError('INSUFFICIENT_REPPO_BALANCE', `Caller has ${formatUnits(balance, 18)} REPPO but requested to lock ${formatUnits(amount, 18)} REPPO.`, 'Acquire more REPPO before locking.');
143
145
  }
144
- if (allowance < amount) {
145
- throw cliError('INSUFFICIENT_ALLOWANCE', `REPPO allowance from ${clients.account.address} to veReppo is ${formatUnits(allowance, 18)}, ` +
146
- `below the lock amount of ${formatUnits(amount, 18)} REPPO.`, `Approve veReppo (${vr.address}) for at least ${formatUnits(amount, 18)} REPPO. ` +
147
- `Auto-approval lands in v0.2; for the alpha, send the approve() tx manually.`);
148
- }
146
+ // Auto-approval: a short allowance no longer hard-fails. The real-write path
147
+ // (below) sends an unlimited approve() to veReppo before stake; dry-run only
148
+ // reports it (the stake sim would revert with no allowance).
149
+ const needsApproval = allowance < amount;
149
150
  if (this.dryRun) {
151
+ if (needsApproval) {
152
+ // Can't simulate stake without allowance (it would revert). Report the
153
+ // approve that the real run would send first.
154
+ emit({
155
+ simulated: true,
156
+ wouldAutoApprove: { token: reppo.address, spender: vr.address, currentAllowance: formatUnits(allowance, 18) },
157
+ amount: { raw: amount.toString(), formatted: formatUnits(amount, 18) },
158
+ duration: duration.toString(),
159
+ votingPowerGained: { raw: previewPower.toString(), formatted: formatUnits(previewPower, 18) },
160
+ predictedExpiresAt: previewEnd.toString(),
161
+ }, [
162
+ `(dry-run) would auto-approve veReppo for REPPO, then lock ${formatUnits(amount, 18)} REPPO for ${duration}s`,
163
+ ]);
164
+ return 0;
165
+ }
150
166
  const sim = await clients.publicClient.simulateContract({
151
167
  address: vr.address, abi: vr.abi, functionName: 'stake',
152
168
  args: [amount, duration], account: clients.account,
@@ -165,6 +181,10 @@ export class LockCommand extends BaseCommand {
165
181
  });
166
182
  return 0;
167
183
  }
184
+ // Auto-approve veReppo to pull REPPO before stake (no-op when already approved).
185
+ // Outside the idempotency two-phase on purpose: approve() is self-idempotent via
186
+ // the allowance read, and waiting for its receipt advances the nonce for stake.
187
+ const approval = await ensureAllowance(clients, reppo.address, vr.address, amount, allowance);
168
188
  if (this.idempotencyKey)
169
189
  await begin(this.idempotencyKey, COMMAND, args);
170
190
  let tx;
@@ -200,6 +220,7 @@ export class LockCommand extends BaseCommand {
200
220
  const result = {
201
221
  txHash: tx,
202
222
  gasEth: receiptGasEth(receipt),
223
+ ...(approval.approved ? { autoApproveTx: approval.approveTx } : {}),
203
224
  amount: { raw: amount.toString(), formatted: formatUnits(amount, 18) },
204
225
  duration: duration.toString(),
205
226
  votingPowerGained: { raw: previewPower.toString(), formatted: formatUnits(previewPower, 18) },
@@ -214,6 +235,7 @@ export class LockCommand extends BaseCommand {
214
235
  if (this.idempotencyKey)
215
236
  await markConfirmed(this.idempotencyKey, COMMAND, args, result, tx);
216
237
  emit(result, [
238
+ ...(approval.approved ? [`✓ Auto-approved veReppo for REPPO (tx: ${approval.approveTx})`] : []),
217
239
  `✓ Locked ${formatUnits(amount, 18)} REPPO for ${duration}s`,
218
240
  ` voting power gained: ${formatUnits(previewPower, 18)}`,
219
241
  ` tx: ${result.basescanUrl}`,
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/commands/lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/commands/lock.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reppo/cli",
3
- "version": "0.8.6",
3
+ "version": "0.10.0",
4
4
  "description": "Command-line interface for Reppo — mint pods, vote, lock REPPO, manage datanets. Built for AI agents.",
5
5
  "license": "MIT",
6
6
  "author": "Reppo Labs",