@agoric/builders 0.2.0-u18.6 → 0.2.0-u19.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,83 +3,7 @@
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.6](https://github.com/Agoric/agoric-sdk/compare/@agoric/builders@0.2.0-u18.5...@agoric/builders@0.2.0-u18.6) (2024-12-24)
7
-
8
-
9
- ### Features
10
-
11
- * `ForwardOpts` accepts `intermediateRecipient` ([eb975f1](https://github.com/Agoric/agoric-sdk/commit/eb975f1df1587bc9307b27c20b7b236cc7fe386e))
12
- * `ForwardOptsShape` ([50b1717](https://github.com/Agoric/agoric-sdk/commit/50b1717c1e40ed67a5e69810961ad8d0144c5f9e))
13
- * add `bech32Prefix?: string` to `CosmosChainInfo` ([cb9e1ee](https://github.com/Agoric/agoric-sdk/commit/cb9e1eeab9295b44ec009b82d73c457299e8d6f4))
14
- * advancer with fees ([087f3a8](https://github.com/Agoric/agoric-sdk/commit/087f3a84a266fd0061f6d35c7b51f193de308f95))
15
- * assetInfo as array of entries ([51e7a9c](https://github.com/Agoric/agoric-sdk/commit/51e7a9c3e3fb2cde44db2ffce817f353a17e76a3))
16
- * **builders:** --noNoble option for init-fast-usdc ([508a3e0](https://github.com/Agoric/agoric-sdk/commit/508a3e0876d0fadac0e4a2fc1fa64b86ff8e5c2d))
17
- * **builders:** fast-usdc builder w/CLI config ([9f45a05](https://github.com/Agoric/agoric-sdk/commit/9f45a0572777cfe26012b5f48ad4140eaea96dad))
18
- * **builders:** fast-usdc oracleSet option for MAINNET, ... ([3bf01a2](https://github.com/Agoric/agoric-sdk/commit/3bf01a279e5b2c72d6667704a07056501012260e))
19
- * **builders:** fast-usdc policy update builder ([8ded3d8](https://github.com/Agoric/agoric-sdk/commit/8ded3d8be612a6944b80f3f63ab6fb727c76d179))
20
- * chain-capabilities.js constants ([52ff70a](https://github.com/Agoric/agoric-sdk/commit/52ff70a187df1fadc89ccc506228bc6d0ca48da6))
21
- * export `DenomDetailShape` ([2dfddb3](https://github.com/Agoric/agoric-sdk/commit/2dfddb3fb2018d769b1acc1b32f4ff3b4c7f67b7))
22
- * export `OrchestrationPowersShape` ([34b61ea](https://github.com/Agoric/agoric-sdk/commit/34b61eae918a5f02ba6e06ac7e15b24750494821))
23
- * **fast-usdc:** write chain policies to vstorage ([#10532](https://github.com/Agoric/agoric-sdk/issues/10532)) ([9d6cff1](https://github.com/Agoric/agoric-sdk/commit/9d6cff17bb95ce5557758da242ca4646a87ac5b0))
24
- * fusdc assetInfo and chainInfo by netname ([afb4f34](https://github.com/Agoric/agoric-sdk/commit/afb4f34518124b3809d1df07ea706743fa47f2b1))
25
- * parameterize fusdc with chainInfo and assetInfo ([e5a8b64](https://github.com/Agoric/agoric-sdk/commit/e5a8b6489368f0bf3a099ce4c5ddf9607a6192c1))
26
- * record instances that will be replaced so we can manage them ([c883c39](https://github.com/Agoric/agoric-sdk/commit/c883c39bbe4ec236a758030508fdf9f4fbd3ba9b))
27
- * register interchain bank assets proposal ([0e20707](https://github.com/Agoric/agoric-sdk/commit/0e2070754d6811acd40cb026792d4295189ae771))
28
- * registerChainsAndAssets ([e72782d](https://github.com/Agoric/agoric-sdk/commit/e72782dcc748b9e6a2879179cccf9866718f4e00))
29
- * save the outgoing EC Charter instance and kit ([c2c9be3](https://github.com/Agoric/agoric-sdk/commit/c2c9be3785f50e3b2cae3585d0e05d8b0a918283))
30
- * send-anywhere inits chainHub ([2fa2f75](https://github.com/Agoric/agoric-sdk/commit/2fa2f7512b2a1a19d47f47b59e3206619794be18))
31
- * upgrade v7-board and test it ([#10516](https://github.com/Agoric/agoric-sdk/issues/10516)) ([d8a109e](https://github.com/Agoric/agoric-sdk/commit/d8a109edcc78c977ef856131b52dd449e6a9d724)), closes [#10394](https://github.com/Agoric/agoric-sdk/issues/10394)
32
-
33
-
34
- ### Bug Fixes
35
-
36
- * **agd:** upgrade all orchestration vats to new liveslots ([59fa82c](https://github.com/Agoric/agoric-sdk/commit/59fa82c4740e1ddace28e1389e3c7c875bcdf93e))
37
- * **orchestration:** denomAmounts must be non-negative ([#10458](https://github.com/Agoric/agoric-sdk/issues/10458)) ([40e0e4e](https://github.com/Agoric/agoric-sdk/commit/40e0e4e37503b611609d1752389477d8f14f1a8e))
38
-
39
-
40
-
41
- ## [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)
42
-
43
- **Note:** Version bump only for package @agoric/builders
44
-
45
-
46
-
47
-
48
-
49
- ## [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)
50
-
51
-
52
- ### Features
53
-
54
- * record instances that will be replaced so we can manage them ([3b1a35d](https://github.com/Agoric/agoric-sdk/commit/3b1a35d31a7bf20fab6b80af3091079f6307cb29))
55
-
56
-
57
-
58
- ## [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)
59
-
60
- **Note:** Version bump only for package @agoric/builders
61
-
62
-
63
-
64
-
65
-
66
- ## [0.2.0-u18.2](https://github.com/Agoric/agoric-sdk/compare/@agoric/builders@0.2.0-u18.1...@agoric/builders@0.2.0-u18.2) (2024-11-21)
67
-
68
- **Note:** Version bump only for package @agoric/builders
69
-
70
-
71
-
72
-
73
-
74
- ## [0.2.0-u18.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/builders@0.2.0-u18.0...@agoric/builders@0.2.0-u18.1) (2024-11-19)
75
-
76
- **Note:** Version bump only for package @agoric/builders
77
-
78
-
79
-
80
-
81
-
82
- ## 0.2.0-u18.0 (2024-10-31)
6
+ ## 0.2.0-u19.0 (2025-02-24)
83
7
 
84
8
 
85
9
  ### ⚠ BREAKING CHANGES
@@ -90,15 +14,30 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
90
14
  ### Features
91
15
 
92
16
  * smartWallet verstion 2 with watchedPromises ([5ed5107](https://github.com/Agoric/agoric-sdk/commit/5ed51078d39e643d91b572d9c50fad4a276d7ded))
17
+ * `ForwardOpts` accepts `intermediateRecipient` ([eb975f1](https://github.com/Agoric/agoric-sdk/commit/eb975f1df1587bc9307b27c20b7b236cc7fe386e))
18
+ * `ForwardOptsShape` ([50b1717](https://github.com/Agoric/agoric-sdk/commit/50b1717c1e40ed67a5e69810961ad8d0144c5f9e))
93
19
  * a proposal to upgrade scaledPriceAuthorities ([e5ed0ff](https://github.com/Agoric/agoric-sdk/commit/e5ed0ff6abcb83f52b32d49125e21e6e41923ed0))
20
+ * add `bech32Prefix?: string` to `CosmosChainInfo` ([cb9e1ee](https://github.com/Agoric/agoric-sdk/commit/cb9e1eeab9295b44ec009b82d73c457299e8d6f4))
94
21
  * add priceFeed for StkAtom ([6a861df](https://github.com/Agoric/agoric-sdk/commit/6a861dfa14f42b4547a24ba31175a3b1a74c97c1))
95
22
  * add transfer method to CosmosOrchestrationAccount ([b1fdde1](https://github.com/Agoric/agoric-sdk/commit/b1fdde18b33237d1a2ea6f02938d998f55ce4d01))
96
23
  * add upgrade zcf only proposal ([73e0bb8](https://github.com/Agoric/agoric-sdk/commit/73e0bb830e7612e74c8fb510b909db154d2b2219))
97
24
  * added replace electorate proposal in chain upgrade ([4e88d9f](https://github.com/Agoric/agoric-sdk/commit/4e88d9f0412fe2b90efda30df0afbb61887bf35f))
25
+ * advancer with fees ([087f3a8](https://github.com/Agoric/agoric-sdk/commit/087f3a84a266fd0061f6d35c7b51f193de308f95))
26
+ * assetInfo as array of entries ([51e7a9c](https://github.com/Agoric/agoric-sdk/commit/51e7a9c3e3fb2cde44db2ffce817f353a17e76a3))
98
27
  * auctioneer detects failing priceAuthority; requests new one ([#8691](https://github.com/Agoric/agoric-sdk/issues/8691)) ([8604b01](https://github.com/Agoric/agoric-sdk/commit/8604b011b072d7bef43df59c075bcff9582b8804)), closes [#8696](https://github.com/Agoric/agoric-sdk/issues/8696)
28
+ * **boot:** distribute FastUSDC contract fee builder, test ([7776298](https://github.com/Agoric/agoric-sdk/commit/7776298772a6e5178573fc3078ab0a5fbfea9f8a))
29
+ * **builders:** --noNoble option for init-fast-usdc ([508a3e0](https://github.com/Agoric/agoric-sdk/commit/508a3e0876d0fadac0e4a2fc1fa64b86ff8e5c2d))
30
+ * **builders:** fast-usdc builder w/CLI config ([9f45a05](https://github.com/Agoric/agoric-sdk/commit/9f45a0572777cfe26012b5f48ad4140eaea96dad))
31
+ * **builders:** fast-usdc oracleSet option for MAINNET, ... ([3bf01a2](https://github.com/Agoric/agoric-sdk/commit/3bf01a279e5b2c72d6667704a07056501012260e))
32
+ * **builders:** fast-usdc policy update builder ([8ded3d8](https://github.com/Agoric/agoric-sdk/commit/8ded3d8be612a6944b80f3f63ab6fb727c76d179))
99
33
  * **builders:** non-ambient `strictPriceFeedProposalBuilder` in `priceFeedSupport.js` ([95174a2](https://github.com/Agoric/agoric-sdk/commit/95174a23671ed16f7497ef6b0edaa63a54f1343d))
34
+ * chain-capabilities.js constants ([52ff70a](https://github.com/Agoric/agoric-sdk/commit/52ff70a187df1fadc89ccc506228bc6d0ca48da6))
100
35
  * coreEval to update priceFeeds, auction, and vaultManager ([fd91f78](https://github.com/Agoric/agoric-sdk/commit/fd91f781ad721033d67485d1732272af0c689ae7))
101
36
  * examples/auto-stake-it.contract.js ([b87ecba](https://github.com/Agoric/agoric-sdk/commit/b87ecba0ea41f1397dbd513d8e4c541f1299fd3f)), closes [#9042](https://github.com/Agoric/agoric-sdk/issues/9042)
37
+ * export `DenomDetailShape` ([2dfddb3](https://github.com/Agoric/agoric-sdk/commit/2dfddb3fb2018d769b1acc1b32f4ff3b4c7f67b7))
38
+ * export `OrchestrationPowersShape` ([34b61ea](https://github.com/Agoric/agoric-sdk/commit/34b61eae918a5f02ba6e06ac7e15b24750494821))
39
+ * **fast-usdc:** write chain policies to vstorage ([#10532](https://github.com/Agoric/agoric-sdk/issues/10532)) ([9d6cff1](https://github.com/Agoric/agoric-sdk/commit/9d6cff17bb95ce5557758da242ca4646a87ac5b0))
40
+ * fusdc assetInfo and chainInfo by netname ([afb4f34](https://github.com/Agoric/agoric-sdk/commit/afb4f34518124b3809d1df07ea706743fa47f2b1))
102
41
  * include issuerKeywordRecord in start-sendAnywhere.js ([0b97916](https://github.com/Agoric/agoric-sdk/commit/0b9791672f91890a9de13511d0a6e7290d30d4d5))
103
42
  * make Network and IBC vats durable ([#8721](https://github.com/Agoric/agoric-sdk/issues/8721)) ([3d13c09](https://github.com/Agoric/agoric-sdk/commit/3d13c09363013e23726c2ac5fa299a8e5344fd8c))
104
43
  * new 'builders' package ([00c88ab](https://github.com/Agoric/agoric-sdk/commit/00c88ab1615ed55a3928ae52e332be05a173d1f6))
@@ -106,15 +45,22 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
106
45
  * **orchestration:** add stakeAtom example contract ([82f1901](https://github.com/Agoric/agoric-sdk/commit/82f1901ec6ecf5a802a72023d033609deeb053e1))
107
46
  * **orchestration:** create ChainAccount ([ba75ed6](https://github.com/Agoric/agoric-sdk/commit/ba75ed692a565aae5c5124ad5220f6901576532e))
108
47
  * **orchestration:** stakeAtom query balance ([9f0ae09](https://github.com/Agoric/agoric-sdk/commit/9f0ae09e389f1750c9e550d5e6893460d1e21d07))
48
+ * parameterize fusdc with chainInfo and assetInfo ([e5a8b64](https://github.com/Agoric/agoric-sdk/commit/e5a8b6489368f0bf3a099ce4c5ddf9607a6192c1))
49
+ * record instances that will be replaced so we can manage them ([c883c39](https://github.com/Agoric/agoric-sdk/commit/c883c39bbe4ec236a758030508fdf9f4fbd3ba9b))
50
+ * register interchain bank assets proposal ([0e20707](https://github.com/Agoric/agoric-sdk/commit/0e2070754d6811acd40cb026792d4295189ae771))
51
+ * registerChainsAndAssets ([e72782d](https://github.com/Agoric/agoric-sdk/commit/e72782dcc748b9e6a2879179cccf9866718f4e00))
109
52
  * remove orch.makeLocalAccount ([5526337](https://github.com/Agoric/agoric-sdk/commit/552633753ff66f011f6cff7b701cd3cc8f808fbe)), closes [#10106](https://github.com/Agoric/agoric-sdk/issues/10106)
110
53
  * remove prefix.key_prefix from IBCConnectionInfo ([78e701a](https://github.com/Agoric/agoric-sdk/commit/78e701a92de9fa62ac719211a3bd874efd3678ac)), closes [#9807](https://github.com/Agoric/agoric-sdk/issues/9807)
111
54
  * repair KREAd contract on zoe upgrade ([84dd229](https://github.com/Agoric/agoric-sdk/commit/84dd2297eb74061b809a11bba3c2d2c5c697219f))
112
55
  * replace committee proposal support for custom config ([d3014e3](https://github.com/Agoric/agoric-sdk/commit/d3014e3162eeb7e30c2976dd8fd3feb9b79efc54))
56
+ * save the outgoing EC Charter instance and kit ([c2c9be3](https://github.com/Agoric/agoric-sdk/commit/c2c9be3785f50e3b2cae3585d0e05d8b0a918283))
57
+ * send-anywhere inits chainHub ([2fa2f75](https://github.com/Agoric/agoric-sdk/commit/2fa2f7512b2a1a19d47f47b59e3206619794be18))
113
58
  * **smart-wallet:** upgrade walletFactory for non-vbank assets ([a0c4ecf](https://github.com/Agoric/agoric-sdk/commit/a0c4ecf5d6f1e3874828f5b2fcf38f87cb0619ba))
114
59
  * stakeBld contract ([a7e30a4](https://github.com/Agoric/agoric-sdk/commit/a7e30a4e43c00b2916d2d57c70063650e726321f))
115
60
  * start a new auction in a3p-integration ([969235b](https://github.com/Agoric/agoric-sdk/commit/969235b18abbd15187e343d5f616f12177d224c4))
116
61
  * update price feed proposal support for custom config ([8804ed2](https://github.com/Agoric/agoric-sdk/commit/8804ed28e259bf4ee9dd8872ccdd9ec42897e279))
117
62
  * upgrade auction and vaults to use the new governor ([5aeac6d](https://github.com/Agoric/agoric-sdk/commit/5aeac6d2bd3a95357c9a725e01391b3d967530ff))
63
+ * upgrade v7-board and test it ([#10516](https://github.com/Agoric/agoric-sdk/issues/10516)) ([d8a109e](https://github.com/Agoric/agoric-sdk/commit/d8a109edcc78c977ef856131b52dd449e6a9d724)), closes [#10394](https://github.com/Agoric/agoric-sdk/issues/10394)
118
64
  * **vat-transfer:** first cut at working proposal ([2864bd5](https://github.com/Agoric/agoric-sdk/commit/2864bd5c12300c3595df9676bcfde894dbe59b29))
119
65
  * **vats:** provide init-localchain ([19e5aed](https://github.com/Agoric/agoric-sdk/commit/19e5aed4e8a2aad667c04023e0aea01712ff9b9c))
120
66
  * **vats:** upgrade the orchestration core ([c2d9530](https://github.com/Agoric/agoric-sdk/commit/c2d9530e2d891bd9412969a43a9c5728cc3c2721))
@@ -123,8 +69,10 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
123
69
 
124
70
  ### Bug Fixes
125
71
 
72
+ * **agd:** upgrade all orchestration vats to new liveslots ([59fa82c](https://github.com/Agoric/agoric-sdk/commit/59fa82c4740e1ddace28e1389e3c7c875bcdf93e))
126
73
  * **builders:** Overlook inspecific home type ([e499fc4](https://github.com/Agoric/agoric-sdk/commit/e499fc4749b24e4f178e43b401410a0e5f06fb17))
127
74
  * **builders:** use proper `oracleBrand` subkey case ([52f02b7](https://github.com/Agoric/agoric-sdk/commit/52f02b75b6706ee455a32ff83617dd5afb7342a7))
75
+ * **orchestration:** denomAmounts must be non-negative ([#10458](https://github.com/Agoric/agoric-sdk/issues/10458)) ([40e0e4e](https://github.com/Agoric/agoric-sdk/commit/40e0e4e37503b611609d1752389477d8f14f1a8e))
128
76
  * **orchestration:** makeAccount never resolves when icqEnabled: false ([a74b6a2](https://github.com/Agoric/agoric-sdk/commit/a74b6a27d5108c5e014d546b86c695e3fc8bf2e5))
129
77
  * repair storage of zcfBundleCap and add a3p test ([72c7574](https://github.com/Agoric/agoric-sdk/commit/72c75740aff920ffb53231441d0f00a8747400f1))
130
78
  * support issuerName separate from keyword in add-collateral-core ([f0b1559](https://github.com/Agoric/agoric-sdk/commit/f0b1559374fe67d10e92f20c85d90a6f07e03cf0))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/builders",
3
- "version": "0.2.0-u18.6",
3
+ "version": "0.2.0-u19.0",
4
4
  "description": "Build scripts for proposals to an Agoric chain",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -23,35 +23,35 @@
23
23
  "author": "Agoric",
24
24
  "license": "Apache-2.0",
25
25
  "dependencies": {
26
- "@agoric/ertp": "^0.16.3-u18.1",
27
- "@agoric/fast-usdc": "^0.2.0-u18.0",
28
- "@agoric/internal": "^0.4.0-u18.1",
29
- "@agoric/notifier": "^0.7.0-u18.1",
30
- "@agoric/smart-wallet": "^0.5.4-u18.5",
31
- "@agoric/vat-data": "^0.5.3-u18.1",
32
- "@agoric/vats": "^0.16.0-u18.5",
33
- "@agoric/zoe": "^0.26.3-u18.1",
34
- "@endo/bundle-source": "^3.5.0",
35
- "@endo/captp": "^4.4.3",
36
- "@endo/eventual-send": "^1.2.8",
37
- "@endo/far": "^1.1.9",
38
- "@endo/init": "^1.1.7",
39
- "@endo/marshal": "^1.6.2",
40
- "@endo/patterns": "^1.4.7",
41
- "@endo/promise-kit": "^1.1.8",
42
- "@endo/stream": "^1.2.8",
43
- "import-meta-resolve": "^2.2.1"
26
+ "@agoric/ertp": "^0.16.3-u19.0",
27
+ "@agoric/fast-usdc": "^0.2.0-u19.0",
28
+ "@agoric/internal": "^0.4.0-u19.0",
29
+ "@agoric/notifier": "^0.7.0-u19.0",
30
+ "@agoric/smart-wallet": "^0.5.4-u19.0",
31
+ "@agoric/vat-data": "^0.5.3-u19.0",
32
+ "@agoric/vats": "^0.16.0-u19.0",
33
+ "@agoric/zoe": "^0.27.0-u19.0",
34
+ "@endo/bundle-source": "^3.5.1",
35
+ "@endo/captp": "^4.4.4",
36
+ "@endo/eventual-send": "^1.3.0",
37
+ "@endo/far": "^1.1.10",
38
+ "@endo/init": "^1.1.8",
39
+ "@endo/marshal": "^1.6.3",
40
+ "@endo/patterns": "^1.4.8",
41
+ "@endo/promise-kit": "^1.1.9",
42
+ "@endo/stream": "^1.2.9",
43
+ "import-meta-resolve": "^4.1.0"
44
44
  },
45
45
  "devDependencies": {
46
- "@agoric/deploy-script-support": "^0.10.4-u18.5",
47
- "@agoric/governance": "^0.10.4-u18.1",
48
- "@agoric/inter-protocol": "^0.17.0-u18.6",
49
- "@agoric/orchestration": "^0.2.0-u18.5",
50
- "@agoric/store": "^0.9.3-u18.1",
51
- "@agoric/swing-store": "^0.10.0-u18.1",
52
- "@agoric/swingset-liveslots": "^0.10.3-u18.1",
53
- "@agoric/time": "^0.3.3-u18.1",
54
- "@endo/errors": "^1.2.8",
46
+ "@agoric/deploy-script-support": "^0.10.4-u19.0",
47
+ "@agoric/governance": "^0.10.4-u19.0",
48
+ "@agoric/inter-protocol": "^0.17.0-u19.0",
49
+ "@agoric/orchestration": "^0.2.0-u19.0",
50
+ "@agoric/store": "^0.9.3-u19.0",
51
+ "@agoric/swing-store": "^0.10.0-u19.0",
52
+ "@agoric/swingset-liveslots": "^0.10.3-u19.0",
53
+ "@agoric/time": "^0.3.3-u19.0",
54
+ "@endo/errors": "^1.2.9",
55
55
  "ava": "^5.3.0",
56
56
  "c8": "^10.1.2"
57
57
  },
@@ -81,7 +81,7 @@
81
81
  "workerThreads": false
82
82
  },
83
83
  "typeCoverage": {
84
- "atLeast": 90.93
84
+ "atLeast": 91.57
85
85
  },
86
- "gitHead": "f8c45b8a2e29a51522a81a6692af25b2d7f6b50f"
86
+ "gitHead": "29e9704c375a06bb617027093b30d2d25faa6471"
87
87
  }
@@ -0,0 +1,83 @@
1
+ // @ts-check
2
+ import { makeHelpers } from '@agoric/deploy-script-support';
3
+ import { getManifestForAddOperators } from '@agoric/fast-usdc/src/add-operators.core.js';
4
+ import { toExternalConfig } from '@agoric/fast-usdc/src/utils/config-marshal.js';
5
+ import { configurations } from '@agoric/fast-usdc/src/utils/deploy-config.js';
6
+ import { Far } from '@endo/far';
7
+ import { parseArgs } from 'node:util';
8
+
9
+ /**
10
+ * @import {CoreEvalBuilder, DeployScriptFunction} from '@agoric/deploy-script-support/src/externalTypes.js';
11
+ * @import {ParseArgsConfig} from 'node:util';
12
+ * @import {FastUSDCConfig, FeedPolicy} from '@agoric/fast-usdc/src/types.js';
13
+ * @import {FastUSDCOpts} from './start-fast-usdc.build.js';
14
+ */
15
+
16
+ const { keys } = Object;
17
+
18
+ /** @type {ParseArgsConfig['options']} */
19
+ const options = {
20
+ net: { type: 'string' },
21
+ oracle: { type: 'string', multiple: true },
22
+ };
23
+ const oraclesUsage = 'use --oracle name:address ...';
24
+
25
+ const crossVatContext = /** @type {const} */ ({
26
+ /** @type {Brand<'nat'>} */
27
+ USDC: Far('USDC Brand'),
28
+ });
29
+
30
+ /** @type {CoreEvalBuilder} */
31
+ export const defaultProposalBuilder = async (
32
+ powers,
33
+ /** @type {FastUSDCConfig} */ config,
34
+ ) => {
35
+ return harden({
36
+ sourceSpec: '@agoric/fast-usdc/src/add-operators.core.js',
37
+ /** @type {[string, Parameters<typeof getManifestForAddOperators>[1]]} */
38
+ getManifestCall: [
39
+ getManifestForAddOperators.name,
40
+ {
41
+ options: toExternalConfig(config, crossVatContext),
42
+ },
43
+ ],
44
+ });
45
+ };
46
+
47
+ /** @type {DeployScriptFunction} */
48
+ export default async (homeP, endowments) => {
49
+ const { writeCoreEval } = await makeHelpers(homeP, endowments);
50
+ const { scriptArgs } = endowments;
51
+
52
+ /** @type {{ values: FastUSDCOpts }} */
53
+ // @ts-expect-error ensured by options
54
+ const {
55
+ values: { oracle: oracleArgs, net },
56
+ } = parseArgs({ args: scriptArgs, options });
57
+
58
+ const parseOracleArgs = () => {
59
+ if (net) {
60
+ if (!(net in configurations)) {
61
+ throw Error(`${net} not in ${keys(configurations)}`);
62
+ }
63
+ return configurations[net].oracles;
64
+ }
65
+ if (!oracleArgs) throw Error(oraclesUsage);
66
+ return Object.fromEntries(
67
+ oracleArgs.map(arg => {
68
+ const result = arg.match(/(?<name>[^:]+):(?<address>.+)/);
69
+ if (!(result && result.groups)) throw Error(oraclesUsage);
70
+ const { name, address } = result.groups;
71
+ return [name, address];
72
+ }),
73
+ );
74
+ };
75
+
76
+ const config = harden({
77
+ oracles: parseOracleArgs(),
78
+ });
79
+
80
+ await writeCoreEval('add-operators', utils =>
81
+ defaultProposalBuilder(utils, config),
82
+ );
83
+ };
@@ -0,0 +1,75 @@
1
+ import { makeHelpers } from '@agoric/deploy-script-support';
2
+ import { AmountMath } from '@agoric/ertp';
3
+ import { getManifestForDistributeFees } from '@agoric/fast-usdc/src/distribute-fees.core.js';
4
+ import { toExternalConfig } from '@agoric/fast-usdc/src/utils/config-marshal.js';
5
+ import {
6
+ multiplyBy,
7
+ parseRatio,
8
+ } from '@agoric/zoe/src/contractSupport/ratio.js';
9
+ import { Far } from '@endo/far';
10
+ import { parseArgs } from 'node:util';
11
+
12
+ /**
13
+ * @import {CoreEvalBuilder, DeployScriptFunction} from '@agoric/deploy-script-support/src/externalTypes.js'
14
+ * @import {FeeDistributionTerms} from '@agoric/fast-usdc/src/distribute-fees.core.js'
15
+ */
16
+
17
+ const usage =
18
+ 'Use: [--fixedFees <number> | --feePortion <percent>] --destinationAddress <address> ...';
19
+
20
+ const xVatCtx = /** @type {const} */ ({
21
+ /** @type {Brand<'nat'>} */
22
+ USDC: Far('USDC Brand'),
23
+ });
24
+ const { USDC } = xVatCtx;
25
+ const USDC_DECIMALS = 6n;
26
+ const unit = AmountMath.make(USDC, 10n ** USDC_DECIMALS);
27
+
28
+ /**
29
+ * @param {unknown} _utils
30
+ * @param {FeeDistributionTerms} feeTerms
31
+ * @satisfies {CoreEvalBuilder}
32
+ */
33
+ export const feeProposalBuilder = async (_utils, feeTerms) => {
34
+ return harden({
35
+ sourceSpec: '@agoric/fast-usdc/src/distribute-fees.core.js',
36
+ /** @type {[string, Parameters<typeof getManifestForDistributeFees>[1]]} */
37
+ getManifestCall: [
38
+ getManifestForDistributeFees.name,
39
+ { options: toExternalConfig(harden({ feeTerms }), xVatCtx) },
40
+ ],
41
+ });
42
+ };
43
+
44
+ /** @type {DeployScriptFunction} */
45
+ export default async (homeP, endowments) => {
46
+ const { writeCoreEval } = await makeHelpers(homeP, endowments);
47
+ /** @type {{ values: Record<string, string | undefined> }} */
48
+ const {
49
+ values: { destinationAddress, ...opt },
50
+ } = parseArgs({
51
+ args: endowments.scriptArgs,
52
+ options: {
53
+ destinationAddress: { type: 'string' },
54
+ fixedFees: { type: 'string' },
55
+ feePortion: { type: 'string' },
56
+ },
57
+ });
58
+ if (!destinationAddress) assert.fail(usage);
59
+ if (opt.fixedFees && opt.feePortion) assert.fail(usage);
60
+
61
+ /** @type {FeeDistributionTerms} */
62
+ const feeTerms = {
63
+ destinationAddress,
64
+ ...((opt.fixedFees && {
65
+ fixedFees: multiplyBy(unit, parseRatio(opt.fixedFees, USDC)),
66
+ }) ||
67
+ (opt.feePortion && {
68
+ feePortion: parseRatio(opt.feePortion, USDC),
69
+ }) ||
70
+ assert.fail(usage)),
71
+ };
72
+ await writeCoreEval('eval-fast-usdc-fees', utils =>
73
+ feeProposalBuilder(utils, feeTerms),
74
+ );
75
+ };
@@ -7,7 +7,7 @@ import { makeHelpers } from '@agoric/deploy-script-support';
7
7
  /**
8
8
  * @import {CoreEvalBuilder, DeployScriptFunction} from '@agoric/deploy-script-support/src/externalTypes.js'
9
9
  * @import {ParseArgsConfig} from 'node:util'
10
- * @import {FastUSDCConfig} from '@agoric/fast-usdc/src/types.js'
10
+ * @import {FastUSDCConfig} from '@agoric/fast-usdc';
11
11
  */
12
12
 
13
13
  /** @type {ParseArgsConfig['options']} */
@@ -22,10 +22,14 @@ const feedPolicyUsage = 'use --feedPolicy <policy> ...';
22
22
  * }} FastUSDCUpdateOpts
23
23
  */
24
24
 
25
- /** @type {CoreEvalBuilder} */
25
+ /**
26
+ * @param {Parameters<CoreEvalBuilder>[0]} powers
27
+ * @param {FastUSDCConfig} config
28
+ * @satisfies {CoreEvalBuilder}
29
+ */
26
30
  export const updateProposalBuilder = async (
27
- _utils,
28
- /** @type {FastUSDCConfig} */ config,
31
+ powers,
32
+ /** @type {Pick<FastUSDCConfig, 'feedPolicy'>} */ config,
29
33
  ) => {
30
34
  return harden({
31
35
  sourceSpec: '@agoric/fast-usdc/src/fast-usdc-policy.core.js',
@@ -1,10 +1,8 @@
1
1
  // @ts-check
2
2
  import { makeHelpers } from '@agoric/deploy-script-support';
3
3
  import { AmountMath } from '@agoric/ertp';
4
- import {
5
- FastUSDCConfigShape,
6
- getManifestForFastUSDC,
7
- } from '@agoric/fast-usdc/src/fast-usdc.start.js';
4
+ import { getManifestForFastUSDC } from '@agoric/fast-usdc/src/start-fast-usdc.core.js';
5
+ import { FastUSDCConfigShape } from '@agoric/fast-usdc/src/type-guards.js';
8
6
  import { toExternalConfig } from '@agoric/fast-usdc/src/utils/config-marshal.js';
9
7
  import { configurations } from '@agoric/fast-usdc/src/utils/deploy-config.js';
10
8
  import {
@@ -17,7 +15,7 @@ import { parseArgs } from 'node:util';
17
15
  /**
18
16
  * @import {CoreEvalBuilder, DeployScriptFunction} from '@agoric/deploy-script-support/src/externalTypes.js'
19
17
  * @import {ParseArgsConfig} from 'node:util'
20
- * @import {FastUSDCConfig} from '@agoric/fast-usdc/src/types.js'
18
+ * @import {FastUSDCConfig, FeedPolicy} from '@agoric/fast-usdc';
21
19
  */
22
20
 
23
21
  const { keys } = Object;
@@ -26,7 +24,6 @@ const { keys } = Object;
26
24
  const options = {
27
25
  flatFee: { type: 'string', default: '0.01' },
28
26
  variableRate: { type: 'string', default: '0.01' },
29
- maxVariableFee: { type: 'string', default: '5' },
30
27
  contractRate: { type: 'string', default: '0.2' },
31
28
  net: { type: 'string' },
32
29
  oracle: { type: 'string', multiple: true },
@@ -52,7 +49,6 @@ const assetInfoUsage =
52
49
  * @typedef {{
53
50
  * flatFee: string;
54
51
  * variableRate: string;
55
- * maxVariableFee: string;
56
52
  * contractRate: string;
57
53
  * net?: string;
58
54
  * oracle?: string[];
@@ -72,13 +68,17 @@ const { USDC } = crossVatContext;
72
68
  const USDC_DECIMALS = 6;
73
69
  const unit = AmountMath.make(USDC, 10n ** BigInt(USDC_DECIMALS));
74
70
 
75
- /** @type {CoreEvalBuilder} */
71
+ /**
72
+ * @param {Parameters<CoreEvalBuilder>[0]} powers
73
+ * @param {FastUSDCConfig} config
74
+ * @satisfies {CoreEvalBuilder}
75
+ */
76
76
  export const defaultProposalBuilder = async (
77
77
  { publishRef, install },
78
- /** @type {FastUSDCConfig} */ config,
78
+ config,
79
79
  ) => {
80
80
  return harden({
81
- sourceSpec: '@agoric/fast-usdc/src/fast-usdc.start.js',
81
+ sourceSpec: '@agoric/fast-usdc/src/start-fast-usdc.core.js',
82
82
  /** @type {[string, Parameters<typeof getManifestForFastUSDC>[1]]} */
83
83
  getManifestCall: [
84
84
  getManifestForFastUSDC.name,
@@ -114,6 +114,7 @@ export default async (homeP, endowments) => {
114
114
  },
115
115
  } = parseArgs({ args: scriptArgs, options });
116
116
 
117
+ /** @returns {FeedPolicy} */
117
118
  const parseFeedPolicy = () => {
118
119
  if (net) {
119
120
  if (!(net in configurations)) {
@@ -122,7 +123,17 @@ export default async (homeP, endowments) => {
122
123
  return configurations[net].feedPolicy;
123
124
  }
124
125
  if (!feedPolicy) throw Error(feedPolicyUsage);
125
- return JSON.parse(feedPolicy);
126
+ const parsed = JSON.parse(feedPolicy);
127
+ if (!parsed.chainPolicies) {
128
+ return {
129
+ ...configurations.MAINNET.feedPolicy,
130
+ ...parsed,
131
+ };
132
+ } else {
133
+ // consider having callers use `toExternalConfig` to pass in bigints and
134
+ // use `fromExternalConfig` here to parse
135
+ throw Error('TODO: support unmarshalling feedPolicy');
136
+ }
126
137
  };
127
138
 
128
139
  const parseOracleArgs = () => {
@@ -148,11 +159,10 @@ export default async (homeP, endowments) => {
148
159
  /** @param {string} numeral */
149
160
  const toRatio = numeral => parseRatio(numeral, USDC);
150
161
  const parseFeeConfigArgs = () => {
151
- const { flatFee, variableRate, maxVariableFee, contractRate } = fees;
162
+ const { flatFee, variableRate, contractRate } = fees;
152
163
  return {
153
164
  flat: toAmount(flatFee),
154
165
  variableRate: toRatio(variableRate),
155
- maxVariable: toAmount(maxVariableFee),
156
166
  contractRate: toRatio(contractRate),
157
167
  };
158
168
  };
@@ -0,0 +1,82 @@
1
+ import { parseScriptArgs, makeHelpers } from '@agoric/deploy-script-support';
2
+ import { getManifestForReplaceFeeDistributor } from '@agoric/inter-protocol/src/proposals/replace-fee-distributor.js';
3
+ import { SECONDS_PER_HOUR } from '@agoric/inter-protocol/src/proposals/econ-behaviors.js';
4
+
5
+ const configurations = {
6
+ A3P_INTEGRATION: {
7
+ params: {
8
+ collectionInterval: 30n,
9
+ keywordShares: {
10
+ RewardDistributor: 0n,
11
+ Reserve: 1n,
12
+ },
13
+ },
14
+ },
15
+ MAINNET: {
16
+ params: {
17
+ collectionInterval: 1n * SECONDS_PER_HOUR,
18
+ keywordShares: {
19
+ RewardDistributor: 0n,
20
+ Reserve: 1n,
21
+ },
22
+ },
23
+ },
24
+ DEVNET: {
25
+ params: {
26
+ collectionInterval: 1n * SECONDS_PER_HOUR,
27
+ keywordShares: {
28
+ RewardDistributor: 0n,
29
+ Reserve: 1n,
30
+ },
31
+ },
32
+ },
33
+ EMERYNET: {
34
+ params: {
35
+ collectionInterval: 1n * SECONDS_PER_HOUR,
36
+ keywordShares: {
37
+ RewardDistributor: 0n,
38
+ Reserve: 1n,
39
+ },
40
+ },
41
+ },
42
+ };
43
+
44
+ const { keys } = Object;
45
+ const knownVariants = keys(configurations);
46
+
47
+ /** @type {import('@agoric/deploy-script-support/src/externalTypes.js').CoreEvalBuilder} */
48
+ export const defaultProposalBuilder = async ({ publishRef, install }, opts) => {
49
+ const config = opts.config || configurations[opts.variant];
50
+ console.log('feeDist OPTS', opts, config);
51
+ if (!config) {
52
+ const error = `Unknown variant "${opts.variant}". Expected one of ${knownVariants.join(', ')}`;
53
+ console.error(error);
54
+ throw Error(error);
55
+ }
56
+ const { params } = config;
57
+
58
+ return harden({
59
+ sourceSpec:
60
+ '@agoric/inter-protocol/src/proposals/replace-fee-distributor.js',
61
+ getManifestCall: [
62
+ getManifestForReplaceFeeDistributor.name,
63
+ {
64
+ feeDistributorRef: publishRef(
65
+ install('@agoric/inter-protocol/src/feeDistributor.js'),
66
+ ),
67
+ ...params,
68
+ },
69
+ ],
70
+ });
71
+ };
72
+
73
+ /** @type {import('@agoric/deploy-script-support/src/externalTypes.js').DeployScriptFunction} */
74
+ export default async (homeP, endowments) => {
75
+ const name = 'replace-feeDistributor-combo';
76
+ const opts = parseScriptArgs(endowments, name, knownVariants);
77
+ const { writeCoreEval } = await makeHelpers(homeP, endowments);
78
+
79
+ await writeCoreEval('replace-feeDistributor', utils =>
80
+ defaultProposalBuilder(utils, opts),
81
+ );
82
+ };
@@ -3,12 +3,20 @@ import { getManifestForReplaceFeeDistributor } from '@agoric/inter-protocol/src/
3
3
  import { SECONDS_PER_HOUR } from '@agoric/inter-protocol/src/proposals/econ-behaviors.js';
4
4
 
5
5
  /** @type {import('@agoric/deploy-script-support/src/externalTypes.js').CoreEvalBuilder} */
6
- export const defaultProposalBuilder = async (_, opts) => {
6
+ export const defaultProposalBuilder = async ({ publishRef, install }, opts) => {
7
7
  console.log('feeDist OPTS', opts);
8
8
  return harden({
9
9
  sourceSpec:
10
10
  '@agoric/inter-protocol/src/proposals/replace-fee-distributor.js',
11
- getManifestCall: [getManifestForReplaceFeeDistributor.name, { ...opts }],
11
+ getManifestCall: [
12
+ getManifestForReplaceFeeDistributor.name,
13
+ {
14
+ feeDistributorRef: publishRef(
15
+ install('@agoric/inter-protocol/src/feeDistributor.js'),
16
+ ),
17
+ ...opts,
18
+ },
19
+ ],
12
20
  });
13
21
  };
14
22
 
@@ -14,6 +14,6 @@ export const defaultProposalBuilder = async ({ publishRef, install }) =>
14
14
 
15
15
  /** @type {import('@agoric/deploy-script-support/src/externalTypes.js').DeployScriptFunction} */
16
16
  export default async (homeP, endowments) => {
17
- const { writeCoreProposal } = await makeHelpers(homeP, endowments);
18
- await writeCoreProposal('upgrade-bank', defaultProposalBuilder);
17
+ const { writeCoreEval } = await makeHelpers(homeP, endowments);
18
+ await writeCoreEval('upgrade-bank', defaultProposalBuilder);
19
19
  };
@@ -1,4 +1,4 @@
1
- import { makeHelpers } from '@agoric/deploy-script-support';
1
+ import { makeHelpers, parseScriptArgs } from '@agoric/deploy-script-support';
2
2
  import { getManifestForUpgradingMintHolder } from '@agoric/vats/src/proposals/upgrade-mintHolder-proposal.js';
3
3
 
4
4
  const configurations = {
@@ -94,30 +94,9 @@ export const defaultProposalBuilder = async ({ publishRef, install }, opts) => {
94
94
  });
95
95
  };
96
96
 
97
- const Usage = `agoric run upgrade-mintHolder.js ${[...knownVariants, '<json-config>'].join(' | ')}`;
98
-
99
97
  /** @type {import('@agoric/deploy-script-support/src/externalTypes.js').DeployScriptFunction} */
100
98
  export default async (homeP, endowments) => {
101
- const { scriptArgs } = endowments;
102
- const variantOrConfig = scriptArgs?.[0];
103
- console.log('upgrade-mintHolder', variantOrConfig);
104
-
105
- const opts = {};
106
-
107
- if (typeof variantOrConfig === 'string') {
108
- if (variantOrConfig[0] === '{') {
109
- try {
110
- opts.config = JSON.parse(variantOrConfig);
111
- } catch (err) {
112
- throw Error(`Failed to parse config argument ${variantOrConfig}`);
113
- }
114
- } else {
115
- opts.variant = variantOrConfig;
116
- }
117
- } else {
118
- console.error(Usage);
119
- throw Error(Usage);
120
- }
99
+ const opts = parseScriptArgs(endowments, 'upgrade-mintHolder', knownVariants);
121
100
 
122
101
  const { writeCoreEval } = await makeHelpers(homeP, endowments);
123
102
  await writeCoreEval(`upgrade-mintHolder`, utils =>
@@ -0,0 +1,19 @@
1
+ import { makeHelpers } from '@agoric/deploy-script-support';
2
+
3
+ /** @type {import('@agoric/deploy-script-support/src/externalTypes.js').CoreEvalBuilder} */
4
+ export const defaultProposalBuilder = async ({ publishRef, install }) =>
5
+ harden({
6
+ sourceSpec: '@agoric/vats/src/proposals/upgrade-psm-proposal.js',
7
+ getManifestCall: [
8
+ 'getManifestForUpgradingPSM',
9
+ {
10
+ psmRef: publishRef(install('@agoric/inter-protocol/src/psm/psm.js')),
11
+ },
12
+ ],
13
+ });
14
+
15
+ /** @type {import('@agoric/deploy-script-support/src/externalTypes.js').DeployScriptFunction} */
16
+ export default async (homeP, endowments) => {
17
+ const { writeCoreEval } = await makeHelpers(homeP, endowments);
18
+ await writeCoreEval('upgrade-psm', defaultProposalBuilder);
19
+ };