@reppo/cli 0.5.0 → 0.7.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 -2
- package/dist/api/agents.d.ts +45 -0
- package/dist/api/agents.d.ts.map +1 -0
- package/dist/api/agents.js +115 -0
- package/dist/api/agents.js.map +1 -0
- package/dist/api/subnets.d.ts +45 -0
- package/dist/api/subnets.d.ts.map +1 -0
- package/dist/api/subnets.js +49 -0
- package/dist/api/subnets.js.map +1 -0
- package/dist/bin.js +1 -1
- package/dist/chain/receipt.d.ts +14 -0
- package/dist/chain/receipt.d.ts.map +1 -0
- package/dist/chain/receipt.js +14 -0
- package/dist/chain/receipt.js.map +1 -0
- package/dist/commands/claim-emissions.d.ts.map +1 -1
- package/dist/commands/claim-emissions.js +27 -6
- package/dist/commands/claim-emissions.js.map +1 -1
- package/dist/commands/extend-lock.d.ts.map +1 -1
- package/dist/commands/extend-lock.js +46 -6
- package/dist/commands/extend-lock.js.map +1 -1
- package/dist/commands/grant-access.d.ts.map +1 -1
- package/dist/commands/grant-access.js +38 -6
- package/dist/commands/grant-access.js.map +1 -1
- package/dist/commands/list/datanets.d.ts.map +1 -1
- package/dist/commands/list/datanets.js +3 -20
- package/dist/commands/list/datanets.js.map +1 -1
- package/dist/commands/lock.d.ts.map +1 -1
- package/dist/commands/lock.js +43 -6
- package/dist/commands/lock.js.map +1 -1
- package/dist/commands/mint-pod.d.ts +25 -0
- package/dist/commands/mint-pod.d.ts.map +1 -1
- package/dist/commands/mint-pod.js +234 -11
- package/dist/commands/mint-pod.js.map +1 -1
- package/dist/commands/query/datanet.d.ts +10 -0
- package/dist/commands/query/datanet.d.ts.map +1 -1
- package/dist/commands/query/datanet.js +76 -1
- package/dist/commands/query/datanet.js.map +1 -1
- package/dist/commands/unlock.d.ts.map +1 -1
- package/dist/commands/unlock.js +39 -6
- package/dist/commands/unlock.js.map +1 -1
- package/dist/commands/vote.d.ts.map +1 -1
- package/dist/commands/vote.js +35 -6
- package/dist/commands/vote.js.map +1 -1
- package/dist/commands/write-cache.d.ts +20 -0
- package/dist/commands/write-cache.d.ts.map +1 -0
- package/dist/commands/write-cache.js +52 -0
- package/dist/commands/write-cache.js.map +1 -0
- package/dist/config/load.d.ts +11 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +3 -0
- package/dist/config/load.js.map +1 -1
- package/dist/state/idempotency.d.ts +2 -1
- package/dist/state/idempotency.d.ts.map +1 -1
- package/dist/state/idempotency.js +29 -8
- package/dist/state/idempotency.js.map +1 -1
- package/package.json +1 -1
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
*
|
|
21
21
|
* Two-phase write protocol via peekIdempotent.
|
|
22
22
|
*/
|
|
23
|
+
import { existsSync } from 'node:fs';
|
|
23
24
|
import { Option } from 'clipanion';
|
|
24
25
|
import { isAddress } from 'viem';
|
|
25
26
|
import { BaseCommand } from './_base.js';
|
|
@@ -27,7 +28,10 @@ import { cliError, emit } from '../output/format.js';
|
|
|
27
28
|
import { createClients, nextNonce } from '../chain/clients.js';
|
|
28
29
|
import { podManager, subnetManager } from '../chain/contracts.js';
|
|
29
30
|
import { decodeRevert } from '../chain/errors.js';
|
|
31
|
+
import { handleSubmittedCacheDecision } from './write-cache.js';
|
|
32
|
+
import { waitForWriteReceipt } from '../chain/receipt.js';
|
|
30
33
|
import { begin, markSubmitted, markConfirmed, markFailed, peekIdempotent } from '../state/idempotency.js';
|
|
34
|
+
import { pinDatasetToIpfs, registerPodMetadata, POD_NAME_MAX, POD_DESCRIPTION_MAX, } from '../api/agents.js';
|
|
31
35
|
const COMMAND = 'mint-pod';
|
|
32
36
|
export class MintPodCommand extends BaseCommand {
|
|
33
37
|
static paths = [['mint-pod']];
|
|
@@ -49,6 +53,18 @@ export class MintPodCommand extends BaseCommand {
|
|
|
49
53
|
to = Option.String('--to', { description: 'Address to mint the pod to (defaults to caller)' });
|
|
50
54
|
idempotencyKey = Option.String('--idempotency-key');
|
|
51
55
|
dryRun = Option.Boolean('--dry-run', false);
|
|
56
|
+
// ── Phase-2 metadata publishing (optional) ───────────────────────────
|
|
57
|
+
// Providing --pod-name turns on Phase 2: after the on-chain mint, register
|
|
58
|
+
// the pod's metadata with the Reppo platform so the UI surfaces it.
|
|
59
|
+
podName = Option.String('--pod-name', { description: `Pod display name (≤${POD_NAME_MAX} chars). Providing it enables Phase-2 metadata publishing.` });
|
|
60
|
+
podDescription = Option.String('--pod-description', { description: `Pod description (≤${POD_DESCRIPTION_MAX} chars)` });
|
|
61
|
+
subnetUuid = Option.String('--subnet-uuid', { description: 'Platform subnet UUID (cuid, e.g. cmnhuowns…) — NOT the on-chain --datanet id. Required for publishing.' });
|
|
62
|
+
podUrl = Option.String('--url', { description: 'Primary content URL for the pod (overridden by the dataset URI when a dataset is pinned/provided)' });
|
|
63
|
+
category = Option.String('--category', 'Dataset', { description: 'Pod category label (default "Dataset")' });
|
|
64
|
+
platform = Option.String('--platform', 'reppo-cli', { description: 'Publishing platform label (default "reppo-cli")' });
|
|
65
|
+
dataset = Option.String('--dataset', { description: 'Local dataset file to pin to IPFS (needs PINATA_JWT). Mutually exclusive with --dataset-uri.' });
|
|
66
|
+
datasetUri = Option.String('--dataset-uri', { description: 'Pre-built dataset URL to register as-is (no pinning). Mutually exclusive with --dataset.' });
|
|
67
|
+
agreeToTerms = Option.Boolean('--agree-to-terms', false, { description: 'Required to publish metadata — confirms you accept the Reppo platform terms.' });
|
|
52
68
|
async execute() {
|
|
53
69
|
try {
|
|
54
70
|
const cfg = this.loadConfig();
|
|
@@ -70,6 +86,11 @@ export class MintPodCommand extends BaseCommand {
|
|
|
70
86
|
throw cliError('INVALID_TOKEN', `--token must be "reppo" or "primary"; got "${this.token}".`);
|
|
71
87
|
}
|
|
72
88
|
const functionName = this.token === 'reppo' ? 'mintPodWithREPPO' : 'mintPodWithPrimaryToken';
|
|
89
|
+
// Validate Phase-2 metadata config NOW, before any on-chain write, so
|
|
90
|
+
// bad config (missing UUID, over-length name, numeric subnet id) fails
|
|
91
|
+
// fast instead of after an irreversible mint. Returns null when
|
|
92
|
+
// --pod-name is absent (publishing is opt-in).
|
|
93
|
+
const publish = this.resolvePublishIntent(cfg);
|
|
73
94
|
const clients = createClients({
|
|
74
95
|
network: cfg.network,
|
|
75
96
|
privateKey: pk,
|
|
@@ -83,13 +104,35 @@ export class MintPodCommand extends BaseCommand {
|
|
|
83
104
|
const args = { datanetId: datanetId.toString(), token: this.token, to: target.toLowerCase() };
|
|
84
105
|
const decision = await peekIdempotent(this.idempotencyKey, COMMAND, args, this.dryRun);
|
|
85
106
|
if (decision.kind === 'return-confirmed') {
|
|
86
|
-
|
|
107
|
+
// The mint is already durable on-chain. If Phase-2 publishing was
|
|
108
|
+
// requested, (re-)run it now against the cached txHash — this is the
|
|
109
|
+
// path the "retry with the same --idempotency-key" hint relies on,
|
|
110
|
+
// since a failed metadata POST never reopens the confirmed mint.
|
|
111
|
+
const cachedTx = decision.txHash;
|
|
112
|
+
const lines = [`(cached, confirmed) tx: ${cachedTx ?? 'n/a'}`];
|
|
113
|
+
const payload = { ...decision.result, idempotent: true, status: 'confirmed' };
|
|
114
|
+
if (publish && cachedTx) {
|
|
115
|
+
const metadata = await this.runPhase2(publish, cachedTx);
|
|
116
|
+
payload.metadata = metadata;
|
|
117
|
+
lines.push(...this.phase2HumanLines(publish, metadata));
|
|
118
|
+
}
|
|
119
|
+
emit(payload, lines);
|
|
87
120
|
return 0;
|
|
88
121
|
}
|
|
89
122
|
if (decision.kind === 'return-submitted') {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
123
|
+
const clients = createClients({
|
|
124
|
+
network: cfg.network,
|
|
125
|
+
privateKey: pk,
|
|
126
|
+
...(cfg.rpcUrl ? { rpcUrl: cfg.rpcUrl } : {}),
|
|
127
|
+
});
|
|
128
|
+
return handleSubmittedCacheDecision(decision, {
|
|
129
|
+
idempotencyKey: this.idempotencyKey,
|
|
130
|
+
command: COMMAND,
|
|
131
|
+
args,
|
|
132
|
+
network: cfg.network,
|
|
133
|
+
publicClient: clients.publicClient,
|
|
134
|
+
buildResult: () => ({ datanetId: datanetId.toString(), token: this.token, to: target }),
|
|
135
|
+
});
|
|
93
136
|
}
|
|
94
137
|
const pm = podManager(cfg.network);
|
|
95
138
|
const sm = subnetManager(cfg.network);
|
|
@@ -120,6 +163,16 @@ export class MintPodCommand extends BaseCommand {
|
|
|
120
163
|
to: target,
|
|
121
164
|
predictedPodId: sim.result.toString(),
|
|
122
165
|
gas: sim.request.gas?.toString() ?? null,
|
|
166
|
+
// Preview Phase 2 without pinning or POSTing — config already
|
|
167
|
+
// validated above; this just shows what would be published.
|
|
168
|
+
metadata: publish
|
|
169
|
+
? {
|
|
170
|
+
wouldPublish: true,
|
|
171
|
+
subnetId: publish.subnetUuid,
|
|
172
|
+
podName: publish.podName,
|
|
173
|
+
dataset: publish.dataset.kind,
|
|
174
|
+
}
|
|
175
|
+
: { wouldPublish: false },
|
|
123
176
|
});
|
|
124
177
|
return 0;
|
|
125
178
|
}
|
|
@@ -140,36 +193,206 @@ export class MintPodCommand extends BaseCommand {
|
|
|
140
193
|
await markFailed(this.idempotencyKey, COMMAND, args, decoded.code);
|
|
141
194
|
throw cliError(decoded.code, 'mint-pod tx failed to submit', decoded.hint);
|
|
142
195
|
}
|
|
143
|
-
if (this.idempotencyKey)
|
|
144
|
-
await markSubmitted(this.idempotencyKey, COMMAND, args, tx
|
|
145
|
-
|
|
196
|
+
if (this.idempotencyKey) {
|
|
197
|
+
await markSubmitted(this.idempotencyKey, COMMAND, args, tx, {
|
|
198
|
+
datanetId: datanetId.toString(),
|
|
199
|
+
token: this.token,
|
|
200
|
+
to: target,
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
const receipt = await waitForWriteReceipt(clients.publicClient, tx);
|
|
146
204
|
if (receipt.status === 'reverted') {
|
|
147
205
|
if (this.idempotencyKey)
|
|
148
206
|
await markFailed(this.idempotencyKey, COMMAND, args, 'TX_REVERTED', tx);
|
|
149
207
|
throw cliError('TX_REVERTED', `mint-pod tx reverted: ${tx}`);
|
|
150
208
|
}
|
|
209
|
+
const basescanUrl = basescanUrlFor(tx);
|
|
151
210
|
const result = {
|
|
152
211
|
txHash: tx,
|
|
153
212
|
datanetId: datanetId.toString(),
|
|
154
213
|
token: this.token,
|
|
155
214
|
to: target,
|
|
156
215
|
block: receipt.blockNumber.toString(),
|
|
157
|
-
basescanUrl
|
|
216
|
+
basescanUrl,
|
|
158
217
|
};
|
|
218
|
+
// Mark the on-chain mint confirmed BEFORE Phase 2. The tx is durable;
|
|
219
|
+
// a later Phase-2 failure must never reopen the mint for re-broadcast.
|
|
159
220
|
if (this.idempotencyKey)
|
|
160
221
|
await markConfirmed(this.idempotencyKey, COMMAND, args, result, tx);
|
|
161
|
-
|
|
222
|
+
const humanLines = [
|
|
162
223
|
`✓ Minted pod into datanet ${datanetId} (paid in ${this.token})`,
|
|
163
224
|
` to: ${target}`,
|
|
164
|
-
` tx: ${
|
|
225
|
+
` tx: ${basescanUrl}`,
|
|
165
226
|
` block: ${receipt.blockNumber}`,
|
|
166
227
|
` (new podId: check the explorer or run \`reppo query pod <id>\` to verify)`,
|
|
167
|
-
]
|
|
228
|
+
];
|
|
229
|
+
// ── Phase 2: pin dataset (optional) + register metadata ──────────
|
|
230
|
+
// Decoupled from the mint: runPhase2 never throws, so a pin/POST
|
|
231
|
+
// failure leaves the mint reported as success with metadata.published
|
|
232
|
+
// = false. The agent re-runs with the same --idempotency-key to retry
|
|
233
|
+
// (the return-confirmed branch above re-runs Phase 2 against the
|
|
234
|
+
// cached txHash).
|
|
235
|
+
if (publish) {
|
|
236
|
+
const metadata = await this.runPhase2(publish, tx);
|
|
237
|
+
result.metadata = metadata;
|
|
238
|
+
humanLines.push(...this.phase2HumanLines(publish, metadata));
|
|
239
|
+
}
|
|
240
|
+
emit(result, humanLines);
|
|
168
241
|
return 0;
|
|
169
242
|
}
|
|
170
243
|
catch (err) {
|
|
171
244
|
this.handleError(err);
|
|
172
245
|
}
|
|
173
246
|
}
|
|
247
|
+
/**
|
|
248
|
+
* Validate Phase-2 metadata flags and produce a resolved `PublishIntent`,
|
|
249
|
+
* or `null` when --pod-name is absent (publishing is opt-in). Throws
|
|
250
|
+
* `cliError` on any invalid/incomplete config so the caller fails BEFORE
|
|
251
|
+
* the on-chain mint. Does no network I/O.
|
|
252
|
+
*/
|
|
253
|
+
resolvePublishIntent(cfg) {
|
|
254
|
+
const name = this.podName?.trim();
|
|
255
|
+
if (!name)
|
|
256
|
+
return null;
|
|
257
|
+
if (name.length > POD_NAME_MAX) {
|
|
258
|
+
throw cliError('INVALID_POD_NAME', `--pod-name must be ≤${POD_NAME_MAX} chars; got ${name.length}.`);
|
|
259
|
+
}
|
|
260
|
+
const description = (this.podDescription ?? '').trim();
|
|
261
|
+
if (description.length > POD_DESCRIPTION_MAX) {
|
|
262
|
+
throw cliError('INVALID_POD_DESCRIPTION', `--pod-description must be ≤${POD_DESCRIPTION_MAX} chars; got ${description.length}.`);
|
|
263
|
+
}
|
|
264
|
+
const subnetUuid = this.subnetUuid?.trim();
|
|
265
|
+
if (!subnetUuid) {
|
|
266
|
+
throw cliError('MISSING_SUBNET_UUID', '--subnet-uuid is required to publish pod metadata.', 'Pass the platform subnet UUID (cuid like cmnhuowns…), visible in the datanet URL — NOT the on-chain --datanet id.');
|
|
267
|
+
}
|
|
268
|
+
// The platform metadata API needs the subnet UUID (cuid), not the numeric
|
|
269
|
+
// on-chain id. A numeric value passes the platform's Zod schema but 500s
|
|
270
|
+
// in the downstream UUID lookup — reject it loudly up front.
|
|
271
|
+
if (/^[0-9]+$/.test(subnetUuid)) {
|
|
272
|
+
throw cliError('INVALID_SUBNET_UUID', `--subnet-uuid "${subnetUuid}" looks like an on-chain datanet id, not a platform UUID.`, 'The platform metadata API needs the subnet UUID (cuid like cmnhuowns…). The numeric id passes validation but fails downstream with HTTP 500.');
|
|
273
|
+
}
|
|
274
|
+
if (!this.agreeToTerms) {
|
|
275
|
+
throw cliError('MISSING_AGREEMENT', 'Publishing pod metadata requires --agree-to-terms.', 'Pass --agree-to-terms to confirm you accept the Reppo platform terms.');
|
|
276
|
+
}
|
|
277
|
+
const agentId = cfg.agentId?.trim();
|
|
278
|
+
if (!agentId) {
|
|
279
|
+
throw cliError('MISSING_AGENT_ID', 'REPPO_AGENT_ID is required to publish pod metadata.', 'Run `reppo register-agent` to obtain an agent id + apiKey, then set REPPO_AGENT_ID.');
|
|
280
|
+
}
|
|
281
|
+
const agentApiKey = cfg.agentApiKey?.trim();
|
|
282
|
+
if (!agentApiKey) {
|
|
283
|
+
throw cliError('MISSING_AGENT_API_KEY', 'REPPO_AGENT_API_KEY (or REPPO_API_KEY) is required to publish pod metadata.', 'Use the apiKey returned by `reppo register-agent`.');
|
|
284
|
+
}
|
|
285
|
+
const hasDataset = this.dataset !== undefined && this.dataset.trim() !== '';
|
|
286
|
+
const hasDatasetUri = this.datasetUri !== undefined && this.datasetUri.trim() !== '';
|
|
287
|
+
if (hasDataset && hasDatasetUri) {
|
|
288
|
+
throw cliError('INVALID_DATASET_ARGS', '--dataset and --dataset-uri are mutually exclusive.', 'Pass --dataset <file> to pin a local dataset, or --dataset-uri <url> to register an existing URL.');
|
|
289
|
+
}
|
|
290
|
+
let dataset;
|
|
291
|
+
if (hasDataset) {
|
|
292
|
+
const path = this.dataset.trim();
|
|
293
|
+
if (!existsSync(path)) {
|
|
294
|
+
throw cliError('DATASET_FILE_NOT_FOUND', `Dataset file not found: ${path}`);
|
|
295
|
+
}
|
|
296
|
+
const pinataJwt = cfg.pinataJwt?.trim();
|
|
297
|
+
if (!pinataJwt) {
|
|
298
|
+
throw cliError('MISSING_PINATA_JWT', 'PINATA_JWT is required to pin a --dataset file.', 'Set PINATA_JWT, or pass --dataset-uri <url> to register an existing URL without pinning.');
|
|
299
|
+
}
|
|
300
|
+
dataset = { kind: 'pin', path, pinataJwt };
|
|
301
|
+
}
|
|
302
|
+
else if (hasDatasetUri) {
|
|
303
|
+
dataset = { kind: 'uri', uri: this.datasetUri.trim() };
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
dataset = { kind: 'none' };
|
|
307
|
+
}
|
|
308
|
+
return {
|
|
309
|
+
subnetUuid,
|
|
310
|
+
podName: name,
|
|
311
|
+
podDescription: description,
|
|
312
|
+
url: (this.podUrl ?? '').trim(),
|
|
313
|
+
category: this.category,
|
|
314
|
+
platform: this.platform,
|
|
315
|
+
agentId,
|
|
316
|
+
agentApiKey,
|
|
317
|
+
dataset,
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
/** Human-readable summary lines for a Phase-2 outcome (success or failure). */
|
|
321
|
+
phase2HumanLines(intent, metadata) {
|
|
322
|
+
if (metadata.published) {
|
|
323
|
+
const lines = [`✓ Registered pod metadata "${intent.podName}" (subnet ${intent.subnetUuid})`];
|
|
324
|
+
if (metadata.datasetUri)
|
|
325
|
+
lines.push(` dataset: ${metadata.datasetUri}`);
|
|
326
|
+
return lines;
|
|
327
|
+
}
|
|
328
|
+
return [
|
|
329
|
+
`⚠ Metadata NOT published (${metadata.stage}): ${metadata.error?.code ?? 'UNKNOWN'} — mint is durable on-chain.`,
|
|
330
|
+
` Re-run with the same --idempotency-key to retry Phase 2.`,
|
|
331
|
+
];
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Execute Phase 2: pin the dataset (if any), then POST metadata. NEVER
|
|
335
|
+
* throws — returns a structured result so a Phase-2 failure can't crash
|
|
336
|
+
* the command after a durable on-chain mint. `published` is true only on a
|
|
337
|
+
* 2xx registration response.
|
|
338
|
+
*/
|
|
339
|
+
async runPhase2(intent, txHash) {
|
|
340
|
+
let datasetUri = '';
|
|
341
|
+
try {
|
|
342
|
+
if (intent.dataset.kind === 'pin') {
|
|
343
|
+
datasetUri = await pinDatasetToIpfs(intent.dataset.path, intent.dataset.pinataJwt);
|
|
344
|
+
}
|
|
345
|
+
else if (intent.dataset.kind === 'uri') {
|
|
346
|
+
datasetUri = intent.dataset.uri;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
catch (e) {
|
|
350
|
+
const err = e;
|
|
351
|
+
return {
|
|
352
|
+
published: false,
|
|
353
|
+
stage: 'ipfs-pin',
|
|
354
|
+
error: { code: err.code ?? 'IPFS_PIN_FAILED', message: err.message ?? String(e) },
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
// The dataset URI, when present, is the pod's primary content link and
|
|
358
|
+
// its downloadable-file slot (mirrors the aeon postprocess body).
|
|
359
|
+
const body = {
|
|
360
|
+
txHash,
|
|
361
|
+
subnetId: intent.subnetUuid,
|
|
362
|
+
podName: intent.podName,
|
|
363
|
+
podDescription: intent.podDescription,
|
|
364
|
+
url: datasetUri || intent.url,
|
|
365
|
+
platform: intent.platform,
|
|
366
|
+
category: intent.category,
|
|
367
|
+
agreeToTerms: true,
|
|
368
|
+
imageURL: '',
|
|
369
|
+
thumbnailURL: '',
|
|
370
|
+
pdfURL: datasetUri || '',
|
|
371
|
+
videoURL: '',
|
|
372
|
+
};
|
|
373
|
+
const datasetField = datasetUri ? { datasetUri } : {};
|
|
374
|
+
try {
|
|
375
|
+
const res = await registerPodMetadata(intent.agentId, intent.agentApiKey, body);
|
|
376
|
+
if (res.ok) {
|
|
377
|
+
return { published: true, stage: 'register', httpStatus: res.status, ...datasetField };
|
|
378
|
+
}
|
|
379
|
+
return {
|
|
380
|
+
published: false,
|
|
381
|
+
stage: 'register',
|
|
382
|
+
httpStatus: res.status,
|
|
383
|
+
error: { code: 'PLATFORM_API_ERROR', message: res.detail || `HTTP ${res.status}` },
|
|
384
|
+
...datasetField,
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
catch (e) {
|
|
388
|
+
const err = e;
|
|
389
|
+
return {
|
|
390
|
+
published: false,
|
|
391
|
+
stage: 'register',
|
|
392
|
+
error: { code: err.code ?? 'PLATFORM_API_UNREACHABLE', message: err.message ?? String(e) },
|
|
393
|
+
...datasetField,
|
|
394
|
+
};
|
|
395
|
+
}
|
|
396
|
+
}
|
|
174
397
|
}
|
|
175
398
|
//# 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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"}
|
|
@@ -6,5 +6,15 @@ export declare class QueryDatanetCommand extends BaseCommand {
|
|
|
6
6
|
for_: string | undefined;
|
|
7
7
|
execute(): Promise<number>;
|
|
8
8
|
private resolveCallerAddress;
|
|
9
|
+
/**
|
|
10
|
+
* Resolve the off-chain catalog row for this datanet by its on-chain id
|
|
11
|
+
* (`tokenId`). Best-effort: returns `{ unavailable }` on a catalog outage
|
|
12
|
+
* or a no-match, never throwing — the on-chain answer is authoritative and
|
|
13
|
+
* must survive a flaky platform API.
|
|
14
|
+
*/
|
|
15
|
+
private fetchMetadata;
|
|
16
|
+
private toMetadata;
|
|
17
|
+
/** Human-mode lines for the catalog metadata block. */
|
|
18
|
+
private metadataLines;
|
|
9
19
|
}
|
|
10
20
|
//# sourceMappingURL=datanet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datanet.d.ts","sourceRoot":"","sources":["../../../src/commands/query/datanet.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"datanet.d.ts","sourceRoot":"","sources":["../../../src/commands/query/datanet.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAgC1C,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,OAAgB,KAAK,aAA0B;IAE/C,OAAgB,KAAK,4BAUlB;IAEH,OAAO,SAAqC;IAC5C,IAAI,qBAA+H;IAE7H,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IA6FhC,OAAO,CAAC,oBAAoB;IAW5B;;;;;OAKG;YACW,aAAa;IAW3B,OAAO,CAAC,UAAU;IAsBlB,uDAAuD;IACvD,OAAO,CAAC,aAAa;CAyBtB"}
|
|
@@ -23,6 +23,8 @@ import { BaseCommand } from '../_base.js';
|
|
|
23
23
|
import { cliError, emit } from '../../output/format.js';
|
|
24
24
|
import { createReadClient } from '../../chain/clients.js';
|
|
25
25
|
import { trySubnetManager } from '../../chain/contracts.js';
|
|
26
|
+
import { DEFAULT_PUBLIC_API_URL } from '../../api/public.js';
|
|
27
|
+
import { fetchSubnetByTokenId, numericToString } from '../../api/subnets.js';
|
|
26
28
|
function unavailable(reason) {
|
|
27
29
|
return { unavailable: reason };
|
|
28
30
|
}
|
|
@@ -51,6 +53,10 @@ export class QueryDatanetCommand extends BaseCommand {
|
|
|
51
53
|
catch {
|
|
52
54
|
throw cliError('INVALID_DATANET_ID', `Datanet id must be a non-negative integer; got "${this.datanet}".`);
|
|
53
55
|
}
|
|
56
|
+
// Off-chain catalog metadata (name, description, token, emissions,
|
|
57
|
+
// onboarding). Best-effort: a catalog outage or a datanet absent from
|
|
58
|
+
// the public catalog must NOT break the authoritative on-chain answer.
|
|
59
|
+
const metadata = await this.fetchMetadata(datanetId.toString());
|
|
54
60
|
const client = createReadClient({ network: cfg.network, ...(cfg.rpcUrl ? { rpcUrl: cfg.rpcUrl } : {}) });
|
|
55
61
|
const sm = trySubnetManager(cfg.network);
|
|
56
62
|
if (!sm) {
|
|
@@ -60,10 +66,12 @@ export class QueryDatanetCommand extends BaseCommand {
|
|
|
60
66
|
network: cfg.network,
|
|
61
67
|
valid: unavailable(reason),
|
|
62
68
|
accessFeeREPPO: unavailable(reason),
|
|
69
|
+
metadata,
|
|
63
70
|
}, [
|
|
64
71
|
`Datanet: ${datanetId}`,
|
|
65
72
|
`Network: ${cfg.network}`,
|
|
66
|
-
`(unavailable: ${reason})`,
|
|
73
|
+
`(on-chain unavailable: ${reason})`,
|
|
74
|
+
...this.metadataLines(metadata),
|
|
67
75
|
]);
|
|
68
76
|
return 0;
|
|
69
77
|
}
|
|
@@ -92,6 +100,7 @@ export class QueryDatanetCommand extends BaseCommand {
|
|
|
92
100
|
valid,
|
|
93
101
|
accessFeeREPPO,
|
|
94
102
|
...(callerAccess ? { callerAccess } : {}),
|
|
103
|
+
metadata,
|
|
95
104
|
};
|
|
96
105
|
const feeFmt = 'unavailable' in accessFeeREPPO
|
|
97
106
|
? `(unavailable: ${accessFeeREPPO.unavailable})`
|
|
@@ -106,6 +115,7 @@ export class QueryDatanetCommand extends BaseCommand {
|
|
|
106
115
|
lines.push(`Caller: ${callerAccess.address}`);
|
|
107
116
|
lines.push(`Caller access: ${callerAccess.hasAccess}`);
|
|
108
117
|
}
|
|
118
|
+
lines.push(...this.metadataLines(metadata));
|
|
109
119
|
emit(result, lines);
|
|
110
120
|
return 0;
|
|
111
121
|
}
|
|
@@ -124,5 +134,70 @@ export class QueryDatanetCommand extends BaseCommand {
|
|
|
124
134
|
return privateKeyToAddress(pk);
|
|
125
135
|
return undefined;
|
|
126
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Resolve the off-chain catalog row for this datanet by its on-chain id
|
|
139
|
+
* (`tokenId`). Best-effort: returns `{ unavailable }` on a catalog outage
|
|
140
|
+
* or a no-match, never throwing — the on-chain answer is authoritative and
|
|
141
|
+
* must survive a flaky platform API.
|
|
142
|
+
*/
|
|
143
|
+
async fetchMetadata(tokenId) {
|
|
144
|
+
const baseUrl = process.env.REPPO_PUBLIC_API_URL ?? DEFAULT_PUBLIC_API_URL;
|
|
145
|
+
try {
|
|
146
|
+
const row = await fetchSubnetByTokenId(baseUrl, tokenId);
|
|
147
|
+
if (!row)
|
|
148
|
+
return unavailable('datanet not found in the public catalog');
|
|
149
|
+
return this.toMetadata(row);
|
|
150
|
+
}
|
|
151
|
+
catch (e) {
|
|
152
|
+
return unavailable(`catalog fetch failed: ${e.message}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
toMetadata(s) {
|
|
156
|
+
return {
|
|
157
|
+
subnetUuid: s.id ?? '',
|
|
158
|
+
name: s.subnetName ?? '',
|
|
159
|
+
description: s.subnetDescription ?? '',
|
|
160
|
+
status: s.status ?? 'UNKNOWN',
|
|
161
|
+
nativeToken: {
|
|
162
|
+
address: s.nativeTokenAddress ?? '',
|
|
163
|
+
symbol: s.nativeTokenSymbol ?? '',
|
|
164
|
+
decimals: typeof s.nativeTokenDecimals === 'number' ? s.nativeTokenDecimals : 0,
|
|
165
|
+
},
|
|
166
|
+
emissionsPerEpochREPPO: numericToString(s.emissionsPerEpochREPPO),
|
|
167
|
+
emissionsPerEpochPrimaryToken: numericToString(s.emissionsPerEpochPrimaryToken),
|
|
168
|
+
upVoteVolume: numericToString(s.upVoteVolume),
|
|
169
|
+
downVoteVolume: numericToString(s.downVoteVolume),
|
|
170
|
+
onboardingPublishers: s.onboardingPublishers ?? '',
|
|
171
|
+
onboardingVoters: s.onboardingVoters ?? '',
|
|
172
|
+
thumbnailUrl: s.thumbnailUrl ?? '',
|
|
173
|
+
isABTestingSubnet: s.isABTestingSubnet ?? false,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/** Human-mode lines for the catalog metadata block. */
|
|
177
|
+
metadataLines(m) {
|
|
178
|
+
if ('unavailable' in m) {
|
|
179
|
+
return [`Metadata: (unavailable: ${m.unavailable})`];
|
|
180
|
+
}
|
|
181
|
+
const lines = [
|
|
182
|
+
``,
|
|
183
|
+
`Name: ${m.name}`,
|
|
184
|
+
`Status: ${m.status}`,
|
|
185
|
+
`Token: ${m.nativeToken.symbol} (${m.nativeToken.decimals} decimals) ${m.nativeToken.address}`,
|
|
186
|
+
`Emissions: ${m.emissionsPerEpochREPPO} REPPO/epoch` +
|
|
187
|
+
(m.emissionsPerEpochPrimaryToken !== '0' ? ` + ${m.emissionsPerEpochPrimaryToken} primary/epoch` : ''),
|
|
188
|
+
`Votes: ↑${m.upVoteVolume} / ↓${m.downVoteVolume}`,
|
|
189
|
+
`Subnet UUID: ${m.subnetUuid} (use as --subnet-uuid for mint-pod publishing)`,
|
|
190
|
+
];
|
|
191
|
+
if (m.description.trim()) {
|
|
192
|
+
lines.push(``, `Description:`, m.description.trim());
|
|
193
|
+
}
|
|
194
|
+
if (m.onboardingPublishers.trim()) {
|
|
195
|
+
lines.push(``, `Onboarding — publishers:`, m.onboardingPublishers.trim());
|
|
196
|
+
}
|
|
197
|
+
if (m.onboardingVoters.trim()) {
|
|
198
|
+
lines.push(``, `Onboarding — voters:`, m.onboardingVoters.trim());
|
|
199
|
+
}
|
|
200
|
+
return lines;
|
|
201
|
+
}
|
|
127
202
|
}
|
|
128
203
|
//# sourceMappingURL=datanet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datanet.js","sourceRoot":"","sources":["../../../src/commands/query/datanet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAgB,MAAM,MAAM,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"datanet.js","sourceRoot":"","sources":["../../../src/commands/query/datanet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../src/commands/unlock.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../src/commands/unlock.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWzC,qBAAa,aAAc,SAAQ,WAAW;IAC5C,OAAgB,KAAK,aAAgB;IAErC,OAAgB,KAAK,4BAYlB;IAEH,QAAQ,SAAqC;IAC7C,EAAE,qBAAwG;IAC1G,cAAc,qBAAsC;IACpD,MAAM,UAAsC;IAEtC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CA2LjC"}
|
package/dist/commands/unlock.js
CHANGED
|
@@ -26,6 +26,8 @@ import { cliError, emit } from '../output/format.js';
|
|
|
26
26
|
import { createClients, nextNonce } from '../chain/clients.js';
|
|
27
27
|
import { veReppo } from '../chain/contracts.js';
|
|
28
28
|
import { decodeRevert } from '../chain/errors.js';
|
|
29
|
+
import { handleSubmittedCacheDecision } from './write-cache.js';
|
|
30
|
+
import { waitForWriteReceipt } from '../chain/receipt.js';
|
|
29
31
|
import { begin, markSubmitted, markConfirmed, markFailed, peekIdempotent } from '../state/idempotency.js';
|
|
30
32
|
const COMMAND = 'unlock';
|
|
31
33
|
export class UnlockCommand extends BaseCommand {
|
|
@@ -78,9 +80,35 @@ export class UnlockCommand extends BaseCommand {
|
|
|
78
80
|
return 0;
|
|
79
81
|
}
|
|
80
82
|
if (decision.kind === 'return-submitted') {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
83
|
+
const clients = createClients({
|
|
84
|
+
network: cfg.network,
|
|
85
|
+
privateKey: pk,
|
|
86
|
+
...(cfg.rpcUrl ? { rpcUrl: cfg.rpcUrl } : {}),
|
|
87
|
+
});
|
|
88
|
+
return handleSubmittedCacheDecision(decision, {
|
|
89
|
+
idempotencyKey: this.idempotencyKey,
|
|
90
|
+
command: COMMAND,
|
|
91
|
+
args,
|
|
92
|
+
network: cfg.network,
|
|
93
|
+
publicClient: clients.publicClient,
|
|
94
|
+
buildResult: async () => {
|
|
95
|
+
try {
|
|
96
|
+
const vrLocal = veReppo(cfg.network);
|
|
97
|
+
const lockup = await clients.publicClient.readContract({
|
|
98
|
+
address: vrLocal.address, abi: vrLocal.abi, functionName: 'lockupData', args: [lockupId],
|
|
99
|
+
});
|
|
100
|
+
const [amount] = lockup;
|
|
101
|
+
return {
|
|
102
|
+
lockupId: args.lockupId,
|
|
103
|
+
to: args.to,
|
|
104
|
+
amount: { raw: amount.toString(), formatted: formatUnits(amount, 18) },
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return { lockupId: args.lockupId, to: args.to };
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
});
|
|
84
112
|
}
|
|
85
113
|
// Throwing variant — write commands must fail loud on TBD.
|
|
86
114
|
const vr = veReppo(cfg.network);
|
|
@@ -145,9 +173,14 @@ export class UnlockCommand extends BaseCommand {
|
|
|
145
173
|
throw cliError(decoded.code, 'unlock tx failed to submit', decoded.hint);
|
|
146
174
|
}
|
|
147
175
|
// markSubmitted BEFORE waitForReceipt — closes the retry-resend window.
|
|
148
|
-
if (this.idempotencyKey)
|
|
149
|
-
await markSubmitted(this.idempotencyKey, COMMAND, args, tx
|
|
150
|
-
|
|
176
|
+
if (this.idempotencyKey) {
|
|
177
|
+
await markSubmitted(this.idempotencyKey, COMMAND, args, tx, {
|
|
178
|
+
lockupId: lockupId.toString(),
|
|
179
|
+
to: target,
|
|
180
|
+
amount: { raw: amount.toString(), formatted: formatUnits(amount, 18) },
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
const receipt = await waitForWriteReceipt(clients.publicClient, tx);
|
|
151
184
|
if (receipt.status === 'reverted') {
|
|
152
185
|
if (this.idempotencyKey)
|
|
153
186
|
await markFailed(this.idempotencyKey, COMMAND, args, 'TX_REVERTED', tx);
|