@leofcoin/launch-chain 0.5.1 → 0.5.3

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 CHANGED
@@ -43,6 +43,8 @@ See the [relay operator guide](https://github.com/netpeer/swarm/blob/main/docs/w
43
43
  This dependency update does not change the Peach genesis, protocol version,
44
44
  account identities, passwords or data directory. Do not delete existing stores.
45
45
  Stop the existing process before upgrading and restart using the same data root.
46
+ If startup fails, the CLI reports the error and exits with status 1 even when
47
+ partially started workers or transports still hold the process open.
46
48
 
47
49
  For development, after building, `npm run test:package -w @leofcoin/launch-chain`
48
50
  checks a clean tarball install, npm CLI entry and real-genesis offline startup
package/exports/batch.js CHANGED
@@ -58,12 +58,14 @@ async function interactiveBatch(wallet, interaction) {
58
58
  throw new Error('Invalid or unsafe nonce range');
59
59
  const transactions = [];
60
60
  let fees = 0n;
61
- for (let index = 0; index < count; index++) {
62
- const signed = await wallet.sign(startNonce + index + 1, to, amount);
61
+ for (let offset = 0; offset < count; offset++) {
62
+ const signed = await wallet.sign(startNonce + offset + 1, to, amount);
63
+ if (signed.from !== wallet.account || signed.nonce !== startNonce + offset + 1)
64
+ throw new Error('Signer returned an unexpected sender or nonce');
63
65
  fees += BigInt(await calculateFee(signed));
64
66
  transactions.push(signed);
65
- if ((index + 1) % 1000 === 0)
66
- log(`Signed ${index + 1}/${count}`);
67
+ if (transactions.length % 1000 === 0 || transactions.length === count)
68
+ log(`Signed ${transactions.length}/${count}`);
67
69
  }
68
70
  // Self-transfers recycle principal, but still need enough for a transfer plus
69
71
  // every fee. Fees are not assumed to return as validator rewards.
package/exports/cli.js CHANGED
@@ -237,6 +237,7 @@ if (isCliEntry()) {
237
237
  runCli().catch((error) => {
238
238
  process.stderr.write(`leofcoin: ${error?.message ?? error}\n`);
239
239
  process.exitCode = 1;
240
+ setTimeout(() => process.exit(1), 100);
240
241
  });
241
242
  }
242
243
 
@@ -25,4 +25,5 @@ import './validator.js';
25
25
  runCli(['validator', ...process.argv.slice(2)]).catch((error) => {
26
26
  process.stderr.write(`leofcoin-validator: ${error?.message ?? error}\n`);
27
27
  process.exitCode = 1;
28
+ setTimeout(() => process.exit(1), 100);
28
29
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leofcoin/launch-chain",
3
- "version": "0.5.1",
3
+ "version": "0.5.3",
4
4
  "description": "",
5
5
  "exports": {
6
6
  ".": {