@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
@@ -1,6 +1,5 @@
1
1
  export function setupTransferMiddleware({ consume: { loadCriticalVat, bridgeManager: bridgeManagerP, vtransferBridgeManager: vtransferBridgeManagerP, }, produce: { transferMiddleware: produceTransferMiddleware, transferVat: produceTransferVat, vtransferBridgeManager: produceVtransferBridgeManager, }, }: BootstrapPowers & {
2
2
  consume: {
3
- loadCriticalVat: VatLoader<any>;
4
3
  bridgeManager: import("../types").BridgeManager;
5
4
  vtransferBridgeManager: import("../types").ScopedBridgeManager<"vtransfer">;
6
5
  };
@@ -35,7 +34,4 @@ export function getManifestForTransfer(_powers: any, { transferRef }: {
35
34
  transferRef: any;
36
35
  };
37
36
  };
38
- export type TransferVats = {
39
- transfer: ERef<import("../vat-transfer.js").TransferVat>;
40
- };
41
37
  //# sourceMappingURL=transfer-proposal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transfer-proposal.d.ts","sourceRoot":"","sources":["transfer-proposal.js"],"names":[],"mappings":"AAyBO,iTAnBI,eAAe,GAAG;IAC5B,OAAW,EAAE;QACb,eAAqB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QACtC,aAAmB,EAAE,OAAO,UAAU,EAAE,aAAa,CAAC;QACtD,sBAA4B,EAAE,OAAO,UAAU,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;KAC7E,CAAC;IACN,OAAW,EAAE;QACb,kBAAwB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACxC,WAAiB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,sBAA4B,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;KACvC,CAAC;CACH,WAED;IAA+C,OAAO,EAA9C;QAAE,WAAW,EAAE,YAAY,CAAA;KAAE;CAErC,iBA+EF;AAEM;;;;;;;;;;;;;;;;;;;;EAkBL;2BAnGW;IACZ,QAAY,EAAE,IAAI,CAAC,OAAO,oBAAoB,EAAE,WAAW,CAAC,CAAC;CAC1D"}
1
+ {"version":3,"file":"transfer-proposal.d.ts","sourceRoot":"","sources":["transfer-proposal.js"],"names":[],"mappings":"AAqBO,iTAdI,eAAe,GAAG;IAC5B,OAAW,EAAE;QACb,aAAmB,EAAE,OAAO,UAAU,EAAE,aAAa,CAAC;QACtD,sBAA4B,EAAE,OAAO,UAAU,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;KAC7E,CAAC;IACN,OAAW,EAAE;QACb,kBAAwB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACxC,WAAiB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,sBAA4B,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;KACvC,CAAC;CACH,WAED;IAA+C,OAAO,EAA9C;QAAE,WAAW,EAAE,YAAY,CAAA;KAAE;CACvC,iBA2EA;AAEM;;;;;;;;;;;;;;;;;;;;EAkBL"}
@@ -2,11 +2,11 @@
2
2
  import { E } from '@endo/far';
3
3
  import { BridgeId as BRIDGE_ID } from '@agoric/internal';
4
4
  import { VTRANSFER_IBC_EVENT } from '@agoric/internal/src/action-types.js';
5
+ import { makeScopedBridge } from '../bridge.js';
5
6
 
6
7
  /**
7
8
  * @param {BootstrapPowers & {
8
9
  * consume: {
9
- * loadCriticalVat: VatLoader<any>;
10
10
  * bridgeManager: import('../types').BridgeManager;
11
11
  * vtransferBridgeManager: import('../types').ScopedBridgeManager<'vtransfer'>;
12
12
  * };
@@ -18,10 +18,6 @@ import { VTRANSFER_IBC_EVENT } from '@agoric/internal/src/action-types.js';
18
18
  * }} powers
19
19
  * @param {object} options
20
20
  * @param {{ transferRef: VatSourceRef }} options.options
21
- *
22
- * @typedef {{
23
- * transfer: ERef<import('../vat-transfer.js').TransferVat>;
24
- * }} TransferVats
25
21
  */
26
22
  export const setupTransferMiddleware = async (
27
23
  {
@@ -45,7 +41,6 @@ export const setupTransferMiddleware = async (
45
41
  }
46
42
 
47
43
  const { transferRef } = options.options;
48
- /** @type {TransferVats} */
49
44
  const vats = {
50
45
  transfer: E(loadCriticalVat)('transfer', transferRef),
51
46
  };
@@ -74,7 +69,7 @@ export const setupTransferMiddleware = async (
74
69
  /** @type {Awaited<ReturnType<typeof provideBridgeTargetKit>>} */
75
70
  let bridgeTargetKit;
76
71
  try {
77
- const vtransferBridge = await E(bridgeManager).register(vtransferID);
72
+ const vtransferBridge = await makeScopedBridge(bridgeManager, vtransferID);
78
73
  produceVtransferBridgeManager.reset();
79
74
  produceVtransferBridgeManager.resolve(vtransferBridge);
80
75
  bridgeTargetKit = await provideBridgeTargetKit(vtransferBridge);
@@ -0,0 +1,27 @@
1
+ export function upgradeBank({ consume: { vatAdminSvc, vatStore } }: BootstrapPowers & {
2
+ consume: {
3
+ vatAdminSvc: VatAdminSvc;
4
+ vatStore: MapStore<string, import("@agoric/swingset-vat").CreateVatResults>;
5
+ };
6
+ }, options: {
7
+ options: {
8
+ bankRef: VatSourceRef;
9
+ };
10
+ }): Promise<void>;
11
+ export function getManifestForUpgradingBank(_powers: any, { bankRef }: {
12
+ bankRef: any;
13
+ }): {
14
+ manifest: {
15
+ [x: string]: {
16
+ consume: {
17
+ vatAdminSvc: string;
18
+ vatStore: string;
19
+ };
20
+ produce: {};
21
+ };
22
+ };
23
+ options: {
24
+ bankRef: any;
25
+ };
26
+ };
27
+ //# sourceMappingURL=upgrade-bank-proposal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-bank-proposal.d.ts","sourceRoot":"","sources":["upgrade-bank-proposal.js"],"names":[],"mappings":"AAeO,oEAZI,eAAe,GAAG;IAC5B,OAAW,EAAE;QACb,WAAiB,EAAE,WAAW,CAAC;QAC/B,QAAc,EAAE,QAAQ,CACxB,MAAc,EACd,OAAe,sBAAsB,EAAE,gBAAgB,CAChD,CAAC;KACH,CAAC;CACH,WAED;IAA2C,OAAO,EAA1C;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE;CACnC,iBAcA;AAEM;;;;;;;;;;;;;;;EAWL"}
@@ -0,0 +1,42 @@
1
+ import { E } from '@endo/far';
2
+
3
+ /**
4
+ * @param {BootstrapPowers & {
5
+ * consume: {
6
+ * vatAdminSvc: VatAdminSvc;
7
+ * vatStore: MapStore<
8
+ * string,
9
+ * import('@agoric/swingset-vat').CreateVatResults
10
+ * >;
11
+ * };
12
+ * }} powers
13
+ * @param {object} options
14
+ * @param {{ bankRef: VatSourceRef }} options.options
15
+ */
16
+ export const upgradeBank = async (
17
+ { consume: { vatAdminSvc, vatStore } },
18
+ options,
19
+ ) => {
20
+ const { bankRef } = options.options;
21
+
22
+ assert(bankRef.bundleID);
23
+ const bankBundleCap = await E(vatAdminSvc).getBundleCap(bankRef.bundleID);
24
+ console.log(`BANK BUNDLE ID: `, bankRef.bundleID);
25
+
26
+ const { adminNode } = await E(vatStore).get('bank');
27
+
28
+ await E(adminNode).upgrade(bankBundleCap, {});
29
+ };
30
+
31
+ export const getManifestForUpgradingBank = (_powers, { bankRef }) => ({
32
+ manifest: {
33
+ [upgradeBank.name]: {
34
+ consume: {
35
+ vatAdminSvc: 'vatAdminSvc',
36
+ vatStore: 'vatStore',
37
+ },
38
+ produce: {},
39
+ },
40
+ },
41
+ options: { bankRef },
42
+ });
@@ -0,0 +1,29 @@
1
+ export function upgradeOrchCore({ consume: { vatAdminSvc, vatStore } }: BootstrapPowers & {
2
+ consume: {
3
+ vatAdminSvc: VatAdminSvc;
4
+ vatStore: MapStore<string, import("@agoric/swingset-vat").CreateVatResults>;
5
+ };
6
+ }, options: {
7
+ options: {
8
+ bundleRefs: {
9
+ [vatName: string]: VatSourceRef;
10
+ };
11
+ };
12
+ }): Promise<void>;
13
+ export function getManifestForUpgradingOrchCore(_powers: any, { bundleRefs }: {
14
+ bundleRefs: any;
15
+ }): {
16
+ manifest: {
17
+ [x: string]: {
18
+ consume: {
19
+ vatAdminSvc: string;
20
+ vatStore: string;
21
+ };
22
+ produce: {};
23
+ };
24
+ };
25
+ options: {
26
+ bundleRefs: any;
27
+ };
28
+ };
29
+ //# sourceMappingURL=upgrade-orch-core-proposal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-orch-core-proposal.d.ts","sourceRoot":"","sources":["upgrade-orch-core-proposal.js"],"names":[],"mappings":"AAeO,wEAZI,eAAe,GAAG;IAC5B,OAAW,EAAE;QACb,WAAiB,EAAE,WAAW,CAAC;QAC/B,QAAc,EAAE,QAAQ,CACxB,MAAc,EACd,OAAe,sBAAsB,EAAE,gBAAgB,CAChD,CAAC;KACH,CAAC;CACH,WAED;IAAqE,OAAO,EAApE;QAAE,UAAU,EAAE;YAAE,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAA;SAAE,CAAA;KAAE;CAC7D,iBAeA;AAEM;;;;;;;;;;;;;;;EAWL"}
@@ -0,0 +1,43 @@
1
+ import { E } from '@endo/far';
2
+
3
+ /**
4
+ * @param {BootstrapPowers & {
5
+ * consume: {
6
+ * vatAdminSvc: VatAdminSvc;
7
+ * vatStore: MapStore<
8
+ * string,
9
+ * import('@agoric/swingset-vat').CreateVatResults
10
+ * >;
11
+ * };
12
+ * }} powers
13
+ * @param {object} options
14
+ * @param {{ bundleRefs: { [vatName: string]: VatSourceRef } }} options.options
15
+ */
16
+ export const upgradeOrchCore = async (
17
+ { consume: { vatAdminSvc, vatStore } },
18
+ options,
19
+ ) => {
20
+ const { bundleRefs } = options.options;
21
+
22
+ for await (const [name, ref] of Object.entries(bundleRefs)) {
23
+ assert(ref.bundleID, `bundleID missing for ${name}`);
24
+ console.log(name, `BUNDLE ID: `, ref.bundleID);
25
+ const bundleCap = await E(vatAdminSvc).getBundleCap(ref.bundleID);
26
+
27
+ const { adminNode } = await E(vatStore).get(name);
28
+ await E(adminNode).upgrade(bundleCap, {});
29
+ }
30
+ };
31
+
32
+ export const getManifestForUpgradingOrchCore = (_powers, { bundleRefs }) => ({
33
+ manifest: {
34
+ [upgradeOrchCore.name]: {
35
+ consume: {
36
+ vatAdminSvc: 'vatAdminSvc',
37
+ vatStore: 'vatStore',
38
+ },
39
+ produce: {},
40
+ },
41
+ },
42
+ options: { bundleRefs },
43
+ });
@@ -0,0 +1,27 @@
1
+ export function upgradeProvisionPool({ consume: { economicCommitteeCreatorFacet: electorateCreatorFacet, instancePrivateArgs: instancePrivateArgsP, provisionPoolStartResult: provisionPoolStartResultP, }, }: BootstrapPowers & {
2
+ consume: {
3
+ economicCommitteeCreatorFacet: any;
4
+ };
5
+ }, options: {
6
+ options: {
7
+ provisionPoolRef: VatSourceRef;
8
+ };
9
+ }): Promise<void>;
10
+ export function getManifestForUpgradingProvisionPool(_powers: any, { provisionPoolRef }: {
11
+ provisionPoolRef: any;
12
+ }): {
13
+ manifest: {
14
+ [x: string]: {
15
+ consume: {
16
+ economicCommitteeCreatorFacet: boolean;
17
+ instancePrivateArgs: boolean;
18
+ provisionPoolStartResult: boolean;
19
+ };
20
+ produce: {};
21
+ };
22
+ };
23
+ options: {
24
+ provisionPoolRef: any;
25
+ };
26
+ };
27
+ //# sourceMappingURL=upgrade-provisionPool-proposal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-provisionPool-proposal.d.ts","sourceRoot":"","sources":["upgrade-provisionPool-proposal.js"],"names":[],"mappings":"AAYO,+MARI,eAAe,GAAG;IAC5B,OAAW,EAAE;QACb,6BAAmC,EAAE,GAAG,CAAC;KACpC,CAAC;CACH,WAED;IAAoD,OAAO,EAAnD;QAAE,gBAAgB,EAAE,YAAY,CAAA;KAAE;CAC5C,iBAwCA;AAEM;;;;;;;;;;;;;;;;EAeL"}
@@ -0,0 +1,69 @@
1
+ import { E } from '@endo/far';
2
+ import { deeplyFulfilled } from '@endo/marshal';
3
+
4
+ /**
5
+ * @param {BootstrapPowers & {
6
+ * consume: {
7
+ * economicCommitteeCreatorFacet: any;
8
+ * };
9
+ * }} powers
10
+ * @param {object} options
11
+ * @param {{ provisionPoolRef: VatSourceRef }} options.options
12
+ */
13
+ export const upgradeProvisionPool = async (
14
+ {
15
+ consume: {
16
+ economicCommitteeCreatorFacet: electorateCreatorFacet,
17
+ instancePrivateArgs: instancePrivateArgsP,
18
+ provisionPoolStartResult: provisionPoolStartResultP,
19
+ },
20
+ },
21
+ options,
22
+ ) => {
23
+ const { provisionPoolRef } = options.options;
24
+
25
+ assert(provisionPoolRef.bundleID);
26
+ console.log(`PROVISION POOL BUNDLE ID: `, provisionPoolRef.bundleID);
27
+
28
+ const [provisionPoolStartResult, instancePrivateArgs] = await Promise.all([
29
+ provisionPoolStartResultP,
30
+ instancePrivateArgsP,
31
+ ]);
32
+ const { adminFacet, instance } = provisionPoolStartResult;
33
+
34
+ const [originalPrivateArgs, poserInvitation] = await Promise.all([
35
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
+ // @ts-ignore Local tsc sees this as an error but typedoc does not
37
+ deeplyFulfilled(instancePrivateArgs.get(instance)),
38
+ E(electorateCreatorFacet).getPoserInvitation(),
39
+ ]);
40
+
41
+ const newPrivateArgs = harden({
42
+ ...originalPrivateArgs,
43
+ initialPoserInvitation: poserInvitation,
44
+ });
45
+
46
+ const upgradeResult = await E(adminFacet).upgradeContract(
47
+ provisionPoolRef.bundleID,
48
+ newPrivateArgs,
49
+ );
50
+
51
+ console.log('ProvisionPool upgraded: ', upgradeResult);
52
+ };
53
+
54
+ export const getManifestForUpgradingProvisionPool = (
55
+ _powers,
56
+ { provisionPoolRef },
57
+ ) => ({
58
+ manifest: {
59
+ [upgradeProvisionPool.name]: {
60
+ consume: {
61
+ economicCommitteeCreatorFacet: true,
62
+ instancePrivateArgs: true,
63
+ provisionPoolStartResult: true,
64
+ },
65
+ produce: {},
66
+ },
67
+ },
68
+ options: { provisionPoolRef },
69
+ });
@@ -6,7 +6,6 @@ export function upgradeZoe({ consume: { vatAdminSvc, vatStore } }: BootstrapPowe
6
6
  }, options: {
7
7
  options: {
8
8
  zoeRef: VatSourceRef;
9
- zcfRef: VatSourceRef;
10
9
  };
11
10
  }): Promise<void>;
12
11
  export function getManifestForUpgradingZoe(_powers: any, { zoeRef }: {
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-zoe-proposal.d.ts","sourceRoot":"","sources":["upgrade-zoe-proposal.js"],"names":[],"mappings":"AAeO,mEAZI,eAAe,GAAG;IAC5B,OAAW,EAAE;QACb,WAAiB,EAAE,WAAW,CAAC;QAC/B,QAAc,EAAE,QAAQ,CACxB,MAAc,EACd,OAAe,sBAAsB,EAAE,gBAAgB,CAChD,CAAC;KACH,CAAC;CACH,WAED;IAAgE,OAAO,EAA/D;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE;CACxD,iBAcA;AAEM;;;;;;;;;;;;;;;EAWL"}
1
+ {"version":3,"file":"upgrade-zoe-proposal.d.ts","sourceRoot":"","sources":["upgrade-zoe-proposal.js"],"names":[],"mappings":"AAeO,mEAZI,eAAe,GAAG;IAC5B,OAAW,EAAE;QACb,WAAiB,EAAE,WAAW,CAAC;QAC/B,QAAc,EAAE,QAAQ,CACxB,MAAc,EACd,OAAe,sBAAsB,EAAE,gBAAgB,CAChD,CAAC;KACH,CAAC;CACH,WAED;IAA0C,OAAO,EAAzC;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE;CAClC,iBAcA;AAEM;;;;;;;;;;;;;;;EAWL"}
@@ -11,7 +11,7 @@ import { E } from '@endo/far';
11
11
  * };
12
12
  * }} powers
13
13
  * @param {object} options
14
- * @param {{ zoeRef: VatSourceRef; zcfRef: VatSourceRef }} options.options
14
+ * @param {{ zoeRef: VatSourceRef }} options.options
15
15
  */
16
16
  export const upgradeZoe = async (
17
17
  { consume: { vatAdminSvc, vatStore } },
package/src/transfer.d.ts CHANGED
@@ -8,7 +8,8 @@ export function prepareTransferTools(zone: import("@agoric/base-zone").Zone, vow
8
8
  };
9
9
  interceptorFactory: {
10
10
  wrapApp: (tap: globalThis.ERef<TargetApp>, targetHost: globalThis.ERef<TargetHost>, isActiveTap?: boolean | undefined) => import("@endo/exo").Guarded<{
11
- receiveUpcall(obj: any): Promise<import("@agoric/vow").Vow<unknown> | undefined>;
11
+ /** @param {VTransferIBCEvent} obj */
12
+ receiveUpcall(obj: VTransferIBCEvent): Promise<import("@agoric/vow").Vow<unknown> | undefined>;
12
13
  }>;
13
14
  };
14
15
  transferMiddleware: {
@@ -42,6 +43,7 @@ export type TransferMiddlewareKit = ReturnType<ReturnType<typeof prepareTransfer
42
43
  export type TransferMiddleware = TransferMiddlewareKit["transferMiddleware"];
43
44
  import type { TargetApp } from './bridge-target.js';
44
45
  import type { TargetHost } from './bridge-target.js';
46
+ import type { VTransferIBCEvent } from './types.js';
45
47
  /**
46
48
  * @callback RegisterTap
47
49
  * @param {string} target String identifying the bridge target.
@@ -72,7 +74,8 @@ declare function prepareTransferMiddlewareKit(zone: import("@agoric/base-zone").
72
74
  };
73
75
  interceptorFactory: {
74
76
  wrapApp: (tap: globalThis.ERef<TargetApp>, targetHost: globalThis.ERef<TargetHost>, isActiveTap?: boolean | undefined) => import("@endo/exo").Guarded<{
75
- receiveUpcall(obj: any): Promise<import("@agoric/vow").Vow<unknown> | undefined>;
77
+ /** @param {VTransferIBCEvent} obj */
78
+ receiveUpcall(obj: VTransferIBCEvent): Promise<import("@agoric/vow").Vow<unknown> | undefined>;
76
79
  }>;
77
80
  };
78
81
  transferMiddleware: {
@@ -105,7 +108,8 @@ declare function prepareTransferMiddlewareKit(zone: import("@agoric/base-zone").
105
108
  * @param {import('@agoric/vow').VowTools} vowTools
106
109
  */
107
110
  declare function prepareTransferInterceptor(zone: import("@agoric/base-zone").Zone, vowTools: import("@agoric/vow").VowTools): (tap: globalThis.ERef<TargetApp>, targetHost: globalThis.ERef<TargetHost>, isActiveTap?: boolean | undefined) => import("@endo/exo").Guarded<{
108
- receiveUpcall(obj: any): Promise<import("@agoric/vow").Vow<unknown> | undefined>;
111
+ /** @param {VTransferIBCEvent} obj */
112
+ receiveUpcall(obj: VTransferIBCEvent): Promise<import("@agoric/vow").Vow<unknown> | undefined>;
109
113
  }>;
110
114
  export {};
111
115
  //# sourceMappingURL=transfer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["transfer.js"],"names":[],"mappings":"AAgQO,2CAHI,OAAO,mBAAmB,EAAE,IAAI,YAChC,OAAO,aAAa,EAAE,QAAQ;;;YArDjC;;eAEG;kCADQ,OAAO,iBAAiB,EAAE,cAAc;;;;;;;;YAUnD;;;;;;eAMG;gCAnDA,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;YAwD/C;;;;;eAKG;sCA9DA,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;YAmE/C;;;;;eAKG;kCAFQ,MAAM;;;EAyBxB;mCAhGU,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;oCAiFzC,UAAU,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;iCAC3D,qBAAqB,CAAC,oBAAoB,CAAC;+BAlPjB,oBAAoB;gCAApB,oBAAoB;AA6J5D;;;;;GAKG;AAEH;;;;;;;;;;;;;;GAcG;AACH,oDAHW,OAAO,mBAAmB,EAAE,IAAI,2BAChC,UAAU,CAAC,OAAO,0BAA0B,CAAC;;QAgBhD;;WAEG;8BADQ,OAAO,iBAAiB,EAAE,cAAc;;;;;;;;QAUnD;;;;;;WAMG;4BAnDA,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;QAwD/C;;;;;WAKG;kCA9DA,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;QAmE/C;;;;;WAKG;8BAFQ,MAAM;;GAUtB;AArOH;;;GAGG;AACH,kDAHW,OAAO,mBAAmB,EAAE,IAAI,YAChC,OAAO,aAAa,EAAE,QAAQ;;GA0HxC"}
1
+ {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["transfer.js"],"names":[],"mappings":"AAiQO,2CAHI,OAAO,mBAAmB,EAAE,IAAI,YAChC,OAAO,aAAa,EAAE,QAAQ;;;YArDjC;;eAEG;kCADQ,OAAO,iBAAiB,EAAE,cAAc;;;;gBAvJnD,qCAAqC;mCAAzB,iBAAiB;;;;YAiK7B;;;;;;eAMG;gCAnDA,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;YAwD/C;;;;;eAKG;sCA9DA,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;YAmE/C;;;;;eAKG;kCAFQ,MAAM;;;EAyBxB;mCAhGU,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;oCAiFzC,UAAU,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;iCAC3D,qBAAqB,CAAC,oBAAoB,CAAC;+BAlPjB,oBAAoB;gCAApB,oBAAoB;uCACxB,YAAY;AA4JhD;;;;;GAKG;AAEH;;;;;;;;;;;;;;GAcG;AACH,oDAHW,OAAO,mBAAmB,EAAE,IAAI,2BAChC,UAAU,CAAC,OAAO,0BAA0B,CAAC;;QAgBhD;;WAEG;8BADQ,OAAO,iBAAiB,EAAE,cAAc;;;;YAvJnD,qCAAqC;+BAAzB,iBAAiB;;;;QAiK7B;;;;;;WAMG;4BAnDA,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;QAwD/C;;;;;WAKG;kCA9DA,MAAM,OACN,IAAI,CAAC,OAAO,oBAAoB,EAAE,SAAS,CAAC;QAmE/C;;;;;WAKG;8BAFQ,MAAM;;GAUtB;AAtOH;;;GAGG;AACH,kDAHW,OAAO,mBAAmB,EAAE,IAAI,YAChC,OAAO,aAAa,EAAE,QAAQ;IA+BjC,qCAAqC;uBAAzB,iBAAiB;GA4FpC"}
package/src/transfer.js CHANGED
@@ -1,4 +1,5 @@
1
1
  // @ts-check
2
+ import { Fail, b } from '@endo/errors';
2
3
  import { E } from '@endo/far';
3
4
  import { M } from '@endo/patterns';
4
5
  import { VTRANSFER_IBC_EVENT } from '@agoric/internal/src/action-types.js';
@@ -7,10 +8,9 @@ import { TargetAppI, AppTransformerI } from './bridge-target.js';
7
8
 
8
9
  /**
9
10
  * @import {TargetApp, TargetHost} from './bridge-target.js'
11
+ * @import {VTransferIBCEvent} from './types.js';
10
12
  */
11
13
 
12
- const { Fail, bare } = assert;
13
-
14
14
  /**
15
15
  * The least possibly restrictive guard for a `watch` watcher's `onFulfilled` or
16
16
  * `onRejected` reaction
@@ -50,11 +50,12 @@ const prepareTransferInterceptor = (zone, vowTools) => {
50
50
  }),
51
51
  {
52
52
  public: {
53
+ /** @param {VTransferIBCEvent} obj */
53
54
  async receiveUpcall(obj) {
54
55
  const { isActiveTap, tap } = this.state;
55
56
 
56
57
  obj.type === VTRANSFER_IBC_EVENT ||
57
- Fail`Invalid upcall argument type ${obj.type}; expected ${bare(VTRANSFER_IBC_EVENT)}`;
58
+ Fail`Invalid upcall argument type ${obj.type}; expected ${b(VTRANSFER_IBC_EVENT)}`;
58
59
 
59
60
  // First, call our target contract listener.
60
61
  // A VTransfer active interceptor can return a write acknowledgement
package/src/types.d.ts CHANGED
@@ -1,6 +1,9 @@
1
+ import type { FungibleTokenPacketData } from '@agoric/cosmic-proto/ibc/applications/transfer/v2/packet.js';
1
2
  import type { BridgeIdValue, Remote } from '@agoric/internal';
2
3
  import type { Bytes } from '@agoric/network';
3
4
  import type { Guarded } from '@endo/exo';
5
+ import type { LocalChainAccount } from './localchain.js';
6
+ import type { TargetApp } from './bridge-target.js';
4
7
 
5
8
  export type Board = ReturnType<
6
9
  ReturnType<typeof import('./lib-board.js').prepareBoardKit>
@@ -59,10 +62,16 @@ export type NameAdmin = {
59
62
  delete: (key: string) => void;
60
63
  /** get the NameHub corresponding to the current NameAdmin */
61
64
  readonly: () => NameHub;
65
+ /**
66
+ * Set a function to be called whenever an update or deletion is made, with all the entries as of that point.
67
+ *
68
+ * Note: can be called at most once.
69
+ */
62
70
  onUpdate: (fn: undefined | NameHubUpdateHandler) => void;
63
71
  };
64
72
 
65
73
  export type NameHubUpdateHandler = {
74
+ /** Called when an update or deletion is made, with all entries as of that point. */
66
75
  write: (entries: [string, any][]) => void;
67
76
  };
68
77
 
@@ -94,8 +103,7 @@ export type BridgeHandler = {
94
103
  fromBridge: (obj: any) => Promise<unknown>;
95
104
  };
96
105
 
97
- /** An object which handles messages for a specific bridge */
98
- export type ScopedBridgeManager<BridgeId extends BridgeIdValue> = Guarded<{
106
+ export type ScopedBridgeManagerMethods<BridgeId extends BridgeIdValue> = {
99
107
  /**
100
108
  * Optional bridge ID getter. Not part of the production bridge vat but
101
109
  * available in fake bridges as a means for test reflection and for the type
@@ -108,13 +116,18 @@ export type ScopedBridgeManager<BridgeId extends BridgeIdValue> = Guarded<{
108
116
  fromBridge: (obj: any) => Promise<unknown>;
109
117
  initHandler: (handler: Remote<BridgeHandler>) => void;
110
118
  setHandler: (handler: Remote<BridgeHandler>) => void;
111
- }>;
119
+ };
120
+
121
+ /** An object which handles messages for a specific bridge */
122
+ export type ScopedBridgeManager<BridgeId extends BridgeIdValue> = Guarded<
123
+ ScopedBridgeManagerMethods<BridgeId>
124
+ >;
112
125
 
113
126
  /** The object to manage this bridge */
114
127
  export type BridgeManager = {
115
128
  register: <BridgeId extends BridgeIdValue>(
116
129
  bridgeId: BridgeId,
117
- handler?: Remote<BridgeHandler | undefined>,
130
+ handler?: Remote<BridgeHandler>,
118
131
  ) => ScopedBridgeManager<BridgeId>;
119
132
  };
120
133
 
@@ -129,9 +142,9 @@ export type IBCPacket = {
129
142
  source_port: IBCPortID;
130
143
  destination_channel: IBCChannelID;
131
144
  destination_port: IBCPortID;
132
- sequence?: number;
133
- timeout_height?: number;
134
- timeout_timestamp?: number;
145
+ sequence?: PacketSDKType['sequence'];
146
+ timeout_height?: PacketSDKType['timeout_height'];
147
+ timeout_timestamp?: PacketSDKType['timeout_timestamp'];
135
148
  };
136
149
 
137
150
  export type IBCCounterParty = {
@@ -179,8 +192,8 @@ type IBCPacketEvents = {
179
192
  timeoutPacket: {
180
193
  packet: IBCPacket;
181
194
  };
182
- channelCloseInit: ConnectingInfo; // TODO update
183
- channelCloseConfirm: ConnectingInfo; // TODO update
195
+ channelCloseInit: { channelID: IBCChannelID; portID: IBCPortID };
196
+ channelCloseConfirm: { channelID: IBCChannelID; portID: IBCPortID };
184
197
  sendPacket: { relativeTimeoutNs: bigint; packet: IBCPacket };
185
198
  };
186
199
 
@@ -210,7 +223,7 @@ type IBCMethodEvents = {
210
223
  receiveExecuted: {}; // TODO update
211
224
  startChannelOpenInit: ChannelOpenInitDowncall;
212
225
  startChannelCloseInit: {}; // TODO update
213
- bindPort: {}; // TODO update
226
+ bindPort: { packet: { source_port: IBCPortID } };
214
227
  timeoutExecuted: {}; // TODO update
215
228
  // XXX why isn't this in receiver.go?
216
229
  initOpenExecuted: ChannelOpenAckDowncall;
@@ -254,3 +267,29 @@ type SendPacketDownCall = {
254
267
  packet: IBCPacket;
255
268
  relativeTimeoutNs: bigint;
256
269
  };
270
+
271
+ /**
272
+ * This event is emitted when a FungibleTokenPacket is sent or received
273
+ * by a target (e.g. a {@link LocalChainAccount}) that has a registered
274
+ * {@link TargetApp}. It is passed through the `receiveUpcall` handler.
275
+ */
276
+ export type VTransferIBCEvent = {
277
+ type: 'VTRANSFER_IBC_EVENT';
278
+ blockHeight: number;
279
+ blockTime: number;
280
+ /**
281
+ * Indicates the type of IBC packet event:
282
+ * - 'acknowledgementPacket': passive tap that communicates the result of an acknowledged packet
283
+ * - 'writeAcknowledgement': active tap where the receiver can return a write acknowledgement
284
+ */
285
+ event: 'acknowledgementPacket' | 'writeAcknowledgement';
286
+ acknowledgement: Bytes;
287
+ /**
288
+ * Use `JSON.parse(atob(packet.data))` to get a
289
+ * {@link FungibleTokenPacketData} object.
290
+ */
291
+ packet: IBCPacket;
292
+ relayer: string;
293
+ /** e.g. the chain address of the LocalChainAccount */
294
+ target: string;
295
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"vat-bank.d.ts","sourceRoot":"","sources":["vat-bank.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vat-bank.d.ts","sourceRoot":"","sources":["vat-bank.js"],"names":[],"mappings":"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"}
package/src/vat-bank.js CHANGED
@@ -1,3 +1,7 @@
1
+ import { Fail } from '@endo/errors';
2
+ import { E, Far } from '@endo/far';
3
+ import { M, getInterfaceGuardPayload } from '@endo/patterns';
4
+
1
5
  import { AmountMath, AssetKind, BrandShape } from '@agoric/ertp';
2
6
  import { deeplyFulfilledObject } from '@agoric/internal';
3
7
  import { prepareGuardedAttenuator } from '@agoric/internal/src/callback.js';
@@ -8,10 +12,8 @@ import {
8
12
  prepareDurablePublishKit,
9
13
  subscribeEach,
10
14
  } from '@agoric/notifier';
11
- import { M, getInterfaceGuardPayload } from '@endo/patterns';
12
15
  import { provideLazy } from '@agoric/store';
13
16
  import { makeDurableZone } from '@agoric/zone/durable.js';
14
- import { E, Far } from '@endo/far';
15
17
  import { makeAtomicProvider } from '@agoric/store/src/stores/store-utils.js';
16
18
  import { BridgeHandlerI, BridgeScopedManagerI } from './bridge.js';
17
19
  import {
@@ -20,12 +22,11 @@ import {
20
22
  } from './virtual-purse.js';
21
23
 
22
24
  /**
23
- * @import {Guarded} from '@endo/exo')
24
- * @import {Passable, RemotableObject} from '@endo/pass-style')
25
+ * @import {Guarded} from '@endo/exo';
26
+ * @import {Passable, RemotableObject} from '@endo/pass-style';
27
+ * @import {VirtualPurseController} from './virtual-purse.js';
25
28
  */
26
29
 
27
- const { Fail } = assert;
28
-
29
30
  const { VirtualPurseControllerI } = makeVirtualPurseKitIKit();
30
31
 
31
32
  const BridgeChannelI = M.interface('BridgeChannel', {
@@ -37,7 +38,6 @@ const BridgeChannelI = M.interface('BridgeChannel', {
37
38
 
38
39
  /**
39
40
  * @typedef {Awaited<ReturnType<ReturnType<typeof prepareVirtualPurse>>>} VirtualPurse
40
- * @import {VirtualPurseController} from './virtual-purse.js'
41
41
  */
42
42
 
43
43
  /**
@@ -23,8 +23,8 @@ export function buildRootObject(_vatPowers: unknown, _vatParameters: unknown, ba
23
23
  unserialize(data: any): any;
24
24
  }>;
25
25
  }>;
26
- makePublishingRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/zoe/src/contractSupport/recorder.js").TypedMatcher<T> | undefined) => RecorderKit<T>;
27
- makeReadOnlyRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/zoe/src/contractSupport/recorder.js").TypedMatcher<T> | undefined) => RecorderKit<T>;
26
+ makePublishingRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/internal").TypedPattern<T> | undefined) => RecorderKit<T>;
27
+ makeReadOnlyRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/internal").TypedPattern<T> | undefined) => RecorderKit<T>;
28
28
  } & import("@endo/marshal").RemotableObject<`Alleged: ${string}`> & import("@endo/eventual-send").RemotableBrand<{}, {
29
29
  getBoard: () => import("@endo/exo").Guarded<{
30
30
  getId(value: import("@endo/marshal").RemotableObject): string;
@@ -45,7 +45,7 @@ export function buildRootObject(_vatPowers: unknown, _vatParameters: unknown, ba
45
45
  unserialize(data: any): any;
46
46
  }>;
47
47
  }>;
48
- makePublishingRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/zoe/src/contractSupport/recorder.js").TypedMatcher<T> | undefined) => RecorderKit<T>;
49
- makeReadOnlyRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/zoe/src/contractSupport/recorder.js").TypedMatcher<T> | undefined) => RecorderKit<T>;
48
+ makePublishingRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/internal").TypedPattern<T> | undefined) => RecorderKit<T>;
49
+ makeReadOnlyRecorderKit: <T>(storageNode: StorageNode | Awaited<import("jessie.js").FarRef<StorageNode>>, valueShape?: import("@agoric/internal").TypedPattern<T> | undefined) => RecorderKit<T>;
50
50
  }>;
51
51
  //# sourceMappingURL=vat-board.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vat-board.d.ts","sourceRoot":"","sources":["vat-board.js"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,4CAJW,OAAO,kBACP,OAAO,WACP,OAAO,kBAAkB,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;6EA4B0lH,WAAW;;;;;;;;;;;;;;;;;;;;;;;;GADjpH"}
1
+ {"version":3,"file":"vat-board.d.ts","sourceRoot":"","sources":["vat-board.js"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,4CAJW,OAAO,kBACP,OAAO,WACP,OAAO,kBAAkB,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;6EA4BspH,WAAW;;;;;;;;;;;;;;;;;;;;;;;;GAD7sH"}
@@ -1 +1 @@
1
- {"version":3,"file":"vat-bridge.d.ts","sourceRoot":"","sources":["vat-bridge.js"],"names":[],"mappings":"AAOA;yDAea,IAAI,CAAC,OAAO,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,YACzD,MAAM,YACN,MAAM;;;;oBA0BwwJ,CAAC;;;;oEAA5wB,YAAY;;yDA5B/gI,IAAI,CAAC,OAAO,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,YACzD,MAAM,YACN,MAAM;;;;oBA0BwwJ,CAAC;;;;;GAD3xJ"}
1
+ {"version":3,"file":"vat-bridge.d.ts","sourceRoot":"","sources":["vat-bridge.js"],"names":[],"mappings":"AAOA;yDAea,IAAI,CAAC,OAAO,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,YACzD,MAAM,YACN,MAAM;;;;oBA0BqxJ,CAAC;;;;oEAAmH,YAAY;;yDA5B35J,IAAI,CAAC,OAAO,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,YACzD,MAAM,YACN,MAAM;;;;oBA0BqxJ,CAAC;;;;;GADxyJ"}
package/src/vat-bridge.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Fail } from '@agoric/assert';
1
+ import { Fail } from '@endo/errors';
2
2
  import { Far } from '@endo/far';
3
3
  import { makeDurableZone } from '@agoric/zone/durable.js';
4
4
  import * as cb from '@agoric/internal/src/callback.js';