@agoric/builders 0.2.0-u18.3 → 0.2.0-u18.5

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,23 @@
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.2.0-u18.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/builders@0.2.0-u18.4...@agoric/builders@0.2.0-u18.5) (2024-12-17)
7
+
8
+ **Note:** Version bump only for package @agoric/builders
9
+
10
+
11
+
12
+
13
+
14
+ ## [0.2.0-u18.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/builders@0.2.0-u18.3...@agoric/builders@0.2.0-u18.4) (2024-12-13)
15
+
16
+
17
+ ### Features
18
+
19
+ * record instances that will be replaced so we can manage them ([3b1a35d](https://github.com/Agoric/agoric-sdk/commit/3b1a35d31a7bf20fab6b80af3091079f6307cb29))
20
+
21
+
22
+
6
23
  ## [0.2.0-u18.3](https://github.com/Agoric/agoric-sdk/compare/@agoric/builders@0.2.0-u18.2...@agoric/builders@0.2.0-u18.3) (2024-12-09)
7
24
 
8
25
  **Note:** Version bump only for package @agoric/builders
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/builders",
3
- "version": "0.2.0-u18.3",
3
+ "version": "0.2.0-u18.5",
4
4
  "description": "Build scripts for proposals to an Agoric chain",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -26,9 +26,9 @@
26
26
  "@agoric/ertp": "^0.16.3-u18.0",
27
27
  "@agoric/internal": "^0.4.0-u18.0",
28
28
  "@agoric/notifier": "^0.7.0-u18.0",
29
- "@agoric/smart-wallet": "^0.5.4-u18.3",
29
+ "@agoric/smart-wallet": "^0.5.4-u18.4",
30
30
  "@agoric/vat-data": "^0.5.3-u18.0",
31
- "@agoric/vats": "^0.16.0-u18.3",
31
+ "@agoric/vats": "^0.16.0-u18.4",
32
32
  "@agoric/zoe": "^0.26.3-u18.0",
33
33
  "@endo/bundle-source": "^3.4.2",
34
34
  "@endo/captp": "^4.4.2",
@@ -41,10 +41,10 @@
41
41
  "import-meta-resolve": "^2.2.1"
42
42
  },
43
43
  "devDependencies": {
44
- "@agoric/deploy-script-support": "^0.10.4-u18.3",
44
+ "@agoric/deploy-script-support": "^0.10.4-u18.4",
45
45
  "@agoric/governance": "^0.10.4-u18.0",
46
- "@agoric/inter-protocol": "^0.17.0-u18.3",
47
- "@agoric/orchestration": "^0.2.0-u18.3",
46
+ "@agoric/inter-protocol": "^0.17.0-u18.5",
47
+ "@agoric/orchestration": "^0.2.0-u18.4",
48
48
  "@agoric/store": "^0.9.3-u18.0",
49
49
  "@agoric/swing-store": "^0.10.0-u18.0",
50
50
  "@agoric/swingset-liveslots": "^0.10.3-u18.0",
@@ -81,5 +81,5 @@
81
81
  "typeCoverage": {
82
82
  "atLeast": 82.43
83
83
  },
84
- "gitHead": "793783b3b1ff6b47565a959cb7ba60a1835e2486"
84
+ "gitHead": "ff46c4aacd7b01ce8ea1fa14b77c187efa9a3b7f"
85
85
  }
@@ -41,6 +41,16 @@ const configurations = {
41
41
  ],
42
42
  inBrandNames: ['ATOM', 'stATOM', 'stOSMO', 'stTIA', 'stkATOM'],
43
43
  },
44
+ BOOT_TEST: {
45
+ oracleAddresses: [
46
+ 'agoric144rrhh4m09mh7aaffhm6xy223ym76gve2x7y78', // DSRV
47
+ 'agoric19d6gnr9fyp6hev4tlrg87zjrzsd5gzr5qlfq2p', // Stakin
48
+ 'agoric19uscwxdac6cf6z7d5e26e0jm0lgwstc47cpll8', // 01node
49
+ 'agoric1krunjcqfrf7la48zrvdfeeqtls5r00ep68mzkr', // Simply Staking
50
+ 'agoric1n4fcxsnkxe4gj6e24naec99hzmc4pjfdccy5nj', // P2P
51
+ ],
52
+ inBrandNames: ['ATOM'],
53
+ },
44
54
  };
45
55
 
