@agoric/inter-protocol 0.13.2-dev-876c738.0 → 0.13.2-dev-8ed2bf6.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 (31) hide show
  1. package/bundles/bundle-amm-meta.js +125 -125
  2. package/bundles/bundle-amm.js +1 -1
  3. package/bundles/bundle-econCommitteeCharter-meta.js +70 -70
  4. package/bundles/bundle-econCommitteeCharter.js +1 -1
  5. package/bundles/bundle-feeDistributor-meta.js +53 -53
  6. package/bundles/bundle-feeDistributor.js +1 -1
  7. package/bundles/bundle-interchainPool-meta.js +103 -103
  8. package/bundles/bundle-interchainPool.js +1 -1
  9. package/bundles/bundle-liquidateIncrementally-meta.js +68 -68
  10. package/bundles/bundle-liquidateIncrementally.js +1 -1
  11. package/bundles/bundle-liquidateMinimum-meta.js +68 -68
  12. package/bundles/bundle-liquidateMinimum.js +1 -1
  13. package/bundles/bundle-priceAggregatorChainlink-meta.js +72 -72
  14. package/bundles/bundle-priceAggregatorChainlink.js +1 -1
  15. package/bundles/bundle-psm-meta.js +106 -106
  16. package/bundles/bundle-psm.js +1 -1
  17. package/bundles/bundle-reserve-meta.js +180 -180
  18. package/bundles/bundle-reserve.js +1 -1
  19. package/bundles/bundle-scaledPriceAuthority-meta.js +68 -68
  20. package/bundles/bundle-scaledPriceAuthority.js +1 -1
  21. package/bundles/bundle-stakeFactory-meta.js +114 -114
  22. package/bundles/bundle-stakeFactory.js +1 -1
  23. package/bundles/bundle-vaultFactory-meta.js +123 -123
  24. package/bundles/bundle-vaultFactory.js +1 -1
  25. package/package.json +15 -15
  26. package/src/contractSupport.js +42 -1
  27. package/src/vaultFactory/vault.js +619 -605
  28. package/src/vaultFactory/vaultDirector.js +42 -15
  29. package/src/vaultFactory/vaultHolder.js +103 -93
  30. package/src/vaultFactory/vaultKit.js +31 -32
  31. package/src/vaultFactory/vaultManager.js +853 -829
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/inter-protocol",
3
- "version": "0.13.2-dev-876c738.0+876c738",
3
+ "version": "0.13.2-dev-8ed2bf6.0+8ed2bf6",
4
4
  "description": "Core cryptoeconomy contracts",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -29,17 +29,17 @@
29
29
  },
30
30
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
31
31
  "dependencies": {
32
- "@agoric/assert": "0.5.2-dev-876c738.0+876c738",
33
- "@agoric/ertp": "0.15.4-dev-876c738.0+876c738",
34
- "@agoric/governance": "0.9.2-dev-876c738.0+876c738",
35
- "@agoric/internal": "0.2.2-dev-876c738.0+876c738",
32
+ "@agoric/assert": "0.5.2-dev-8ed2bf6.0+8ed2bf6",
33
+ "@agoric/ertp": "0.15.4-dev-8ed2bf6.0+8ed2bf6",
34
+ "@agoric/governance": "0.9.2-dev-8ed2bf6.0+8ed2bf6",
35
+ "@agoric/internal": "0.2.2-dev-8ed2bf6.0+8ed2bf6",
36
36
  "@agoric/nat": "^4.1.0",
37
- "@agoric/notifier": "0.5.2-dev-876c738.0+876c738",
38
- "@agoric/store": "0.8.4-dev-876c738.0+876c738",
39
- "@agoric/swingset-vat": "0.30.3-dev-876c738.0+876c738",
40
- "@agoric/vat-data": "0.4.4-dev-876c738.0+876c738",
41
- "@agoric/vats": "0.13.1-dev-876c738.0+876c738",
42
- "@agoric/zoe": "0.25.4-dev-876c738.0+876c738",
37
+ "@agoric/notifier": "0.5.2-dev-8ed2bf6.0+8ed2bf6",
38
+ "@agoric/store": "0.8.4-dev-8ed2bf6.0+8ed2bf6",
39
+ "@agoric/swingset-vat": "0.30.3-dev-8ed2bf6.0+8ed2bf6",
40
+ "@agoric/vat-data": "0.4.4-dev-8ed2bf6.0+8ed2bf6",
41
+ "@agoric/vats": "0.13.1-dev-8ed2bf6.0+8ed2bf6",
42
+ "@agoric/zoe": "0.25.4-dev-8ed2bf6.0+8ed2bf6",
43
43
  "@endo/bundle-source": "^2.4.2",
44
44
  "@endo/captp": "^2.0.18",
45
45
  "@endo/eventual-send": "^0.16.8",
@@ -49,9 +49,9 @@
49
49
  "@endo/promise-kit": "^0.2.52"
50
50
  },
