agoric 0.21.1-dev-69236fd.0 → 0.21.1

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,6 +3,14 @@
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.21.1](https://github.com/Agoric/agoric-sdk/compare/agoric@0.21.0...agoric@0.21.1) (2023-06-09)
7
+
8
+ **Note:** Version bump only for package agoric
9
+
10
+
11
+
12
+
13
+
6
14
  ## [0.21.0](https://github.com/Agoric/agoric-sdk/compare/agoric@0.20.0...agoric@0.21.0) (2023-06-02)
7
15
 
8
16
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agoric",
3
- "version": "0.21.1-dev-69236fd.0+69236fd",
3
+ "version": "0.21.1",
4
4
  "description": "Manage the Agoric Javascript smart contract platform",
5
5
  "type": "module",
6
6
  "main": "src/main.js",
@@ -24,25 +24,25 @@
24
24
  "lint:eslint": "eslint ."
25
25
  },
26
26
  "devDependencies": {
27
- "@agoric/deploy-script-support": "0.10.3-dev-69236fd.0+69236fd",
27
+ "@agoric/deploy-script-support": "^0.10.3",
28
28
  "ava": "^5.2.0",
29
29
  "c8": "^7.13.0"
30
30
  },
31
31
  "dependencies": {
32
- "@agoric/access-token": "0.4.22-dev-69236fd.0+69236fd",
33
- "@agoric/assert": "0.6.1-dev-69236fd.0+69236fd",
34
- "@agoric/cache": "0.3.3-dev-69236fd.0+69236fd",
35
- "@agoric/casting": "0.4.3-dev-69236fd.0+69236fd",
36
- "@agoric/cosmic-proto": "0.3.1-dev-69236fd.0+69236fd",
37
- "@agoric/ertp": "0.16.3-dev-69236fd.0+69236fd",
38
- "@agoric/inter-protocol": "0.16.1-dev-69236fd.0+69236fd",
39
- "@agoric/internal": "0.3.3-dev-69236fd.0+69236fd",
40
- "@agoric/smart-wallet": "0.5.3-dev-69236fd.0+69236fd",
41
- "@agoric/store": "0.9.3-dev-69236fd.0+69236fd",
42
- "@agoric/swingset-vat": "0.32.3-dev-69236fd.0+69236fd",
43
- "@agoric/vats": "0.15.1-dev-69236fd.0+69236fd",
44
- "@agoric/zoe": "0.26.3-dev-69236fd.0+69236fd",
45
- "@agoric/zone": "0.2.3-dev-69236fd.0+69236fd",
32
+ "@agoric/access-token": "^0.4.21",
33
+ "@agoric/assert": "^0.6.0",
34
+ "@agoric/cache": "^0.3.2",
35
+ "@agoric/casting": "^0.4.2",
36
+ "@agoric/cosmic-proto": "^0.3.0",
37
+ "@agoric/ertp": "^0.16.2",
38
+ "@agoric/inter-protocol": "^0.16.1",
39
+ "@agoric/internal": "^0.3.2",
40
+ "@agoric/smart-wallet": "^0.5.3",
41
+ "@agoric/store": "^0.9.2",
42
+ "@agoric/swingset-vat": "^0.32.2",
43
+ "@agoric/vats": "^0.15.1",
44
+ "@agoric/zoe": "^0.26.2",
45
+ "@agoric/zone": "^0.2.2",
46
46
  "@confio/relayer": "^0.9.0",
47
47
  "@cosmjs/crypto": "^0.30.1",
48
48
  "@cosmjs/encoding": "^0.30.1",
@@ -88,5 +88,5 @@
88
88
  "timeout": "2m",
89
89
  "workerThreads": false
90
90
  },
91
- "gitHead": "69236fdbdce1521dd78da104bd54f331d4d2b28f"
91
+ "gitHead": "ba3b776444425bbcb275ce918794d9259f8e15da"
92
92
  }
package/src/bin-agops.js CHANGED
@@ -2,14 +2,12 @@
2
2
  // @ts-check
3
3
  // @jessie-check
4
4
 
5
+ /* eslint-disable @jessie.js/no-nested-await */
5
6
  /* global fetch, setTimeout */
6
7
 
7
- import '@endo/init/pre.js';
8
-
9
8
  import '@agoric/casting/node-fetch-shim.js';
10
9
  import '@endo/init';
11
-
12
- import { E } from '@endo/far';
10
+ import '@endo/init/pre.js';
13
11
 
14
12
  import { execFileSync } from 'child_process';
15
13
  import path from 'path';
