@agoric/vats 0.16.0-upgrade-16-dev-12b78e3.0 → 0.16.0-upgrade-17-dev-a61cdab.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.
Files changed (93) hide show
  1. package/CHANGELOG.md +21 -15
  2. package/package.json +27 -26
  3. package/src/bridge-target.d.ts +4 -0
  4. package/src/bridge-target.d.ts.map +1 -1
  5. package/src/bridge-target.js +5 -8
  6. package/src/bridge.d.ts +1 -0
  7. package/src/bridge.d.ts.map +1 -1
  8. package/src/bridge.js +21 -1
  9. package/src/core/basic-behaviors.d.ts +10 -22
  10. package/src/core/basic-behaviors.d.ts.map +1 -1
  11. package/src/core/basic-behaviors.js +17 -26
  12. package/src/core/boot-chain.d.ts +22 -50
  13. package/src/core/boot-chain.d.ts.map +1 -1
  14. package/src/core/boot-sim.d.ts +4 -4
  15. package/src/core/boot-solo.d.ts +4 -4
  16. package/src/core/chain-behaviors.d.ts +4 -20
  17. package/src/core/chain-behaviors.d.ts.map +1 -1
  18. package/src/core/chain-behaviors.js +22 -30
  19. package/src/core/client-behaviors.d.ts.map +1 -1
  20. package/src/core/client-behaviors.js +7 -3
  21. package/src/core/demoIssuers.d.ts +1 -5
  22. package/src/core/demoIssuers.d.ts.map +1 -1
  23. package/src/core/demoIssuers.js +6 -6
  24. package/src/core/lib-boot.d.ts +8 -4
  25. package/src/core/lib-boot.d.ts.map +1 -1
  26. package/src/core/lib-boot.js +3 -2
  27. package/src/core/types-ambient.d.ts +39 -5
  28. package/src/core/utils.d.ts +4 -4
  29. package/src/core/utils.d.ts.map +1 -1
  30. package/src/core/utils.js +1 -2
  31. package/src/ibc.d.ts.map +1 -1
  32. package/src/ibc.js +31 -17
  33. package/src/lib-board.d.ts +2 -5
  34. package/src/lib-board.d.ts.map +1 -1
  35. package/src/lib-board.js +2 -5
  36. package/src/localchain.d.ts +46 -22
  37. package/src/localchain.d.ts.map +1 -1
  38. package/src/localchain.js +39 -22
  39. package/src/nameHub.d.ts.map +1 -1
  40. package/src/nameHub.js +2 -4
  41. package/src/priceAuthorityRegistry.d.ts.map +1 -1
  42. package/src/priceAuthorityRegistry.js +4 -4
  43. package/src/proposals/localchain-proposal.d.ts +0 -1
  44. package/src/proposals/localchain-proposal.d.ts.map +1 -1
  45. package/src/proposals/localchain-proposal.js +5 -4
  46. package/src/proposals/localchain-test.js +3 -3
  47. package/src/proposals/network-proposal.d.ts +0 -20
  48. package/src/proposals/network-proposal.d.ts.map +1 -1
  49. package/src/proposals/network-proposal.js +2 -8
  50. package/src/proposals/restart-vats-proposal.js +1 -1
  51. package/src/proposals/transfer-proposal.d.ts +0 -4
  52. package/src/proposals/transfer-proposal.d.ts.map +1 -1
  53. package/src/proposals/transfer-proposal.js +2 -7
  54. package/src/proposals/upgrade-bank-proposal.d.ts +27 -0
  55. package/src/proposals/upgrade-bank-proposal.d.ts.map +1 -0
  56. package/src/proposals/upgrade-bank-proposal.js +42 -0
  57. package/src/proposals/upgrade-orch-core-proposal.d.ts +29 -0
  58. package/src/proposals/upgrade-orch-core-proposal.d.ts.map +1 -0
  59. package/src/proposals/upgrade-orch-core-proposal.js +43 -0
  60. package/src/proposals/upgrade-provisionPool-proposal.d.ts +27 -0
  61. package/src/proposals/upgrade-provisionPool-proposal.d.ts.map +1 -0
  62. package/src/proposals/upgrade-provisionPool-proposal.js +69 -0
  63. package/src/proposals/upgrade-zoe-proposal.d.ts +0 -1
  64. package/src/proposals/upgrade-zoe-proposal.d.ts.map +1 -1
  65. package/src/proposals/upgrade-zoe-proposal.js +1 -1
  66. package/src/transfer.d.ts +7 -3
  67. package/src/transfer.d.ts.map +1 -1
  68. package/src/transfer.js +4 -3
  69. package/src/types.d.ts +49 -10
  70. package/src/vat-bank.d.ts.map +1 -1
  71. package/src/vat-bank.js +7 -7
  72. package/src/vat-board.d.ts +4 -4
  73. package/src/vat-board.d.ts.map +1 -1
  74. package/src/vat-bridge.d.ts.map +1 -1
  75. package/src/vat-bridge.js +1 -1
  76. package/src/vat-localchain.d.ts +16 -4
  77. package/src/vat-localchain.d.ts.map +1 -1
  78. package/src/vat-network.d.ts +4 -4
  79. package/src/vat-network.d.ts.map +1 -1
  80. package/src/vat-network.js +3 -1
  81. package/src/vat-transfer.d.ts +2 -2
  82. package/src/vat-transfer.d.ts.map +1 -1
  83. package/src/vat-zoe.d.ts +3 -2
  84. package/src/vat-zoe.d.ts.map +1 -1
  85. package/src/vat-zoe.js +2 -0
  86. package/src/virtual-purse.d.ts.map +1 -1
  87. package/src/virtual-purse.js +28 -9
  88. package/tools/bank-utils.d.ts.map +1 -1
  89. package/tools/boot-test-utils.d.ts.map +1 -1
  90. package/tools/boot-test-utils.js +6 -4
  91. package/tools/fake-bridge.d.ts +10 -0
  92. package/tools/fake-bridge.d.ts.map +1 -1
  93. package/tools/fake-bridge.js +145 -31
