gate-evm-tools 1.2.0 → 1.2.2
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 +6 -2
- package/bin/cli.js +3 -0
- package/bin/delivery.cjs +11 -6
- package/bin/migration.js +38 -0
- package/dist/commands/prepare.d.ts.map +1 -1
- package/dist/commands/prepare.js +7 -1
- package/dist/commands/prepare.js.map +1 -1
- package/dist/core/BytecodeChecker.d.ts.map +1 -1
- package/dist/core/BytecodeChecker.js +27 -4
- package/dist/core/BytecodeChecker.js.map +1 -1
- package/dist/core/preparation/artifacts.d.ts.map +1 -1
- package/dist/core/preparation/artifacts.js +12 -5
- package/dist/core/preparation/artifacts.js.map +1 -1
- package/dist/core/preparation/index.d.ts +3 -0
- package/dist/core/preparation/index.d.ts.map +1 -1
- package/dist/core/preparation/index.js +9 -2
- package/dist/core/preparation/index.js.map +1 -1
- package/dist/core/preparation/zksync.d.ts.map +1 -1
- package/dist/core/preparation/zksync.js +5 -0
- package/dist/core/preparation/zksync.js.map +1 -1
- package/dist/core/validateAndGenerateCalldata.d.ts.map +1 -1
- package/dist/core/validateAndGenerateCalldata.js +3 -0
- package/dist/core/validateAndGenerateCalldata.js.map +1 -1
- package/dist/deployment-zksync/index.d.ts +40 -0
- package/dist/deployment-zksync/index.d.ts.map +1 -0
- package/dist/deployment-zksync/index.js +59 -0
- package/dist/deployment-zksync/index.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -12
- package/dist/index.js.map +1 -1
- package/dist/migration/index.d.ts +76 -0
- package/dist/migration/index.d.ts.map +1 -0
- package/dist/migration/index.js +284 -0
- package/dist/migration/index.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist-cjs/core/BytecodeChecker.js +27 -4
- package/dist-cjs/core/BytecodeChecker.js.map +1 -1
- package/dist-cjs/core/preparation/artifacts.js +11 -4
- package/dist-cjs/core/preparation/artifacts.js.map +1 -1
- package/dist-cjs/core/preparation/index.js +47 -6
- package/dist-cjs/core/preparation/index.js.map +1 -1
- package/dist-cjs/core/preparation/zksync.js +5 -0
- package/dist-cjs/core/preparation/zksync.js.map +1 -1
- package/dist-cjs/deployment-zksync/index.js +67 -0
- package/dist-cjs/deployment-zksync/index.js.map +1 -0
- package/dist-cjs/migration/index.js +328 -0
- package/dist-cjs/migration/index.js.map +1 -0
- package/dist-runtime/delivery/aggregate-diagnostics.js +3 -0
- package/dist-runtime/delivery/aggregate-diagnostics.js.map +1 -1
- package/dist-runtime/delivery/aggregate-inputs.d.ts +32 -6
- package/dist-runtime/delivery/aggregate-inputs.js +7 -3
- package/dist-runtime/delivery/aggregate-inputs.js.map +1 -1
- package/dist-runtime/delivery/aggregate-worker.js +3 -3
- package/dist-runtime/delivery/aggregate-worker.js.map +1 -1
- package/dist-runtime/delivery/aggregate.js +2 -2
- package/dist-runtime/delivery/aggregate.js.map +1 -1
- package/dist-runtime/delivery/cli-host.d.ts +17 -0
- package/dist-runtime/delivery/cli-host.js +118 -0
- package/dist-runtime/delivery/cli-host.js.map +1 -0
- package/dist-runtime/delivery/cli.d.ts +114 -0
- package/dist-runtime/delivery/cli.js +228 -0
- package/dist-runtime/delivery/cli.js.map +1 -0
- package/dist-runtime/delivery/compiler-dependency-pins.js +30 -1
- package/dist-runtime/delivery/compiler-dependency-pins.js.map +1 -1
- package/dist-runtime/delivery/configuration-definition.js +152 -11
- package/dist-runtime/delivery/configuration-definition.js.map +1 -1
- package/dist-runtime/delivery/configuration-hre.js +1 -1
- package/dist-runtime/delivery/configuration-hre.js.map +1 -1
- package/dist-runtime/delivery/configuration.js +7 -4
- package/dist-runtime/delivery/configuration.js.map +1 -1
- package/dist-runtime/delivery/custom-format.d.ts +2 -1
- package/dist-runtime/delivery/custom-format.js +15 -2
- package/dist-runtime/delivery/custom-format.js.map +1 -1
- package/dist-runtime/delivery/custom.d.ts +4 -0
- package/dist-runtime/delivery/custom.js +21 -0
- package/dist-runtime/delivery/custom.js.map +1 -1
- package/dist-runtime/delivery/development-inputs.d.ts +23 -0
- package/dist-runtime/delivery/development-inputs.js +117 -0
- package/dist-runtime/delivery/development-inputs.js.map +1 -0
- package/dist-runtime/delivery/development.d.ts +1 -0
- package/dist-runtime/delivery/development.js +7 -1
- package/dist-runtime/delivery/development.js.map +1 -1
- package/dist-runtime/delivery/execution-records.d.ts +16 -0
- package/dist-runtime/delivery/execution-records.js +48 -0
- package/dist-runtime/delivery/execution-records.js.map +1 -0
- package/dist-runtime/delivery/existing-code.d.ts +3 -0
- package/dist-runtime/delivery/existing-code.js +20 -0
- package/dist-runtime/delivery/existing-code.js.map +1 -1
- package/dist-runtime/delivery/history-package.d.ts +2 -0
- package/dist-runtime/delivery/history-package.js +70 -0
- package/dist-runtime/delivery/history-package.js.map +1 -0
- package/dist-runtime/delivery/input-files.d.ts +2 -0
- package/dist-runtime/delivery/input-files.js +5 -0
- package/dist-runtime/delivery/input-files.js.map +1 -1
- package/dist-runtime/delivery/inputs.js +11 -6
- package/dist-runtime/delivery/inputs.js.map +1 -1
- package/dist-runtime/delivery/materialization.js +20 -1
- package/dist-runtime/delivery/materialization.js.map +1 -1
- package/dist-runtime/delivery/planning.d.ts +1 -0
- package/dist-runtime/delivery/planning.js +10 -2
- package/dist-runtime/delivery/planning.js.map +1 -1
- package/dist-runtime/delivery/production-finalization.js +3 -2
- package/dist-runtime/delivery/production-finalization.js.map +1 -1
- package/dist-runtime/delivery/production.d.ts +2 -0
- package/dist-runtime/delivery/production.js +5 -4
- package/dist-runtime/delivery/production.js.map +1 -1
- package/dist-runtime/delivery/project-files.js +6 -1
- package/dist-runtime/delivery/project-files.js.map +1 -1
- package/dist-runtime/delivery/project-rpc.d.ts +1 -1
- package/dist-runtime/delivery/project-rpc.js +10 -4
- package/dist-runtime/delivery/project-rpc.js.map +1 -1
- package/dist-runtime/delivery/protocol.d.ts +6 -4
- package/dist-runtime/delivery/protocol.js +16 -5
- package/dist-runtime/delivery/protocol.js.map +1 -1
- package/dist-runtime/delivery/query.d.ts +21 -0
- package/dist-runtime/delivery/query.js +58 -0
- package/dist-runtime/delivery/query.js.map +1 -0
- package/dist-runtime/delivery/release-graph.d.ts +17 -0
- package/dist-runtime/delivery/release-graph.js +23 -0
- package/dist-runtime/delivery/release-graph.js.map +1 -1
- package/dist-runtime/delivery/release-history-capture.js +26 -27
- package/dist-runtime/delivery/release-history-capture.js.map +1 -1
- package/dist-runtime/delivery/release-history.d.ts +2 -1
- package/dist-runtime/delivery/release-history.js +30 -52
- package/dist-runtime/delivery/release-history.js.map +1 -1
- package/dist-runtime/delivery/release.d.ts +22 -0
- package/dist-runtime/delivery/release.js +13 -3
- package/dist-runtime/delivery/release.js.map +1 -1
- package/dist-runtime/delivery/scripts.d.ts +116 -0
- package/dist-runtime/delivery/scripts.js +289 -0
- package/dist-runtime/delivery/scripts.js.map +1 -0
- package/dist-runtime/delivery/setup.d.ts +1 -1
- package/dist-runtime/delivery/setup.js +26 -36
- package/dist-runtime/delivery/setup.js.map +1 -1
- package/dist-runtime/delivery/source.d.ts +5 -2
- package/dist-runtime/delivery/source.js +4 -3
- package/dist-runtime/delivery/source.js.map +1 -1
- package/dist-runtime/delivery/standalone-source.d.ts +40 -0
- package/dist-runtime/delivery/standalone-source.js +54 -0
- package/dist-runtime/delivery/standalone-source.js.map +1 -0
- package/dist-runtime/runtime-identity.json +2 -2
- package/dist-runtime/workflow/lib/calls.js +21 -1
- package/dist-runtime/workflow/lib/calls.js.map +1 -1
- package/docs/configuration-runtime-observation.md +4 -2
- package/docs/delivery-custom-input-closure.md +2 -0
- package/docs/delivery-development.md +2 -0
- package/docs/delivery-inputs.md +2 -0
- package/docs/delivery-release.md +20 -2
- package/docs/delivery-setup.md +25 -20
- package/docs/delivery-source.md +4 -2
- package/docs/migration.md +108 -0
- package/docs/script-execution.md +85 -0
- package/package.json +42 -19
- package/runtime/delivery/aggregate-diagnostics.ts +2 -0
- package/runtime/delivery/aggregate-inputs.ts +6 -5
- package/runtime/delivery/aggregate-worker.ts +3 -3
- package/runtime/delivery/aggregate.ts +2 -2
- package/runtime/delivery/cli-host.ts +55 -0
- package/runtime/delivery/cli.ts +124 -0
- package/runtime/delivery/compiler-dependency-pins.ts +30 -1
- package/runtime/delivery/configuration-definition.ts +80 -9
- package/runtime/delivery/configuration-hre.ts +1 -1
- package/runtime/delivery/configuration.ts +7 -5
- package/runtime/delivery/custom-format.ts +11 -3
- package/runtime/delivery/custom.ts +13 -0
- package/runtime/delivery/development-inputs.ts +73 -0
- package/runtime/delivery/development.ts +4 -2
- package/runtime/delivery/execution-records.ts +31 -0
- package/runtime/delivery/existing-code.ts +12 -1
- package/runtime/delivery/history-package.ts +50 -0
- package/runtime/delivery/input-files.ts +5 -1
- package/runtime/delivery/inputs.ts +10 -6
- package/runtime/delivery/materialization.ts +8 -1
- package/runtime/delivery/planning.ts +10 -2
- package/runtime/delivery/production-finalization.ts +3 -2
- package/runtime/delivery/production.ts +5 -4
- package/runtime/delivery/project-files.ts +5 -1
- package/runtime/delivery/project-rpc.ts +10 -4
- package/runtime/delivery/protocol.ts +13 -5
- package/runtime/delivery/query.ts +34 -0
- package/runtime/delivery/release-graph.ts +17 -0
- package/runtime/delivery/release-history-capture.ts +21 -10
- package/runtime/delivery/release-history.ts +20 -19
- package/runtime/delivery/release.ts +7 -4
- package/runtime/delivery/scripts.ts +162 -0
- package/runtime/delivery/setup.ts +21 -31
- package/runtime/delivery/source.ts +7 -3
- package/runtime/delivery/standalone-source.ts +40 -0
- package/runtime/workflow/lib/calls.ts +19 -1
- package/dist-runtime/delivery/toolchain.d.ts +0 -3
- package/dist-runtime/delivery/toolchain.js +0 -52
- package/dist-runtime/delivery/toolchain.js.map +0 -1
- package/runtime/delivery/toolchain.ts +0 -48
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseContractQueryEvidence = parseContractQueryEvidence;
|
|
4
|
+
exports.readScriptContract = readScriptContract;
|
|
5
|
+
exports.requireQueryResult = requireQueryResult;
|
|
6
|
+
/** Bounded read-only ABI query; no provider or signer is exposed to a business module. */
|
|
7
|
+
const ethers_1 = require("ethers");
|
|
8
|
+
const protocol_1 = require("./protocol");
|
|
9
|
+
const abi_1 = require("./abi");
|
|
10
|
+
const data_1 = require("./data");
|
|
11
|
+
const canonicalData_1 = require("../workflow/lib/canonicalData");
|
|
12
|
+
function parseContractQueryEvidence(raw) {
|
|
13
|
+
const e = (0, protocol_1.object)((0, data_1.strictData)(raw), 'contract query evidence', ['chainId', 'block', 'source', 'address', 'abi', 'method', 'args', 'caller', 'result', 'returnTypes']);
|
|
14
|
+
if (typeof e.chainId !== 'string' || !(/^[1-9][0-9]*$/).test(e.chainId))
|
|
15
|
+
throw Error('Invalid query chain');
|
|
16
|
+
const block = (0, protocol_1.object)(e.block, 'query block', ['number', 'hash']), source = (0, protocol_1.object)(e.source, 'query source', ['blockNumber', 'blockHash']);
|
|
17
|
+
if (typeof block.number !== 'string' || !/^0x[\da-f]+$/i.test(block.number) || typeof block.hash !== 'string' || !/^0x[\da-f]{64}$/i.test(block.hash)
|
|
18
|
+
|| !Number.isSafeInteger(source.blockNumber) || Number(source.blockNumber) < 0 || typeof source.blockHash !== 'string' || !/^0x[\da-f]{64}$/i.test(source.blockHash))
|
|
19
|
+
throw Error('Invalid query block identity');
|
|
20
|
+
(0, protocol_1.address)(e.address, 'query');
|
|
21
|
+
(0, protocol_1.address)(e.caller, 'query caller');
|
|
22
|
+
if (!Array.isArray(e.abi) || e.abi.length !== 1 || typeof e.abi[0] !== 'string')
|
|
23
|
+
throw Error('Invalid query ABI');
|
|
24
|
+
const fn = new ethers_1.Interface(e.abi).getFunction(e.method);
|
|
25
|
+
if (!fn || !['view', 'pure'].includes(fn.stateMutability) || fn.format('sighash') !== e.method)
|
|
26
|
+
throw Error('Invalid read-only query method');
|
|
27
|
+
(0, abi_1.validateAbiArguments)(e.abi, fn.format('sighash'), e.args);
|
|
28
|
+
if (JSON.stringify(fn.outputs.map(p => p.format('full'))) !== JSON.stringify(e.returnTypes))
|
|
29
|
+
throw Error('Query return types mismatch');
|
|
30
|
+
if (fn.outputs.length === 1)
|
|
31
|
+
(0, abi_1.validateAbiValue)(fn.outputs[0], e.result, 'query result');
|
|
32
|
+
else {
|
|
33
|
+
if (!Array.isArray(e.result) || e.result.length !== fn.outputs.length)
|
|
34
|
+
throw Error('Invalid query result count');
|
|
35
|
+
fn.outputs.forEach((p, i) => (0, abi_1.validateAbiValue)(p, e.result[i], 'query result'));
|
|
36
|
+
}
|
|
37
|
+
return (0, canonicalData_1.deepFreeze)(e);
|
|
38
|
+
}
|
|
39
|
+
async function readScriptContract(query, input) {
|
|
40
|
+
const q = (0, protocol_1.object)((0, data_1.strictData)(query), 'contract query', ['address', 'abi', 'method', 'args', 'caller']);
|
|
41
|
+
(0, protocol_1.address)(q.address, 'query');
|
|
42
|
+
if (!Array.isArray(q.abi) || q.abi.some(x => typeof x !== 'string'))
|
|
43
|
+
throw Error('Query ABI must use function strings');
|
|
44
|
+
const iface = new ethers_1.Interface(q.abi), fn = iface.getFunction(q.method);
|
|
45
|
+
if (!fn || !['view', 'pure'].includes(fn.stateMutability))
|
|
46
|
+
throw Error('readContract requires a view/pure function ABI');
|
|
47
|
+
const caller = (0, protocol_1.address)(q.caller ?? input.caller, 'query caller'), args = q.args ?? [];
|
|
48
|
+
(0, abi_1.validateAbiArguments)(q.abi, fn.format('sighash'), args);
|
|
49
|
+
const data = iface.encodeFunctionData(fn, args), raw = await input.request('eth_call', [{ to: q.address, from: caller, data }, input.block.number]);
|
|
50
|
+
const decoded = iface.decodeFunctionResult(fn, raw), value = (0, abi_1.normalizeRuntimeValue)(fn.outputs.length === 1 ? decoded[0] : decoded);
|
|
51
|
+
const block = await input.request('eth_getBlockByNumber', [input.block.number, false]);
|
|
52
|
+
if (block?.hash !== input.block.hash)
|
|
53
|
+
throw Error('Query block changed');
|
|
54
|
+
return (0, canonicalData_1.deepFreeze)({ value, evidence: parseContractQueryEvidence({ chainId: input.chainId, block: input.block, source: input.source, address: q.address.toLowerCase(), abi: [fn.format('full')], method: fn.format('sighash'), args, caller: caller.toLowerCase(), result: value, returnTypes: fn.outputs.map(p => p.format('full')) }) });
|
|
55
|
+
}
|
|
56
|
+
function requireQueryResult(query, actual) { const c = (0, abi_1.compareAbiResults)(query.abi, query.method, actual, query.expect); if (c.actual !== c.expected)
|
|
57
|
+
throw Error(`Unmet live dependency ${query.method}: expected ${c.expected}, got ${c.actual}`); }
|
|
58
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../runtime/delivery/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,24 @@ export declare function readReleaseUniverse(input: Omit<ReleaseGraphOptions, 're
|
|
|
36
36
|
}>;
|
|
37
37
|
developmentNetwork: string;
|
|
38
38
|
};
|
|
39
|
+
export declare function standaloneReleaseDefinition(input: Omit<ReleaseGraphOptions, 'releaseRef'>): import("./standalone-source").StandaloneDefinition | undefined;
|
|
40
|
+
export declare function selectedReleaseTargets(input: Omit<ReleaseGraphOptions, 'releaseRef'>): string[];
|
|
39
41
|
export declare function readReleaseGraph(input: ReleaseGraphOptions): {
|
|
42
|
+
targets: string[];
|
|
43
|
+
graph: {
|
|
44
|
+
schema: string;
|
|
45
|
+
version: number;
|
|
46
|
+
definition: import("./standalone-source").StandaloneDefinition;
|
|
47
|
+
releaseRef: {
|
|
48
|
+
path: string;
|
|
49
|
+
releaseId: string;
|
|
50
|
+
inputsHash: string;
|
|
51
|
+
};
|
|
52
|
+
targets: string[];
|
|
53
|
+
stages: string[];
|
|
54
|
+
};
|
|
55
|
+
prodTaskGraphHash: string;
|
|
56
|
+
} | {
|
|
40
57
|
targets: string[];
|
|
41
58
|
graph: {
|
|
42
59
|
readonly contract: typeof import("../vendor/plan-codec/index.cjs").DEFINITION_CONTRACT;
|
|
@@ -3,8 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.sameReleaseData = void 0;
|
|
4
4
|
exports.isDevelopmentAcceptancePrerequisite = isDevelopmentAcceptancePrerequisite;
|
|
5
5
|
exports.readReleaseUniverse = readReleaseUniverse;
|
|
6
|
+
exports.standaloneReleaseDefinition = standaloneReleaseDefinition;
|
|
7
|
+
exports.selectedReleaseTargets = selectedReleaseTargets;
|
|
6
8
|
exports.readReleaseGraph = readReleaseGraph;
|
|
7
9
|
exports.currentReleasePrerequisites = currentReleasePrerequisites;
|
|
10
|
+
const standalone_source_1 = require("./standalone-source");
|
|
8
11
|
/** Actual-file release graph classification. No caller-selected roots or target subsets. */
|
|
9
12
|
const source_1 = require("./source");
|
|
10
13
|
const project_files_1 = require("./project-files");
|
|
@@ -53,7 +56,27 @@ function readReleaseUniverse(input) {
|
|
|
53
56
|
const upstream = (0, source_1.projectCanonicalDefinitions)(text, { roots: qualifications.map(t => t.planKey), mode: 'upstream' });
|
|
54
57
|
return { workspace, root, text, plan, entries, relevant, targets, qualifications, upstream, developmentNetwork: task.developmentNetwork };
|
|
55
58
|
}
|
|
59
|
+
function standaloneReleaseDefinition(input) {
|
|
60
|
+
const root = (0, project_files_1.projectRoot)(input.workspaceRoot, input.projectRoot), relative = `scripts/tasks/${(0, protocol_1.safeId)(input.deploymentId, 'deploymentId')}/task.yaml`;
|
|
61
|
+
if (input.handoff !== relative)
|
|
62
|
+
return undefined;
|
|
63
|
+
const task = (0, protocol_1.object)((0, input_files_1.parseInputDocument)((0, input_files_1.readInputBytes)(root, relative), 'yaml'), 'task');
|
|
64
|
+
if (task.source !== 'standalone')
|
|
65
|
+
return undefined;
|
|
66
|
+
if (input.handoff !== relative || input.taskId !== input.deploymentId)
|
|
67
|
+
throw Error('Native release source mismatch');
|
|
68
|
+
return (0, standalone_source_1.readStandaloneTask)(root, relative);
|
|
69
|
+
}
|
|
70
|
+
function selectedReleaseTargets(input) { return standaloneReleaseDefinition(input)?.releaseTargetNetworks ?? readReleaseUniverse(input).targets; }
|
|
56
71
|
function readReleaseGraph(input) {
|
|
72
|
+
const native = standaloneReleaseDefinition(input);
|
|
73
|
+
if (native) {
|
|
74
|
+
(0, protocol_1.safeId)(input.releaseRef.releaseId, 'releaseId');
|
|
75
|
+
if (input.releaseRef.path !== `scripts/tasks/${input.deploymentId}/releases/${input.releaseRef.releaseId}/release.json` || !/^[a-f0-9]{64}$/.test(input.releaseRef.inputsHash))
|
|
76
|
+
throw Error('Invalid native release reference');
|
|
77
|
+
const graph = { schema: 'gate-delivery-standalone-release', version: 1, definition: native, releaseRef: input.releaseRef, targets: native.releaseTargetNetworks, stages: ['qualify', 'prepare', 'execute-or-export', 'reconcile', 'verify'] };
|
|
78
|
+
return (0, canonicalData_1.deepFreeze)({ targets: native.releaseTargetNetworks, graph, prodTaskGraphHash: (0, canonicalData_1.semanticHash)(graph) });
|
|
79
|
+
}
|
|
57
80
|
const u = readReleaseUniverse(input);
|
|
58
81
|
(0, protocol_1.safeId)(input.releaseRef.releaseId, 'releaseId');
|
|
59
82
|
(0, protocol_1.portablePath)(input.releaseRef.path, 'releaseRef.path');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-graph.js","sourceRoot":"","sources":["../../runtime/delivery/release-graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"release-graph.js","sourceRoot":"","sources":["../../runtime/delivery/release-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.captureDevelopmentReleaseHistory = captureDevelopmentReleaseHistory;
|
|
7
|
-
/**
|
|
7
|
+
/** Preserve accepted development inputs and one shared, compressed producer snapshot. */
|
|
8
8
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
9
9
|
const node_path_1 = __importDefault(require("node:path"));
|
|
10
10
|
const node_zlib_1 = require("node:zlib");
|
|
@@ -14,18 +14,29 @@ const materialization_1 = require("./materialization");
|
|
|
14
14
|
const canonicalData_1 = require("../workflow/lib/canonicalData");
|
|
15
15
|
const plan_1 = require("./plan");
|
|
16
16
|
const protocol_1 = require("./protocol");
|
|
17
|
+
const development_inputs_1 = require("./development-inputs");
|
|
17
18
|
function captureDevelopmentReleaseHistory(input) {
|
|
18
19
|
const root = node_fs_1.default.realpathSync(input.root), a = input.aggregate, plan = (0, plan_1.parseDeliveryPlan)(a.collections[0]?.plan);
|
|
19
20
|
if (input.source.selection !== 'development' || a.collections.length !== 1 || plan.environment !== 'dev' || (0, project_files_1.projectRoot)(input.source.workspaceRoot, input.source.projectRoot) !== root)
|
|
20
21
|
throw Error('Historical capture requires original development source');
|
|
21
22
|
(0, protocol_1.safeId)(plan.executionId, 'executionId');
|
|
22
|
-
const base = `.gate-delivery/history/${plan.executionId}`,
|
|
23
|
+
const base = `.gate-delivery/history/${plan.executionId}`, readyFile = `${base}/READY.json`;
|
|
23
24
|
const acceptanceFile = `.gate-delivery/development/${plan.executionId}.acceptance.json`, acceptance = JSON.parse((0, input_files_1.readInputBytes)(root, acceptanceFile).toString());
|
|
24
25
|
if (acceptance.status !== 'accepted' || acceptance.planHash !== plan.planHash || acceptance.inputsHash !== a.inputsHash || (0, canonicalData_1.semanticHash)(acceptance.runtimeIdentity) !== (0, canonicalData_1.semanticHash)(plan.runtimeIdentity))
|
|
25
26
|
throw Error('Historical capture requires actual accepted development');
|
|
26
27
|
const original = a.inputs.runtime.package;
|
|
27
28
|
if (original.name !== 'gate-evm-tools' || original.lockLocation !== 'node_modules/gate-evm-tools')
|
|
28
29
|
throw Error('Unsupported historical producer location');
|
|
30
|
+
// A completed capture can be reused after the installed producer changes.
|
|
31
|
+
if (node_fs_1.default.existsSync((0, materialization_1.developmentPath)(root, readyFile))) {
|
|
32
|
+
const ready = JSON.parse((0, input_files_1.readInputBytes)(root, readyFile).toString());
|
|
33
|
+
if (ready.schema !== 'gate-delivery-history-ready' || ready.version !== 2 || ready.generation !== 'complete' || ready.planHash !== plan.planHash || ready.aggregateHash !== (0, canonicalData_1.semanticHash)(a) || ready.sourceHash !== (0, canonicalData_1.semanticHash)(input.source) || ready.descriptor?.version !== 2 || ready.descriptor.readyFile !== readyFile || !Array.isArray(ready.files) || !ready.files.length)
|
|
34
|
+
throw Error('Conflicting historical capture');
|
|
35
|
+
for (const f of ready.files)
|
|
36
|
+
if ((0, materialization_1.byteHash)((0, input_files_1.readInputBytes)(root, f.path)) !== f.sha256)
|
|
37
|
+
throw Error('Captured historical file drift');
|
|
38
|
+
return ready.descriptor;
|
|
39
|
+
}
|
|
29
40
|
const files = [];
|
|
30
41
|
const visit = (relative) => { const dir = (0, project_files_1.confinedFile)(root, `${original.lockLocation}/${relative}`.replace(/\/$/, ''), 'directory'); for (const name of node_fs_1.default.readdirSync(dir).sort()) {
|
|
31
42
|
const rel = relative ? `${relative}/${name}` : name;
|
|
@@ -44,33 +55,21 @@ function captureDevelopmentReleaseHistory(input) {
|
|
|
44
55
|
files.sort((a, b) => a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
|
|
45
56
|
if ((0, canonicalData_1.semanticHash)(files.map(({ path, digest }) => ({ path, digest }))) !== (0, canonicalData_1.semanticHash)(original.payload))
|
|
46
57
|
throw Error('Historical capture must precede producer/runtime replacement');
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
const ready = JSON.parse((0, input_files_1.readInputBytes)(root, readyPath).toString());
|
|
50
|
-
if (ready.schema !== 'gate-delivery-history-ready' || ready.generation !== 'complete' || ready.planHash !== plan.planHash || ready.aggregateHash !== (0, canonicalData_1.semanticHash)(a))
|
|
51
|
-
throw Error('Conflicting historical capture');
|
|
52
|
-
for (const f of ready.files)
|
|
53
|
-
if ((0, materialization_1.byteHash)((0, input_files_1.readInputBytes)(root, f.path)) !== f.sha256)
|
|
54
|
-
throw Error('Captured historical file drift');
|
|
55
|
-
return descriptor;
|
|
56
|
-
}
|
|
58
|
+
const archive = (0, node_zlib_1.gzipSync)(Buffer.from((0, canonicalData_1.canonicalJson)({ schema: 'gate-delivery-package-snapshot', version: 2, runtimeIdentity: plan.runtimeIdentity, observedPackage: original, files })));
|
|
59
|
+
const archiveFile = `.gate-delivery/packages/${(0, materialization_1.byteHash)(archive)}.json.gz`;
|
|
57
60
|
const saved = [];
|
|
58
|
-
const write = (relative, bytes) =>
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
const write = (relative, bytes) => saved.push((0, development_inputs_1.writeImmutableDeliveryFile)(root, relative, bytes));
|
|
62
|
+
const { sourcePath: sourceFile, aggregatePath: aggregateFile } = (0, development_inputs_1.persistDevelopmentInputs)(input);
|
|
63
|
+
const descriptor = { version: 2, aggregateFile, sourceFile, acceptanceFile, readyFile, inputsRoot: `${base}/inputs`, archiveFile };
|
|
64
|
+
for (const relative of [sourceFile, aggregateFile, acceptanceFile])
|
|
65
|
+
saved.push({ path: relative, sha256: (0, materialization_1.byteHash)((0, input_files_1.readInputBytes)(root, relative)) });
|
|
66
|
+
const snapshot = JSON.parse((0, input_files_1.readInputBytes)(root, `.gate-delivery/development/${plan.executionId}.inputs.snapshot.json`).toString());
|
|
67
|
+
for (const name of [`${a.inputs.business.businessRoot}/task.yaml`, `${a.inputs.business.businessRoot}/parameters.yaml`, `${a.inputs.business.businessRoot}/parameters.provenance.json`, 'config.yaml', 'hardhat.config.ts', 'package-lock.json', 'contractInfo.json', 'deploymentInfo.json']) {
|
|
68
|
+
const original = snapshot.files.find((f) => f.path === name);
|
|
69
|
+
write(`${base}/inputs/${name}`, original ? Buffer.from(original.base64, 'base64') : (0, input_files_1.readInputBytes)(root, name));
|
|
62
70
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
} saved.push({ path: relative, sha256: (0, materialization_1.byteHash)(bytes) }); };
|
|
66
|
-
for (const file of files)
|
|
67
|
-
write(`${base}/package/${file.path}`, Buffer.from(file.base64, 'base64'));
|
|
68
|
-
for (const name of [`${a.inputs.business.businessRoot}/task.yaml`, `${a.inputs.business.businessRoot}/parameters.yaml`, `${a.inputs.business.businessRoot}/parameters.provenance.json`, 'config.yaml', 'hardhat.config.ts', 'package-lock.json', 'contractInfo.json', 'deploymentInfo.json'])
|
|
69
|
-
write(`${base}/inputs/${name}`, (0, input_files_1.readInputBytes)(root, name));
|
|
70
|
-
write(descriptor.aggregateFile, Buffer.from((0, canonicalData_1.canonicalJson)(a) + '\n'));
|
|
71
|
-
write(descriptor.sourceFile, Buffer.from((0, canonicalData_1.canonicalJson)(input.source) + '\n'));
|
|
72
|
-
write(descriptor.archiveFile, (0, node_zlib_1.gzipSync)(Buffer.from((0, canonicalData_1.canonicalJson)({ schema: 'gate-delivery-package-snapshot', version: 1, runtimeIdentity: plan.runtimeIdentity, observedPackage: original, files }))));
|
|
73
|
-
(0, materialization_1.atomicDevelopmentWrite)(root, readyPath, (0, canonicalData_1.canonicalJson)({ schema: 'gate-delivery-history-ready', version: 1, generation: 'complete', planHash: plan.planHash, aggregateHash: (0, canonicalData_1.semanticHash)(a), descriptor, files: saved }) + '\n');
|
|
71
|
+
write(archiveFile, archive);
|
|
72
|
+
(0, development_inputs_1.writeImmutableDeliveryFile)(root, readyFile, Buffer.from((0, canonicalData_1.canonicalJson)({ schema: 'gate-delivery-history-ready', version: 2, generation: 'complete', planHash: plan.planHash, aggregateHash: (0, canonicalData_1.semanticHash)(a), sourceHash: (0, canonicalData_1.semanticHash)(input.source), descriptor, files: saved }) + '\n'));
|
|
74
73
|
return descriptor;
|
|
75
74
|
}
|
|
76
75
|
//# sourceMappingURL=release-history-capture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-history-capture.js","sourceRoot":"","sources":["../../runtime/delivery/release-history-capture.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"release-history-capture.js","sourceRoot":"","sources":["../../runtime/delivery/release-history-capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export { aggregateInputHash } from './execution-identity';
|
|
2
2
|
import type { DeliveryAggregate, DeliveryAggregateOptions } from './aggregate';
|
|
3
3
|
export interface HistoricalDevelopmentFiles {
|
|
4
|
+
version: 2;
|
|
4
5
|
aggregateFile: string;
|
|
5
6
|
sourceFile: string;
|
|
6
7
|
acceptanceFile: string;
|
|
7
|
-
|
|
8
|
+
readyFile: string;
|
|
8
9
|
inputsRoot: string;
|
|
9
10
|
archiveFile: string;
|
|
10
11
|
}
|
|
@@ -13,8 +13,6 @@ const execution_identity_1 = require("./execution-identity");
|
|
|
13
13
|
var execution_identity_2 = require("./execution-identity");
|
|
14
14
|
Object.defineProperty(exports, "aggregateInputHash", { enumerable: true, get: function () { return execution_identity_2.aggregateInputHash; } });
|
|
15
15
|
const node_path_1 = __importDefault(require("node:path"));
|
|
16
|
-
const node_crypto_1 = require("node:crypto");
|
|
17
|
-
const node_zlib_1 = require("node:zlib");
|
|
18
16
|
const ethers_1 = require("ethers");
|
|
19
17
|
const workflow_1 = require("gate-evm-tools/workflow");
|
|
20
18
|
const input_files_1 = require("./input-files");
|
|
@@ -23,6 +21,7 @@ const source_1 = require("./source");
|
|
|
23
21
|
const configuration_definition_1 = require("./configuration-definition");
|
|
24
22
|
const config_1 = require("./config");
|
|
25
23
|
const protocol_1 = require("./protocol");
|
|
24
|
+
const history_package_1 = require("./history-package");
|
|
26
25
|
const project_1 = require("./project");
|
|
27
26
|
const plan_1 = require("./plan");
|
|
28
27
|
const journal_1 = require("./journal");
|
|
@@ -53,6 +52,9 @@ function validateHistoricalDevelopmentFiles(input) {
|
|
|
53
52
|
const workspace = (0, project_files_1.projectRoot)(input.workspaceRoot, '.'), root = (0, project_files_1.projectRoot)(workspace, input.projectRoot), { history } = input, files = new Map();
|
|
54
53
|
if (node_fs_1.default.realpathSync(input.root) !== root)
|
|
55
54
|
throw Error('Historical current project root mismatch');
|
|
55
|
+
(0, protocol_1.object)(history, 'historical descriptor', ['version', 'aggregateFile', 'sourceFile', 'acceptanceFile', 'readyFile', 'inputsRoot', 'archiveFile']);
|
|
56
|
+
if (history.version !== 2)
|
|
57
|
+
throw Error('Unsupported historical descriptor version');
|
|
56
58
|
const read = (relative) => { const bytes = (0, input_files_1.readInputBytes)(root, relative); files.set(relative, (0, input_files_1.inputDigest)(bytes)); return bytes; };
|
|
57
59
|
const aggregate = JSON.parse(read(history.aggregateFile).toString()), source = JSON.parse(read(history.sourceFile).toString()), acceptance = JSON.parse(read(history.acceptanceFile).toString());
|
|
58
60
|
if (source.projectRoot !== input.projectRoot)
|
|
@@ -62,14 +64,17 @@ function validateHistoricalDevelopmentFiles(input) {
|
|
|
62
64
|
(0, release_graph_1.sameReleaseData)((0, execution_identity_1.aggregateInputHash)(aggregate), aggregate.inputsHash, 'Historical aggregate inputs');
|
|
63
65
|
(0, release_graph_1.sameReleaseData)((0, canonicalData_1.semanticHash)(aggregate.inputs.sourceDefinitions), aggregate.sourceDefinitionHash, 'Historical source hash');
|
|
64
66
|
const collection = aggregate.collections[0], plan = (0, plan_1.parseDeliveryPlan)(collection.plan), target = aggregate.inputs.business.targets[0];
|
|
67
|
+
const id = (0, protocol_1.safeId)(plan.executionId, 'executionId'), base = `.gate-delivery/history/${id}`;
|
|
68
|
+
if (history.aggregateFile !== `.gate-delivery/development/${id}.aggregate.json` || history.sourceFile !== `.gate-delivery/development/${id}.source.json` || history.acceptanceFile !== `.gate-delivery/development/${id}.acceptance.json` || history.readyFile !== `${base}/READY.json` || history.inputsRoot !== `${base}/inputs` || !/^\.gate-delivery\/packages\/[a-f0-9]{64}\.json\.gz$/.test(history.archiveFile))
|
|
69
|
+
throw Error('Noncanonical historical descriptor');
|
|
65
70
|
if (plan.environment !== 'dev' || plan.target !== target.id || source.targets[0].request.network !== plan.target || source.targets[0].executionId !== plan.executionId)
|
|
66
71
|
throw Error('Historical development identity mismatch');
|
|
67
72
|
for (const key of ['executionId', 'planHash', 'target', 'inputsHash', 'sourceDefinitionHash', 'runtimeIdentity'])
|
|
68
73
|
(0, release_graph_1.sameReleaseData)(acceptance[key], plan[key], `Historical acceptance ${key}`);
|
|
69
74
|
if (acceptance.version !== 1 || acceptance.status !== 'accepted')
|
|
70
75
|
throw Error('Missing historical acceptance');
|
|
71
|
-
const
|
|
72
|
-
if (ready.schema !== 'gate-delivery-history-ready' || ready.version !==
|
|
76
|
+
const ready = JSON.parse(read(history.readyFile).toString());
|
|
77
|
+
if (ready.schema !== 'gate-delivery-history-ready' || ready.version !== 2 || ready.generation !== 'complete' || ready.planHash !== plan.planHash || ready.aggregateHash !== (0, canonicalData_1.semanticHash)(aggregate) || ready.sourceHash !== (0, canonicalData_1.semanticHash)(source) || !Array.isArray(ready.files) || !ready.files.length)
|
|
73
78
|
throw Error('Historical snapshot generation is not READY');
|
|
74
79
|
(0, release_graph_1.sameReleaseData)(ready.descriptor, history, 'Historical READY descriptor');
|
|
75
80
|
for (const file of ready.files)
|
|
@@ -79,41 +84,7 @@ function validateHistoricalDevelopmentFiles(input) {
|
|
|
79
84
|
(0, release_graph_1.sameReleaseData)(aggregate.inputs.runtime.declared, plan.runtimeIdentity, 'Historical runtime identity');
|
|
80
85
|
if (original.name !== 'gate-evm-tools' || original.version !== plan.runtimeIdentity.version || original.source.identity !== original.integrity)
|
|
81
86
|
throw Error('Historical producer provenance mismatch');
|
|
82
|
-
const archive = read(history.archiveFile),
|
|
83
|
-
if (snapshot.schema !== 'gate-delivery-package-snapshot' || snapshot.version !== 1 || !Array.isArray(snapshot.files))
|
|
84
|
-
throw Error('Invalid historical package snapshot archive');
|
|
85
|
-
const archived = snapshot.files.map((f) => { const bytes = Buffer.from(f.base64, 'base64'); if (bytes.toString('base64') !== f.base64 || (0, materialization_1.byteHash)(bytes) !== f.digest)
|
|
86
|
-
throw Error('Historical snapshot archive bytes mismatch'); return { path: f.path, digest: f.digest }; });
|
|
87
|
-
(0, release_graph_1.sameReleaseData)(archived, original.payload, 'Historical archive complete payload');
|
|
88
|
-
(0, release_graph_1.sameReleaseData)(snapshot.observedPackage, original, 'Historical snapshot provenance');
|
|
89
|
-
(0, release_graph_1.sameReleaseData)(snapshot.runtimeIdentity, plan.runtimeIdentity, 'Historical snapshot runtime');
|
|
90
|
-
const payload = [];
|
|
91
|
-
const visit = (relative) => { const dir = (0, project_files_1.confinedFile)(root, `${history.packageRoot}/${relative}`.replace(/\/$/, ''), 'directory'); for (const name of node_fs_1.default.readdirSync(dir).sort()) {
|
|
92
|
-
if (name === 'node_modules')
|
|
93
|
-
throw Error('Historical producer nested package unsupported');
|
|
94
|
-
const rel = relative ? `${relative}/${name}` : name, p = (0, project_files_1.confinedFile)(root, `${history.packageRoot}/${rel}`, node_fs_1.default.lstatSync(node_path_1.default.join(dir, name)).isDirectory() ? 'directory' : 'file');
|
|
95
|
-
if (node_fs_1.default.lstatSync(p).isDirectory())
|
|
96
|
-
visit(rel);
|
|
97
|
-
else
|
|
98
|
-
payload.push({ path: rel, digest: (0, input_files_1.inputDigest)(read(`${history.packageRoot}/${rel}`)) });
|
|
99
|
-
} };
|
|
100
|
-
visit('');
|
|
101
|
-
payload.sort((a, b) => a.path < b.path ? -1 : a.path > b.path ? 1 : 0);
|
|
102
|
-
(0, release_graph_1.sameReleaseData)(payload, original.payload, 'Historical producer actual payload');
|
|
103
|
-
(0, release_graph_1.sameReleaseData)((0, materialization_1.byteHash)(payload.map(f => `${f.path}\0${f.digest}\n`).join('')), original.payloadDigest, 'Historical payload digest');
|
|
104
|
-
const digest = (0, node_crypto_1.createHash)('sha256');
|
|
105
|
-
const hashDir = (dir) => { for (const name of node_fs_1.default.readdirSync((0, project_files_1.confinedFile)(root, `${history.packageRoot}/${dir}`, 'directory')).sort()) {
|
|
106
|
-
const rel = `${dir}/${name}`, file = (0, project_files_1.confinedFile)(root, `${history.packageRoot}/${rel}`, node_fs_1.default.lstatSync(node_path_1.default.join(root, history.packageRoot, rel)).isDirectory() ? 'directory' : 'file');
|
|
107
|
-
if (node_fs_1.default.lstatSync(file).isDirectory())
|
|
108
|
-
hashDir(rel);
|
|
109
|
-
else if (/\.(?:c?js)$/.test(rel)) {
|
|
110
|
-
digest.update(rel);
|
|
111
|
-
digest.update(read(`${history.packageRoot}/${rel}`));
|
|
112
|
-
}
|
|
113
|
-
} };
|
|
114
|
-
for (const dir of ['dist-runtime', 'dist', 'dist-cjs', 'bin'])
|
|
115
|
-
hashDir(dir);
|
|
116
|
-
(0, release_graph_1.sameReleaseData)(digest.digest('hex'), plan.runtimeIdentity.digest, 'Historical executable runtime digest');
|
|
87
|
+
const archive = read(history.archiveFile), packageFiles = (0, history_package_1.readHistoricalPackage)(archive, history.archiveFile, aggregate);
|
|
117
88
|
const business = aggregate.inputs.business.businessRoot, mutable = new Set([`${business}/task.yaml`, `${business}/parameters.yaml`, `${business}/parameters.provenance.json`, 'config.yaml', 'hardhat.config.ts']);
|
|
118
89
|
const old = (file) => read(`${history.inputsRoot}/${file}`), now = (file) => read(file);
|
|
119
90
|
const evolving = new Set([`${business}/manifest.yaml`, `${business}/parameters.schema.json`].filter(file => {
|
|
@@ -138,7 +109,7 @@ function validateHistoricalDevelopmentFiles(input) {
|
|
|
138
109
|
for (const file of aggregate.inputs.files) {
|
|
139
110
|
if (evolving.has(file.path))
|
|
140
111
|
continue;
|
|
141
|
-
const bytes = ownPayload.has(file.path) ?
|
|
112
|
+
const bytes = ownPayload.has(file.path) ? packageFiles.get(file.path.slice(original.lockLocation.length + 1)) : mutable.has(file.path) ? old(file.path) : now(file.path);
|
|
142
113
|
if ((0, input_files_1.inputDigest)(bytes) !== file.digest)
|
|
143
114
|
throw Error(`Historical immutable input drift: ${file.path}`);
|
|
144
115
|
}
|
|
@@ -182,17 +153,24 @@ function validateHistoricalDevelopmentFiles(input) {
|
|
|
182
153
|
for (const file of dependencyFiles)
|
|
183
154
|
if ((0, input_files_1.inputDigest)(now(file.path)) !== file.digest)
|
|
184
155
|
throw Error('Historical custom/producer dependency changed');
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
156
|
+
if (source.targets[0].request.sourceRef.kind === 'standalone') {
|
|
157
|
+
const native = require('./standalone-source').readStandaloneTask(root, source.targets[0].request.sourceRef.path);
|
|
158
|
+
const historical = aggregate.inputs.sourceDefinitions;
|
|
159
|
+
(0, release_graph_1.sameReleaseData)({ ...native, releaseTargetNetworks: oldTask.releaseTargetNetworks }, historical[0]?.definition, 'Historical native scope with bounded prod expansion');
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
const handoff = source.targets[0].request.sourceRef.path, text = (0, input_files_1.readInputBytes)(workspace, handoff).toString(), actual = (0, source_1.parseCanonicalPlan)(text);
|
|
163
|
+
if (actual.taskId !== source.targets[0].request.sourceRef.taskId)
|
|
164
|
+
throw Error('Historical task source identity mismatch');
|
|
165
|
+
const projection = (0, source_1.projectCanonicalDefinitions)(text, { roots: [source.targets[0].request.sourceRef.planKey], mode: 'upstream' }).snapshot;
|
|
166
|
+
const normalize = (v) => { const copy = JSON.parse((0, canonicalData_1.canonicalJson)(v)); for (const t of copy.tasks)
|
|
167
|
+
if (t.scope?.deployment && Object.hasOwn(t.scope.deployment, 'releaseTargetNetworks'))
|
|
168
|
+
t.scope.deployment.releaseTargetNetworks = oldTask.releaseTargetNetworks; return copy; };
|
|
169
|
+
const historical = aggregate.inputs.sourceDefinitions;
|
|
170
|
+
if (historical.length !== 1 || historical[0].path !== handoff)
|
|
171
|
+
throw Error('Historical source document mismatch');
|
|
172
|
+
(0, release_graph_1.sameReleaseData)(normalize(projection), historical[0].definition, 'Historical upstream definition with bounded prod expansion');
|
|
173
|
+
}
|
|
196
174
|
const expected = (0, development_1.expectedDevelopmentAssertions)(collection, aggregate.inputs.business.steps);
|
|
197
175
|
if (!Array.isArray(acceptance.assertions) || acceptance.assertions.length !== expected.length)
|
|
198
176
|
throw Error('Missing development business assertions');
|
|
@@ -243,7 +221,7 @@ function validateHistoricalDevelopmentFiles(input) {
|
|
|
243
221
|
if (change.proxyKind === 'transparent')
|
|
244
222
|
expectedCode.push({ key: `${key}_ProxyAdmin`, contract: 'ProxyAdmin', address: change.proxyAdminAddress });
|
|
245
223
|
}
|
|
246
|
-
const pure = !preparations.length ? (0, existing_code_1.existingCodeCoverage)({ target: plan.target, addresses: (0, existing_code_1.requiredExistingAddresses)(collection), registry: JSON.parse(historicalRegistration('contractInfo.json').toString()), metadata: JSON.parse(historicalRegistration('deploymentInfo.json').toString()), compiler: aggregate.inputs.targets.find(t => t.target === plan.target).compiler, manifests: (acceptance.materialization.manifests ?? []).map((m) => ({ path: m.file, contents: now(m.file).toString() })) }) : null;
|
|
224
|
+
const pure = !preparations.length ? (0, existing_code_1.existingCodeCoverage)({ target: plan.target, addresses: (0, existing_code_1.requiredExistingAddresses)(collection), registry: (0, existing_code_1.interactionCoverageRegistry)(collection, JSON.parse(historicalRegistration('contractInfo.json').toString()), plan.target), metadata: JSON.parse(historicalRegistration('deploymentInfo.json').toString()), compiler: aggregate.inputs.targets.find(t => t.target === plan.target).compiler, manifests: (acceptance.materialization.manifests ?? []).map((m) => ({ path: m.file, contents: now(m.file).toString() })) }) : null;
|
|
247
225
|
if (pure) {
|
|
248
226
|
if (record.changes.length)
|
|
249
227
|
throw Error('Pure-call history cannot invent deployment changes');
|