46
56
  const { keys } = Object;
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @file call getTimerBrand() 300 times in hopes of provoking BOYD. This is
3
+ * intended for tests on mainFork for upgrade-18. If there's a similar need in
4
+ * other tests, it can be included there as well. There would be no value in
5
+ * including it in an upgrade of MainNet; it just spins cycles to provoke
6
+ * garbage collection.
7
+ */
8
+
9
+ import { makeTracer } from '@agoric/internal';
10
+ import { E } from '@endo/far';
11
+
12
+ /// <reference types="@agoric/vats/src/core/types-ambient"/>
13
+ /** @import {Instance} from '@agoric/zoe/src/zoeService/utils.js'; */
14
+
15
+ const trace = makeTracer('provokeBOYD', true);
16
+
17
+ /**
18
+ * @param {BootstrapPowers} powers
19
+ */
20
+ export const provokeBOYD = async ({ consume: { chainTimerService } }) => {
21
+ trace(provokeBOYD.name);
22
+ await null;
23
+
24
+ for (let i = 0; i < 300; i += 1) {
25
+ await E(chainTimerService).getTimerBrand();
26
+ }
27
+ trace('done');
28
+ };
29
+ harden(provokeBOYD);
30
+
31
+ export const getManifestForProvokeBOYD = () => {
32
+ return {
33
+ manifest: {
34
+ [provokeBOYD.name]: {
35
+ consume: { chainTimerService: true },
36
+ },
37
+ },
38
+ };
39
+ };
40
+
41
+ /** @type {import('@agoric/deploy-script-support/src/externalTypes.js').CoreEvalBuilder} */
42
+ export const defaultProposalBuilder = async () =>
43
+ harden({
44
+ sourceSpec: '@agoric/builders/scripts/testing/provokeBOYD.js',
45
+ getManifestCall: ['getManifestForProvokeBOYD'],
46
+ });
47
+
48
+ /** @type {import('@agoric/deploy-script-support/src/externalTypes.js').DeployScriptFunction} */
49
+ export default async (homeP, endowments) => {
50
+ const dspModule = await import('@agoric/deploy-script-support');
51
+ const { makeHelpers } = dspModule;
52
+ const { writeCoreEval } = await makeHelpers(homeP, endowments);
53
+ await writeCoreEval(provokeBOYD.name, defaultProposalBuilder);
54
+ };
@@ -0,0 +1,72 @@
1
+ import { makeTracer } from '@agoric/internal';
2
+ import { E } from '@endo/far';
3
+
4
+ const trace = makeTracer('RecordedRetired', true);
5
+
6
+ /**
7
+ * @param {BootstrapPowers &
8
+ * PromiseSpaceOf<{ retiredContractInstances: MapStore<string, Instance>;
9
+ * }>
10
+ * } powers
11
+ */
12
+ export const testRecordedRetiredInstances = async ({
13
+ consume: {
14
+ contractKits,
15
+ governedContractKits,
16
+ retiredContractInstances: retiredContractInstancesP,
17
+ },
18
+ }) => {
19
+ trace('Start');
20
+ const retiredContractInstances = await retiredContractInstancesP;
21
+
22
+ const auctionIDs = Array.from(retiredContractInstances.keys()).filter(k =>
23
+ k.startsWith('auction'),
24
+ );
25
+ assert(auctionIDs);
26
+ assert(auctionIDs.length === 1);
27
+ const auctionInstance = retiredContractInstances.get(auctionIDs[0]);
28
+ trace({ auctionInstance });
29
+ assert(await E(governedContractKits).get(auctionInstance));
30
+
31
+ const committeeIDs = Array.from(retiredContractInstances.keys()).filter(k =>
32
+ k.startsWith('economicCommittee'),
33
+ );
34
+ assert(committeeIDs);
35
+ assert(committeeIDs.length === 1);
36
+ const committeeInstance = retiredContractInstances.get(committeeIDs[0]);
37
+ assert(await E(contractKits).get(committeeInstance));
38
+
39
+ trace('done');
40
+ };
41
+ harden(testRecordedRetiredInstances);
42
+
43
+ export const getManifestForRecordedRetiredInstances = () => {
44
+ return {
45
+ manifest: {
46
+ [testRecordedRetiredInstances.name]: {
47
+ consume: {
48
+ contractKits: true,
49
+ governedContractKits: true,
50
+ retiredContractInstances: true,
51
+ },
52
+ },
53
+ },
54
+ };
55
+ };
56
+
57
+ /** @type {import('@agoric/deploy-script-support/src/externalTypes.js').CoreEvalBuilder} */
58
+ export const defaultProposalBuilder = async () =>
59
+ harden({
60
+ sourceSpec:
61
+ '@agoric/builders/scripts/testing/recorded-retired-instances.js',
62
+ getManifestCall: ['getManifestForRecordedRetiredInstances', {}],
63
+ });
64
+
65
+ /** @type {import('@agoric/deploy-script-support/src/externalTypes.js').DeployScriptFunction} */
66
+ export default async (homeP, endowments) => {
67
+ // import dynamically so the module can work in CoreEval environment
68
+ const dspModule = await import('@agoric/deploy-script-support');
69
+ const { makeHelpers } = dspModule;
70
+ const { writeCoreEval } = await makeHelpers(homeP, endowments);
71
+ await writeCoreEval('recorded-retired', defaultProposalBuilder);
72
+ };