@reppo/cli 0.1.2 → 0.3.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.
@@ -2,18 +2,15 @@
2
2
  * `reppo claim-emissions --pod <id> --epoch <n>` — claim a pod's
3
3
  * emissions for a given epoch.
4
4
  *
5
- * Pre-flight (mainnet, full ABI):
5
+ * Pre-flight (V2, both networks):
6
6
  * 1. INVALID_POD_ID, INVALID_EPOCH (parse)
7
7
  * 2. NOT_POD_OWNER (ownerOf(podId) !== caller)
8
8
  * 3. ALREADY_CLAIMED (hasPodOwnerClaimedEmissions(epoch, podId) === true)
9
- * 4. NO_EMISSIONS_DUE (getPodEmissionsOfEpoch(epoch, podId) === 0)
10
9
  *
11
- * Pre-flight (testnet, partial ABI):
12
- * 1. INVALID_POD_ID, INVALID_EPOCH
13
- * 2. NOT_POD_OWNER
14
- * (testnet ABI doesn't include hasPodOwnerClaimedEmissions or
15
- * getPodEmissionsOfEpoch — caller bears the cost of a doomed
16
- * re-claim. Documented in usage.)
10
+ * PodManager V2 does not expose a per-pod "emissions due" view, so the
11
+ * legacy NO_EMISSIONS_DUE pre-flight is gone — if there's nothing to
12
+ * claim the contract reverts and the structured decoder surfaces the
13
+ * code.
17
14
  *
18
15
  * Two-phase write protocol via peekIdempotent.
19
16
  *
@@ -21,7 +18,6 @@
21
18
  * across different (podId, epoch) is rejected with IDEMPOTENCY_ARGS_MISMATCH.
22
19
  */
23
20
  import { Option } from 'clipanion';
24
- import { formatUnits } from 'viem';
25
21
  import { BaseCommand } from './_base.js';
26
22
  import { cliError, emit } from '../output/format.js';
27
23
  import { createClients, nextNonce } from '../chain/clients.js';
