@agoric/solo 0.10.4-u15.0 → 0.10.4-u16.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/CHANGELOG.md CHANGED
@@ -3,63 +3,21 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ### [0.10.4-u15.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/solo@0.10.4-u14.1...@agoric/solo@0.10.4-u15.0) (2024-04-20)
7
-
8
- **Note:** Version bump only for package @agoric/solo
9
-
10
-
11
-
12
-
13
-
14
- ### [0.10.4-u14.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/solo@0.10.4-u14.0...@agoric/solo@0.10.4-u14.1) (2024-03-12)
15
-
16
- **Note:** Version bump only for package @agoric/solo
17
-
18
-
19
-
20
-
21
-
22
- ### [0.10.4-u14.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/solo@0.10.4-u13.0...@agoric/solo@0.10.4-u14.0) (2024-02-27)
23
-
24
- **Note:** Version bump only for package @agoric/solo
25
-
26
-
27
-
28
-
29
-
30
- ### [0.10.4-u13.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/solo@0.10.4-u12.0...@agoric/solo@0.10.4-u13.0) (2023-12-07)
31
-
32
-
33
- ### Bug Fixes
34
-
35
- * **solo:** properly expose `/wallet/bridge.html` ([#8533](https://github.com/Agoric/agoric-sdk/issues/8533)) ([0095b0d](https://github.com/Agoric/agoric-sdk/commit/0095b0d8ef4cfd42e17b64f391c30eac8a5f018a))
36
-
37
-
38
-
39
- ### [0.10.4-u12.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/solo@0.10.4-u11wf.0...@agoric/solo@0.10.4-u12.0) (2023-11-10)
40
-
41
-
42
- ### Bug Fixes
43
-
44
- * **solo:** correct lookup of wallet-ui ([670fc25](https://github.com/Agoric/agoric-sdk/commit/670fc25f30964c40fc887fac77ebf54bf58c7b8e))
45
- * **solo:** use alternative endo init ([60a680a](https://github.com/Agoric/agoric-sdk/commit/60a680a2124ee9868ba3b8352a3a5a9f30ce7ab6))
46
-
47
-
48
-
49
- ### [0.10.4-u11wf.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/solo@0.10.4-u11.0...@agoric/solo@0.10.4-u11wf.0) (2023-09-23)
50
-
51
- **Note:** Version bump only for package @agoric/solo
52
-
53
-
54
-
55
-
56
-
57
- ### [0.10.4-u11.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/solo@0.10.3...@agoric/solo@0.10.4-u11.0) (2023-08-24)
6
+ ### [0.10.4-u16.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/solo@0.10.3...@agoric/solo@0.10.4-u16.0) (2024-07-02)
58
7
 
59
8
 
60
9
  ### Bug Fixes
61
10
 
62
- * **solo:** let `init` tolerate existing `html` directory ([fa942e2](https://github.com/Agoric/agoric-sdk/commit/fa942e2f17026635e70e9f618bc1f9005498c862))
11
+ * DEBUG harmony ([#8136](https://github.com/Agoric/agoric-sdk/issues/8136)) ([d2ea4b4](https://github.com/Agoric/agoric-sdk/commit/d2ea4b46b9efa61e97eec8711830d9fdd741ca55))
12
+ * ensure script main rejections exit with error ([abdab87](https://github.com/Agoric/agoric-sdk/commit/abdab879014a5c3124ebd0e9246995ac6b1ce6e5))
13
+ * misc runtime robustness found by typecheck ([a033f26](https://github.com/Agoric/agoric-sdk/commit/a033f2638f9f11e19d94d7931e4e0614773b1f60))
14
+ * **solo:** correct lookup of wallet-ui ([c578851](https://github.com/Agoric/agoric-sdk/commit/c578851076ed54ac267a2dfe1367eedafcae4b55))
15
+ * **solo:** let `init` tolerate existing `html` directory ([4d14a2f](https://github.com/Agoric/agoric-sdk/commit/4d14a2f6c42628bd40ffab2d94510a20088111bb))
16
+ * **solo:** properly expose `/wallet/bridge.html` ([#8533](https://github.com/Agoric/agoric-sdk/issues/8533)) ([e26232e](https://github.com/Agoric/agoric-sdk/commit/e26232e68e2019db07078ae4962de47b3d0a6666))
17
+ * **solo:** use alternative endo init ([584ec62](https://github.com/Agoric/agoric-sdk/commit/584ec624854ea0f4f755b189414bc9e0dabaa6e0))
18
+ * update for `[@jessie](https://github.com/jessie).js/safe-await-separator` ([94c6b3c](https://github.com/Agoric/agoric-sdk/commit/94c6b3c83a5326594f1e2886ae01d6a703a7a68f))
19
+ * update name of agd fee granter flag ([1aad20c](https://github.com/Agoric/agoric-sdk/commit/1aad20c49bf4374f6078bcbed87a6db9db3e6387))
20
+ * update TS types ([7580805](https://github.com/Agoric/agoric-sdk/commit/75808055afc129c81b7978fb83c33cfed7a4ecbd))
63
21
 
64
22
 
65
23
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/solo",
3
- "version": "0.10.4-u15.0",
3
+ "version": "0.10.4-u16.0",
4
4
  "description": "Agoric's Solo vat runner",
5
5
  "type": "module",
6
6
  "bin": {
@@ -15,33 +15,33 @@
15
15
  "test:xs": "exit 0",
16
16
  "lint-fix": "yarn lint:eslint --fix",
17
17
  "lint": "run-s --continue-on-error lint:*",
18
- "lint:types": "tsc -p jsconfig.json",
18
+ "lint:types": "tsc",
19
19
  "lint:eslint": "eslint ."
20
20
  },
21
21
  "keywords": [],
22
22
  "author": "Agoric",
23
23
  "license": "Apache-2.0",
24
24
  "dependencies": {
25
- "@agoric/access-token": "^0.4.22-u11wf.0",
26
- "@agoric/assert": "^0.6.1-u11wf.0",
27
- "@agoric/cache": "^0.3.3-u15.0",
28
- "@agoric/cosmic-swingset": "^0.42.0-u15.0",
29
- "@agoric/internal": "^0.4.0-u14.0",
30
- "@agoric/notifier": "^0.6.3-u14.0",
31
- "@agoric/spawner": "^0.6.9-u14.0",
32
- "@agoric/store": "^0.9.3-u14.0",
33
- "@agoric/swing-store": "^0.9.2-u14.0",
34
- "@agoric/swingset-vat": "^0.32.3-u14.0",
35
- "@agoric/telemetry": "^0.6.3-u14.0",
36
- "@agoric/time": "^0.3.3-u14.0",
37
- "@agoric/vats": "^0.15.2-u15.0",
38
- "@agoric/wallet": "^0.18.4-u13.0",
39
- "@endo/captp": "3.1.1",
40
- "@endo/eventual-send": "0.17.2",
41
- "@endo/import-bundle": "0.3.4",
42
- "@endo/init": "0.5.56",
43
- "@endo/marshal": "0.8.5",
44
- "@endo/promise-kit": "0.2.56",
25
+ "@agoric/access-token": "^0.4.22-u16.0",
26
+ "@agoric/assert": "^0.6.1-u16.0",
27
+ "@agoric/cache": "^0.3.3-u16.0",
28
+ "@agoric/cosmic-swingset": "^0.42.0-u16.0",
29
+ "@agoric/internal": "^0.4.0-u16.0",
30
+ "@agoric/notifier": "^0.7.0-u16.0",
31
+ "@agoric/spawner": "^0.6.9-u16.0",
32
+ "@agoric/store": "^0.9.3-u16.0",
33
+ "@agoric/swing-store": "^0.9.2-u16.0",
34
+ "@agoric/swingset-vat": "^0.33.0-u16.0",
35
+ "@agoric/telemetry": "^0.6.3-u16.0",
36
+ "@agoric/time": "^0.3.3-u16.0",
37
+ "@agoric/vats": "^0.16.0-u16.0",
38
+ "@agoric/wallet": "^0.19.0-u16.0",
39
+ "@endo/captp": "^4.2.0",
40
+ "@endo/eventual-send": "^1.2.2",
41
+ "@endo/import-bundle": "^1.1.2",
42
+ "@endo/init": "^1.1.2",
43
+ "@endo/marshal": "^1.5.0",
44
+ "@endo/promise-kit": "^1.1.2",
45
45
  "anylogger": "^0.21.0",
46
46
  "deterministic-json": "^1.0.5",
47
47
  "esm": "agoric-labs/esm#Agoric-built",
@@ -49,30 +49,36 @@
49
49
  "http-proxy-middleware": "^2.0.6",
50
50
  "import-meta-resolve": "^2.2.1",
51
51
  "minimist": "^1.2.0",
52
- "morgan": "^1.9.1",
52
+ "morgan": "^1.10.0",
53
53
  "node-fetch": "^2.6.0",
54
54
  "temp": "^0.9.1",
55
55
  "tmp": "^0.2.1",
56
56
  "ws": "^7.2.0"
57
57
  },
58
58
  "devDependencies": {
59
- "@agoric/ertp": "^0.16.3-u14.0",
60
- "@endo/bundle-source": "2.5.2-upstream-rollup",
61
- "ava": "^5.2.0",
62
- "c8": "^7.13.0"
59
+ "@agoric/ertp": "^0.16.3-u16.0",
60
+ "@endo/bundle-source": "^3.2.3",
61
+ "ava": "^5.3.0",
62
+ "c8": "^9.1.0"
63
63
  },
64
64
  "publishConfig": {
65
65
  "access": "public"
66
66
  },
67
67
  "engines": {
68
- "node": ">=14.15.0"
68
+ "node": "^18.12 || ^20.9"
69
69
  },
70
70
  "ava": {
71
71
  "files": [
72
- "test/**/test-*.js"
72
+ "test/**/*.test.*"
73
+ ],
74
+ "require": [
75
+ "@endo/init/debug.js"
73
76
  ],
74
77
  "timeout": "20m",
75
78
  "workerThreads": false
76
79
  },
77
- "gitHead": "734e8635002e01b3e27477e93998dda942c7fae8"
80
+ "typeCoverage": {
81
+ "atLeast": 73.11
82
+ },
83
+ "gitHead": "bbdf652c3f413381cb352a8a360db1063974fafd"
78
84
  }
package/public/main.js CHANGED
@@ -237,7 +237,6 @@ function run() {
237
237
  }
238
238
  call({ type: 'getHighestHistory' })
239
239
  .then(res => {
240
- // eslint-disable-next-line no-use-before-define
241
240
  setNextHistNum(res.highestHistory + 1);
242
241
  // console.debug(`nextHistNum is now ${nextHistNum}`, res);
243
242
  })
@@ -265,7 +264,7 @@ function run() {
265
264
  commands[commands.length - 1] = inp.value;
266
265
  commands[commands.length] = '';
267
266
  inp.value = '';
268
- call({ type: 'doEval', number, body: command });
267
+ void call({ type: 'doEval', number, body: command });
269
268
  }
270
269
 
271
270
  function inputKeyup(ev) {
package/src/add-chain.js CHANGED
@@ -13,7 +13,7 @@ const DEFAULT_CHAIN_CONFIG = 'https://testnet.agoric.com/network-config';
13
13
  /**
14
14
  * @param {string} basedir
15
15
  * @param {string} [chainConfig]
16
- * @param {boolean} [force=false]
16
+ * @param {boolean} [force]
17
17
  */
18
18
  async function addChain(basedir, chainConfig, force = false) {
19
19
  let actualConfig = chainConfig;
@@ -29,6 +29,7 @@ async function addChain(basedir, chainConfig, force = false) {
29
29
  const url = new URL(actualConfig, `file://${process.cwd()}`);
30
30
  console.log('downloading netconfig from', url.href);
31
31
  let netconf;
32
+ await null;
32
33
  if (url.protocol === 'file:') {
33
34
  const f = fs.readFileSync(url.pathname, 'utf-8');
34
35
  netconf = JSON.parse(f);
package/src/captp.js CHANGED
@@ -42,7 +42,9 @@ export const getCapTPHandler = (send, getLocalBootstrap, fallback) => {
42
42
  dispatch,
43
43
  abort,
44
44
  });
45
- doFallback('onOpen', obj, meta);
45
+ doFallback('onOpen', obj, meta).catch(e => {
46
+ console.error(`Error in fallback onOpen`, e);
47
+ });
46
48
  },
47
49
  onClose(obj, meta) {
48
50
  console.debug(`Finishing CapTP`, meta);
@@ -52,7 +54,9 @@ export const getCapTPHandler = (send, getLocalBootstrap, fallback) => {
52
54
  abort();
53
55
  }
54
56
  chans.delete(meta.channelHandle);
55
- doFallback('onClose', obj, meta);
57
+ doFallback('onClose', obj, meta).catch(e => {
58
+ console.error(`Error in fallback onClose`, e);
59
+ });
56
60
  },
57
61
  onError(obj, meta) {
58
62
  console.debug(`Error in CapTP`, meta, obj.error);
@@ -61,7 +65,9 @@ export const getCapTPHandler = (send, getLocalBootstrap, fallback) => {
61
65
  const { abort } = chan;
62
66
  abort(obj.error);
63
67
  }
64
- doFallback('onError', obj, meta);
68
+ doFallback('onError', obj, meta).catch(e => {
69
+ console.error(`Error in fallback onError`, e);
70
+ });
65
71
  },
66
72
  async onMessage(obj, meta) {
67
73
  console.debug('processing inbound', obj);
@@ -160,7 +160,7 @@ export async function connectToChain(
160
160
  );
161
161
 
162
162
  // The helper address may not have a token balance, and instead uses a
163
- // separate fee account, set up with something like:
163
+ // separate fee granter account, set up with something like:
164
164
  //
165
165
  // agd tx feegrant grant --period=5 --period-limit=200000uist \
166
166
  // $(cat cosmos-fee-account) $(cat ag-cosmos-helper-address)
@@ -172,12 +172,11 @@ export async function connectToChain(
172
172
  let lastGoodRpcHrefIndex = 0;
173
173
  async function retryRpcHref(tryOnce) {
174
174
  let rpcHrefIndex = lastGoodRpcHrefIndex;
175
- // eslint-disable-next-line no-constant-condition
175
+
176
176
  for await (const _ of forever) {
177
177
  const thisRpcHref = rpcHrefs[rpcHrefIndex];
178
178
 
179
179
  // tryOnce will either throw if cancelled (which rejects this promise),
180
- // eslint-disable-next-line no-await-in-loop
181
180
  const ret = await tryOnce(thisRpcHref);
182
181
  if (ret !== undefined) {
183
182
  // Or returns non-undefined, which we should resolve.
@@ -186,7 +185,6 @@ export async function connectToChain(
186
185
  }
187
186
 
188
187
  // It was undefined, so wait, then retry.
189
- // eslint-disable-next-line no-await-in-loop
190
188
  await new Promise(resolve => setTimeout(resolve, 5000));
191
189
  rpcHrefIndex = (rpcHrefIndex + 1) % rpcHrefs.length;
192
190
  }
@@ -259,7 +257,7 @@ export async function connectToChain(
259
257
  */
260
258
  const getMailboxNotifier = () => {
261
259
  const { notifier, updater } = makeNotifierKit();
262
- retryRpcHref(async rpcHref => {
260
+ void retryRpcHref(async rpcHref => {
263
261
  // Every time we enter this function, we are establishing a
264
262
  // new websocket to a potentially different RPC server.
265
263
  //
@@ -487,7 +485,7 @@ export async function connectToChain(
487
485
 
488
486
  waitForTxHash = subscribeAndWaitForTxHash;
489
487
  if (postponedTxHash) {
490
- subscribeAndWaitForTxHash(postponedTxHash);
488
+ void subscribeAndWaitForTxHash(postponedTxHash);
491
489
  }
492
490
 
493
491
  subscribeToStorage(`mailbox.${clientAddr}`, (err, storageValue) => {
@@ -654,14 +652,13 @@ ${chainID} chain does not yet know of address ${clientAddr}${adviseEgress(
654
652
 
655
653
  // Use the feeAccount for any fees.
656
654
  if (feeAccountAddr) {
657
- txArgs.push(`--fee-account=${feeAccountAddr}`);
655
+ txArgs.push(`--fee-granter=${feeAccountAddr}`);
658
656
  }
659
657
 
660
658
  // We just try a single delivery per block.
661
659
  let retry = true;
662
660
  for await (const _ of whileTrue(() => retry)) {
663
661
  retry = false;
664
- // eslint-disable-next-line no-await-in-loop
665
662
  const { stderr, stdout } = await runHelper([
666
663
  ...txArgs,
667
664
  `--sequence=${sequenceNumber}`,
@@ -694,15 +691,20 @@ ${chainID} chain does not yet know of address ${clientAddr}${adviseEgress(
694
691
  // Wait for the transaction to be included in a block.
695
692
  const txHash = out.txhash;
696
693
 
697
- waitForTxHash(txHash).then(txResult => {
698
- // The result had an error code (not 0 or undefined for success).
699
- if (txResult.code) {
694
+ waitForTxHash(txHash)
695
+ .then(txResult => {
696
+ // The result had an error code (not 0 or undefined for success).
697
+ if (txResult.code) {
698
+ // eslint-disable-next-line no-use-before-define
699
+ failedSend(
700
+ assert.error(`Error in tx processing: ${txResult.log}`),
701
+ );
702
+ }
703
+ })
704
+ .catch(err =>
700
705
  // eslint-disable-next-line no-use-before-define
701
- failedSend(
702
- assert.error(`Error in tx processing: ${txResult.log}`),
703
- );
704
- }
705
- });
706
+ failedSend(assert.error(`Error in tx processing: ${err}`)),
707
+ );
706
708
 
707
709
  // We submitted the transaction to the mempool successfully.
708
710
  // Preemptively increment our sequence number to avoid needing to
@@ -724,9 +726,8 @@ ${chainID} chain does not yet know of address ${clientAddr}${adviseEgress(
724
726
  * @param {bigint} [lastMailboxUpdate]
725
727
  */
726
728
  const recurseEachMailboxUpdate = async (lastMailboxUpdate = undefined) => {
727
- const { updateCount, value: mailbox } = await mbNotifier.getUpdateSince(
728
- lastMailboxUpdate,
729
- );
729
+ const { updateCount, value: mailbox } =
730
+ await mbNotifier.getUpdateSince(lastMailboxUpdate);
730
731
  updateCount || Fail`${GCI} unexpectedly finished!`;
731
732
  if (mailbox) {
732
733
  const { outbox, ack } = mailbox;
@@ -780,11 +781,11 @@ ${chainID} chain does not yet know of address ${clientAddr}${adviseEgress(
780
781
  updateCount || Fail`Sending unexpectedly finished!`;
781
782
 
782
783
  await sendFromMessagePool().then(successfulSend, failedSend);
783
- recurseEachSend(updateCount);
784
+ void recurseEachSend(updateCount);
784
785
  };
785
786
 
786
787
  // Begin the sender when we get the first (empty) mailbox update.
787
- mbNotifier.getUpdateSince().then(() => recurseEachSend());
788
+ void mbNotifier.getUpdateSince().then(() => recurseEachSend());
788
789
 
789
790
  async function deliver(newMessages, acknum) {
790
791
  let doSend = false;
@@ -12,8 +12,7 @@ const console = anylogger('ag-solo:init');
12
12
 
13
13
  const DEFAULT_WALLET = '@agoric/wallet';
14
14
 
15
- const filename = new URL(import.meta.url).pathname;
16
- const dirname = path.dirname(filename);
15
+ const dirname = path.dirname(new URL(import.meta.url).pathname);
17
16
 
18
17
  /**
19
18
  * @param {string} basedir
package/src/main.js CHANGED
@@ -55,6 +55,7 @@ start
55
55
  `);
56
56
  }
57
57
 
58
+ await null;
58
59
  switch (argv[0]) {
59
60
  case 'setup': {
60
61
  const { netconfig } = parseArgs(argv.slice(1));
@@ -29,10 +29,12 @@ const main = async () => {
29
29
  mutex.resolve(undefined);
30
30
  return;
31
31
  }
32
+ /** @type {any} */
32
33
  const as = parse(`${msg}`);
33
34
  deliverator(...as).then(() => send('go'));
34
35
  });
35
36
 
37
+ await null;
36
38
  switch (method) {
37
39
  case 'connectToFakeChain': {
38
40
  const [basedir, GCI, delay] = margs;
@@ -58,7 +60,13 @@ const main = async () => {
58
60
  send('go');
59
61
  };
60
62
 
61
- main().catch(e => {
62
- console.error(e);
63
- process.exitCode = 1;
64
- });
63
+ process.exitCode = 1;
64
+ main().then(
65
+ () => {
66
+ process.exitCode = 0;
67
+ },
68
+ err => {
69
+ console.error('Failed with', err);
70
+ process.exit(process.exitCode || 1);
71
+ },
72
+ );
package/src/pipe.js CHANGED
@@ -7,8 +7,7 @@ import { parse, stringify } from '@endo/marshal';
7
7
 
8
8
  import { makeShutdown } from '@agoric/internal/src/node/shutdown.js';
9
9
 
10
- const filename = new URL(import.meta.url).pathname;
11
- const dirname = path.dirname(filename);
10
+ const dirname = path.dirname(new URL(import.meta.url).pathname);
12
11
 
13
12
  export const connectToPipe = async ({ method, args, deliverInboundToMbx }) => {
14
13
  // console.log('connectToPipe', method, args);
@@ -31,6 +30,7 @@ export const connectToPipe = async ({ method, args, deliverInboundToMbx }) => {
31
30
  return;
32
31
  }
33
32
  // console.log('pipe.js', msg);
33
+ /** @type {any} */
34
34
  const as = parse(`${msg}`);
35
35
  deliverInboundToMbx(...as).then(() => cp.send('go'));
36
36
  });
package/src/start.js CHANGED
@@ -262,6 +262,7 @@ const buildSwingset = async (
262
262
  async function deliverInboundToMbx(sender, messages, ack) {
263
263
  Array.isArray(messages) || Fail`inbound given non-Array: ${messages}`;
264
264
  // console.debug(`deliverInboundToMbx`, messages, ack);
265
+ await null;
265
266
  if (mb.deliverInbound(sender, messages, ack)) {
266
267
  await processKernel();
267
268
  }
@@ -316,6 +317,7 @@ const buildSwingset = async (
316
317
  const queuedMoveTimeForward = withInputQueue(
317
318
  async function moveTimeForward() {
318
319
  const now = Date.now();
320
+ await null;
319
321
  try {
320
322
  if (timer.poll(now)) {
321
323
  await processKernel();
@@ -369,10 +371,13 @@ const deployWallet = async ({ agWallet, deploys, hostport }) => {
369
371
 
370
372
  // Use the same verbosity as our caller did for us.
371
373
  let verbosity;
372
- if (process.env.DEBUG === undefined) {
373
- verbosity = [];
374
- } else if (process.env.DEBUG.includes('agoric')) {
374
+ const DEBUG_LIST = (process.env.DEBUG || '').split(',');
375
+ if (
376
+ DEBUG_LIST.find(selector => ['agoric:debug', 'agoric'].includes(selector))
377
+ ) {
375
378
  verbosity = ['-vv'];
379
+ } else if (DEBUG_LIST.includes('agoric:info') || process.env.DEBUG === '') {
380
+ verbosity = [];
376
381
  } else {
377
382
  verbosity = ['-v'];
378
383
  }
@@ -469,7 +474,7 @@ const start = async (basedir, argv) => {
469
474
 
470
475
  // Start timer here!
471
476
  startTimer(800);
472
- resetOutdatedState();
477
+ await resetOutdatedState();
473
478
 
474
479
  // Remove wallet traces.
475
480
  await unlink('html/wallet').catch(_ => {});
@@ -495,6 +500,7 @@ const start = async (basedir, argv) => {
495
500
  let hostport;
496
501
  await Promise.all(
497
502
  connections.map(async c => {
503
+ await null;
498
504
  switch (c.type) {
499
505
  case 'chain-cosmos-sdk':
500
506
  {
package/src/vat-http.js CHANGED
@@ -106,8 +106,8 @@ export function buildRootObject(vatPowers) {
106
106
  setCommandDevice(d) {
107
107
  commandDevice = d;
108
108
 
109
- const replHandler = getReplHandler(replObjects, send, vatPowers);
110
- registerURLHandler(replHandler, '/private/repl');
109
+ const replHandler = getReplHandler(replObjects, send);
110
+ void registerURLHandler(replHandler, '/private/repl');
111
111
 
112
112
  // Assign the captp handler.
113
113
  const captpHandler = Far('captpHandler', {
@@ -126,7 +126,7 @@ export function buildRootObject(vatPowers) {
126
126
  return harden(exported);
127
127
  },
128
128
  });
129
- registerURLHandler(captpHandler, '/private/captp');
129
+ void registerURLHandler(captpHandler, '/private/captp');
130
130
  },
131
131
 
132
132
  registerURLHandler,
@@ -198,6 +198,7 @@ export function buildRootObject(vatPowers) {
198
198
  dispatcher = 'onMessage',
199
199
  } = rawMeta;
200
200
 
201
+ await null;
201
202
  try {
202
203
  let channelHandle = channelIdToHandle.get(rawChannelID);
203
204
  if (dispatcher === 'onOpen') {
package/src/web.js CHANGED
@@ -362,6 +362,7 @@ export async function makeHTTPListener(
362
362
 
363
363
  ws.on('message', async message => {
364
364
  let obj = {};
365
+ await null;
365
366
  try {
366
367
  obj = JSON.parse(message);
367
368
  const res = await inboundCommand(obj, meta, id);
@@ -65,7 +65,6 @@ export async function makeFixture(PORT, noisy = false) {
65
65
  let lastUpdateCount;
66
66
  for (;;) {
67
67
  process.stdout.write('o');
68
- // eslint-disable-next-line no-await-in-loop
69
68
  const update = await E(E.get(bootP).loadingNotifier).getUpdateSince(
70
69
  lastUpdateCount,
71
70
  );
@@ -109,7 +108,7 @@ export async function makeFixture(PORT, noisy = false) {
109
108
  // We only reject if the child exits before CapTP is established.
110
109
  reject(Error(`CapTP fixture exited with ${code}`));
111
110
  });
112
- tryConnect(resolve, reject);
111
+ void tryConnect(resolve, reject);
113
112
  });
114
113
  }
115
114
 
@@ -5,7 +5,6 @@ import { test } from '@agoric/swingset-vat/tools/prepare-test-env-ava.js';
5
5
  import bundleSourceAmbient from '@endo/bundle-source';
6
6
  import { AmountMath } from '@agoric/ertp';
7
7
  import { TimeMath } from '@agoric/time';
8
- import { Stable } from '@agoric/vats/src/tokens.js';
9
8
  import { Far } from '@endo/marshal';
10
9
  import { resolve as importMetaResolve } from 'import-meta-resolve';
11
10
 
@@ -13,6 +12,21 @@ import { makeFixture, E } from './captp-fixture.js';
13
12
 
14
13
  const SOLO_PORT = 7999;
15
14
 
15
+ // XXX test depends on this exact value from the Inter Protocol economy,
16
+ // by way of agoric-cli (which this test covertly depends upon)
17
+ export const Stable = harden(
18
+ /** @type {const } */ ({
19
+ symbol: 'IST',
20
+ denom: 'uist',
21
+ proposedName: 'Agoric stable token',
22
+ assetKind: 'nat',
23
+ displayInfo: {
24
+ decimalPlaces: 6,
25
+ assetKind: 'nat',
26
+ },
27
+ }),
28
+ );
29
+
16
30
  //#region setup (ambient authority is confined to this region)
17
31
  test.before('setup', async t => {
18
32
  const loadBundle = async specifier => {
@@ -81,9 +95,8 @@ test.serial('home.wallet - receive zoe invite', async t => {
81
95
  '@agoric/zoe/src/contracts/automaticRefund.js',
82
96
  );
83
97
  const installationHandle = await E(zoe).install(bundle);
84
- const { creatorInvitation: invite } = await E(zoe).startInstance(
85
- installationHandle,
86
- );
98
+ const { creatorInvitation: invite } =
99
+ await E(zoe).startInstance(installationHandle);
87
100
 
88
101
  // Check that the wallet knows about the Zoe invite issuer and starts out
89
102
  // with a default Zoe invite issuer purse.
@@ -141,7 +154,7 @@ test.serial('home.localTimerService makeNotifier', async t => {
141
154
  const notifier = E(localTimerService).makeNotifier(1n, 1n);
142
155
  const update1 = await E(notifier).getUpdateSince();
143
156
  const firstUpdate = update1.updateCount;
144
- t.truthy(firstUpdate > 0);
157
+ t.true(firstUpdate > 0);
145
158
  const update2 = await E(notifier).getUpdateSince(update1.updateCount);
146
159
  t.truthy(BigInt(update2.updateCount) > BigInt(firstUpdate));
147
160
 
File without changes