@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.
- package/README.md +5 -5
- package/dist/bin.js +1 -1
- package/dist/chain/abis.d.ts +57 -78
- package/dist/chain/abis.d.ts.map +1 -1
- package/dist/chain/abis.js +24 -20
- package/dist/chain/abis.js.map +1 -1
- package/dist/chain/addresses.d.ts +6 -4
- package/dist/chain/addresses.d.ts.map +1 -1
- package/dist/chain/addresses.js +3 -3
- package/dist/chain/addresses.js.map +1 -1
- package/dist/chain/contracts.d.ts +9 -6
- package/dist/chain/contracts.d.ts.map +1 -1
- package/dist/chain/contracts.js +3 -3
- package/dist/chain/contracts.js.map +1 -1
- package/dist/chain/errors.d.ts.map +1 -1
- package/dist/chain/errors.js +30 -4
- package/dist/chain/errors.js.map +1 -1
- package/dist/commands/claim-emissions.d.ts.map +1 -1
- package/dist/commands/claim-emissions.js +17 -38
- package/dist/commands/claim-emissions.js.map +1 -1
- package/dist/commands/mint-pod.d.ts +0 -3
- package/dist/commands/mint-pod.d.ts.map +1 -1
- package/dist/commands/mint-pod.js +117 -228
- package/dist/commands/mint-pod.js.map +1 -1
- package/dist/commands/query/voting-power.js +2 -2
- package/dist/commands/register-agent.d.ts.map +1 -1
- package/dist/commands/register-agent.js +26 -30
- package/dist/commands/register-agent.js.map +1 -1
- package/dist/commands/vote.d.ts +1 -1
- package/dist/commands/vote.d.ts.map +1 -1
- package/dist/commands/vote.js +48 -31
- package/dist/commands/vote.js.map +1 -1
- package/package.json +1 -1
|
@@ -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 (
|
|
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
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
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
|
-
//
|
|
97
|
-
//
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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":"AAAA
|
|
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":"
|
|
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
|
|
2
|
+
* `reppo mint-pod` — mint a pod NFT into a datanet on PodManager V2.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* -
|
|
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
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
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 (
|
|
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 {
|
|
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
|
|
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
|
|
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
|
|
41
|
-
'reppo mint-pod --
|
|
42
|
-
['Mint
|
|
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
|
|
45
|
-
'reppo mint-pod --datanet 19 --token primary
|
|
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 --
|
|
44
|
+
'reppo mint-pod --datanet 19 --to 0x726c…E31d'],
|
|
48
45
|
],
|
|
49
46
|
});
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
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
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
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
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
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
|
-
|
|
237
|
-
|
|
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
|
|
256
|
-
|
|
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
|
-
|
|
259
|
-
|
|
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":"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"}
|
|
@@ -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
|
|
13
|
-
*
|
|
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":"
|
|
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"}
|