@lionden/plugin-deploy 0.1.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.
Files changed (59) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +23 -0
  3. package/dist/deploy-task.d.ts +83 -0
  4. package/dist/deploy-task.d.ts.map +1 -0
  5. package/dist/deploy-task.js +599 -0
  6. package/dist/deploy-task.js.map +1 -0
  7. package/dist/deployment-manager.d.ts +80 -0
  8. package/dist/deployment-manager.d.ts.map +1 -0
  9. package/dist/deployment-manager.js +521 -0
  10. package/dist/deployment-manager.js.map +1 -0
  11. package/dist/deployment-state.d.ts +40 -0
  12. package/dist/deployment-state.d.ts.map +1 -0
  13. package/dist/deployment-state.js +204 -0
  14. package/dist/deployment-state.js.map +1 -0
  15. package/dist/deployment-types.d.ts +112 -0
  16. package/dist/deployment-types.d.ts.map +1 -0
  17. package/dist/deployment-types.js +9 -0
  18. package/dist/deployment-types.js.map +1 -0
  19. package/dist/errors.d.ts +7 -0
  20. package/dist/errors.d.ts.map +1 -0
  21. package/dist/errors.js +10 -0
  22. package/dist/errors.js.map +1 -0
  23. package/dist/index.d.ts +13 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +184 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/leo-sources.d.ts +11 -0
  28. package/dist/leo-sources.d.ts.map +1 -0
  29. package/dist/leo-sources.js +31 -0
  30. package/dist/leo-sources.js.map +1 -0
  31. package/dist/leo-version.d.ts +2 -0
  32. package/dist/leo-version.d.ts.map +1 -0
  33. package/dist/leo-version.js +10 -0
  34. package/dist/leo-version.js.map +1 -0
  35. package/dist/on-chain-check.d.ts +34 -0
  36. package/dist/on-chain-check.d.ts.map +1 -0
  37. package/dist/on-chain-check.js +84 -0
  38. package/dist/on-chain-check.js.map +1 -0
  39. package/dist/preflight.d.ts +94 -0
  40. package/dist/preflight.d.ts.map +1 -0
  41. package/dist/preflight.js +288 -0
  42. package/dist/preflight.js.map +1 -0
  43. package/dist/prove.d.ts +11 -0
  44. package/dist/prove.d.ts.map +1 -0
  45. package/dist/prove.js +19 -0
  46. package/dist/prove.js.map +1 -0
  47. package/dist/recipe-task.d.ts +18 -0
  48. package/dist/recipe-task.d.ts.map +1 -0
  49. package/dist/recipe-task.js +201 -0
  50. package/dist/recipe-task.js.map +1 -0
  51. package/dist/recipe-types.d.ts +95 -0
  52. package/dist/recipe-types.d.ts.map +1 -0
  53. package/dist/recipe-types.js +10 -0
  54. package/dist/recipe-types.js.map +1 -0
  55. package/dist/upgrade-task.d.ts +30 -0
  56. package/dist/upgrade-task.d.ts.map +1 -0
  57. package/dist/upgrade-task.js +315 -0
  58. package/dist/upgrade-task.js.map +1 -0
  59. package/package.json +39 -0