@@ -93,25 +89,15 @@ export class ClaimEmissionsCommand extends BaseCommand {
93
89
  if (owner.toLowerCase() !== clients.account.address.toLowerCase()) {
94
90
  throw cliError('NOT_POD_OWNER', `Pod ${podId} is owned by ${owner}, not by the configured signer ${clients.account.address}.`, 'Use the private key of the pod owner.');
95
91
  }
96
- // Mainnet-only pre-flight: claim status + amount due.
97
- // Testnet's PodManager ABI doesn't expose these views (the testnet fork is leaner).
98
- let amountDue = null;
99
- if (cfg.network === 'mainnet') {
100
- const [alreadyClaimed, due] = await Promise.all([
101
- clients.publicClient.readContract({
102
- address: pm.address, abi: pm.abi, functionName: 'hasPodOwnerClaimedEmissions', args: [epoch, podId],
103
- }),
104
- clients.publicClient.readContract({
105
- address: pm.address, abi: pm.abi, functionName: 'getPodEmissionsOfEpoch', args: [epoch, podId],
106
- }),
107
- ]);
108
- if (alreadyClaimed) {
109
- throw cliError('ALREADY_CLAIMED', `Pod ${podId} emissions for epoch ${epoch} have already been claimed.`, 'Nothing to do — pick a different epoch.');
110
- }
111
- if (due === 0n) {
112
- throw cliError('NO_EMISSIONS_DUE', `Pod ${podId} has no emissions due for epoch ${epoch}.`, 'Try a different epoch (e.g. one where the pod received votes).');
113
- }
114
- amountDue = due;
92
+ // Pre-flight: already-claimed check. PodManager V2 does not
93
+ // expose a per-pod "emissions due" view, so we no longer pre-
94
+ // flight NO_EMISSIONS_DUE — the contract reverts cleanly if
95
+ // there's nothing to claim and the decoder surfaces the code.
96
+ const alreadyClaimed = await clients.publicClient.readContract({
97
+ address: pm.address, abi: pm.abi, functionName: 'hasPodOwnerClaimedEmissions', args: [epoch, podId],
98
+ });
99
+ if (alreadyClaimed) {
100
+ throw cliError('ALREADY_CLAIMED', `Pod ${podId} emissions for epoch ${epoch} have already been claimed.`, 'Nothing to do — pick a different epoch.');
115
101
  }
116
102
  if (this.dryRun) {
117
103
  const sim = await clients.publicClient.simulateContract({
@@ -126,9 +112,7 @@ export class ClaimEmissionsCommand extends BaseCommand {
126
112
  podId: podId.toString(),
127
113
  epoch: epoch.toString(),
128
114
  owner,
129
- ...(amountDue !== null
130
- ? { amountDue: { raw: amountDue.toString(), formatted: formatUnits(amountDue, 18) } }
131
- : { amountDue: { unavailable: 'testnet ABI does not expose getPodEmissionsOfEpoch' } }),
115
+ amountDue: { unavailable: 'PodManager V2 does not expose a per-pod emissions-due view' },
132
116
  gas: sim.request.gas?.toString() ?? null,
133
117
  });
134
118
  return 0;
@@ -163,9 +147,7 @@ export class ClaimEmissionsCommand extends BaseCommand {
163
147
  txHash: tx,
164
148
  podId: podId.toString(),
165
149
  epoch: epoch.toString(),
166
- ...(amountDue !== null
167
- ? { amountClaimed: { raw: amountDue.toString(), formatted: formatUnits(amountDue, 18) } }
168
- : { amountClaimed: { unavailable: 'testnet ABI does not expose getPodEmissionsOfEpoch' } }),
150
+ amountClaimed: { unavailable: 'PodManager V2 does not expose a per-pod emissions-due view' },
169
151
  block: receipt.blockNumber.toString(),
170
152
  basescanUrl: cfg.network === 'mainnet'
171
153
  ? `https://basescan.org/tx/${tx}`
@@ -173,12 +155,9 @@ export class ClaimEmissionsCommand extends BaseCommand {
173
155
  };
174
156
  if (this.idempotencyKey)
175
157
  await markConfirmed(this.idempotencyKey, COMMAND, args, result, tx);
176
- const amountStr = amountDue !== null
177
- ? `${formatUnits(amountDue, 18)} REPPO`
178
- : '(amount unknown — testnet)';
179
158
  emit(result, [
180
159
  `✓ Claimed pod ${podId} emissions for epoch ${epoch}`,
181
- ` amount: ${amountStr}`,
160
+ ` amount: (unknown — V2 has no per-pod emissions-due view)`,
182
161
  ` tx: ${result.basescanUrl}`,
183
162
  ` block: ${receipt.blockNumber}`,
184
163
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"claim-emissions.js","sourceRoot":"","sources":["../../src/commands/claim-emissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claim-emissions.js","sourceRoot":"","sources":["../../src/commands/claim-emissions.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,11 @@ import { BaseCommand } from './_base.js';
2
2
  export declare class MintPodCommand extends BaseCommand {
3
3
  static paths: string[][];
4
4
  static usage: import("clipanion").Usage;
5
- share: string | undefined;
6
5
  datanet: string | undefined;
7
6
  token: string;
8
7
  to: string | undefined;
9
8
  idempotencyKey: string | undefined;
10
9
  dryRun: boolean;
11
10
  execute(): Promise<number>;
12
- private mintMainnet;
13
- private mintTestnet;
14
11
  }
15
12
  //# sourceMappingURL=mint-pod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mint-pod.d.ts","sourceRoot":"","sources":["../../src/commands/mint-pod.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AASzC,qBAAa,cAAe,SAAQ,WAAW;IAC7C,OAAgB,KAAK,aAAkB;IAEvC,OAAgB,KAAK,4BAYlB;IAEH,KAAK,qBAA6F;IAClG,OAAO,qBAAiG;IACxG,KAAK,SAAkH;IACvH,EAAE,qBAA6F;IAC/F,cAAc,qBAAsC;IACpD,MAAM,UAAsC;IAEtC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;YAkClB,WAAW;YA0IX,WAAW;CAyH1B"}
1
+ {"version":3,"file":"mint-pod.d.ts","sourceRoot":"","sources":["../../src/commands/mint-pod.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AASzC,qBAAa,cAAe,SAAQ,WAAW;IAC7C,OAAgB,KAAK,aAAkB;IAEvC,OAAgB,KAAK,4BAYlB;IAEH,OAAO,qBAAmF;IAC1F,KAAK,SAAoG;IACzG,EAAE,qBAA6F;IAC/F,cAAc,qBAAsC;IACpD,MAAM,UAAsC;IAEtC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAsJjC"}
@@ -1,21 +1,18 @@
1
1
  /**
2
- * `reppo mint-pod` — mint a pod NFT. Network-dependent params:
2
+ * `reppo mint-pod` — mint a pod NFT into a datanet on PodManager V2.
3
3
  *
4
- * - mainnet: `mintPod(to, emissionSharePercent)` pays `publishingFee()`
5
- * in REPPO. Required: `--share <0-100>`.
6
- * - testnet: `mintPodWithREPPO(to, datanetId)` (default) or
7
- * `mintPodWithPrimaryToken(to, datanetId)` (alt fee asset). The
8
- * testnet contracts are a fork of mainnet with subnet/datanet logic
9
- * added for a client experiment — the methods are the same, only the
10
- * parameters differ. Required: `--datanet <id>`.
4
+ * V2 unified both networks behind the same call shape:
5
+ * - `mintPodWithREPPO(to, subnetId)` (default, `--token reppo`)
6
+ * - `mintPodWithPrimaryToken(to, subnetId)` (`--token primary`)
11
7
  *
12
- * Pre-flight (mainnet):
13
- * - MISSING_SHARE / INVALID_SHARE
14
- * - INVALID_ADDRESS (--to)
15
- * - INSUFFICIENT_REPPO_BALANCE (publishingFee)
16
- * - INSUFFICIENT_ALLOWANCE (caller PodManager for publishingFee)
8
+ * The pre-V2 mainnet path `mintPod(to, emissionSharePercent)` and the
9
+ * `publishingFee()` getter are gone — fee logic moved to SubnetManager.
10
+ * Fee/balance/allowance pre-flight is intentionally skipped here: the
11
+ * contract reverts with structured errors (decoded via decodeRevert)
12
+ * if balance/allowance/fee constraints are violated, and any client-
13
+ * side estimate is duplicate logic that drifts.
17
14
  *
18
- * Pre-flight (testnet):
15
+ * Pre-flight (both networks):
19
16
  * - MISSING_DATANET / INVALID_DATANET_ID
20
17
  * - INVALID_TOKEN (--token must be "reppo" or "primary")
21
18
  * - INVALID_ADDRESS (--to)
@@ -24,32 +21,31 @@
24
21
  * Two-phase write protocol via peekIdempotent.
25
22
  */
26
23
  import { Option } from 'clipanion';
27
- import { formatUnits, isAddress } from 'viem';
24
+ import { isAddress } from 'viem';
28
25
  import { BaseCommand } from './_base.js';
29
26
  import { cliError, emit } from '../output/format.js';
30
27
  import { createClients, nextNonce } from '../chain/clients.js';
31
- import { podManager, subnetManager, reppoToken } from '../chain/contracts.js';
28
+ import { podManager, subnetManager } from '../chain/contracts.js';
32
29
  import { decodeRevert } from '../chain/errors.js';
33
30
  import { begin, markSubmitted, markConfirmed, markFailed, peekIdempotent } from '../state/idempotency.js';
34
31
  const COMMAND = 'mint-pod';
35
32
  export class MintPodCommand extends BaseCommand {
36
33
  static paths = [['mint-pod']];
37
34
  static usage = BaseCommand.Usage({
38
- description: 'Mint a pod NFT. Required params depend on network: --share on mainnet, --datanet on testnet.',
35
+ description: 'Mint a pod NFT into a datanet. Required: --datanet <id>. Optional: --token reppo|primary, --to <addr>.',
39
36
  examples: [
40
- ['Mint a pod on mainnet with 50% emission share',
41
- 'reppo mint-pod --share 50 --network mainnet'],
42
- ['Mint a pod into testnet datanet 19, paid in REPPO',
37
+ ['Mint a pod into datanet 19, paid in REPPO',
38
+ 'reppo mint-pod --datanet 19'],
39
+ ['Mint into testnet datanet 19',
43
40
  'reppo mint-pod --datanet 19 --network testnet'],
44
- ['Pay testnet mint with the datanet primary token instead',
45
- 'reppo mint-pod --datanet 19 --token primary --network testnet'],
41
+ ['Pay the mint with the datanet primary token instead',
42
+ 'reppo mint-pod --datanet 19 --token primary'],
46
43
  ['Mint to a different address',
47
- 'reppo mint-pod --share 50 --to 0x726c…E31d --network mainnet'],
44
+ 'reppo mint-pod --datanet 19 --to 0x726c…E31d'],
48
45
  ],
49
46
  });
50
- share = Option.String('--share', { description: 'Mainnet only: emission share percent (0-100)' });
51
- datanet = Option.String('--datanet', { description: 'Testnet only: datanet (subnet) id to mint into' });
52
- token = Option.String('--token', 'reppo', { description: 'Testnet only: fee asset — "reppo" (default) or "primary"' });
47
+ datanet = Option.String('--datanet', { description: 'Datanet (subnet) id to mint into' });
48
+ token = Option.String('--token', 'reppo', { description: 'Fee asset "reppo" (default) or "primary"' });
53
49
  to = Option.String('--to', { description: 'Address to mint the pod to (defaults to caller)' });
54
50
  idempotencyKey = Option.String('--idempotency-key');
55
51
  dryRun = Option.Boolean('--dry-run', false);
@@ -60,6 +56,20 @@ export class MintPodCommand extends BaseCommand {
60
56
  if (!pk) {
61
57
  throw cliError('MISSING_PRIVATE_KEY', 'No signing key available.', 'Set REPPO_PRIVATE_KEY in env.');
62
58
  }
59
+ if (this.datanet === undefined) {
60
+ throw cliError('MISSING_DATANET', '--datanet is required.', 'Pass --datanet <id> to choose which datanet to mint into.');
61
+ }
62
+ let datanetId;
63
+ try {
64
+ datanetId = BigInt(this.datanet);
65
+ }
66
+ catch {
67
+ throw cliError('INVALID_DATANET_ID', `Datanet id must be a non-negative integer; got "${this.datanet}".`);
68
+ }
69
+ if (this.token !== 'reppo' && this.token !== 'primary') {
70
+ throw cliError('INVALID_TOKEN', `--token must be "reppo" or "primary"; got "${this.token}".`);
71
+ }
72
+ const functionName = this.token === 'reppo' ? 'mintPodWithREPPO' : 'mintPodWithPrimaryToken';
63
73
  const clients = createClients({
64
74
  network: cfg.network,
65
75
  privateKey: pk,
@@ -70,217 +80,96 @@ export class MintPodCommand extends BaseCommand {
70
80
  ? this.to
71
81
  : (() => { throw cliError('INVALID_ADDRESS', `Invalid --to address: ${this.to}`); })())
72
82
  : clients.account.address;
73
- return cfg.network === 'mainnet'
74
- ? await this.mintMainnet(clients, target, cfg.network)
75
- : await this.mintTestnet(clients, target, cfg.network);
76
- }
77
- catch (err) {
78
- this.handleError(err);
79
- }
80
- }
81
- // ── Mainnet path: mintPod(to, share) pays publishingFee in REPPO ─
82
- async mintMainnet(clients, target, network) {
83
- if (this.share === undefined) {
84
- throw cliError('MISSING_SHARE', '--share is required on mainnet.', 'Pass --share <0-100> to set the pod\'s emission share percent.');
85
- }
86
- const shareNum = Number(this.share);
87
- if (!Number.isInteger(shareNum) || shareNum < 0 || shareNum > 100) {
88
- throw cliError('INVALID_SHARE', `--share must be an integer 0-100; got "${this.share}".`);
89
- }
90
- const share = shareNum;
91
- const args = { share: share.toString(), to: target.toLowerCase() };
92
- const decision = await peekIdempotent(this.idempotencyKey, COMMAND, args, this.dryRun);
93
- if (decision.kind === 'return-confirmed') {
94
- emit({ ...decision.result, idempotent: true, status: 'confirmed' }, [`(cached, confirmed) tx: ${decision.txHash ?? 'n/a'}`]);
95
- return 0;
96
- }
97
- if (decision.kind === 'return-submitted') {
98
- emit({ ...decision.result, idempotent: true, status: 'submitted' }, [`(cached, submitted but not confirmed yet) tx: ${decision.txHash ?? 'n/a'}`,
99
- `Re-run after the tx confirms, or check the explorer.`]);
100
- return 0;
101
- }
102
- const pm = podManager(network);
103
- const reppo = reppoToken(network);
104
- // Pre-flight: fee + balance + allowance, parallel.
105
- const [fee, balance, allowance] = await Promise.all([
106
- clients.publicClient.readContract({
107
- address: pm.address, abi: pm.abi, functionName: 'publishingFee', args: [],
108
- }),
109
- clients.publicClient.readContract({
110
- address: reppo.address, abi: reppo.abi, functionName: 'balanceOf', args: [clients.account.address],
111
- }),
112
- clients.publicClient.readContract({
113
- address: reppo.address, abi: reppo.abi, functionName: 'allowance', args: [clients.account.address, pm.address],
114
- }),
115
- ]);
116
- if (balance < fee) {
117
- throw cliError('INSUFFICIENT_REPPO_BALANCE', `Caller has ${formatUnits(balance, 18)} REPPO but the publishing fee is ${formatUnits(fee, 18)} REPPO.`, 'Acquire more REPPO before minting.');
118
- }
119
- if (allowance < fee) {
120
- throw cliError('INSUFFICIENT_ALLOWANCE', `REPPO allowance from ${clients.account.address} to PodManager is ${formatUnits(allowance, 18)}, ` +
121
- `below the publishing fee of ${formatUnits(fee, 18)} REPPO.`, `Approve PodManager (${pm.address}) for at least ${formatUnits(fee, 18)} REPPO. ` +
122
- `Auto-approval lands in v0.2; for the alpha, send the approve() tx manually.`);
123
- }
124
- if (this.dryRun) {
125
- const sim = await clients.publicClient.simulateContract({
126
- address: pm.address, abi: pm.abi, functionName: 'mintPod',
127
- args: [target, share], account: clients.account,
128
- }).catch((e) => {
129
- const decoded = decodeRevert(e);
130
- throw cliError(decoded.code, 'Simulation reverted', decoded.hint);
131
- });
132
- emit({
133
- simulated: true,
134
- share,
135
- to: target,
136
- feeREPPO: { raw: fee.toString(), formatted: formatUnits(fee, 18) },
137
- predictedPodId: sim.result.toString(),
138
- gas: sim.request.gas?.toString() ?? null,
139
- });
140
- return 0;
141
- }
142
- if (this.idempotencyKey)
143
- await begin(this.idempotencyKey, COMMAND, args);
144
- let tx;
145
- try {
146
- const nonce = await nextNonce(clients.publicClient, clients.account.address);
147
- tx = await clients.walletClient.writeContract({
148
- address: pm.address, abi: pm.abi, functionName: 'mintPod',
149
- args: [target, share],
150
- chain: clients.walletClient.chain, account: clients.account, nonce,
83
+ const args = { datanetId: datanetId.toString(), token: this.token, to: target.toLowerCase() };
84
+ const decision = await peekIdempotent(this.idempotencyKey, COMMAND, args, this.dryRun);
85
+ if (decision.kind === 'return-confirmed') {
86
+ emit({ ...decision.result, idempotent: true, status: 'confirmed' }, [`(cached, confirmed) tx: ${decision.txHash ?? 'n/a'}`]);
87
+ return 0;
88
+ }
89
+ if (decision.kind === 'return-submitted') {
90
+ emit({ ...decision.result, idempotent: true, status: 'submitted' }, [`(cached, submitted but not confirmed yet) tx: ${decision.txHash ?? 'n/a'}`,
91
+ `Re-run after the tx confirms, or check the explorer.`]);
92
+ return 0;
93
+ }
94
+ const pm = podManager(cfg.network);
95
+ const sm = subnetManager(cfg.network);
96
+ // Pre-flight: validate the datanet exists. The contract would
97
+ // revert with InvalidSubnet otherwise; failing fast here gives a
98
+ // cleaner error.
99
+ const valid = await clients.publicClient.readContract({
100
+ address: sm.address, abi: sm.abi, functionName: 'validSubnet', args: [datanetId],
151
101
  });
152
- }
153
- catch (e) {
154
- const decoded = decodeRevert(e);
155
- if (this.idempotencyKey)
156
- await markFailed(this.idempotencyKey, COMMAND, args, decoded.code);
157
- throw cliError(decoded.code, 'mint-pod tx failed to submit', decoded.hint);
158
- }
159
- if (this.idempotencyKey)
160
- await markSubmitted(this.idempotencyKey, COMMAND, args, tx);
161
- const receipt = await clients.publicClient.waitForTransactionReceipt({ hash: tx, timeout: 120_000 });
162
- if (receipt.status === 'reverted') {
102
+ if (!valid) {
103
+ throw cliError('DATANET_NOT_FOUND', `Datanet ${datanetId} does not exist on ${cfg.network}.`, `Verify the id; check \`reppo query datanet ${datanetId}\` before minting.`);
104
+ }
105
+ const basescanUrlFor = (tx) => cfg.network === 'mainnet'
106
+ ? `https://basescan.org/tx/${tx}`
107
+ : `https://sepolia.basescan.org/tx/${tx}`;
108
+ if (this.dryRun) {
109
+ const sim = await clients.publicClient.simulateContract({
110
+ address: pm.address, abi: pm.abi, functionName,
111
+ args: [target, datanetId], account: clients.account,
112
+ }).catch((e) => {
113
+ const decoded = decodeRevert(e);
114
+ throw cliError(decoded.code, 'Simulation reverted', decoded.hint);
115
+ });
116
+ emit({
117
+ simulated: true,
118
+ datanetId: datanetId.toString(),
119
+ token: this.token,
120
+ to: target,
121
+ predictedPodId: sim.result.toString(),
122
+ gas: sim.request.gas?.toString() ?? null,
123
+ });
124
+ return 0;
125
+ }
163
126
  if (this.idempotencyKey)
164
- await markFailed(this.idempotencyKey, COMMAND, args, 'TX_REVERTED', tx);
165
- throw cliError('TX_REVERTED', `mint-pod tx reverted: ${tx}`);
166
- }
167
- const result = {
168
- txHash: tx,
169
- share,
170
- to: target,
171
- feeREPPO: { raw: fee.toString(), formatted: formatUnits(fee, 18) },
172
- block: receipt.blockNumber.toString(),
173
- basescanUrl: `https://basescan.org/tx/${tx}`,
174
- };
175
- if (this.idempotencyKey)
176
- await markConfirmed(this.idempotencyKey, COMMAND, args, result, tx);
177
- emit(result, [
178
- `✓ Minted pod (mainnet) with ${share}% emission share`,
179
- ` to: ${target}`,
180
- ` fee paid: ${formatUnits(fee, 18)} REPPO`,
181
- ` tx: ${result.basescanUrl}`,
182
- ` block: ${receipt.blockNumber}`,
183
- ` (new podId: check the explorer or run \`reppo query pod <id>\` to verify)`,
184
- ]);
185
- return 0;
186
- }
187
- // ── Testnet path: mintPodWithREPPO / mintPodWithPrimaryToken(to, datanetId) ─
188
- async mintTestnet(clients, target, network) {
189
- if (this.datanet === undefined) {
190
- throw cliError('MISSING_DATANET', '--datanet is required on testnet.', 'Pass --datanet <id> to choose which datanet to mint into.');
191
- }
192
- let datanetId;
193
- try {
194
- datanetId = BigInt(this.datanet);
195
- }
196
- catch {
197
- throw cliError('INVALID_DATANET_ID', `Datanet id must be a non-negative integer; got "${this.datanet}".`);
198
- }
199
- if (this.token !== 'reppo' && this.token !== 'primary') {
200
- throw cliError('INVALID_TOKEN', `--token must be "reppo" or "primary"; got "${this.token}".`);
201
- }
202
- const functionName = this.token === 'reppo' ? 'mintPodWithREPPO' : 'mintPodWithPrimaryToken';
203
- const args = { datanetId: datanetId.toString(), token: this.token, to: target.toLowerCase() };
204
- const decision = await peekIdempotent(this.idempotencyKey, COMMAND, args, this.dryRun);
205
- if (decision.kind === 'return-confirmed') {
206
- emit({ ...decision.result, idempotent: true, status: 'confirmed' }, [`(cached, confirmed) tx: ${decision.txHash ?? 'n/a'}`]);
207
- return 0;
208
- }
209
- if (decision.kind === 'return-submitted') {
210
- emit({ ...decision.result, idempotent: true, status: 'submitted' }, [`(cached, submitted but not confirmed yet) tx: ${decision.txHash ?? 'n/a'}`,
211
- `Re-run after the tx confirms, or check the explorer.`]);
212
- return 0;
213
- }
214
- const pm = podManager(network);
215
- const sm = subnetManager(network);
216
- // Pre-flight: validate the datanet exists.
217
- const valid = await clients.publicClient.readContract({
218
- address: sm.address, abi: sm.abi, functionName: 'validSubnet', args: [datanetId],
219
- });
220
- if (!valid) {
221
- throw cliError('DATANET_NOT_FOUND', `Datanet ${datanetId} does not exist on ${network}.`, `Verify the id; check \`reppo query datanet ${datanetId}\` before minting.`);
222
- }
223
- if (this.dryRun) {
224
- const sim = await clients.publicClient.simulateContract({
225
- address: pm.address, abi: pm.abi, functionName,
226
- args: [target, datanetId], account: clients.account,
227
- }).catch((e) => {
127
+ await begin(this.idempotencyKey, COMMAND, args);
128
+ let tx;
129
+ try {
130
+ const nonce = await nextNonce(clients.publicClient, clients.account.address);
131
+ tx = await clients.walletClient.writeContract({
132
+ address: pm.address, abi: pm.abi, functionName,
133
+ args: [target, datanetId],
134
+ chain: clients.walletClient.chain, account: clients.account, nonce,
135
+ });
136
+ }
137
+ catch (e) {
228
138
  const decoded = decodeRevert(e);
229
- throw cliError(decoded.code, 'Simulation reverted', decoded.hint);
230
- });
231
- emit({
232
- simulated: true,
139
+ if (this.idempotencyKey)
140
+ await markFailed(this.idempotencyKey, COMMAND, args, decoded.code);
141
+ throw cliError(decoded.code, 'mint-pod tx failed to submit', decoded.hint);
142
+ }
143
+ if (this.idempotencyKey)
144
+ await markSubmitted(this.idempotencyKey, COMMAND, args, tx);
145
+ const receipt = await clients.publicClient.waitForTransactionReceipt({ hash: tx, timeout: 120_000 });
146
+ if (receipt.status === 'reverted') {
147
+ if (this.idempotencyKey)
148
+ await markFailed(this.idempotencyKey, COMMAND, args, 'TX_REVERTED', tx);
149
+ throw cliError('TX_REVERTED', `mint-pod tx reverted: ${tx}`);
150
+ }
151
+ const result = {
152
+ txHash: tx,
233
153
  datanetId: datanetId.toString(),
234
154
  token: this.token,
235
155
  to: target,
236
- predictedPodId: sim.result.toString(),
237
- gas: sim.request.gas?.toString() ?? null,
238
- });
239
- return 0;
240
- }
241
- if (this.idempotencyKey)
242
- await begin(this.idempotencyKey, COMMAND, args);
243
- let tx;
244
- try {
245
- const nonce = await nextNonce(clients.publicClient, clients.account.address);
246
- tx = await clients.walletClient.writeContract({
247
- address: pm.address, abi: pm.abi, functionName,
248
- args: [target, datanetId],
249
- chain: clients.walletClient.chain, account: clients.account, nonce,
250
- });
251
- }
252
- catch (e) {
253
- const decoded = decodeRevert(e);
156
+ block: receipt.blockNumber.toString(),
157
+ basescanUrl: basescanUrlFor(tx),
158
+ };
254
159
  if (this.idempotencyKey)
255
- await markFailed(this.idempotencyKey, COMMAND, args, decoded.code);
256
- throw cliError(decoded.code, 'mint-pod tx failed to submit', decoded.hint);
160
+ await markConfirmed(this.idempotencyKey, COMMAND, args, result, tx);
161
+ emit(result, [
162
+ `✓ Minted pod into datanet ${datanetId} (paid in ${this.token})`,
163
+ ` to: ${target}`,
164
+ ` tx: ${result.basescanUrl}`,
165
+ ` block: ${receipt.blockNumber}`,
166
+ ` (new podId: check the explorer or run \`reppo query pod <id>\` to verify)`,
167
+ ]);
168
+ return 0;
257
169
  }
258
- if (this.idempotencyKey)
259
- await markSubmitted(this.idempotencyKey, COMMAND, args, tx);
260
- const receipt = await clients.publicClient.waitForTransactionReceipt({ hash: tx, timeout: 120_000 });
261
- if (receipt.status === 'reverted') {
262
- if (this.idempotencyKey)
263
- await markFailed(this.idempotencyKey, COMMAND, args, 'TX_REVERTED', tx);
264
- throw cliError('TX_REVERTED', `mint-pod tx reverted: ${tx}`);
170
+ catch (err) {
171
+ this.handleError(err);
265
172
  }
266
- const result = {
267
- txHash: tx,
268
- datanetId: datanetId.toString(),
269
- token: this.token,
270
- to: target,
271
- block: receipt.blockNumber.toString(),
272
- basescanUrl: `https://sepolia.basescan.org/tx/${tx}`,
273
- };
274
- if (this.idempotencyKey)
275
- await markConfirmed(this.idempotencyKey, COMMAND, args, result, tx);
276
- emit(result, [
277
- `✓ Minted pod into datanet ${datanetId} (paid in ${this.token})`,
278
- ` to: ${target}`,
279
- ` tx: ${result.basescanUrl}`,
280
- ` block: ${receipt.blockNumber}`,
281
- ` (new podId: check the explorer or run \`reppo query pod <id>\` to verify)`,
282
- ]);
283
- return 0;
284
173
  }
285
174
  }
286
175
  //# sourceMappingURL=mint-pod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mint-pod.js","sourceRoot":"","sources":["../../src/commands/mint-pod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mint-pod.js","sourceRoot":"","sources":["../../src/commands/mint-pod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAgB,MAAM,MAAM,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE1G,MAAM,OAAO,GAAG,UAAU,CAAC;AAE3B,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,MAAM,CAAU,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvC,MAAM,CAAU,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QACxC,WAAW,EAAE,wGAAwG;QACrH,QAAQ,EAAE;YACR,CAAC,2CAA2C;gBAC1C,6BAA6B,CAAC;YAChC,CAAC,8BAA8B;gBAC7B,+CAA+C,CAAC;YAClD,CAAC,qDAAqD;gBACpD,6CAA6C,CAAC;YAChD,CAAC,6BAA6B;gBAC5B,8CAA8C,CAAC;SAClD;KACF,CAAC,CAAC;IAEH,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC,CAAC;IAC1F,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,4CAA4C,EAAE,CAAC,CAAC;IACzG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC,CAAC;IAC/F,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACpD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAE5C,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;YAC1B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,QAAQ,CACZ,qBAAqB,EACrB,2BAA2B,EAC3B,+BAA+B,CAChC,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,QAAQ,CACZ,iBAAiB,EACjB,wBAAwB,EACxB,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,IAAI,SAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,QAAQ,CAAC,oBAAoB,EAAE,mDAAmD,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAC5G,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACvD,MAAM,QAAQ,CACZ,eAAe,EACf,8CAA8C,IAAI,CAAC,KAAK,IAAI,CAC7D,CAAC;YACJ,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB,CAAC;YAE7F,MAAM,OAAO,GAAG,aAAa,CAAC;gBAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,UAAU,EAAE,EAAE;gBACd,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAY,IAAI,CAAC,EAAE;gBAC7B,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjB,CAAC,CAAC,IAAI,CAAC,EAAE;oBACT,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3F,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YAE5B,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YAE9F,MAAM,QAAQ,GAAG,MAAM,cAAc,CACnC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAChD,CAAC;YACF,IAAI,QAAQ,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACzC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,EAChE,CAAC,2BAA2B,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,CAAC;YACX,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACzC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,EAChE,CAAC,iDAAiD,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAE;oBAC3E,sDAAsD,CAAC,CAAC,CAAC;gBAC5D,OAAO,CAAC,CAAC;YACX,CAAC;YAED,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEtC,8DAA8D;YAC9D,iEAAiE;YACjE,iBAAiB;YACjB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC;gBACpD,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC;aACjF,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,QAAQ,CACZ,mBAAmB,EACnB,WAAW,SAAS,sBAAsB,GAAG,CAAC,OAAO,GAAG,EACxD,8CAA8C,SAAS,oBAAoB,CAC5E,CAAC;YACJ,CAAC;YAED,MAAM,cAAc,GAAG,CAAC,EAAiB,EAAE,EAAE,CAC3C,GAAG,CAAC,OAAO,KAAK,SAAS;gBACvB,CAAC,CAAC,2BAA2B,EAAE,EAAE;gBACjC,CAAC,CAAC,mCAAmC,EAAE,EAAE,CAAC;YAE9C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC;oBACtD,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,YAAY;oBAC9C,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO;iBACpD,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACb,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;oBAChC,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC;oBACH,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;oBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,EAAE,EAAE,MAAM;oBACV,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACrC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,IAAI;iBACzC,CAAC,CAAC;gBACH,OAAO,CAAC,CAAC;YACX,CAAC;YAED,IAAI,IAAI,CAAC,cAAc;gBAAE,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAEzE,IAAI,EAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC7E,EAAE,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;oBAC5C,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,YAAY;oBAC9C,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;oBACzB,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK;iBACnE,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,IAAI,CAAC,cAAc;oBAAE,MAAM,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC5F,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,8BAA8B,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7E,CAAC;YAED,IAAI,IAAI,CAAC,cAAc;gBAAE,MAAM,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAErF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACrG,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,cAAc;oBAAE,MAAM,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;gBACjG,MAAM,QAAQ,CAAC,aAAa,EAAE,yBAAyB,EAAE,EAAE,CAAC,CAAC;YAC/D,CAAC;YAED,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;gBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,EAAE,EAAE,MAAM;gBACV,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACrC,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC;aAChC,CAAC;YACF,IAAI,IAAI,CAAC,cAAc;gBAAE,MAAM,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAE7F,IAAI,CAAC,MAAM,EAAE;gBACX,6BAA6B,SAAS,aAAa,IAAI,CAAC,KAAK,GAAG;gBAChE,SAAS,MAAM,EAAE;gBACjB,SAAS,MAAM,CAAC,WAAW,EAAE;gBAC7B,YAAY,OAAO,CAAC,WAAW,EAAE;gBACjC,6EAA6E;aAC9E,CAAC,CAAC;YACH,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC"}
@@ -9,8 +9,8 @@
9
9
  * "did the lockup mint succeed?" (lockupCount went up) and "how much
10
10
  * voting power did I get?" (votingPowerOf delta).
11
11
  *
12
- * If veReppo is TBD on the chosen network (mainnet today), each field
13
- * emits `{ unavailable: "<reason>" }` rather than a misleading 0.
12
+ * If veReppo is TBD on the chosen network, each field emits
13
+ * `{ unavailable: "<reason>" }` rather than a misleading 0.
14
14
  */
15
15
  import { Option } from 'clipanion';
16
16
  import { formatUnits, isAddress } from 'viem';
@@ -1 +1 @@
1
- {"version":3,"file":"register-agent.d.ts","sourceRoot":"","sources":["../../src/commands/register-agent.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAqBzC,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,OAAgB,KAAK,aAAe;IAEpC,OAAgB,KAAK,4BAQlB;IAEH,SAAS,SAA0F;IACnG,WAAW,SAA0F;IAE/F,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CA+EjC"}
1
+ {"version":3,"file":"register-agent.d.ts","sourceRoot":"","sources":["../../src/commands/register-agent.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAoBzC,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,OAAgB,KAAK,aAAe;IAEpC,OAAgB,KAAK,4BAQlB;IAEH,SAAS,SAA0F;IACnG,WAAW,SAA0F;IAE/F,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CA8EjC"}