51
51
  "devDependencies": {
52
- "@agoric/cosmic-swingset": "0.39.3-dev-876c738.0+876c738",
53
- "@agoric/deploy-script-support": "0.9.5-dev-876c738.0+876c738",
54
- "@agoric/smart-wallet": "0.4.3-dev-876c738.0+876c738",
52
+ "@agoric/cosmic-swingset": "0.39.3-dev-8ed2bf6.0+8ed2bf6",
53
+ "@agoric/deploy-script-support": "0.9.5-dev-8ed2bf6.0+8ed2bf6",
54
+ "@agoric/smart-wallet": "0.4.3-dev-8ed2bf6.0+8ed2bf6",
55
55
  "@endo/init": "^0.5.52",
56
56
  "@fast-check/ava": "^1.1.3",
57
57
  "ava": "^5.1.0",
@@ -78,5 +78,5 @@
78
78
  "publishConfig": {
79
79
  "access": "public"
80
80
  },
81
- "gitHead": "876c73871c1b7877d03bf169dc8121a1b5cc6401"
81
+ "gitHead": "8ed2bf6f1c31c05315e4b0156ef423d189b1586b"
82
82
  }
@@ -1,7 +1,13 @@
1
1
  import { AmountMath } from '@agoric/ertp';
2
2
  import { makeStoredPublisherKit, makeStoredPublishKit } from '@agoric/notifier';
3
3
  import { M } from '@agoric/store';
4
+ import {
5
+ makeScalarBigMapStore,
6
+ provide,
7
+ provideDurableSetStore,
8
+ } from '@agoric/vat-data';
4
9
  import { E } from '@endo/eventual-send';
10
+ import { Far } from '@endo/marshal';
5
11
 
6
12
  const { Fail, quote: q } = assert;
7
13
 
@@ -78,7 +84,7 @@ export const checkDebtLimit = (debtLimit, totalDebt, toMint) => {
78
84
  };
79
85
 
80
86
  /**
81
- * @deprecated use makeMetricsPublishKit
87
+ * @deprecated incompatible with durability; instead handle vstorage ephemerally on a durable PublishKit
82
88
  * @template T
83
89
  * @param {ERef<StorageNode>} storageNode
84
90
  * @param {ERef<Marshaller>} marshaller
@@ -113,6 +119,7 @@ harden(makeMetricsPublisherKit);
113
119
  */
114
120
 
115
121
  /**
122
+ * @deprecated incompatible with durability; instead handle vstorage ephemerally on a durable PublishKit
116
123
  * @template T
117
124
  * @param {ERef<StorageNode>} storageNode
118
125
  * @param {ERef<Marshaller>} marshaller
@@ -158,3 +165,37 @@ export const makeEphemeraProvider = init => {
158
165
  };
159
166
  };
160
167
  harden(makeEphemeraProvider);
168
+
169
+ export const provideEmptySeat = (zcf, baggage, name) => {
170
+ return provide(baggage, name, () => zcf.makeEmptySeatKit().zcfSeat);
171
+ };
172
+ harden(provideEmptySeat);
173
+
174
+ /**
175
+ * For making singletons, so that each baggage carries a separate kind definition (albeit of the definer)
176
+ *
177
+ * @param {import('@agoric/vat-data').Baggage} baggage
178
+ * @param {string} category diagnostic tag
179
+ * @returns {import('@agoric/vat-data').Baggage}
180
+ */
181
+ export const provideChildBaggage = (baggage, category) => {
182
+ const baggageSet = provideDurableSetStore(baggage, `${category}Set`);
183
+ return Far('childBaggageManager', {
184
+ /**
185
+ * @template {(baggage: import('@agoric/ertp').Baggage) => any} M Maker function
186
+ * @param {string} childName diagnostic tag
187
+ * @param {M} makeChild
188
+ * @returns {ReturnType<M>}
189
+ */
190
+ addChild: (childName, makeChild) => {
191
+ const childStore = makeScalarBigMapStore(`${childName}${category}`, {
192
+ durable: true,
193
+ });
194
+ const result = makeChild(childStore);
195
+ baggageSet.add(childStore);
196
+ return result;
197
+ },
198
+ children: () => baggageSet.values(),
199
+ });
200
+ };
201
+ harden(provideChildBaggage);