@@ -0,0 +1,315 @@
1
+ /**
2
+ * Upgrade task implementation (thin).
3
+ *
4
+ * Flow: connect → resolve signer → guard a prior record exists → compile v2 →
5
+ * build upgrade tx → broadcast → wait → record → fire hook → optional export.
6
+ *
7
+ * No ABI-compatibility, constructor-immutability, edition, or admin-address
8
+ * validation — Leo's built-in tooling owns upgrade correctness. The newly
9
+ * compiled ABI is still recorded so `export` has it.
10
+ */
11
+ import { isSignable } from "@lionden/config";
12
+ import { KeyArtifactsMetadataError, logAction, logMetadata, logSuccess, readProgramArtifactProvenance, } from "@lionden/core";
13
+ import { DeployError } from "./errors.js";
14
+ import { supportsLeoProgramRename } from "./leo-version.js";
15
+ import { checkProgramOnChain, createDegradedRecord, getRequiredProgramEdition, waitForProgramEditionAdvance, } from "./on-chain-check.js";
16
+ import { resolveProveOption } from "./prove.js";
17
+ // ---------------------------------------------------------------------------
18
+ // Upgrade action
19
+ // ---------------------------------------------------------------------------
20
+ export async function upgradeAction(args, lre) {
21
+ const programArg = args["program"];
22
+ if (!programArg) {
23
+ throw new DeployError("The --program option is required for upgrade. " + "Usage: lionden upgrade --program <name>");
24
+ }
25
+ const options = {
26
+ program: programArg,
27
+ priorityFee: args["priorityFee"],
28
+ skipConfirm: args["skipConfirm"],
29
+ network: args["network"],
30
+ prove: resolveProveOption(args, lre),
31
+ };
32
+ const config = lre.config;
33
+ const manager = lre.deployments;
34
+ // Normalize program ID
35
+ const programId = options.program.endsWith(".aleo") ? options.program : `${options.program}.aleo`;
36
+ // 1. Connect to network
37
+ const networkName = options.network ?? config.defaultNetwork;
38
+ console.log(`${logAction("Upgrading")} ${programId} on network "${networkName}"`);
39
+ const networkManager = lre.network;
40
+ const connection = await networkManager.connect(networkName);
41
+ // 1b. Resolve admin signer from namedAccounts (selection only — no validation).
42
+ // An address-only "admin" carries no private key, so there is nothing to select.
43
+ let adminSignerKey;
44
+ const namedAdmin = lre.namedAccounts["admin"];
45
+ if (namedAdmin !== undefined && isSignable(namedAdmin)) {
46
+ adminSignerKey = namedAdmin.privateKey;
47
+ }
48
+ // 2. Recover pending deployments from previous runs
49
+ if (manager) {
50
+ await manager.recoverPendingDeployments(networkName, connection);
51
+ }
52
+ // 3. Resolve existing deployment state. When local state is missing, upgrade
53
+ // can still proceed if the target network already has the program.
54
+ let existingRecord = null;
55
+ let observedFallbackEdition = null;
56
+ if (manager) {
57
+ existingRecord = await manager.getDeployment(programId, networkName);
58
+ }
59
+ if (!existingRecord) {
60
+ const onChain = await checkProgramOnChain(connection, programId);
61
+ if (!onChain.exists) {
62
+ throw new DeployError(`No deployment record found for "${programId}". ` +
63
+ `Deploy the program first with \`lionden deploy --program ${options.program}\`.`);
64
+ }
65
+ const observedEdition = typeof onChain.edition === "number"
66
+ ? onChain.edition
67
+ : await getRequiredProgramEdition(connection, programId, "create degraded deployment record");
68
+ existingRecord = createDegradedRecord(programId, networkName, connection.endpoint, onChain.source, observedEdition);
69
+ observedFallbackEdition = observedEdition;
70
+ }
71
+ const sourceProgramId = resolveUpgradeSourceProgramId(config.paths.artifacts, existingRecord, programId);
72
+ const rename = sourceProgramId !== programId ? programId : undefined;
73
+ if (rename && !supportsLeoProgramRename(config.leoVersion)) {
74
+ throw new DeployError(`upgrade for renamed deployment "${programId}" requires Leo 4.3.0 or newer. ` +
75
+ `Configured leoVersion is "${config.leoVersion}".`);
76
+ }
77
+ if (rename && config.compiler.buildTests) {
78
+ throw new DeployError(`upgrade for renamed deployment "${programId}" is not supported when compiler.buildTests is enabled.`);
79
+ }
80
+ // 4. Compile the updated program. Forward the effective upgrade network (when
81
+ // explicitly supplied) so the implicit compile resolves imported on-chain
82
+ // sources + `.env` from the deploying network; omit it otherwise so compile
83
+ // falls back to `config.defaultNetwork` (byte-for-byte unchanged).
84
+ const compileArgs = rename
85
+ ? { program: sourceProgramId, rename }
86
+ : { program: options.program };
87
+ if (options.network)
88
+ compileArgs["network"] = options.network;
89
+ await lre.tasks.run("compile", compileArgs);
90
+ // Read the newly-compiled ABI — recorded so `export` has it.
91
+ const newAbi = lre.artifacts.getAbi(programId);
92
+ if (!newAbi) {
93
+ throw new DeployError(`No compiled ABI found for "${programId}". Compilation may have failed.`);
94
+ }
95
+ // 6. Read compiled Aleo source
96
+ const aleoSource = lre.artifacts.getAleoSource(programId);
97
+ if (!aleoSource) {
98
+ throw new DeployError(`No compiled .aleo source found for "${programId}".`);
99
+ }
100
+ // 7. Resolve upgrade provenance before writing a pending marker.
101
+ const deployerAddress = await resolveDeployerAddress(connection, config, networkName, adminSignerKey);
102
+ const fee = options.priorityFee ?? config.deploy.defaultPriorityFee;
103
+ const shouldConfirm = !options.skipConfirm && config.deploy.confirmTransactions;
104
+ let previousEdition;
105
+ if (observedFallbackEdition !== null) {
106
+ previousEdition = observedFallbackEdition;
107
+ }
108
+ else if (shouldConfirm) {
109
+ previousEdition = await getRequiredProgramEdition(connection, programId, "read current edition before upgrade");
110
+ }
111
+ else {
112
+ let liveEdition = null;
113
+ try {
114
+ liveEdition = await connection.getProgramEdition(programId);
115
+ }
116
+ catch {
117
+ liveEdition = null;
118
+ }
119
+ if (typeof liveEdition === "number" && Number.isInteger(liveEdition) && liveEdition >= 0) {
120
+ previousEdition = liveEdition;
121
+ }
122
+ else if (typeof existingRecord.edition === "number" &&
123
+ Number.isInteger(existingRecord.edition) &&
124
+ existingRecord.edition >= 0) {
125
+ previousEdition = existingRecord.edition;
126
+ }
127
+ else {
128
+ throw new Error(`Unable to read current edition before upgrade for "${programId}": on-chain program edition could not be observed.`);
129
+ }
130
+ }
131
+ let pending = null;
132
+ if (manager) {
133
+ pending = {
134
+ programId,
135
+ ...(rename ? { sourceProgramId } : {}),
136
+ action: "upgrade",
137
+ startedAt: new Date().toISOString(),
138
+ deployerAddress: deployerAddress ?? "unknown",
139
+ priorityFee: options.priorityFee ?? config.deploy.defaultPriorityFee,
140
+ privateFee: config.deploy.privateFee,
141
+ network: networkName,
142
+ endpoint: connection.endpoint,
143
+ previousEdition,
144
+ };
145
+ await manager.setPending(pending);
146
+ }
147
+ // 8. Build and broadcast upgrade transaction
148
+ const txId = await buildAndBroadcastUpgrade({
149
+ programId,
150
+ aleoSource,
151
+ connection,
152
+ fee,
153
+ privateFee: config.deploy.privateFee,
154
+ signerPrivateKey: adminSignerKey,
155
+ prove: options.prove,
156
+ keyCache: config.sdk.keyCache,
157
+ logLevel: config.sdk.logLevel,
158
+ egressPolicy: connection.egressPolicy,
159
+ });
160
+ if (manager && pending) {
161
+ pending = { ...pending, txId };
162
+ await manager.setPending(pending);
163
+ }
164
+ // 9. Wait for confirmation
165
+ let blockHeight = 0;
166
+ let edition = previousEdition + 1;
167
+ if (shouldConfirm) {
168
+ console.log(`${logAction("Waiting for confirmation")} of ${programId} ${logMetadata(`(tx: ${txId})`)}`);
169
+ const confirmed = await connection.waitForConfirmation(txId, config.deploy.confirmationTimeout);
170
+ if (confirmed.status === "rejected") {
171
+ if (manager) {
172
+ await manager.clearPending(networkName, programId);
173
+ }
174
+ throw new DeployError(`Upgrade transaction ${txId} was rejected on-chain.`);
175
+ }
176
+ blockHeight = confirmed.blockHeight;
177
+ if (manager && pending) {
178
+ pending = { ...pending, txId, blockHeight };
179
+ await manager.setPending(pending);
180
+ }
181
+ edition = await waitForProgramEditionAdvance(connection, programId, previousEdition, config.deploy.confirmationTimeout);
182
+ }
183
+ // 10. Record in deployment state (promotes degraded/recovered to complete).
184
+ // The newly-compiled ABI rides along so export consumers have it.
185
+ if (manager) {
186
+ const oldDeployerAddress = existingRecord.status === "complete" || existingRecord.status === "recovered"
187
+ ? existingRecord.deployerAddress
188
+ : "unknown";
189
+ const updatedRecord = {
190
+ status: "complete",
191
+ programId,
192
+ ...(rename ? { sourceProgramId } : {}),
193
+ network: networkName,
194
+ endpoint: connection.endpoint,
195
+ updatedAt: new Date().toISOString(),
196
+ edition,
197
+ historyCount: existingRecord.historyCount + 1,
198
+ txId,
199
+ blockHeight,
200
+ deployerAddress: deployerAddress ?? oldDeployerAddress,
201
+ deployedAt: new Date().toISOString(),
202
+ feePaid: fee,
203
+ };
204
+ await manager.record(updatedRecord, "upgrade", { abi: newAbi });
205
+ }
206
+ console.log(`${logSuccess("Upgraded")} ${programId} ${logMetadata(`(tx: ${txId}, block: ${blockHeight})`)}`);
207
+ // 11. Fire upgrade hook
208
+ await lre.hooks.serial("deployment", "programUpgraded", {
209
+ programId,
210
+ txId,
211
+ blockHeight,
212
+ network: networkName,
213
+ });
214
+ // 12. Export if autoExport
215
+ if (manager && config.deploy.autoExport && shouldConfirm) {
216
+ await manager.export(networkName);
217
+ }
218
+ return { programId, txId, blockHeight };
219
+ }
220
+ async function buildAndBroadcastUpgrade(opts) {
221
+ const { programId, aleoSource, connection, fee, privateFee, signerPrivateKey } = opts;
222
+ const { createSdkObjects, captureSdkCall, checkDevnodeSdkSupport, initConsensusHeights } = await import("@lionden/network");
223
+ if (connection.type === "devnode") {
224
+ await initConsensusHeights();
225
+ if (!opts.prove) {
226
+ await checkDevnodeSdkSupport();
227
+ }
228
+ }
229
+ const sdk = await createSdkObjects({
230
+ network: connection.networkId,
231
+ endpoint: connection.endpoint,
232
+ privateKey: signerPrivateKey ?? connection.privateKey,
233
+ apiKey: connection.apiKey,
234
+ keyCache: opts.keyCache,
235
+ logLevel: opts.logLevel,
236
+ egressPolicy: opts.egressPolicy,
237
+ });
238
+ if (connection.type === "devnode" && !opts.prove) {
239
+ // Only the build is wrapped; broadcast surfaces its own HTTP error.
240
+ const tx = await captureSdkCall(sdk.diagnostics, { operation: "upgrade", programId }, () => sdk.programManager.buildDevnodeUpgradeTransaction({
241
+ program: aleoSource,
242
+ priorityFee: fee,
243
+ privateFee,
244
+ }));
245
+ return connection.broadcastTransaction(tx);
246
+ }
247
+ // Standard upgrade — use buildUpgradeTransaction + manual broadcast
248
+ const pm = sdk.programManager;
249
+ if (typeof pm.buildUpgradeTransaction === "function") {
250
+ const tx = await captureSdkCall(sdk.diagnostics, { operation: "upgrade", programId }, () => pm.buildUpgradeTransaction({
251
+ program: aleoSource,
252
+ priorityFee: fee,
253
+ privateFee,
254
+ }));
255
+ return connection.broadcastTransaction(tx);
256
+ }
257
+ throw new DeployError(`Unable to upgrade "${programId}" with the standard upgrade builder: ` +
258
+ `the installed @provablehq/sdk does not expose buildUpgradeTransaction().`);
259
+ }
260
+ // ---------------------------------------------------------------------------
261
+ // Helpers
262
+ // ---------------------------------------------------------------------------
263
+ function resolveUpgradeSourceProgramId(artifactsDir, existingRecord, programId) {
264
+ if (existingRecord.sourceProgramId) {
265
+ return existingRecord.sourceProgramId;
266
+ }
267
+ let provenance;
268
+ try {
269
+ provenance = readProgramArtifactProvenance(artifactsDir, programId);
270
+ }
271
+ catch (err) {
272
+ if (err instanceof KeyArtifactsMetadataError) {
273
+ throw new DeployError(`Artifact provenance metadata is invalid for upgrade target "${programId}". ` +
274
+ `Recompile the runtime artifact or restore a valid deployment record. Cause: ${err.message}`);
275
+ }
276
+ throw err;
277
+ }
278
+ if (!provenance) {
279
+ return programId;
280
+ }
281
+ if (provenance.programId !== programId) {
282
+ throw new DeployError(`Artifact provenance metadata is invalid for upgrade target "${programId}": ` +
283
+ `found programId="${provenance.programId}", sourceProgramId="${provenance.sourceProgramId}".`);
284
+ }
285
+ return provenance.sourceProgramId;
286
+ }
287
+ async function resolveDeployerAddress(connection, config, networkName, signerPrivateKey) {
288
+ const networkConfig = config.networks[networkName];
289
+ if (!networkConfig)
290
+ return undefined;
291
+ const privateKey = signerPrivateKey ??
292
+ connection.privateKey ??
293
+ (networkConfig.type === "devnode" && networkConfig.accounts.length > 0
294
+ ? networkConfig.accounts[0].privateKey
295
+ : undefined);
296
+ if (!privateKey)
297
+ return undefined;
298
+ try {
299
+ const { createSdkObjects } = await import("@lionden/network");
300
+ const sdk = await createSdkObjects({
301
+ network: connection.networkId,
302
+ endpoint: connection.endpoint,
303
+ privateKey,
304
+ egressPolicy: connection.egressPolicy,
305
+ });
306
+ const account = sdk.account;
307
+ return typeof account.address === "function"
308
+ ? account.address().to_string()
309
+ : String(account.address ?? account);
310
+ }
311
+ catch {
312
+ return undefined;
313
+ }
314
+ }
315
+ //# sourceMappingURL=upgrade-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-task.js","sourceRoot":"","sources":["../src/upgrade-task.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@lionden/plugin-deploy",
3
+ "version": "0.1.0",
4
+ "license": "Apache-2.0",
5
+ "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/sealance-io/lionden.git",
9
+ "directory": "packages/plugin-deploy"
10
+ },
11
+ "engines": {
12
+ "node": "^20.19.0 || >=22.12.0"
13
+ },
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "default": "./dist/index.js"
18
+ }
19
+ },
20
+ "files": [
21
+ "dist",
22
+ "!dist/**/*.test.*"
23
+ ],
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "scripts": {
28
+ "build": "tsc --build"
29
+ },
30
+ "dependencies": {
31
+ "@lionden/config": "^0.1.0",
32
+ "@lionden/core": "^0.1.0",
33
+ "@lionden/leo-compiler": "^0.1.0",
34
+ "@lionden/network": "^0.1.0"
35
+ },
36
+ "devDependencies": {
37
+ "@lionden/test-internals": "*"
38
+ }
39
+ }