package/CHANGELOG.md CHANGED
@@ -3,20 +3,12 @@
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.16.0-u16.1](https://github.com/Agoric/agoric-sdk/compare/@agoric/vats@0.16.0-u16.0...@agoric/vats@0.16.0-u16.1) (2024-07-10)
7
-
8
-
9
- ### Bug Fixes
10
-
11
- * adopt `VTRANSFER_IBC_EVENT` as an action-type ([#9671](https://github.com/Agoric/agoric-sdk/issues/9671)) ([67569d4](https://github.com/Agoric/agoric-sdk/commit/67569d4a2461c5415b3cc33f5faee9070f8d3c2e)), closes [#9670](https://github.com/Agoric/agoric-sdk/issues/9670)
12
-
13
-
14
-
15
- ## [0.16.0-u16.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/vats@0.15.1...@agoric/vats@0.16.0-u16.0) (2024-07-02)
6
+ ## [0.16.0-u17.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/vats@0.15.1...@agoric/vats@0.16.0-u17.0) (2024-09-17)
16
7
 
17
8
 
18
9
  ### ⚠ BREAKING CHANGES
19
10
 
11
+ * **solo:** remove `sim-chain` dependency
20
12
  * **network:** improve naming and data coercion
21
13
  * **localchain:** make `localchain.query` and `queryMany` useful
22
14
  * make Network and IBC vats durable (#8721)
@@ -26,6 +18,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
26
18
 
27
19
  * add upgrade zcf only proposal ([73e0bb8](https://github.com/Agoric/agoric-sdk/commit/73e0bb830e7612e74c8fb510b909db154d2b2219))
28
20
  * **cosmos:** wire new swingset port handler ([ea582bf](https://github.com/Agoric/agoric-sdk/commit/ea582bf7738f82d0abe5529ee1ac9f2e117c957a))
21
+ * export fakeLocalChainBridgeTxHandler ([7cd5c43](https://github.com/Agoric/agoric-sdk/commit/7cd5c43a6571454751b66e2f218c72cc6e1a8ef5))
29
22
  * fake bank bridge ([9abd093](https://github.com/Agoric/agoric-sdk/commit/9abd0931182993545504f9f264440052128756e8))
30
23
  * getBridgeId on ScopedBridgeManager ([aec4dea](https://github.com/Agoric/agoric-sdk/commit/aec4dea4f4d6baca3ea32c33551ba00658eab31b))
31
24
  * **ibc:** add types for IBCEvent, IBCMethod, IBCDowncall, and IBCDowncallPacket ([54fc93c](https://github.com/Agoric/agoric-sdk/commit/54fc93c1362d9131ec0803abea785ad303757e43))
@@ -40,25 +33,32 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
40
33
  * **localchain:** add withdraw facet to localChainAccount ([da20cb6](https://github.com/Agoric/agoric-sdk/commit/da20cb66244d0ce21009ba62f44f7ed3eedec16c))
41
34
  * **localchain:** make `localchain.query` and `queryMany` useful ([41209d5](https://github.com/Agoric/agoric-sdk/commit/41209d5b7c1de478d3f2ae709558e3e535c4ad8d))
42
35
  * **localchain:** per-account interception of `vtransfer` ([07e6d87](https://github.com/Agoric/agoric-sdk/commit/07e6d876548bdc5a11078b30f22dc88df28c649f))
36
+ * localOrchAccount.getBalance queries non-vbank assets ([1938ecd](https://github.com/Agoric/agoric-sdk/commit/1938ecd5e13fcbacb4ccba21e68cca5b78528bfa))
43
37
  * make Network and IBC vats durable ([#8721](https://github.com/Agoric/agoric-sdk/issues/8721)) ([3d13c09](https://github.com/Agoric/agoric-sdk/commit/3d13c09363013e23726c2ac5fa299a8e5344fd8c))
44
- * make vat-localchain resumable ([6bd6938](https://github.com/Agoric/agoric-sdk/commit/6bd69389b8d45b2eb94bee93ef58e103ddb7687e))
38
+ * make vat-localchain resumable ([76c17c6](https://github.com/Agoric/agoric-sdk/commit/76c17c68d2f616fc153234a7a64a9e1a56a90ac4))
45
39
  * new 'boot' package with bootstrap configs ([8e3173b](https://github.com/Agoric/agoric-sdk/commit/8e3173b0b86a3dc90b31164bc4272c54e46a6641))
46
40
  * **orchestration:** add stakeAtom example contract ([82f1901](https://github.com/Agoric/agoric-sdk/commit/82f1901ec6ecf5a802a72023d033609deeb053e1))
47
- * repair KREAd contract on zoe upgrade ([14040d4](https://github.com/Agoric/agoric-sdk/commit/14040d4fb2a1fcc8687e26ed9208d9824c579876))
41
+ * **orchestration:** localChainAccountKit returns unwrapped vows ([33085ff](https://github.com/Agoric/agoric-sdk/commit/33085ffa9fd001d5048df205897b6ec25004ce44))
42
+ * repair KREAd contract on zoe upgrade ([84dd229](https://github.com/Agoric/agoric-sdk/commit/84dd2297eb74061b809a11bba3c2d2c5c697219f))
48
43
  * **repl:** deal with Vows ([6991c7b](https://github.com/Agoric/agoric-sdk/commit/6991c7bad9d97900c91d6783049352e361369159))
44
+ * **smart-wallet:** accept `Vow` for offerResult ([933ab29](https://github.com/Agoric/agoric-sdk/commit/933ab299ee30c14530f92a9548fd79a35de3d0ff)), closes [#9308](https://github.com/Agoric/agoric-sdk/issues/9308)
49
45
  * stakeBld contract ([a7e30a4](https://github.com/Agoric/agoric-sdk/commit/a7e30a4e43c00b2916d2d57c70063650e726321f))
50
46
  * start fn upgradability by meta ([5ae46e4](https://github.com/Agoric/agoric-sdk/commit/5ae46e485b8f3b643cb57c45abdb75a94657d60c))
51
47
  * support `coreProposals.steps` ([80fa3d1](https://github.com/Agoric/agoric-sdk/commit/80fa3d14494706d825f51ac22e1bbf4ec68ce404))
48
+ * **swingset-liveslots:** endow passStyleOf to liveslots guest compartment ([#9874](https://github.com/Agoric/agoric-sdk/issues/9874)) ([b6c58f2](https://github.com/Agoric/agoric-sdk/commit/b6c58f297e8f902f046cc2c71fe7f6162fe0c76d)), closes [#9431](https://github.com/Agoric/agoric-sdk/issues/9431) [#9431](https://github.com/Agoric/agoric-sdk/issues/9431) [#9781](https://github.com/Agoric/agoric-sdk/issues/9781) [#9431](https://github.com/Agoric/agoric-sdk/issues/9431) [#9431](https://github.com/Agoric/agoric-sdk/issues/9431)
52
49
  * typedJson ([cd151b7](https://github.com/Agoric/agoric-sdk/commit/cd151b71d5a66d4a86e04a1af104fca277058836))
53
50
  * **types:** ContractMeta ([9d02dfa](https://github.com/Agoric/agoric-sdk/commit/9d02dfab2cc2c24ed9b15a6aa8bc5fba7d6c9fe0))
54
51
  * **types:** coreEvalEnv ([3764eee](https://github.com/Agoric/agoric-sdk/commit/3764eeea9a391b5dc6c9c7a21e430f358b8f7476))
55
52
  * **types:** explicit exports from network ([65c2075](https://github.com/Agoric/agoric-sdk/commit/65c2075021dfb0ecf62a6009f7c411c7c49eb624))
56
53
  * **types:** generic return for executeTx ([dfc830b](https://github.com/Agoric/agoric-sdk/commit/dfc830bcf5f1997a5aebd23c407aa8f1a7d52083))
54
+ * **types:** loadVat WellKnownVats ([efdf39f](https://github.com/Agoric/agoric-sdk/commit/efdf39f9c839cb26fe6035c9ce433e2bfdb651a1))
57
55
  * **types:** parameterize NameHub ([6110c6a](https://github.com/Agoric/agoric-sdk/commit/6110c6a544ec8a37de86d462c032611651f8e459))
58
56
  * **types:** WellKnownSpaces['instance'] ([72b3b76](https://github.com/Agoric/agoric-sdk/commit/72b3b763b2f1fdf0c4608d0601a19fd2f3a16709))
57
+ * **undelegate:** use Timestamp instead of Date ([3d4ab30](https://github.com/Agoric/agoric-sdk/commit/3d4ab30008da2200c39426e4dcb07701d7999f99))
59
58
  * **vat-transfer:** first cut at working proposal ([2864bd5](https://github.com/Agoric/agoric-sdk/commit/2864bd5c12300c3595df9676bcfde894dbe59b29))
60
59
  * **vats:** `BRIDGE_TARGET_REGISTER` and `BRIDGE_TARGET_UNREGISTER` ([badf695](https://github.com/Agoric/agoric-sdk/commit/badf6958dcfb602cf5992afd4ba1f0dc602fccd5))
61
60
  * **vats:** provide init-localchain ([19e5aed](https://github.com/Agoric/agoric-sdk/commit/19e5aed4e8a2aad667c04023e0aea01712ff9b9c))
61
+ * **vats:** upgrade the orchestration core ([c2d9530](https://github.com/Agoric/agoric-sdk/commit/c2d9530e2d891bd9412969a43a9c5728cc3c2721))
62
62
  * vault performance benchmark ([57cea7d](https://github.com/Agoric/agoric-sdk/commit/57cea7da3773b038683b1ceced27428afe948561))
63
63
  * **vlocalchain:** generalise tx and query implementation ([1bffe84](https://github.com/Agoric/agoric-sdk/commit/1bffe84890f1d159301f9facea2eed13cf6cdf34))
64
64
  * Zoe use watchPromise() to wait for contract finish ([#8453](https://github.com/Agoric/agoric-sdk/issues/8453)) ([6388a00](https://github.com/Agoric/agoric-sdk/commit/6388a002b53593f17a8d936d4e937efb7d065d97))
@@ -67,21 +67,27 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
67
67
 
68
68
  ### Bug Fixes
69
69
 
70
+ * adopt `VTRANSFER_IBC_EVENT` as an action-type ([#9671](https://github.com/Agoric/agoric-sdk/issues/9671)) ([217005a](https://github.com/Agoric/agoric-sdk/commit/217005a921dcac6928c999e6bfe06330a5947ac5)), closes [#9670](https://github.com/Agoric/agoric-sdk/issues/9670)
70
71
  * eliminate the `passableEncoding` hack ([87dbbda](https://github.com/Agoric/agoric-sdk/commit/87dbbda8484c6fe3fe542eb847647fd1540c11e6)), closes [#8327](https://github.com/Agoric/agoric-sdk/issues/8327)
71
- * endow with original unstructured `assert` ([#9514](https://github.com/Agoric/agoric-sdk/issues/9514)) ([ce64840](https://github.com/Agoric/agoric-sdk/commit/ce64840f599ee7b73cbe455cc41eecec3464430a)), closes [#9515](https://github.com/Agoric/agoric-sdk/issues/9515) [#5672](https://github.com/Agoric/agoric-sdk/issues/5672) [#8332](https://github.com/Agoric/agoric-sdk/issues/8332) [#9513](https://github.com/Agoric/agoric-sdk/issues/9513) [#5672](https://github.com/Agoric/agoric-sdk/issues/5672) [#8332](https://github.com/Agoric/agoric-sdk/issues/8332) [#9513](https://github.com/Agoric/agoric-sdk/issues/9513) [#9515](https://github.com/Agoric/agoric-sdk/issues/9515) [#5672](https://github.com/Agoric/agoric-sdk/issues/5672) [#5672](https://github.com/Agoric/agoric-sdk/issues/5672) [#9513](https://github.com/Agoric/agoric-sdk/issues/9513) [#9513](https://github.com/Agoric/agoric-sdk/issues/9513)
72
+ * endow with original unstructured `assert` ([#9514](https://github.com/Agoric/agoric-sdk/issues/9514)) ([f908f89](https://github.com/Agoric/agoric-sdk/commit/f908f89186162df83b540f6aeb1f4c665c3a56b4)), closes [#9515](https://github.com/Agoric/agoric-sdk/issues/9515) [#5672](https://github.com/Agoric/agoric-sdk/issues/5672) [#8332](https://github.com/Agoric/agoric-sdk/issues/8332) [#9513](https://github.com/Agoric/agoric-sdk/issues/9513) [#5672](https://github.com/Agoric/agoric-sdk/issues/5672) [#8332](https://github.com/Agoric/agoric-sdk/issues/8332) [#9513](https://github.com/Agoric/agoric-sdk/issues/9513) [#9515](https://github.com/Agoric/agoric-sdk/issues/9515) [#5672](https://github.com/Agoric/agoric-sdk/issues/5672) [#5672](https://github.com/Agoric/agoric-sdk/issues/5672) [#9513](https://github.com/Agoric/agoric-sdk/issues/9513) [#9513](https://github.com/Agoric/agoric-sdk/issues/9513)
72
73
  * ensure script main rejections exit with error ([abdab87](https://github.com/Agoric/agoric-sdk/commit/abdab879014a5c3124ebd0e9246995ac6b1ce6e5))
73
74
  * **fake-bridge:** use when to handle vows ([8907806](https://github.com/Agoric/agoric-sdk/commit/89078060abeece36ad23edcdc9067be49e463139))
74
- * **localchain:** `callWhen`s return `PromiseVow` ([59f2de0](https://github.com/Agoric/agoric-sdk/commit/59f2de0245102178754c7f10dd67f3e675bcd7a7))
75
- * **localchain:** work around TypeScript mapped tuple bug ([fa64af9](https://github.com/Agoric/agoric-sdk/commit/fa64af9ef23b4d7f76f0b8e9051c7190a1d9839f))
75
+ * **localchain:** `callWhen`s return `PromiseVow` ([b5cf8bd](https://github.com/Agoric/agoric-sdk/commit/b5cf8bd51585df36a72b65d7a1d66babd358b316))
76
+ * **localchain:** work around TypeScript mapped tuple bug ([90e062c](https://github.com/Agoric/agoric-sdk/commit/90e062c3adb5b666ff21a73e1b3c3cddff37c966))
77
+ * many typing improvements ([777eb21](https://github.com/Agoric/agoric-sdk/commit/777eb21a20fbff3da93d713dc1b95a01fe6ce472))
76
78
  * **nameHub:** void some floating promises ([70aa007](https://github.com/Agoric/agoric-sdk/commit/70aa00797ca9ee3a5544ddaf703fda986f8a9a58))
77
79
  * **network:** Connection should have negotiated remoteAddress and localAddress ([2184ea3](https://github.com/Agoric/agoric-sdk/commit/2184ea3d655c1334653e27d163a09ceb5f61fd50)), closes [#9064](https://github.com/Agoric/agoric-sdk/issues/9064)
78
80
  * **network:** create and use `coerceToData` ([39beecb](https://github.com/Agoric/agoric-sdk/commit/39beecba84ef6dfafca902a28a651dbba77cdb1e))
79
81
  * **network:** improve naming and data coercion ([8bcd9e2](https://github.com/Agoric/agoric-sdk/commit/8bcd9e2100f4973fd788a6edf42c144d916c173d))
82
+ * **network:** introduce `Finalizer` to close network ([54b9b00](https://github.com/Agoric/agoric-sdk/commit/54b9b009fff3fd3ab54f731adee97195acaa238f))
80
83
  * **network:** use vow types, correct revealed problems ([d1c1240](https://github.com/Agoric/agoric-sdk/commit/d1c1240bcf534a316533d4c203f45f01fdfc825d))
84
+ * parseQueryPacket should use ResponseQuery.toJSON ([0bd7161](https://github.com/Agoric/agoric-sdk/commit/0bd7161125b9cef2f44cc47feddf3e6fbc75e5a0))
81
85
  * **provisioning:** don't use disconnected namesByAddress ([84d74dd](https://github.com/Agoric/agoric-sdk/commit/84d74dd22a8fb2ec274c293d5de0078e0a9359a0))
82
86
  * repair storage of zcfBundleCap and add a3p test ([72c7574](https://github.com/Agoric/agoric-sdk/commit/72c75740aff920ffb53231441d0f00a8747400f1))
87
+ * **solo:** remove `sim-chain` dependency ([da75a03](https://github.com/Agoric/agoric-sdk/commit/da75a03f95828d773fa3f662d30f0e221030c2ca))
83
88
  * **types:** board ([c73f4f9](https://github.com/Agoric/agoric-sdk/commit/c73f4f9686215a37e8c5f82ce8dbe4742886a02b))
84
89
  * **types:** board values ([4196da3](https://github.com/Agoric/agoric-sdk/commit/4196da375525fa67382a039a15973810db44ffea))
90
+ * **types:** deposit accepts ERef ([0242e09](https://github.com/Agoric/agoric-sdk/commit/0242e096730bc3857cd88f76156f9f55e727e210))
85
91
  * **types:** errors detected with libcheck ([077240b](https://github.com/Agoric/agoric-sdk/commit/077240b3f205151b97afc61a4615cf3a83d6f9a3))
86
92
  * **types:** problems hidden by skipLibCheck ([6a6e595](https://github.com/Agoric/agoric-sdk/commit/6a6e59549e7beeeef94bf90556ed16873c46d285))
87
93
  * **types:** template syntax ([279b903](https://github.com/Agoric/agoric-sdk/commit/279b903a559710511d69f1614badddeab801b90d))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/vats",
3
- "version": "0.16.0-upgrade-16-dev-12b78e3.0+12b78e3",
3
+ "version": "0.16.0-upgrade-17-dev-a61cdab.0+a61cdab",
4
4
  "description": "Agoric's Vat library",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -22,33 +22,34 @@
22
22
  "author": "Agoric",
23
23
  "license": "Apache-2.0",
24
24
  "dependencies": {
25
- "@agoric/assert": "0.6.1-upgrade-16-dev-12b78e3.0+12b78e3",
26
- "@agoric/cosmic-proto": "0.4.1-upgrade-16-dev-12b78e3.0+12b78e3",
27
- "@agoric/ertp": "0.16.3-upgrade-16-dev-12b78e3.0+12b78e3",
28
- "@agoric/governance": "0.10.4-upgrade-16-dev-12b78e3.0+12b78e3",
29
- "@agoric/internal": "0.4.0-upgrade-16-dev-12b78e3.0+12b78e3",
30
- "@agoric/network": "0.2.0-upgrade-16-dev-12b78e3.0+12b78e3",
31
- "@agoric/notifier": "0.7.0-upgrade-16-dev-12b78e3.0+12b78e3",
32
- "@agoric/store": "0.9.3-upgrade-16-dev-12b78e3.0+12b78e3",
33
- "@agoric/swingset-vat": "0.33.0-upgrade-16-dev-12b78e3.0+12b78e3",
34
- "@agoric/time": "0.3.3-upgrade-16-dev-12b78e3.0+12b78e3",
35
- "@agoric/vat-data": "0.5.3-upgrade-16-dev-12b78e3.0+12b78e3",
36
- "@agoric/vow": "0.2.0-upgrade-16-dev-12b78e3.0+12b78e3",
37
- "@agoric/zoe": "0.26.3-upgrade-16-dev-12b78e3.0+12b78e3",
38
- "@agoric/zone": "0.3.0-upgrade-16-dev-12b78e3.0+12b78e3",
39
- "@endo/far": "^1.1.2",
40
- "@endo/import-bundle": "^1.1.2",
41
- "@endo/marshal": "^1.5.0",
42
- "@endo/nat": "^5.0.7",
43
- "@endo/patterns": "^1.4.0",
44
- "@endo/promise-kit": "^1.1.2",
25
+ "@agoric/cosmic-proto": "0.5.0-upgrade-17-dev-a61cdab.0+a61cdab",
26
+ "@agoric/ertp": "0.16.3-upgrade-17-dev-a61cdab.0+a61cdab",
27
+ "@agoric/governance": "0.10.4-upgrade-17-dev-a61cdab.0+a61cdab",
28
+ "@agoric/internal": "0.4.0-upgrade-17-dev-a61cdab.0+a61cdab",
29
+ "@agoric/network": "0.2.0-upgrade-17-dev-a61cdab.0+a61cdab",
30
+ "@agoric/notifier": "0.7.0-upgrade-17-dev-a61cdab.0+a61cdab",
31
+ "@agoric/store": "0.9.3-upgrade-17-dev-a61cdab.0+a61cdab",
32
+ "@agoric/swingset-vat": "0.33.0-upgrade-17-dev-a61cdab.0+a61cdab",
33
+ "@agoric/time": "0.3.3-upgrade-17-dev-a61cdab.0+a61cdab",
34
+ "@agoric/vat-data": "0.5.3-upgrade-17-dev-a61cdab.0+a61cdab",
35
+ "@agoric/vow": "0.2.0-upgrade-17-dev-a61cdab.0+a61cdab",
36
+ "@agoric/zoe": "0.26.3-upgrade-17-dev-a61cdab.0+a61cdab",
37
+ "@agoric/zone": "0.3.0-upgrade-17-dev-a61cdab.0+a61cdab",
38
+ "@endo/errors": "^1.2.5",
39
+ "@endo/far": "^1.1.5",
40
+ "@endo/import-bundle": "^1.2.2",
41
+ "@endo/marshal": "^1.5.3",
42
+ "@endo/nat": "^5.0.10",
43
+ "@endo/pass-style": "^1.4.3",
44
+ "@endo/patterns": "^1.4.3",
45
+ "@endo/promise-kit": "^1.1.5",
45
46
  "import-meta-resolve": "^2.2.1",
46
47
  "jessie.js": "^0.3.4"
47
48
  },
48
49
  "devDependencies": {
49
- "@agoric/swingset-liveslots": "0.10.3-upgrade-16-dev-12b78e3.0+12b78e3",
50
- "@endo/bundle-source": "^3.2.3",
51
- "@endo/init": "^1.1.2",
50
+ "@agoric/swingset-liveslots": "0.10.3-upgrade-17-dev-a61cdab.0+a61cdab",
51
+ "@endo/bundle-source": "^3.4.0",
52
+ "@endo/init": "^1.1.4",
52
53
  "ava": "^5.3.0",
53
54
  "c8": "^9.1.0"
54
55
  },
@@ -76,7 +77,7 @@
76
77
  "workerThreads": false
77
78
  },
78
79
  "typeCoverage": {
79
- "atLeast": 91.21
80
+ "atLeast": 91.51
80
81
  },
81
- "gitHead": "12b78e307e22d0dc0c95f40099300e16655781c4"
82
+ "gitHead": "a61cdabb23bd2c846e003dee7326018a7462a929"
82
83
  }
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @typedef {any} MostlyPureData ideally should be PureData, but that type is
3
+ * too restrictive to work out-of-the-box.
4
+ */
1
5
  /**
2
6
  * @typedef {object} TargetApp an object representing the app that receives
3
7
  * upcalls from the low-level TargetHost on the other side of a bridge
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-target.d.ts","sourceRoot":"","sources":["bridge-target.js"],"names":[],"mappings":"AAYA;;;;;GAKG;AAEH;;GAEG;AAEH;;;;;GAKG;AAEH;;GAEG;AAEH;;;;;;;;;;;GAWG;AAEH;;GAOG;AAEH;;;;;;;;;;GAUG;AAEH;;;GAGG;AA4BI,gDADK,OAAO,mBAAmB,EAAE,IAAI;IAiBtC;;;;OAIG;yBADQ,SAAS;IAapB,0CAA0C;;GAW7C;AAyBI,6CAHI,OAAO,mBAAmB,EAAE,IAAI,0BAChC,UAAU,CAAC,OAAO,yBAAyB,CAAC;;;;;;;;QA6C/C;;;;;;;;WAQG;yBALQ,MAAM,OACN,SAAS,iCAEP,OAAO,CAAC,kBAAkB,CAAC;QAoCxC;;;;;;;WAOG;2BAJQ,MAAM,OACN,SAAS,iCAEP,OAAO,CAAC,IAAI,CAAC;QAyB1B;;;;;;WAMG;2BAFQ,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC;;GAc/B;AAII,gDADK,OAAO,mBAAmB,EAAE,IAAI;;;;;;;;;YA/FpC;;;;;;;;eAQG;6BALQ,MAAM,OACN,SAAS,iCAEP,OAAO,CAAC,kBAAkB,CAAC;YAoCxC;;;;;;;eAOG;+BAJQ,MAAM,OACN,SAAS,iCAEP,OAAO,CAAC,IAAI,CAAC;YAyB1B;;;;;;eAMG;+BAFQ,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC;;;EA0BjC;;;;;6BApTY,GAAG;;;;;;;;;mBASF,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC;;;;;;;;;;kBAWhD,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC;;;;;;;;;;aAchD,CACb,GAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EACxB,UAAc,EAAE,IAAI,CAAC,UAAU,CAAC,EAChC,GAAO,IAAI,EAAE,OAAO,EAAE,KACf,IAAI,CAAC,SAAS,CAAC;;;;;;;;;;;;;YAiBT,MAAM,OAAO,CAAC,IAAI,CAAC;;;;;qBAEnB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;;;cAY7C,CACb,MAAU,EAAE,MAAM,EAClB,SAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAC9B,IAAQ,CAAC,EAAE,OAAO,EAAE,KACb,OAAO,CAAC,kBAAkB,CAAC;gBACrB,CACb,MAAU,EAAE,MAAM,EAClB,SAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAC9B,IAAQ,CAAC,EAAE,OAAO,EAAE,KACb,OAAO,CAAC,IAAI,CAAC;gBACP,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"bridge-target.d.ts","sourceRoot":"","sources":["bridge-target.js"],"names":[],"mappings":"AAMA;;;GAGG;AAEH;;;;;GAKG;AAEH;;GAEG;AAEH;;;;;GAKG;AAEH;;GAEG;AAEH;;;;;;;;;;;GAWG;AAEH;;GAOG;AAEH;;;;;;;;;;GAUG;AAEH;;;GAGG;AA4BI,gDADK,OAAO,mBAAmB,EAAE,IAAI;IAiBtC;;;;OAIG;yBADQ,SAAS;IAapB,0CAA0C;;GAW7C;AAyBI,6CAHI,OAAO,mBAAmB,EAAE,IAAI,0BAChC,UAAU,CAAC,OAAO,yBAAyB,CAAC;;;;;;;;QA6C/C;;;;;;;;WAQG;yBALQ,MAAM,OACN,SAAS,iCAEP,OAAO,CAAC,kBAAkB,CAAC;QAkCxC;;;;;;;WAOG;2BAJQ,MAAM,OACN,SAAS,iCAEP,OAAO,CAAC,IAAI,CAAC;QAyB1B;;;;;;WAMG;2BAFQ,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC;;GAc/B;AAII,gDADK,OAAO,mBAAmB,EAAE,IAAI;;;;;;;;;YA7FpC;;;;;;;;eAQG;6BALQ,MAAM,OACN,SAAS,iCAEP,OAAO,CAAC,kBAAkB,CAAC;YAkCxC;;;;;;;eAOG;+BAJQ,MAAM,OACN,SAAS,iCAEP,OAAO,CAAC,IAAI,CAAC;YAyB1B;;;;;;eAMG;+BAFQ,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC;;;EA0BjC;;;;;6BAhTY,GAAG;;;;;;;;;mBAOF,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC;;;;;;;;;;kBAWhD,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC;;;;;;;;;;aAchD,CACb,GAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EACxB,UAAc,EAAE,IAAI,CAAC,UAAU,CAAC,EAChC,GAAO,IAAI,EAAE,OAAO,EAAE,KACf,IAAI,CAAC,SAAS,CAAC;;;;;;;;;;;;;YAiBT,MAAM,OAAO,CAAC,IAAI,CAAC;;;;;qBAEnB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;;;cAY7C,CACb,MAAU,EAAE,MAAM,EAClB,SAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAC9B,IAAQ,CAAC,EAAE,OAAO,EAAE,KACb,OAAO,CAAC,kBAAkB,CAAC;gBACrB,CACb,MAAU,EAAE,MAAM,EAClB,SAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAC9B,IAAQ,CAAC,EAAE,OAAO,EAAE,KACb,OAAO,CAAC,IAAI,CAAC;gBACP,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { X, Fail, makeError } from '@endo/errors';
1
2
  import { E } from '@endo/far';
2
3
  import { M } from '@endo/patterns';
3
4
 
@@ -8,8 +9,6 @@ import { BridgeHandlerI } from './bridge.js';
8
9
  * too restrictive to work out-of-the-box.
9
10
  */
10
11
 
11
- const { details: X, Fail } = assert;
12
-
13
12
  /**
14
13
  * @typedef {object} TargetApp an object representing the app that receives
15
14
  * upcalls from the low-level TargetHost on the other side of a bridge
@@ -232,11 +231,9 @@ export const prepareBridgeTargetKit = (zone, makeTargetRegistration) =>
232
231
  try {
233
232
  targetToApp.init(target, wrappedApp);
234
233
  } catch (cause) {
235
- throw assert.error(
236
- X`Target ${target} already registered`,
237
- undefined,
238
- { cause },
239
- );
234
+ throw makeError(X`Target ${target} already registered`, undefined, {
235
+ cause,
236
+ });
240
237
  }
241
238
 
242
239
  await E(targetHost).sendDowncall({
@@ -274,7 +271,7 @@ export const prepareBridgeTargetKit = (zone, makeTargetRegistration) =>
274
271
  try {
275
272
  targetToApp.set(target, wrappedApp);
276
273
  } catch (cause) {
277
- throw assert.error(
274
+ throw makeError(
278
275
  X`Target ${target} is already unregistered`,
279
276
  undefined,
280
277
  { cause },
package/src/bridge.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export function makeScopedBridge<BridgeId extends import("@agoric/internal").BridgeIdValue>(bridgeManager: ERef<import("./types.js").BridgeManager>, bridgeIdValue: BridgeId, handler?: import("@agoric/internal").Remote<import("./types.js").BridgeHandler, {}> | undefined): Promise<import("./types.js").ScopedBridgeManager<BridgeId>>;
1
2
  export const BridgeHandlerI: import("@endo/patterns").InterfaceGuard<{
2
3
  fromBridge: import("@endo/patterns").MethodGuard;
3
4
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["bridge.js"],"names":[],"mappings":"AAKA;;GAEG;AAEH;;;;;GAKG;AAEH;;GAIG;AAmEI,2CAHI,OAAO,cAAc,EAAE,IAAI,KAC3B,MAAM,kBAuFJ,YAAY,KACV,OAAO,YAAY,EAAE,aAAa,CA2BhD"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["bridge.js"],"names":[],"mappings":"AAoBO,iCARiD,QAAQ,SAAnD,OAAQ,kBAAkB,EAAE,aAAc,iBAC5C,IAAI,CAAC,OAAO,YAAY,EAAE,aAAa,CAAC,iBACxC,QAAQ,oGAIN,OAAO,CAAC,OAAO,YAAY,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAKrE;AAEH;;GAEG;AAEH;;;;;GAKG;AAEH;;GAIG;AAmEI,2CAHI,OAAO,cAAc,EAAE,IAAI,KAC3B,MAAM,kBAuFJ,YAAY,KACV,OAAO,YAAY,EAAE,aAAa,CA2BhD"}
package/src/bridge.js CHANGED
@@ -1,7 +1,27 @@
1
+ import { Fail, X } from '@endo/errors';
1
2
  import { M } from '@agoric/store';
2
3
  import { E } from '@endo/far';
3
4
 
4
- const { Fail, details: X } = assert;
5
+ /**
6
+ * Helper to type the registered scoped bridge correctly.
7
+ *
8
+ * FIXME: This is needed because `register` is not an async function, so
9
+ * `E(x).register` needs to reconstruct its return value as a Promise, which
10
+ * loses the function's genericity. If `register` was async, we could use its
11
+ * type directly, and it would remain generic.
12
+ *
13
+ * @template {import('@agoric/internal').BridgeIdValue} BridgeId
14
+ * @param {ERef<import('./types.js').BridgeManager>} bridgeManager
15
+ * @param {BridgeId} bridgeIdValue
16
+ * @param {import('@agoric/internal').Remote<
17
+ * import('./types.js').BridgeHandler
18
+ * >} [handler]
19
+ * @returns {Promise<import('./types.js').ScopedBridgeManager<BridgeId>>}
20
+ */
21
+ export const makeScopedBridge = (bridgeManager, bridgeIdValue, handler) =>
22
+ /** @type {Promise<import('./types.js').ScopedBridgeManager<BridgeId>>} */ (
23
+ E(bridgeManager).register(bridgeIdValue, handler)
24
+ );
5
25
 
6
26
  export const BridgeHandlerI = M.interface('BridgeHandler', {
7
27
  fromBridge: M.call(M.any()).returns(M.promise()),
@@ -1,4 +1,9 @@
1
- export function makeVatsFromBundles({ vats, devices, consume: { vatStore }, produce: { vatAdminSvc, loadVat, loadCriticalVat }, }: BootstrapPowers & {}): Promise<void>;
1
+ export function makeVatsFromBundles({ vats, devices, consume: { vatStore }, produce: { vatAdminSvc, loadVat, loadCriticalVat }, }: BootstrapPowers & {
2
+ produce: {
3
+ loadVat: Producer<VatLoader>;
4
+ loadCriticalVat: Producer<VatLoader>;
5
+ };
6
+ }): Promise<void>;
2
7
  export function produceDiagnostics({ produce }: Pick<ChainBootstrapSpace, "produce">): Promise<void>;
3
8
  export function produceStartUpgradable({ zone, consume: { diagnostics, zoe }, produce, }: BootstrapSpace & {
4
9
  zone: import("@agoric/zone").Zone;
@@ -9,23 +14,11 @@ export function produceStartGovernedUpgradable({ zone, consume: { chainTimerServ
9
14
  economicCommitteeCreatorFacet: import("@agoric/inter-protocol/src/proposals/econ-behaviors.js").EconomyBootstrapPowers["consume"]["economicCommitteeCreatorFacet"];
10
15
  };
11
16
  }): Promise<void>;
12
- export function buildZoe({ consume: { vatAdminSvc, loadCriticalVat, client }, produce: { zoe, feeMintAccess }, brand: { produce: { Invitation: invitationBrand }, }, issuer: { produce: { Invitation: invitationIssuer }, }, }: BootstrapPowers & {
13
- consume: {
14
- loadCriticalVat: ERef<VatLoader<ZoeVat>>;
15
- };
16
- }): Promise<void>;
17
- export function startPriceAuthorityRegistry({ consume: { loadCriticalVat, client }, produce, }: BootstrapPowers & {
18
- consume: {
19
- loadCriticalVat: ERef<VatLoader<PriceAuthorityVat>>;
20
- };
21
- }): Promise<void>;
17
+ export function buildZoe({ consume: { vatAdminSvc, loadCriticalVat, client }, produce: { zoe, feeMintAccess }, brand: { produce: { Invitation: invitationBrand }, }, issuer: { produce: { Invitation: invitationIssuer }, }, }: BootstrapPowers): Promise<void>;
18
+ export function startPriceAuthorityRegistry({ consume: { loadCriticalVat, client }, produce, }: BootstrapPowers): Promise<void>;
22
19
  export function makeOracleBrands({ namedVat: { consume: { agoricNames }, }, oracleBrand: { produce: { USD }, }, }: BootstrapPowers & NamedVatPowers): Promise<void>;
23
20
  export function produceBoard({ consume: { client }, produce: { board: pBoard }, namedVat: { consume: { board: vatBoard }, }, }: BootstrapPowers & NamedVatPowers): Promise<void>;
24
- export function makeBoard({ consume: { loadCriticalVat, client }, produce: { board: { resolve: resolveBoard }, }, }: BootstrapPowers & {
25
- consume: {
26
- loadCriticalVat: ERef<VatLoader<BoardVat>>;
27
- };
28
- }): Promise<void>;
21
+ export function makeBoard({ consume: { loadCriticalVat, client }, produce: { board: { resolve: resolveBoard }, }, }: BootstrapPowers): Promise<void>;
29
22
  export function produceNamesByAddress({ consume: { agoricNames, provisioning: provisioningOptP, client }, produce: { namesByAddress, namesByAddressAdmin }, }: BootstrapPowers): Promise<void>;
30
23
  export function makeAddressNameHubs({ consume: { agoricNames: agoricNamesP, client }, produce, }: BootstrapSpace): Promise<void>;
31
24
  export function makeClientBanks({ consume: { namesByAddressAdmin, client, bankManager, walletFactoryStartResult, }, }: BootstrapSpace): Promise<void>;
@@ -37,15 +30,10 @@ export function mintInitialSupply({ vatParameters: { argv: { bootMsg }, }, consu
37
30
  };
38
31
  };
39
32
  }): Promise<void>;
40
- export function addBankAssets({ consume: { agoricNamesAdmin, initialSupply, bridgeManager: bridgeManagerP, loadCriticalVat, startUpgradable, zoe, }, produce: { bankManager, bldIssuerKit }, installation: { consume: { mintHolder }, }, issuer: { produce: produceIssuer }, brand: { produce: produceBrand }, }: BootstrapSpace & {
41
- consume: {
42
- loadCriticalVat: ERef<VatLoader<BankVat>>;
43
- };
44
- }): Promise<void>;
33
+ export function addBankAssets({ consume: { agoricNamesAdmin, initialSupply, bridgeManager: bridgeManagerP, loadCriticalVat, startUpgradable, zoe, }, produce: { bankManager, bldIssuerKit }, installation: { consume: { mintHolder }, }, issuer: { produce: produceIssuer }, brand: { produce: produceBrand }, }: BootstrapSpace): Promise<void>;
45
34
  /** @type {import('./lib-boot.js').BootstrapManifest} */
46
35
  export const BASIC_BOOTSTRAP_PERMITS: import("./lib-boot.js").BootstrapManifest;
47
36
  export type VatStore = MapStore<string, CreateVatResults>;
48
- export type ZoeVat = ERef<ReturnType<typeof import("../vat-zoe.js").buildRootObject>>;
49
37
  declare namespace bootMsgEx {
50
38
  let type: string;
51
39
  let chainID: string;
@@ -1 +1 @@
1
- {"version":3,"file":"basic-behaviors.d.ts","sourceRoot":"","sources":["basic-behaviors.js"],"names":[],"mappings":"AA2DO,mIAJI,eAAe,GAAG,EAAE,iBA+D9B;AAIM,gDADK,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,iBAW/C;AAGM,0FADK,cAAc,GAAG;IAAE,IAAI,EAAE,OAAO,cAAc,EAAE,IAAI,CAAA;CAAE,iBAiCjE;AAqGM,uMAPI,cAAc,GAAG;IAC3B,IAAQ,EAAE,OAAO,cAAc,EAAE,IAAI,CAAC;IACtC,OAAW,EAAE;QACb,6BAAmC,EAAE,OAAO,wDAAwD,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,CAAC;KACpK,CAAC;CACH,iBA6DH;AAQM,gOAJI,eAAe,GAAG;IAC5B,OAAW,EAAE;QAAE,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;KAAE,CAAC;CACvD,iBAyBH;AAQM,gGAJI,eAAe,GAAG;IAC5B,OAAW,EAAE;QAAE,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAA;KAAE,CAAC;CAClE,iBAgBH;AAQM,mHAFI,eAAe,GAAG,cAAc,iBAe1C;AAIM,gIADK,eAAe,GAAG,cAAc,iBAW3C;AASM,qHAJI,eAAe,GAAG;IAC5B,OAAW,EAAE;QAAE,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;KAAE,CAAC;CACzD,iBAWH;AAcM,+JAFI,eAAe,iBAwBzB;AAQM,kGAFI,cAAc,iBA6BxB;AAIM,uHADK,cAAc,iBAkCzB;AAIM,oIADK,cAAc,iBAiBzB;AASM,0MAJI,eAAe,GAAG;IAC5B,aAAiB,EAAE;QAAE,IAAI,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC;CACzD,iBAmCH;AAUM,kTAJI,cAAc,GAAG;IAC3B,OAAW,EAAE;QAAE,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;CACxD,iBAwFH;AAGD,wDAAwD;AACxD,sCADW,OAAO,eAAe,EAAE,iBAAiB,CA0IlD;uBArxBY,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;qBAClC,IAAI,CAAC,UAAU,CAAC,8CAAuC,CAAC,CAAC;;;;;;;;;;;;;sCAIpC,sBAAsB"}
1
+ {"version":3,"file":"basic-behaviors.d.ts","sourceRoot":"","sources":["basic-behaviors.js"],"names":[],"mappings":"AA+DO,mIATI,eAAe,GAAG;IAC5B,OAAW,EAAE;QACb,OAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnC,eAAqB,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;KACtC,CAAC;CACH,iBA4DH;AAIM,gDADK,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,iBAW/C;AAGM,0FADK,cAAc,GAAG;IAAE,IAAI,EAAE,OAAO,cAAc,EAAE,IAAI,CAAA;CAAE,iBAiCjE;AAqGM,uMAPI,cAAc,GAAG;IAC3B,IAAQ,EAAE,OAAO,cAAc,EAAE,IAAI,CAAC;IACtC,OAAW,EAAE;QACb,6BAAmC,EAAE,OAAO,wDAAwD,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,CAAC;KACpK,CAAC;CACH,iBA6DH;AAMM,gOAFI,eAAe,iBAyBzB;AAMM,gGAFI,eAAe,iBAgBzB;AAQM,mHAFI,eAAe,GAAG,cAAc,iBAe1C;AAIM,gIADK,eAAe,GAAG,cAAc,iBAW3C;AAOM,qHAFI,eAAe,iBAWzB;AAcM,+JAFI,eAAe,iBAwBzB;AAQM,kGAFI,cAAc,iBA6BxB;AAIM,uHADK,cAAc,iBAkCzB;AAIM,oIADK,cAAc,iBAiBzB;AASM,0MAJI,eAAe,GAAG;IAC5B,aAAiB,EAAE;QAAE,IAAI,EAAE;YAAE,OAAO,CAAC,EAAE,OAAO,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC;CACzD,iBAmCH;AAQM,kTAFI,cAAc,iBAsFxB;AAGD,wDAAwD;AACxD,sCADW,OAAO,eAAe,EAAE,iBAAiB,CA0IlD;uBA5wBY,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;;;;;;;;;;;;;sCASb,sBAAsB"}
@@ -1,3 +1,7 @@
1
+ import { Nat } from '@endo/nat';
2
+ import { Fail, X } from '@endo/errors';
3
+ import { E, getInterfaceOf } from '@endo/far';
4
+
1
5
  import { AssetKind } from '@agoric/ertp';
2
6
  import { CONTRACT_ELECTORATE, ParamTypes } from '@agoric/governance';
3
7
  import { Stable, Stake } from '@agoric/internal/src/tokens.js';
@@ -6,21 +10,17 @@ import {
6
10
  deeplyFulfilledObject,
7
11
  VBankAccount,
8
12
  WalletName,
13
+ NonNullish,
9
14
  } from '@agoric/internal';
10
15
  import { keyEQ, makeScalarMapStore } from '@agoric/store';
11
16
  import { provideLazy } from '@agoric/store/src/stores/store-utils.js';
12
- import { E, getInterfaceOf } from '@endo/far';
13
- import { Nat } from '@endo/nat';
14
-
15
- import { Fail, NonNullish } from '@agoric/assert';
16
17
  import { makeNameHubKit } from '../nameHub.js';
17
18
  import { PowerFlags } from '../walletFlags.js';
18
19
  import { feeIssuerConfig, makeMyAddressNameAdminKit } from './utils.js';
20
+ import { makeScopedBridge } from '../bridge.js';
19
21
 
20
22
  /** @import {GovernableStartFn, GovernanceFacetKit} from '@agoric/governance/src/types.js'; */
21
23
 
22
- const { details: X } = assert;
23
-
24
24
  /**
25
25
  * In golang/cosmos/app/app.go, we define cosmosInitAction with type
26
26
  * AG_COSMOS_INIT, with the following shape.
@@ -50,10 +50,14 @@ const bootMsgEx = {
50
50
  */
51
51
 
52
52
  /** @typedef {MapStore<string, CreateVatResults>} VatStore */
53
- /** @typedef {ERef<ReturnType<import('../vat-zoe.js').buildRootObject>>} ZoeVat */
54
53
 
55
54
  /**
56
- * @param {BootstrapPowers & {}} powers
55
+ * @param {BootstrapPowers & {
56
+ * produce: {
57
+ * loadVat: Producer<VatLoader>;
58
+ * loadCriticalVat: Producer<VatLoader>;
59
+ * };
60
+ * }} powers
57
61
  * @import {CreateVatResults} from '@agoric/swingset-vat'
58
62
  * as from createVatByName
59
63
  */
@@ -66,7 +70,6 @@ export const makeVatsFromBundles = async ({
66
70
  // NOTE: we rely on multiple createVatAdminService calls
67
71
  // to return cooperating services.
68
72
  const svc = E(vats.vatAdmin).createVatAdminService(devices.vatAdmin);
69
- // @ts-expect-error XXX
70
73
  vatAdminSvc.resolve(svc);
71
74
 
72
75
  const durableStore = await vatStore;
@@ -81,7 +84,6 @@ export const makeVatsFromBundles = async ({
81
84
  if (bundleName) {
82
85
  console.info(`createVatByName(${bundleName})`);
83
86
  /** @type {Promise<CreateVatResults>} */
84
- // @ts-expect-error XXX
85
87
  const vatInfo = E(svc).createVatByName(bundleName, {
86
88
  ...defaultVatCreationOptions,
87
89
  name: vatName,
@@ -92,7 +94,6 @@ export const makeVatsFromBundles = async ({
92
94
  assert(bundleID);
93
95
  const bcap = await E(svc).getBundleCap(bundleID);
94
96
  /** @type {Promise<CreateVatResults>} */
95
- // @ts-expect-error XXX
96
97
  const vatInfo = E(svc).createVat(bcap, {
97
98
  ...defaultVatCreationOptions,
98
99
  name: vatName,
@@ -329,9 +330,7 @@ export const produceStartGovernedUpgradable = async ({
329
330
  harden(produceStartGovernedUpgradable);
330
331
 
331
332
  /**
332
- * @param {BootstrapPowers & {
333
- * consume: { loadCriticalVat: ERef<VatLoader<ZoeVat>> };
334
- * }} powers
333
+ * @param {BootstrapPowers} powers
335
334
  */
336
335
  export const buildZoe = async ({
337
336
  consume: { vatAdminSvc, loadCriticalVat, client },
@@ -360,9 +359,7 @@ export const buildZoe = async ({
360
359
  harden(buildZoe);
361
360
 
362
361
  /**
363
- * @param {BootstrapPowers & {
364
- * consume: { loadCriticalVat: ERef<VatLoader<PriceAuthorityVat>> };
365
- * }} powers
362
+ * @param {BootstrapPowers} powers
366
363
  */
367
364
  export const startPriceAuthorityRegistry = async ({
368
365
  consume: { loadCriticalVat, client },
@@ -418,9 +415,7 @@ harden(produceBoard);
418
415
 
419
416
  /**
420
417
  * @deprecated use produceBoard
421
- * @param {BootstrapPowers & {
422
- * consume: { loadCriticalVat: ERef<VatLoader<BoardVat>> };
423
- * }} powers
418
+ * @param {BootstrapPowers} powers
424
419
  */
425
420
  export const makeBoard = async ({
426
421
  consume: { loadCriticalVat, client },
@@ -607,9 +602,7 @@ harden(mintInitialSupply);
607
602
  /**
608
603
  * Add IST (with initialSupply payment), BLD (with mint) to BankManager.
609
604
  *
610
- * @param {BootstrapSpace & {
611
- * consume: { loadCriticalVat: ERef<VatLoader<BankVat>> };
612
- * }} powers
605
+ * @param {BootstrapSpace} powers
613
606
  */
614
607
  export const addBankAssets = async ({
615
608
  consume: {
@@ -656,10 +649,8 @@ export const addBankAssets = async ({
656
649
  const assetAdmin = E(agoricNamesAdmin).lookupAdmin('vbankAsset');
657
650
 
658
651
  const bridgeManager = await bridgeManagerP;
659
- /** @type {import('../types.js').ScopedBridgeManager<'bank'> | undefined} */
660
- // @ts-expect-error XXX EProxy
661
652
  const bankBridgeManager =
662
- bridgeManager && E(bridgeManager).register(BridgeId.BANK);
653
+ bridgeManager && makeScopedBridge(bridgeManager, BridgeId.BANK);
663
654
  const bankMgr = await E(E(loadCriticalVat)('bank')).makeBankManager(
664
655
  bankBridgeManager,
665
656
  assetAdmin,
@@ -1,32 +1,16 @@
1
1
  export namespace modules {
2
2
  let behaviors: {
3
3
  bridgeCoreEval: (allPowers: BootstrapPowers) => Promise<void>;
4
- makeProvisioner: ({ consume: { clientCreator, loadCriticalVat }, vats: { comms, vattp }, produce: { provisioning }, }: BootstrapPowers & {
5
- consume: {
6
- loadCriticalVat: ERef<VatLoader<ProvisioningVat>>;
7
- };
8
- }) => Promise<void>;
4
+ makeProvisioner: ({ consume: { clientCreator, loadCriticalVat }, vats: { comms, vattp }, produce: { provisioning }, }: BootstrapPowers) => Promise<void>;
9
5
  noProvisioner: ({ produce: { provisioning } }: BootstrapPowers) => Promise<void>;
10
6
  bridgeProvisioner: ({ consume: { provisioning: provisioningP, provisionBridgeManager: provisionBridgeManagerP, provisionWalletBridgeManager: provisionWalletBridgeManagerP, }, }: BootstrapPowers) => Promise<void>;
11
7
  setupClientManager: ({ produce: { client, clientCreator: clientCreatorP } }: BootstrapSpace, { template, }?: {
12
8
  template?: Record<string, unknown>;
13
9
  }) => Promise<void>;
14
10
  startTimerService: ({ devices: { timer: timerDevice }, vats: { timer: timerVat }, consume: { client }, produce: { chainTimerService: produceTimer }, brand: { produce: { timer }, }, }: BootstrapPowers) => Promise<void>;
15
- makeBridgeManager: ({ consume: { loadCriticalVat }, devices: { bridge }, produce: { bridgeManager: bridgeManagerP, provisionBridgeManager, provisionWalletBridgeManager, walletBridgeManager, }, }: BootDevices<ChainDevices> & BootstrapSpace & {
16
- consume: {
17
- loadCriticalVat: ERef<VatLoader<ChainStorageVat>>;
18
- };
19
- }) => Promise<void>;
20
- makeChainStorage: ({ consume: { loadCriticalVat, bridgeManager: bridgeManagerP }, produce: { chainStorage: chainStorageP, storageBridgeManager: storageBridgeManagerP, }, }: BootstrapSpace & {
21
- consume: {
22
- loadCriticalVat: ERef<VatLoader<ChainStorageVat>>;
23
- };
24
- }) => Promise<void>;
25
- produceHighPrioritySendersManager: ({ consume: { loadCriticalVat, storageBridgeManager: storageBridgeManagerP }, produce: { highPrioritySendersManager: managerP }, }: BootstrapSpace & {
26
- consume: {
27
- loadCriticalVat: ERef<VatLoader<ChainStorageVat>>;
28
- };
29
- }) => Promise<void>;
11
+ makeBridgeManager: ({ consume: { loadCriticalVat }, devices: { bridge }, produce: { bridgeManager: bridgeManagerP, provisionBridgeManager, provisionWalletBridgeManager, walletBridgeManager, }, }: BootDevices<ChainDevices> & BootstrapSpace) => Promise<void>;
12
+ makeChainStorage: ({ consume: { loadCriticalVat, bridgeManager: bridgeManagerP }, produce: { chainStorage: chainStorageP, storageBridgeManager: storageBridgeManagerP, }, }: BootstrapSpace) => Promise<void>;
13
+ produceHighPrioritySendersManager: ({ consume: { loadCriticalVat, storageBridgeManager: storageBridgeManagerP }, produce: { highPrioritySendersManager: managerP }, }: BootstrapSpace) => Promise<void>;
30
14
  publishAgoricNamesToChainStorage: ({ consume: { chainStorage: rootP }, namedVat: { consume: { agoricNames, board: vatBoard }, }, }: BootstrapPowers & NamedVatPowers) => Promise<void>;
31
15
  publishAgoricNames: ({ consume: { agoricNamesAdmin, board, chainStorage: rootP } }: BootstrapPowers, { options: { agoricNamesOptions } }?: {
32
16
  options?: {
@@ -36,7 +20,12 @@ export namespace modules {
36
20
  };
37
21
  }) => Promise<void>;
38
22
  connectChainFaucet: ({ consume: { client } }: BootstrapPowers) => Promise<void>;
39
- makeVatsFromBundles: ({ vats, devices, consume: { vatStore }, produce: { vatAdminSvc, loadVat, loadCriticalVat }, }: BootstrapPowers & {}) => Promise<void>;
23
+ makeVatsFromBundles: ({ vats, devices, consume: { vatStore }, produce: { vatAdminSvc, loadVat, loadCriticalVat }, }: BootstrapPowers & {
24
+ produce: {
25
+ loadVat: Producer<VatLoader>;
26
+ loadCriticalVat: Producer<VatLoader>;
27
+ };
28
+ }) => Promise<void>;
40
29
  produceDiagnostics: ({ produce }: Pick<ChainBootstrapSpace, "produce">) => Promise<void>;
41
30
  produceStartUpgradable: ({ zone, consume: { diagnostics, zoe }, produce, }: BootstrapSpace & {
42
31
  zone: import("@agoric/base-zone").Zone;
@@ -47,23 +36,11 @@ export namespace modules {
47
36
  economicCommitteeCreatorFacet: import("@agoric/inter-protocol/src/proposals/econ-behaviors.js").EconomyBootstrapPowers["consume"]["economicCommitteeCreatorFacet"];
48
37
  };
49
38
  }) => Promise<void>;
50
- buildZoe: ({ consume: { vatAdminSvc, loadCriticalVat, client }, produce: { zoe, feeMintAccess }, brand: { produce: { Invitation: invitationBrand }, }, issuer: { produce: { Invitation: invitationIssuer }, }, }: BootstrapPowers & {
51
- consume: {
52
- loadCriticalVat: ERef<VatLoader<ZoeVat>>;
53
- };
54
- }) => Promise<void>;
55
- startPriceAuthorityRegistry: ({ consume: { loadCriticalVat, client }, produce, }: BootstrapPowers & {
56
- consume: {
57
- loadCriticalVat: ERef<VatLoader<PriceAuthorityVat>>;
58
- };
59
- }) => Promise<void>;
39
+ buildZoe: ({ consume: { vatAdminSvc, loadCriticalVat, client }, produce: { zoe, feeMintAccess }, brand: { produce: { Invitation: invitationBrand }, }, issuer: { produce: { Invitation: invitationIssuer }, }, }: BootstrapPowers) => Promise<void>;
40
+ startPriceAuthorityRegistry: ({ consume: { loadCriticalVat, client }, produce, }: BootstrapPowers) => Promise<void>;
60
41
  makeOracleBrands: ({ namedVat: { consume: { agoricNames }, }, oracleBrand: { produce: { USD }, }, }: BootstrapPowers & NamedVatPowers) => Promise<void>;
61
42
  produceBoard: ({ consume: { client }, produce: { board: pBoard }, namedVat: { consume: { board: vatBoard }, }, }: BootstrapPowers & NamedVatPowers) => Promise<void>;
62
- makeBoard: ({ consume: { loadCriticalVat, client }, produce: { board: { resolve: resolveBoard }, }, }: BootstrapPowers & {
63
- consume: {
64
- loadCriticalVat: ERef<VatLoader<BoardVat>>;
65
- };
66
- }) => Promise<void>;
43
+ makeBoard: ({ consume: { loadCriticalVat, client }, produce: { board: { resolve: resolveBoard }, }, }: BootstrapPowers) => Promise<void>;
67
44
  produceNamesByAddress: ({ consume: { agoricNames, provisioning: provisioningOptP, client }, produce: { namesByAddress, namesByAddressAdmin }, }: BootstrapPowers) => Promise<void>;
68
45
  makeAddressNameHubs: ({ consume: { agoricNames: agoricNamesP, client }, produce, }: BootstrapSpace) => Promise<void>;
69
46
  makeClientBanks: ({ consume: { namesByAddressAdmin, client, bankManager, walletFactoryStartResult, }, }: BootstrapSpace) => Promise<void>;
@@ -86,11 +63,7 @@ export namespace modules {
86
63
  };
87
64
  };
88
65
  }) => Promise<void>;
89
- addBankAssets: ({ consume: { agoricNamesAdmin, initialSupply, bridgeManager: bridgeManagerP, loadCriticalVat, startUpgradable, zoe, }, produce: { bankManager, bldIssuerKit }, installation: { consume: { mintHolder }, }, issuer: { produce: produceIssuer }, brand: { produce: produceBrand }, }: BootstrapSpace & {
90
- consume: {
91
- loadCriticalVat: ERef<VatLoader<BankVat>>;
92
- };
93
- }) => Promise<void>;
66
+ addBankAssets: ({ consume: { agoricNamesAdmin, initialSupply, bridgeManager: bridgeManagerP, loadCriticalVat, startUpgradable, zoe, }, produce: { bankManager, bldIssuerKit }, installation: { consume: { mintHolder }, }, issuer: { produce: produceIssuer }, brand: { produce: produceBrand }, }: BootstrapSpace) => Promise<void>;
94
67
  };
95
68
  let utils: {
96
69
  agoricNamesReserved: { [P in keyof WellKnownName]: { [P2 in WellKnownName[P]]: string; }; };
@@ -164,8 +137,8 @@ export namespace modules {
164
137
  unserialize(data: any): any;
165
138
  }>;
166
139
  }>;
167
- makePublishingRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/zoe/src/contractSupport/recorder.js").TypedMatcher<T> | undefined) => RecorderKit<T>;
168
- makeReadOnlyRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/zoe/src/contractSupport/recorder.js").TypedMatcher<T> | undefined) => RecorderKit<T>;
140
+ makePublishingRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/internal").TypedPattern<T> | undefined) => RecorderKit<T>;
141
+ makeReadOnlyRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/internal").TypedPattern<T> | undefined) => RecorderKit<T>;
169
142
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
170
143
  getBoard: () => import("@endo/exo").Guarded<{
171
144
  getId(value: import("@endo/pass-style").RemotableObject): string;
@@ -186,8 +159,8 @@ export namespace modules {
186
159
  unserialize(data: any): any;
187
160
  }>;
188
161
  }>;
189
- makePublishingRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/zoe/src/contractSupport/recorder.js").TypedMatcher<T> | undefined) => RecorderKit<T>;
190
- makeReadOnlyRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/zoe/src/contractSupport/recorder.js").TypedMatcher<T> | undefined) => RecorderKit<T>;
162
+ makePublishingRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/internal").TypedPattern<T> | undefined) => RecorderKit<T>;
163
+ makeReadOnlyRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/internal").TypedPattern<T> | undefined) => RecorderKit<T>;
191
164
  }>>;
192
165
  };
193
166
  };
@@ -204,19 +177,18 @@ export function buildRootObject(vatPowers: VatPowers & {
204
177
  coreProposalCodeSteps?: string[];
205
178
  }, baggage: import("@agoric/vat-data").Baggage): {
206
179
  bootstrap: (vats: SwingsetVats, devices: SoloDevices | ChainDevices) => Promise<void>;
207
- consumeItem: (name: any) => Promise<unknown>;
180
+ consumeItem: (name: string) => Promise<unknown>;
208
181
  produceItem: (name: any, resolution: any) => void;
209
- resetItem: (name: any) => void;
182
+ resetItem: (name: string) => void;
210
183
  awaitVatObject: (presence: any, path?: any[]) => Promise<any>;
211
184
  snapshotStore: <K, V>(store: MapStore<K, V>) => [K, V][];
212
185
  } & import("@endo/pass-style").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
213
186
  bootstrap: (vats: SwingsetVats, devices: SoloDevices | ChainDevices) => Promise<void>;
214
- consumeItem: (name: any) => Promise<unknown>;
187
+ consumeItem: (name: string) => Promise<unknown>;
215
188
  produceItem: (name: any, resolution: any) => void;
216
- resetItem: (name: any) => void;
189
+ resetItem: (name: string) => void;
217
190
  awaitVatObject: (presence: any, path?: any[]) => Promise<any>;
218
191
  snapshotStore: <K, V>(store: MapStore<K, V>) => [K, V][];
219
192
  }>;
220
193
  export type BootstrapModules = typeof modules;
221
- import * as basicBehaviorsPlus from './basic-behaviors.js';
222
194
  //# sourceMappingURL=boot-chain.d.ts.map