@@ -76,11 +74,13 @@ program.addCommand(makeAuctionCommand(logger, { ...procIO, fetch }));
76
74
  program.addCommand(makeInterCommand(procIO, { fetch }));
77
75
  program.addCommand(makeTestCommand(procIO, { fetch }));
78
76
 
79
- E.when(program.parseAsync(process.argv), undefined, err => {
77
+ try {
78
+ await program.parseAsync(process.argv);
79
+ } catch (err) {
80
80
  if (err instanceof CommanderError) {
81
81
  console.error(err.message);
82
82
  } else {
83
83
  console.error(err); // CRASH! show stack trace
84
84
  }
85
85
  process.exit(1);
86
- });
86
+ }
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @jessie.js/no-nested-await */
1
2
  // @ts-check
2
3
  /* eslint-disable func-names */
3
4
  import { InvalidArgumentError } from 'commander';
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @jessie.js/no-nested-await */
1
2
  // @ts-check
2
3
  /* eslint-disable func-names */
3
4
  /* global globalThis, process, setTimeout */
@@ -238,6 +238,7 @@ export const makeInterCommand = (
238
238
  try {
239
239
  // XXX pass fetch to getNetworkConfig() explicitly
240
240
  // await null above makes this await safe
241
+ // eslint-disable-next-line @jessie.js/no-nested-await
241
242
  const networkConfig = await getNetworkConfig(env);
242
243
  return makeWalletUtils({ fetch, execFileSync, delay }, networkConfig);
243
244
  } catch (err) {
@@ -1,3 +1,5 @@
1
+ /* eslint-disable no-await-in-loop */
2
+ /* eslint-disable @jessie.js/no-nested-await */
1
3
  // @ts-check
2
4
  /* eslint-disable func-names */
3
5
  /* global fetch, setTimeout, process */
@@ -7,7 +9,6 @@ import { Nat } from '@endo/nat';
7
9
  import { Command } from 'commander';
8
10
  import * as cp from 'child_process';
9
11
  import { inspect } from 'util';
10
- import { instanceNameFor } from '@agoric/inter-protocol/src/proposals/price-feed-proposal.js';
11
12
  import { normalizeAddressWithOptions } from '../lib/chain.js';
12
13
  import { getNetworkConfig, makeRpcUtils, storageHelper } from '../lib/rpc.js';
13
14
  import {
@@ -76,7 +77,7 @@ export const makeOracleCommand = (logger, io = {}) => {
76
77
  const utils = await makeRpcUtils({ fetch });
77
78
 
78
79
  const lookupPriceAggregatorInstance = ([brandIn, brandOut]) => {
79
- const name = instanceNameFor(brandIn, brandOut);
80
+ const name = `${brandIn}-${brandOut} price feed`;
80
81
  const instance = utils.agoricNames.instance[name];
81
82
  if (!instance) {
82
83
  logger.debug('known instances:', utils.agoricNames.instance);
@@ -1,3 +1,5 @@
1
+ /* eslint-disable no-await-in-loop */
2
+ /* eslint-disable @jessie.js/no-nested-await */
1
3
  // @ts-check
2
4
  /* eslint-disable func-names */
3
5
  /* global process */
@@ -1,3 +1,5 @@
1
+ /* eslint-disable no-await-in-loop */
2
+ /* eslint-disable @jessie.js/no-nested-await */
1
3
  // @ts-check
2
4
  /* eslint-disable func-names */
3
5
  /* global fetch, process */
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @jessie.js/no-nested-await */
1
2
  // @ts-check
2
3
  /* eslint-disable func-names */
3
4
  /* global fetch, process */
@@ -38,6 +38,7 @@ export const makeTestCommand = (
38
38
  try {
39
39
  // XXX pass fetch to getNetworkConfig() explicitly
40
40
  // await null above makes this await safe
41
+ // eslint-disable-next-line @jessie.js/no-nested-await
41
42
  const networkConfig = await getNetworkConfig(env);
42
43
  return makeWalletUtils({ fetch, execFileSync, delay }, networkConfig);
43
44
  } catch (err) {
@@ -1,3 +1,5 @@
1
+ /* eslint-disable no-await-in-loop */
2
+ /* eslint-disable @jessie.js/no-nested-await */
1
3
  // @ts-check
2
4
  /* eslint-disable func-names */
3
5
  /* global fetch, process */
package/src/helpers.js CHANGED
@@ -13,7 +13,8 @@ export const getSDKBinaries = ({
13
13
  return {
14
14
  agSolo: new URL(`${jsPfx}/solo/src/entrypoint.js`, myUrl).pathname,
15
15
  agSoloBuild: ['yarn', '--cwd', xsnap, `build:from-env`],
16
- cosmosChain: new URL(`${goPfx}/cosmos/build/agd`, myUrl).pathname,
16
+ cosmosChain: new URL(`${jsPfx}/cosmic-swingset/bin/ag-chain-cosmos`, myUrl)
17
+ .pathname,
17
18
  cosmosChainBuild: cosmosBuild,
18
19
  cosmosClientBuild: cosmosBuild,
19
20
  cosmosHelper: new URL(`${goPfx}/cosmos/build/agd`, myUrl).pathname,
package/src/init.js CHANGED
@@ -60,6 +60,7 @@ export default async function initMain(_progname, rawArgs, priv, opts) {
60
60
  const path = `${DIR}/${dir}package.json`;
61
61
  log('rewriting ', path);
62
62
 
63
+ // eslint-disable-next-line no-await-in-loop
63
64
  const contents = await fs.readFile(path, 'utf-8');
64
65
  const pkg = JSON.parse(contents.replace(/@DIR@/g, DIR));
65
66
  if (dir === '') {
@@ -73,6 +74,7 @@ export default async function initMain(_progname, rawArgs, priv, opts) {
73
74
  pkg.name = `${DIR}${pkg.name.substr(topLevelName.length)}`;
74
75
  const json = JSON.stringify(pkg, undefined, 2);
75
76
 
77
+ // eslint-disable-next-line no-await-in-loop
76
78
  await fs.writeFile(path, json);
77
79
  }
78
80
 
package/src/install.js CHANGED
@@ -61,6 +61,7 @@ export default async function installMain(progname, rawArgs, powers, opts) {
61
61
  const yarnInstallEachWorktree = async (phase, ...flags) => {
62
62
  for await (const workTree of workTrees) {
63
63
  log.info(`yarn install ${phase} in ${workTree}`);
64
+ // eslint-disable-next-line no-await-in-loop
64
65
  const yarnInstall = await pspawn(
65
66
  'yarn',
66
67
  [...linkFlags, 'install', ...flags],
@@ -287,7 +288,6 @@ export default async function installMain(progname, rawArgs, powers, opts) {
287
288
  await Promise.all(
288
289
  [...sdkPackageToPath.entries()].map(async ([pjName, dir]) => {
289
290
  const SUBOPTIMAL = false;
290
- await null;
291
291
  if (SUBOPTIMAL) {
292
292
  // This use of yarn is noisy and slow.
293
293
  await pspawn('yarn', [...linkFlags, 'unlink', pjName]);
package/src/lib/chain.js CHANGED
@@ -122,6 +122,7 @@ export const pollBlocks = opts => async lookup => {
122
122
  } = status;
123
123
  try {
124
124
  // see await null above
125
+ // eslint-disable-next-line @jessie.js/no-nested-await, no-await-in-loop
125
126
  const result = await lookup({ time, height });
126
127
  return result;
127
128
  } catch (_err) {
@@ -131,6 +132,7 @@ export const pollBlocks = opts => async lookup => {
131
132
  height,
132
133
  'retrying...',
133
134
  );
135
+ // eslint-disable-next-line @jessie.js/no-nested-await, no-await-in-loop
134
136
  await delay(period);
135
137
  }
136
138
  }
package/src/lib/rpc.js CHANGED
@@ -1,4 +1,5 @@
1
1
  // @ts-check
2
+ /* eslint-disable @jessie.js/no-nested-await */
2
3
  /* global Buffer, fetch, process */
3
4
 
4
5
  import { NonNullish } from '@agoric/assert';
@@ -49,8 +50,7 @@ export const getNetworkConfig = async env => {
49
50
  };
50
51
 
51
52
  /** @type {MinimalNetworkConfig} */
52
- const networkConfig = await getNetworkConfig(process.env);
53
- export { networkConfig };
53
+ export const networkConfig = await getNetworkConfig(process.env);
54
54
  // console.warn('networkConfig', networkConfig);
55
55
 
56
56
  /**
@@ -132,11 +132,11 @@ export const makeVStorage = (powers, config = networkConfig) => {
132
132
  const parts = [];
133
133
  // undefined the first iteration, to query at the highest
134
134
  let blockHeight;
135
- await null;
136
135
  do {
137
136
  // console.debug('READING', { blockHeight });
138
137
  let values;
139
138
  try {
139
+ // eslint-disable-next-line no-await-in-loop
140
140
  ({ blockHeight, values } = await this.readAt(
141
141
  path,
142
142
  blockHeight && Number(blockHeight) - 1,
@@ -242,7 +242,6 @@ export const makeAgoricNames = async (ctx, vstorage) => {
242
242
  * @param {MinimalNetworkConfig} config
243
243
  */
244
244
  export const makeRpcUtils = async ({ fetch }, config = networkConfig) => {
245
- await null;
246
245
  try {
247
246
  const vstorage = makeVStorage({ fetch }, config);
248
247
  const fromBoard = makeFromBoard();
package/src/lib/wallet.js CHANGED
@@ -247,6 +247,7 @@ export const makeWalletUtils = async (
247
247
  untilNumWantsSatisfied = false,
248
248
  ) => {
249
249
  const lookup = async () => {
250
+ // eslint-disable-next-line @jessie.js/no-nested-await, no-await-in-loop
250
251
  const { offerStatuses } = await storedWalletState(from, minHeight);
251
252
  const offerStatus = [...offerStatuses.values()].find(s => s.id === id);
252
253
  if (!offerStatus) throw Error('retry');
@@ -31,9 +31,9 @@ const publishMain = async (progname, rawArgs, powers, opts) => {
31
31
  chainID,
32
32
  };
33
33
 
34
- await null;
35
34
  for (const bundlePath of rawArgs.slice(1)) {
36
35
  // AWAIT
36
+ // eslint-disable-next-line no-await-in-loop,@jessie.js/no-nested-await
37
37
  const bundleText = await fs.readFile(bundlePath, 'utf-8');
38
38
  const bundle = parseLocatedJson(bundleText, bundlePath);
39
39
 
@@ -53,6 +53,7 @@ const publishMain = async (progname, rawArgs, powers, opts) => {
53
53
  });
54
54
 
55
55
  // AWAIT
56
+ // eslint-disable-next-line no-await-in-loop,@jessie.js/no-nested-await
56
57
  const hashedBundle = await publishBundle(bundle, connectionSpec);
57
58
  process.stdout.write(`${JSON.stringify(hashedBundle)}\n`);
58
59
  }
package/src/main.js CHANGED
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @jessie.js/no-nested-await */
1
2
  /* global process */
2
3
  import { Command } from 'commander';
3
4
  import path from 'path';
@@ -35,7 +36,6 @@ const main = async (progname, rawArgs, powers) => {
35
36
  const program = new Command();
36
37
 
37
38
  async function isNotBasedir() {
38
- await null;
39
39
  try {
40
40
  await fs.stat(STAMP);
41
41
  return false;
package/src/publish.js CHANGED
@@ -289,12 +289,14 @@ export const makeCosmosBundlePublisher = ({
289
289
  const endpoint = urlForRpcAddress(rpcAddress);
290
290
 
291
291
  // AWAIT
292
+ // eslint-disable-next-line no-await-in-loop,@jessie.js/no-nested-await
292
293
  const stargateClient = await connectWithSigner(endpoint, wallet, {
293
294
  gasPrice: Agoric.gasPrice,
294
295
  registry,
295
296
  });
296
297
 
297
298
  // AWAIT
299
+ // eslint-disable-next-line no-await-in-loop,@jessie.js/no-nested-await
298
300
  const result = await stargateClient
299
301
  .signAndBroadcast(from.address, encodeObjects, Agoric.fee)
300
302
  .catch(error => {
@@ -310,6 +312,7 @@ export const makeCosmosBundlePublisher = ({
310
312
  }
311
313
 
312
314
  // AWAIT
315
+ // eslint-disable-next-line no-await-in-loop,@jessie.js/no-nested-await
313
316
  await E(leader).jitter('agoric CLI deploy');
314
317
  }
315
318
 
@@ -423,7 +426,6 @@ const publishBundle = async (
423
426
  )}, publishBundle supports only "endoZipBase64" with "endoZipBase64Sha512"`;
424
427
  }
425
428
 
426
- await null;
427
429
  if (connectionSpec === undefined && getDefaultConnection !== undefined) {
428
430
  connectionSpec = await getDefaultConnection();
429
431
  }
@@ -42,7 +42,6 @@ export default async function setDefaultsMain(progname, rawArgs, powers, opts) {
42
42
  return fs.writeFile(fileName, contents);
43
43
  };
44
44
 
45
- await null;
46
45
  if (appFile) {
47
46
  log(`read ${appFile}`);
48
47
  const appToml = await fs.readFile(appFile, 'utf-8');
package/src/start.js CHANGED
@@ -151,7 +151,6 @@ export default async function startMain(progname, rawArgs, powers, opts) {
151
151
  ]);
152
152
 
153
153
  const exists = async file => {
154
- await null;
155
154
  try {
156
155
  await fs.stat(file);
157
156
  return true;
@@ -174,7 +173,6 @@ export default async function startMain(progname, rawArgs, powers, opts) {
174
173
 
175
174
  const agServer = `_agstate/agoric-servers/${profileName}`;
176
175
 
177
- await null;
178
176
  if (popts.reset) {
179
177
  log(chalk.green(`removing ${agServer}`));
180
178
  // rm is available on all the unix-likes, so use it for speed.
@@ -248,7 +246,6 @@ export default async function startMain(progname, rawArgs, powers, opts) {
248
246
  }
249
247
 
250
248
  const { cosmosChain, cosmosChainBuild } = getSDKBinaries(sdkPrefixes);
251
- await null;
252
249
  if (popts.pull || popts.rebuild) {
253
250
  if (popts.dockerTag) {
254
251
  const exitStatus = await pspawn('docker', ['pull', SDK_IMAGE]);
@@ -311,6 +308,7 @@ export default async function startMain(progname, rawArgs, powers, opts) {
311
308
  // Get or create the essential addresses.
312
309
  const addrs = {};
313
310
  for (const keyName of ['provision', 'delegate0']) {
311
+ /* eslint-disable no-await-in-loop */
314
312
  let statusOut = showKey(keyName);
315
313
  const exitStatusOut = await statusOut[0];
316
314
  if (exitStatusOut) {
@@ -451,7 +449,6 @@ export default async function startMain(progname, rawArgs, powers, opts) {
451
449
  const agServer = `_agstate/agoric-servers/${profileName}-${portNum}`;
452
450
 
453
451
  const { cosmosClientBuild } = getSDKBinaries(sdkPrefixes);
454
- await null;
455
452
  if (popts.pull || popts.rebuild) {
456
453
  if (popts.dockerTag) {
457
454
  const exitStatus = await pspawn('docker', ['pull', SDK_IMAGE]);
@@ -558,6 +555,7 @@ export default async function startMain(progname, rawArgs, powers, opts) {
558
555
  for await (const _ of untilTrue(() => hasGci)) {
559
556
  process.stdout.write('.');
560
557
 
558
+ // eslint-disable-next-line no-await-in-loop
561
559
  await new Promise((resolve, reject) => {
562
560
  fs.stat(gciFile).then(
563
561
  _2 => {
@@ -592,6 +590,7 @@ export default async function startMain(progname, rawArgs, powers, opts) {
592
590
  let bestRpcAddr;
593
591
  for await (const _ of untilTrue(() => bestRpcAddr)) {
594
592
  for await (const rpcAddr of rpcAddrs) {
593
+ // eslint-disable-next-line no-await-in-loop
595
594
  exitStatus = await keysSpawn([
596
595
  'query',
597
596
  'swingset',
@@ -640,6 +639,7 @@ export default async function startMain(progname, rawArgs, powers, opts) {
640
639
  ];
641
640
  for (/* await */ const cmd of provCmds) {
642
641
  const statusOut = capture(keysSpawn, cmd, true);
642
+ // eslint-disable-next-line no-await-in-loop
643
643
  exitStatus = await statusOut[0];
644
644
  if (!exitStatus) {
645
645
  const json = statusOut[1].replace(/^gas estimate: \d+$/m, '');
@@ -664,6 +664,7 @@ export default async function startMain(progname, rawArgs, powers, opts) {
664
664
  }
665
665
  }
666
666
  if (!bestRpcAddr) {
667
+ // eslint-disable-next-line no-await-in-loop
667
668
  await delay(2000);
668
669
  }
669
670
  }
@@ -689,7 +690,6 @@ export default async function startMain(progname, rawArgs, powers, opts) {
689
690
  }
690
691
 
691
692
  async function startTestnetDocker(profileName, startArgs, popts) {
692
- await null;
693
693
  if (popts.dockerTag && popts.pull) {
694
694
  const exitStatus = await pspawn('docker', ['pull', SOLO_IMAGE]);
695
695
  if (exitStatus) {
@@ -729,7 +729,6 @@ export default async function startMain(progname, rawArgs, powers, opts) {
729
729
  const netconfig = startArgs[1] || DEFAULT_NETCONFIG;
730
730
  const agServer = `_agstate/agoric-servers/${profileName}-${port}`;
731
731
 
732
- await null;
733
732
  if (popts.reset) {
734
733
  log(chalk.green(`removing ${agServer}`));
735
734
  // rm is available on all the unix-likes, so use it for speed.