@agoric/orchestration 0.1.1-dev-ad7f655.0 → 0.1.1-dev-cfec54b.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 (34) hide show
  1. package/package.json +16 -16
  2. package/src/examples/send-anywhere.contract.d.ts.map +1 -1
  3. package/src/examples/send-anywhere.contract.js +0 -1
  4. package/src/examples/stake-bld.contract.d.ts.map +1 -1
  5. package/src/examples/stake-bld.contract.js +5 -1
  6. package/src/examples/stake-ica.contract.d.ts.map +1 -1
  7. package/src/examples/stake-ica.contract.js +5 -1
  8. package/src/examples/staking-combinations.contract.d.ts.map +1 -1
  9. package/src/examples/staking-combinations.contract.js +0 -1
  10. package/src/examples/swap.contract.d.ts.map +1 -1
  11. package/src/examples/swap.contract.js +0 -1
  12. package/src/examples/unbond.contract.d.ts.map +1 -1
  13. package/src/examples/unbond.contract.js +7 -2
  14. package/src/examples/unbond.flows.d.ts +3 -2
  15. package/src/examples/unbond.flows.d.ts.map +1 -1
  16. package/src/examples/unbond.flows.js +4 -4
  17. package/src/exos/chain-hub.d.ts +3 -1
  18. package/src/exos/chain-hub.d.ts.map +1 -1
  19. package/src/exos/chain-hub.js +4 -4
  20. package/src/facade.d.ts.map +1 -1
  21. package/src/facade.js +7 -0
  22. package/src/proposals/start-stakeAtom.d.ts.map +1 -1
  23. package/src/proposals/start-stakeAtom.js +7 -2
  24. package/src/proposals/start-stakeOsmo.d.ts.map +1 -1
  25. package/src/proposals/start-stakeOsmo.js +7 -2
  26. package/src/types.d.ts +8 -0
  27. package/src/types.d.ts.map +1 -1
  28. package/src/types.ts +9 -0
  29. package/src/utils/start-helper.d.ts +1 -0
  30. package/src/utils/start-helper.d.ts.map +1 -1
  31. package/src/utils/start-helper.js +8 -1
  32. package/src/utils/zcf-tools.d.ts +5 -0
  33. package/src/utils/zcf-tools.d.ts.map +1 -0
  34. package/src/utils/zcf-tools.js +35 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/orchestration",
3
- "version": "0.1.1-dev-ad7f655.0+ad7f655",
3
+ "version": "0.1.1-dev-cfec54b.0+cfec54b",
4
4
  "description": "Chain abstraction for Agoric's orchestration clients",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -33,19 +33,19 @@
33
33
  },
34
34
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
35
35
  "dependencies": {
36
- "@agoric/async-flow": "0.1.1-dev-ad7f655.0+ad7f655",
37
- "@agoric/cosmic-proto": "0.4.1-dev-ad7f655.0+ad7f655",
38
- "@agoric/ertp": "0.16.3-dev-ad7f655.0+ad7f655",
39
- "@agoric/internal": "0.3.3-dev-ad7f655.0+ad7f655",
40
- "@agoric/network": "0.1.1-dev-ad7f655.0+ad7f655",
41
- "@agoric/notifier": "0.6.3-dev-ad7f655.0+ad7f655",
42
- "@agoric/store": "0.9.3-dev-ad7f655.0+ad7f655",
43
- "@agoric/time": "0.3.3-dev-ad7f655.0+ad7f655",
44
- "@agoric/vat-data": "0.5.3-dev-ad7f655.0+ad7f655",
45
- "@agoric/vats": "0.15.2-dev-ad7f655.0+ad7f655",
46
- "@agoric/vow": "0.1.1-dev-ad7f655.0+ad7f655",
47
- "@agoric/zoe": "0.26.3-dev-ad7f655.0+ad7f655",
48
- "@agoric/zone": "0.2.3-dev-ad7f655.0+ad7f655",
36
+ "@agoric/async-flow": "0.1.1-dev-cfec54b.0+cfec54b",
37
+ "@agoric/cosmic-proto": "0.4.1-dev-cfec54b.0+cfec54b",
38
+ "@agoric/ertp": "0.16.3-dev-cfec54b.0+cfec54b",
39
+ "@agoric/internal": "0.3.3-dev-cfec54b.0+cfec54b",
40
+ "@agoric/network": "0.1.1-dev-cfec54b.0+cfec54b",
41
+ "@agoric/notifier": "0.6.3-dev-cfec54b.0+cfec54b",
42
+ "@agoric/store": "0.9.3-dev-cfec54b.0+cfec54b",
43
+ "@agoric/time": "0.3.3-dev-cfec54b.0+cfec54b",
44
+ "@agoric/vat-data": "0.5.3-dev-cfec54b.0+cfec54b",
45
+ "@agoric/vats": "0.15.2-dev-cfec54b.0+cfec54b",
46
+ "@agoric/vow": "0.1.1-dev-cfec54b.0+cfec54b",
47
+ "@agoric/zoe": "0.26.3-dev-cfec54b.0+cfec54b",
48
+ "@agoric/zone": "0.2.3-dev-cfec54b.0+cfec54b",
49
49
  "@endo/base64": "^1.0.7",
50
50
  "@endo/errors": "^1.2.5",
51
51
  "@endo/far": "^1.1.5",
@@ -54,7 +54,7 @@
54
54
  "@noble/hashes": "^1.5.0"
55
55
  },
56
56
  "devDependencies": {
57
- "@agoric/swingset-liveslots": "0.10.3-dev-ad7f655.0+ad7f655",
57
+ "@agoric/swingset-liveslots": "0.10.3-dev-cfec54b.0+cfec54b",
58
58
  "@chain-registry/client": "^1.47.4",
59
59
  "@cosmjs/amino": "^0.32.3",
60
60
  "@cosmjs/proto-signing": "^0.32.3",
@@ -94,5 +94,5 @@
94
94
  "typeCoverage": {
95
95
  "atLeast": 97.6
96
96
  },
97
- "gitHead": "ad7f65598df6099b7661a7f201039d306561e5a1"
97
+ "gitHead": "cfec54b79e39370acf7b1646c96f2fc83f044fde"
98
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"send-anywhere.contract.d.ts","sourceRoot":"","sources":["send-anywhere.contract.js"],"names":[],"mappings":"AAQA;;;GAGG;AAEH,qEAKE;AAsDF;gBA9CiB,UAAU;;;;;;;;;;;;;;;;;;;GA8CsB;yCA9DS,0BAA0B"}
1
+ {"version":3,"file":"send-anywhere.contract.d.ts","sourceRoot":"","sources":["send-anywhere.contract.js"],"names":[],"mappings":"AAQA;;;GAGG;AAEH,qEAKE;AAqDF;gBA7CiB,UAAU;;;;;;;;;;;;;;;;;;;GA6CsB;yCA7DS,0BAA0B"}
@@ -45,7 +45,6 @@ const contract = async (
45
45
 
46
46
  // orchestrate uses the names on orchestrationFns to do a "prepare" of the associated behavior
47
47
  const orchFns = orchestrateAll(flows, {
48
- zcf,
49
48
  contractState,
50
49
  zoeTools,
51
50
  });
@@ -1 +1 @@
1
- {"version":3,"file":"stake-bld.contract.d.ts","sourceRoot":"","sources":["stake-bld.contract.js"],"names":[],"mappings":"AAoCO,2BAVI,GAAG,eACH;IACN,WAAW,EAAE,OAAO,OAAO,CAAC,CAAC;IAC7B,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;CAC5B,WACO,OAAO,kBAAkB,EAAE,OAAO;;QAkEvC;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0BH;;WAEG;;;GAaR;6BA9HyB,cAAc;4BACf,kBAAkB;gCAEd,gCAAgC;kCAD9B,cAAc"}
1
+ {"version":3,"file":"stake-bld.contract.d.ts","sourceRoot":"","sources":["stake-bld.contract.js"],"names":[],"mappings":"AAoCO,2BAVI,GAAG,eACH;IACN,WAAW,EAAE,OAAO,OAAO,CAAC,CAAC;IAC7B,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;CAC5B,WACO,OAAO,kBAAkB,EAAE,OAAO;;QAsEvC;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0BH;;WAEG;;;GAaR;6BAlIyB,cAAc;4BACf,kBAAkB;gCAEd,gCAAgC;kCAD9B,cAAc"}
@@ -43,7 +43,11 @@ export const start = async (zcf, privateArgs, baggage) => {
43
43
  );
44
44
  const vowTools = prepareVowTools(zone.subZone('vows'));
45
45
 
46
- const chainHub = makeChainHub(privateArgs.agoricNames, vowTools);
46
+ const chainHub = makeChainHub(
47
+ zone.subZone('chainHub'),
48
+ privateArgs.agoricNames,
49
+ vowTools,
50
+ );
47
51
  const zoeTools = makeZoeTools(zcf, vowTools);
48
52
 
49
53
  const { localchain, timerService } = privateArgs;
@@ -1 +1 @@
1
- {"version":3,"file":"stake-ica.contract.d.ts","sourceRoot":"","sources":["stake-ica.contract.js"],"names":[],"mappings":"AAgBA;;;;;;;GAOG;AAEH,yCAAyC;AACzC,mBADW,YAAY,CAAC,OAAO,KAAK,CAAC,CAelC;AAEH;;;;;;cAAsD;AAuB/C,2BAVI,GAAG,CAAC,aAAa,CAAC,eAClB;IACN,WAAW,EAAE,OAAO,OAAO,CAAC,CAAC;IAC7B,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;CACrB,WACO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGjB;4BAtHY;IACR,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,eAAe,CAAC;IAClC,sBAAsB,EAAE,eAAe,CAAC;IACxC,UAAU,EAAE,OAAO,CAAC;CACrB;yBAoHU,OAAO,KAAK;6BApJiB,cAAc;4BADhC,kBAAkB;6CAIwB,aAAa;kCAFjD,cAAc;6BAHnB,kBAAkB;mDAII,uBAAuB;qCAF5B,cAAc"}
1
+ {"version":3,"file":"stake-ica.contract.d.ts","sourceRoot":"","sources":["stake-ica.contract.js"],"names":[],"mappings":"AAgBA;;;;;;;GAOG;AAEH,yCAAyC;AACzC,mBADW,YAAY,CAAC,OAAO,KAAK,CAAC,CAelC;AAEH;;;;;;cAAsD;AAuB/C,2BAVI,GAAG,CAAC,aAAa,CAAC,eAClB;IACN,WAAW,EAAE,OAAO,OAAO,CAAC,CAAC;IAC7B,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;CACrB,WACO,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyGjB;4BA1HY;IACR,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,eAAe,CAAC;IAClC,sBAAsB,EAAE,eAAe,CAAC;IACxC,UAAU,EAAE,OAAO,CAAC;CACrB;yBAwHU,OAAO,KAAK;6BAxJiB,cAAc;4BADhC,kBAAkB;6CAIwB,aAAa;kCAFjD,cAAc;6BAHnB,kBAAkB;mDAII,uBAAuB;qCAF5B,cAAc"}
@@ -84,7 +84,11 @@ export const start = async (zcf, privateArgs, baggage) => {
84
84
 
85
85
  const vowTools = prepareVowTools(zone.subZone('vows'));
86
86
 
87
- const chainHub = makeChainHub(agoricNames, vowTools);
87
+ const chainHub = makeChainHub(
88
+ zone.subZone('chainHub'),
89
+ agoricNames,
90
+ vowTools,
91
+ );
88
92
 
89
93
  const makeCosmosOrchestrationAccount = prepareCosmosOrchestrationAccount(
90
94
  zone,
@@ -1 +1 @@
1
- {"version":3,"file":"staking-combinations.contract.d.ts","sourceRoot":"","sources":["staking-combinations.contract.js"],"names":[],"mappings":"AA+JA;gBA1HiB,UAAU;;;;;;;;;;;;;;;;;;GA0HsB;yCA3IS,0BAA0B"}
1
+ {"version":3,"file":"staking-combinations.contract.d.ts","sourceRoot":"","sources":["staking-combinations.contract.js"],"names":[],"mappings":"AA8JA;gBAzHiB,UAAU;;;;;;;;;;;;;;;;;;GAyHsB;yCA1IS,0BAA0B"}
@@ -133,7 +133,6 @@ const contract = async (
133
133
  makeCombineInvitationMakers,
134
134
  makeExtraInvitationMaker,
135
135
  flows,
136
- zcf,
137
136
  zoeTools,
138
137
  });
139
138
 
@@ -1 +1 @@
1
- {"version":3,"file":"swap.contract.d.ts","sourceRoot":"","sources":["swap.contract.js"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AAEH,yCAAyC;AACzC,mBADW,YAAY,CAAC,OAAO,KAAK,CAAC,CAWnC;AASK,0CAHI,KAAK;;;EAIsC;AAiDtD;iBAzCkB,OAAO,OAAO,CAAC;gBAChB,OAAO,UAAU,CAAC;0BACR,OAAO,uBAAuB,CAAC;iBACxC,OAAO,WAAW,CAAC;kBAClB,OAAO,YAAY,CAAC;gBACtB,UAAU;;;;;;;;GAoCsB;6BA3EvB,cAAc;4BAFf,kBAAkB;gCADd,gCAAgC;6CAEnB,2BAA2B;kCAHtC,cAAc"}
1
+ {"version":3,"file":"swap.contract.d.ts","sourceRoot":"","sources":["swap.contract.js"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AAEH,yCAAyC;AACzC,mBADW,YAAY,CAAC,OAAO,KAAK,CAAC,CAWnC;AASK,0CAHI,KAAK;;;EAIsC;AAgDtD;iBAxCkB,OAAO,OAAO,CAAC;gBAChB,OAAO,UAAU,CAAC;0BACR,OAAO,uBAAuB,CAAC;iBACxC,OAAO,WAAW,CAAC;kBAClB,OAAO,YAAY,CAAC;gBACtB,UAAU;;;;;;;;GAmCsB;6BA1EvB,cAAc;4BAFf,kBAAkB;gCADd,gCAAgC;6CAEnB,2BAA2B;kCAHtC,cAAc"}
@@ -62,7 +62,6 @@ const contract = async (
62
62
  const { brands } = zcf.getTerms();
63
63
 
64
64
  const { stakeAndSwap } = orchestrateAll(flows, {
65
- zcf,
66
65
  localTransfer: zoeTools.localTransfer,
67
66
  });
68
67
 
@@ -1 +1 @@
1
- {"version":3,"file":"unbond.contract.d.ts","sourceRoot":"","sources":["unbond.contract.js"],"names":[],"mappings":"AAmDA;iBAhCkB,OAAO,OAAO,CAAC;gBAChB,OAAO,UAAU,CAAC;0BACR,OAAO,uBAAuB,CAAC;iBACxC,OAAO,WAAW,CAAC;gBACpB,UAAU;kBACR,OAAO,YAAY,CAAC;;;;;GA2BU;6BA5CvB,cAAc;4BACf,kBAAkB;gCAFd,gCAAgC;6CAInB,2BAA2B;kCALtC,cAAc"}
1
+ {"version":3,"file":"unbond.contract.d.ts","sourceRoot":"","sources":["unbond.contract.js"],"names":[],"mappings":"AAwDA;iBArCkB,OAAO,OAAO,CAAC;gBAChB,OAAO,UAAU,CAAC;0BACR,OAAO,uBAAuB,CAAC;iBACxC,OAAO,WAAW,CAAC;gBACpB,UAAU;kBACR,OAAO,YAAY,CAAC;;;;;GAgCU;6BAjDvB,cAAc;4BACf,kBAAkB;gCAFd,gCAAgC;6CAInB,2BAA2B;kCALtC,cAAc"}
@@ -27,8 +27,13 @@ import * as flows from './unbond.flows.js';
27
27
  * @param {Zone} zone
28
28
  * @param {OrchestrationTools} tools
29
29
  */
30
- const contract = async (zcf, privateArgs, zone, { orchestrateAll }) => {
31
- const { unbondAndTransfer } = orchestrateAll(flows, { zcf });
30
+ const contract = async (
31
+ zcf,
32
+ privateArgs,
33
+ zone,
34
+ { orchestrateAll, zcfTools },
35
+ ) => {
36
+ const { unbondAndTransfer } = orchestrateAll(flows, { zcfTools });
32
37
 
33
38
  const publicFacet = zone.exo('publicFacet', undefined, {
34
39
  makeUnbondAndTransferInvitation() {
@@ -1,5 +1,6 @@
1
- export function unbondAndTransfer(orch: Orchestrator, { zcf }: {
2
- zcf: ZCF;
1
+ export function unbondAndTransfer(orch: Orchestrator, { zcfTools }: {
2
+ zcfTools: ZcfTools;
3
3
  }): Promise<void>;
4
4
  import type { Orchestrator } from '../types.js';
5
+ import type { ZcfTools } from '../types.js';
5
6
  //# sourceMappingURL=unbond.flows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unbond.flows.d.ts","sourceRoot":"","sources":["unbond.flows.js"],"names":[],"mappings":"AAcO,wCAJI,YAAY,WAEpB;IAAiB,GAAG,EAAZ,GAAG;CACb,iBAwBA;kCAhC2E,aAAa"}
1
+ {"version":3,"file":"unbond.flows.d.ts","sourceRoot":"","sources":["unbond.flows.js"],"names":[],"mappings":"AAcO,wCAJI,YAAY,gBAEpB;IAAsB,QAAQ,EAAtB,QAAQ;CAClB,iBAwBA;kCAhCqF,aAAa;8BAAb,aAAa"}
@@ -3,17 +3,17 @@ import { makeTracer } from '@agoric/internal';
3
3
  const trace = makeTracer('UnbondAndTransfer');
4
4
 
5
5
  /**
6
- * @import {Orchestrator, OrchestrationFlow, CosmosDelegationResponse} from '../types.js'
6
+ * @import {Orchestrator, OrchestrationFlow, CosmosDelegationResponse, ZcfTools} from '../types.js'
7
7
  */
8
8
 
9
9
  /**
10
10
  * @satisfies {OrchestrationFlow}
11
11
  * @param {Orchestrator} orch
12
12
  * @param {object} ctx
13
- * @param {ZCF} ctx.zcf
13
+ * @param {ZcfTools} ctx.zcfTools
14
14
  */
15
- export const unbondAndTransfer = async (orch, { zcf }) => {
16
- trace('zcf within the membrane', zcf);
15
+ export const unbondAndTransfer = async (orch, { zcfTools }) => {
16
+ trace('zcfTools within the membrane', zcfTools);
17
17
  // Osmosis is one of the few chains with icqEnabled
18
18
  const osmosis = await orch.getChain('osmosis');
19
19
  const osmoDenom = (await osmosis.getChainInfo()).stakingTokens[0].denom;
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @import {NameHub} from '@agoric/vats';
3
3
  * @import {Vow, VowTools} from '@agoric/vow';
4
+ * @import {Zone} from '@agoric/zone';
4
5
  * @import {CosmosAssetInfo, CosmosChainInfo, IBCConnectionInfo} from '../cosmos-api.js';
5
6
  * @import {ChainInfo, KnownChains} from '../chain-info.js';
6
7
  * @import {Denom} from '../orchestration-api.js';
@@ -34,7 +35,7 @@ export const CONNECTIONS_KEY: "chainConnection";
34
35
  export const ASSETS_KEY: "chainAssets";
35
36
  export function connectionKey(chainId1: string, chainId2: string): string;
36
37
  export function normalizeConnectionInfo(primaryChainId: string, counterChainId: string, directed: IBCConnectionInfo): [string, IBCConnectionInfo];
37
- export function makeChainHub(agoricNames: Remote<NameHub>, vowTools: VowTools): import("@endo/exo").Guarded<{
38
+ export function makeChainHub(zone: Zone, agoricNames: Remote<NameHub>, vowTools: VowTools): import("@endo/exo").Guarded<{
38
39
  /**
39
40
  * Register a new chain. The name will override a name in well known chain
40
41
  * names.
@@ -130,6 +131,7 @@ export type DenomDetail = {
130
131
  export type ChainHub = ReturnType<typeof makeChainHub>;
131
132
  import type { TypedPattern } from '@agoric/internal';
132
133
  import type { IBCConnectionInfo } from '../cosmos-api.js';
134
+ import type { Zone } from '@agoric/zone';
133
135
  import type { NameHub } from '@agoric/vats';
134
136
  import type { Remote } from '@agoric/internal';
135
137
  import type { VowTools } from '@agoric/vow';
@@ -1 +1 @@
1
- {"version":3,"file":"chain-hub.d.ts","sourceRoot":"","sources":["chain-hub.js"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AAEH;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AACH,wCAAwC;AACxC,+BADW,aAAa,WAAW,CAAC,CAIlC;AAGF,wCAAwC;AACxC,gCAAiC;AACjC,kCAAkC;AAClC,gDAAiD;AACjD,8BAA8B;AAC9B,uCAAwC;AAqBjC,wCAHI,MAAM,YACN,MAAM,UAUhB;AAoCM,wDALI,MAAM,kBACN,MAAM,YACN,iBAAiB,GACf,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAavC;AA0DM,0CAHI,OAAO,OAAO,CAAC,YACf,QAAQ;IA+Gf;;;;;;;;;;;OAWG;wBAFQ,MAAM,aACN,eAAe;IAK1B;;;;OAIG;iBAHmB,CAAC,SAAV,MAAQ,aACV,CAAC,GACC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IAYpC;;;;OAIG;uCAHQ,MAAM,uBACN,MAAM,kBACN,iBAAiB;IAW5B;;;;OAIG;+BAHQ,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,WAC5B,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAC1B,IAAI,iBAAiB,CAAC;IAmBnC;;;;;;;;OAQG;2BAPmB,EAAE,SAAX,MAAQ,EACC,EAAE,SAAX,MAAQ,eACV,EAAE,eACF,EAAE,GACA,IACZ,CAAK,eAAe,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAC9D;IAOJ;;;;;;;OAOG;yBAHQ,KAAK,UAEL,WAAW;IAatB;;;;;OAKG;oBAFQ,KAAK,GACH,WAAW,GAAG,SAAS;IAQpC;;;;;OAKG;oBAFQ,KAAK,GACH,KAAK,GAAG,SAAS;GAWjC;AAUM,yCAJI,QAAQ,QACR,MAAM,UACN,eAAe,EAAE,QAe3B;;;;4BAnaqB,CAAC,SAAV,MAAQ,IACR,CAAC,SAAS,MAAM,WAAW,GACjC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,GAC/C,SAAS;;;;;cAMF,MAAM;;;;eACN,KAAK;;;;eACL,MAAM;;;;;;uBAkYN,UAAU,CAAC,OAAO,YAAY,CAAC;kCAnZd,kBAAkB;uCAJqB,kBAAkB;6BAF9D,cAAc;4BAKf,kBAAkB;8BAJX,aAAa;qCACyB,kBAAkB;yBADxD,aAAa;2BAGrB,yBAAyB;qCAFqB,kBAAkB;iCAC/C,kBAAkB;+BAAlB,kBAAkB"}
1
+ {"version":3,"file":"chain-hub.d.ts","sourceRoot":"","sources":["chain-hub.js"],"names":[],"mappings":"AAQA;;;;;;;;;GASG;AAEH;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AACH,wCAAwC;AACxC,+BADW,aAAa,WAAW,CAAC,CAIlC;AAGF,wCAAwC;AACxC,gCAAiC;AACjC,kCAAkC;AAClC,gDAAiD;AACjD,8BAA8B;AAC9B,uCAAwC;AAqBjC,wCAHI,MAAM,YACN,MAAM,UAUhB;AAoCM,wDALI,MAAM,kBACN,MAAM,YACN,iBAAiB,GACf,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAavC;AA2DM,mCAJI,IAAI,eACJ,OAAO,OAAO,CAAC,YACf,QAAQ;IA8Gf;;;;;;;;;;;OAWG;wBAFQ,MAAM,aACN,eAAe;IAK1B;;;;OAIG;iBAHmB,CAAC,SAAV,MAAQ,aACV,CAAC,GACC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IAYpC;;;;OAIG;uCAHQ,MAAM,uBACN,MAAM,kBACN,iBAAiB;IAW5B;;;;OAIG;+BAHQ,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,WAC5B,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAC1B,IAAI,iBAAiB,CAAC;IAmBnC;;;;;;;;OAQG;2BAPmB,EAAE,SAAX,MAAQ,EACC,EAAE,SAAX,MAAQ,eACV,EAAE,eACF,EAAE,GACA,IACZ,CAAK,eAAe,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAC9D;IAOJ;;;;;;;OAOG;yBAHQ,KAAK,UAEL,WAAW;IAatB;;;;;OAKG;oBAFQ,KAAK,GACH,WAAW,GAAG,SAAS;IAQpC;;;;;OAKG;oBAFQ,KAAK,GACH,KAAK,GAAG,SAAS;GAWjC;AAUM,yCAJI,QAAQ,QACR,MAAM,UACN,eAAe,EAAE,QAe3B;;;;4BAnaqB,CAAC,SAAV,MAAQ,IACR,CAAC,SAAS,MAAM,WAAW,GACjC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,GAC/C,SAAS;;;;;cAMF,MAAM;;;;eACN,KAAK;;;;eACL,MAAM;;;;;;uBAkYN,UAAU,CAAC,OAAO,YAAY,CAAC;kCAnZd,kBAAkB;uCAJqB,kBAAkB;0BADjE,cAAc;6BAFX,cAAc;4BAMf,kBAAkB;8BALX,aAAa;qCAEyB,kBAAkB;yBAFxD,aAAa;2BAIrB,yBAAyB;qCAFqB,kBAAkB;iCAC/C,kBAAkB;+BAAlB,kBAAkB"}
@@ -4,12 +4,12 @@ import { M } from '@endo/patterns';
4
4
  import { BrandShape } from '@agoric/ertp/src/typeGuards.js';
5
5
 
6
6
  import { VowShape } from '@agoric/vow';
7
- import { makeHeapZone } from '@agoric/zone';
8
7
  import { CosmosChainInfoShape, IBCConnectionInfoShape } from '../typeGuards.js';
9
8
 
10
9
  /**
11
10
  * @import {NameHub} from '@agoric/vats';
12
11
  * @import {Vow, VowTools} from '@agoric/vow';
12
+ * @import {Zone} from '@agoric/zone';
13
13
  * @import {CosmosAssetInfo, CosmosChainInfo, IBCConnectionInfo} from '../cosmos-api.js';
14
14
  * @import {ChainInfo, KnownChains} from '../chain-info.js';
15
15
  * @import {Denom} from '../orchestration-api.js';
@@ -171,18 +171,18 @@ const ChainHubI = M.interface('ChainHub', {
171
171
  });
172
172
 
173
173
  /**
174
- * Make a new ChainHub in the zone (or in the heap if no zone is provided).
174
+ * Make a new ChainHub in the zone.
175
175
  *
176
176
  * The resulting object is an Exo singleton. It has no precious state. It's only
177
177
  * state is a cache of queries to agoricNames and whatever info was provided in
178
178
  * registration calls. When you need a newer version you can simply make a hub
179
179
  * hub and repeat the registrations.
180
180
  *
181
+ * @param {Zone} zone
181
182
  * @param {Remote<NameHub>} agoricNames
182
183
  * @param {VowTools} vowTools
183
184
  */
184
- export const makeChainHub = (agoricNames, vowTools) => {
185
- const zone = makeHeapZone();
185
+ export const makeChainHub = (zone, agoricNames, vowTools) => {
186
186
  /** @type {MapStore<string, CosmosChainInfo>} */
187
187
  const chainInfos = zone.mapStore('chainInfos', {
188
188
  keyShape: M.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["facade.js"],"names":[],"mappings":"AAyCO,sKAZI;IACN,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,OAAO,YAAY,CAAC,CAAC;IACnC,GAAG,EAAE,GAAG,CAAC;IACT,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,oBAAoB,EAAE,OAAO,uBAAuB,CAAC,CAAC;IACtD,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;IACzC,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;CAChC;kBA4BW,EAAE,EACsC,EAAE,SAA1C,kBAAmB,eAAe,EAAE,CAAC,CAAE,eACzC,MAAM,WAEN,EAAE,WACF,EAAE,KACA,YAAY,CAAC,EAAE,CAAC;qBA4BM,EAAE,SAAvB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAE,EAG5B,GAAG,SAFI;QACZ,CAAK,WAAW,EAAE,MAAM,GAAG,kBAAkB,eAAe,EAAE,CAAC,CAAC,CAAC;KAC7D,YAEM,GAAG,WACH,EAAE,KACA,GAAG,CAAc,IAAT,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAE;EAgCxD;;;;yBA1HgC,EAAE,SAAtB,iBAAmB,IACnB,EAAE,SAAS,CACnB,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,GAAG,EACZ,GAAO,IAAI,EAAE,MAAM,EAAE,KACd,OAAO,CAAC,MAAM,EAAE,CAAC,GAClB,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,GAClC,KAAK;kCAqHE,UAAU,CAAC,OAAO,uBAAuB,CAAC;0BAzIjC,cAAc;kCAEN,cAAc;4BAGpB,kBAAkB;6CACD,0BAA0B;qCAHrB,6CAA6C;sCACzD,wBAAwB;8BAH3B,aAAa;oCAFsB,oBAAoB;oCAApB,oBAAoB;uCAQuC,YAAY;kCAAZ,YAAY;8BARvE,oBAAoB;yBAEvD,aAAa"}
1
+ {"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["facade.js"],"names":[],"mappings":"AAyCO,sKAZI;IACN,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,OAAO,YAAY,CAAC,CAAC;IACnC,GAAG,EAAE,GAAG,CAAC;IACT,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,oBAAoB,EAAE,OAAO,uBAAuB,CAAC,CAAC;IACtD,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;IACzC,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;CAChC;kBA4BW,EAAE,EACsC,EAAE,SAA1C,kBAAmB,eAAe,EAAE,CAAC,CAAE,eACzC,MAAM,WAEN,EAAE,WACF,EAAE,KACA,YAAY,CAAC,EAAE,CAAC;qBAmCM,EAAE,SAAvB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAE,EAG5B,GAAG,SAFI;QACZ,CAAK,WAAW,EAAE,MAAM,GAAG,kBAAkB,eAAe,EAAE,CAAC,CAAC,CAAC;KAC7D,YAEM,GAAG,WACH,EAAE,KACA,GAAG,CAAc,IAAT,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAE;EAgCxD;;;;yBAjIgC,EAAE,SAAtB,iBAAmB,IACnB,EAAE,SAAS,CACnB,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,GAAG,EACZ,GAAO,IAAI,EAAE,MAAM,EAAE,KACd,OAAO,CAAC,MAAM,EAAE,CAAC,GAClB,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,GAClC,KAAK;kCA4HE,UAAU,CAAC,OAAO,uBAAuB,CAAC;0BAhJjC,cAAc;kCAEN,cAAc;4BAGpB,kBAAkB;6CACD,0BAA0B;qCAHrB,6CAA6C;sCACzD,wBAAwB;8BAH3B,aAAa;oCAFsB,oBAAoB;oCAApB,oBAAoB;uCAQuC,YAAY;kCAAZ,YAAY;8BARvE,oBAAoB;yBAEvD,aAAa"}
package/src/facade.js CHANGED
@@ -78,6 +78,13 @@ export const makeOrchestrationFacade = ({
78
78
  const [wrappedCtx] = prepareEndowment(subZone, 'endowments', [hostCtx]);
79
79
  const hostFn = asyncFlow(subZone, 'asyncFlow', guestFn);
80
80
 
81
+ deepMapObject(
82
+ wrappedCtx,
83
+ val =>
84
+ val === zcf &&
85
+ assert.fail('do not use zcf in orchestration context; try zcfTools'),
86
+ );
87
+
81
88
  // cast because return could be arbitrary subtype
82
89
  const orcFn = /** @type {HostForGuest<GF>} */ (
83
90
  (...args) => {
@@ -1 +1 @@
1
- {"version":3,"file":"start-stakeAtom.d.ts","sourceRoot":"","sources":["start-stakeAtom.js"],"names":[],"mappings":"AAyBO,0PAVI,eAAe,GAAG;IACxB,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,QAAQ,EAAE,YAAY,CAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAA2D,CAClD,CAAC;SACH,CAAC;KACH,CAAC;CACH,iBAuDH;AAGM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BN;mCApG4C,gCAAgC"}
1
+ {"version":3,"file":"start-stakeAtom.d.ts","sourceRoot":"","sources":["start-stakeAtom.js"],"names":[],"mappings":"AAyBO,0PAVI,eAAe,GAAG;IACxB,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,QAAQ,EAAE,YAAY,CAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAA2D,CAClD,CAAC;SACH,CAAC;KACH,CAAC;CACH,iBA4DH;AAGM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BN;mCAzG4C,gCAAgC"}
@@ -46,8 +46,13 @@ export const startStakeAtom = async ({
46
46
  const storageNode = await makeStorageNodeChild(chainStorage, VSTORAGE_PATH);
47
47
  const marshaller = await E(board).getPublishingMarshaller();
48
48
 
49
- const vt = prepareVowTools(makeHeapZone());
50
- const chainHub = makeChainHub(await agoricNames, vt);
49
+ const zone = makeHeapZone();
50
+ const vt = prepareVowTools(zone.subZone('vows'));
51
+ const chainHub = makeChainHub(
52
+ zone.subZone('chainHub'),
53
+ await agoricNames,
54
+ vt,
55
+ );
51
56
 
52
57
  const [_, cosmoshub, connectionInfo] = await vt.when(
53
58
  chainHub.getChainsAndConnection('agoric', 'cosmoshub'),
@@ -1 +1 @@
1
- {"version":3,"file":"start-stakeOsmo.d.ts","sourceRoot":"","sources":["start-stakeOsmo.js"],"names":[],"mappings":"AA8BO,0PAfI,eAAe,GAAG;IACxB,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,QAAQ,EAAE,YAAY,CAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAA2D,CAClD,CAAC;SACH,CAAC;KACH,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,SAAS,EAAE,GAAG,CAAC;SAChB,CAAC;KACH,CAAC;CACH,iBAuDH;AAGM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BN"}
1
+ {"version":3,"file":"start-stakeOsmo.d.ts","sourceRoot":"","sources":["start-stakeOsmo.js"],"names":[],"mappings":"AA8BO,0PAfI,eAAe,GAAG;IACxB,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,QAAQ,EAAE,YAAY,CAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAA2D,CAClD,CAAC;SACH,CAAC;KACH,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,SAAS,EAAE,GAAG,CAAC;SAChB,CAAC;KACH,CAAC;CACH,iBA4DH;AAGM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BN"}
@@ -51,8 +51,13 @@ export const startStakeOsmo = async ({
51
51
  const storageNode = await makeStorageNodeChild(chainStorage, VSTORAGE_PATH);
52
52
  const marshaller = await E(board).getPublishingMarshaller();
53
53
 
54
- const vt = prepareVowTools(makeHeapZone());
55
- const chainHub = makeChainHub(await agoricNames, vt);
54
+ const zone = makeHeapZone();
55
+ const vt = prepareVowTools(zone.subZone('vows'));
56
+ const chainHub = makeChainHub(
57
+ zone.subZone('chainHub'),
58
+ await agoricNames,
59
+ vt,
60
+ );
56
61
 
57
62
  const [_, osmosis, connectionInfo] = await vt.when(
58
63
  chainHub.getChainsAndConnection('agoric', 'osmosis'),
package/src/types.d.ts CHANGED
@@ -10,4 +10,12 @@ export type * from './orchestration-api.js';
10
10
  export type * from './exos/cosmos-interchain-service.js';
11
11
  export type * from './exos/chain-hub.js';
12
12
  export type * from './vat-orchestration.js';
13
+ /**
14
+ * ({@link ZCF})-like tools for use in {@link OrchestrationFlow}s.
15
+ */
16
+ export interface ZcfTools {
17
+ assertUniqueKeyword: ZCF['assertUniqueKeyword'];
18
+ atomicRearrange: ZCF['atomicRearrange'];
19
+ makeInvitation: ZCF['makeInvitation'];
20
+ }
13
21
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAEhG,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,0BAA0B,CAAC;AAC9C,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,qCAAqC,CAAC;AACzD,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,wBAAwB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAEhG,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,8BAA8B,CAAC;AAClD,mBAAmB,0BAA0B,CAAC;AAC9C,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,qCAAqC,CAAC;AACzD,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,wBAAwB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,mBAAmB,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAChD,eAAe,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACxC,cAAc,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;CACvC"}
package/src/types.ts CHANGED
@@ -11,3 +11,12 @@ export type * from './orchestration-api.js';
11
11
  export type * from './exos/cosmos-interchain-service.js';
12
12
  export type * from './exos/chain-hub.js';
13
13
  export type * from './vat-orchestration.js';
14
+
15
+ /**
16
+ * ({@link ZCF})-like tools for use in {@link OrchestrationFlow}s.
17
+ */
18
+ export interface ZcfTools {
19
+ assertUniqueKeyword: ZCF['assertUniqueKeyword'];
20
+ atomicRearrange: ZCF['atomicRearrange'];
21
+ makeInvitation: ZCF['makeInvitation'];
22
+ }
@@ -69,6 +69,7 @@ export function provideOrchestration(zcf: ZCF, baggage: Baggage, remotePowers: O
69
69
  allWokenP: Promise<void>;
70
70
  prepareEndowment: (zone: Zone, tag: string, e: unknown) => any;
71
71
  };
72
+ zcfTools: import("@agoric/async-flow").HostInterface<import("../types.js").ZcfTools>;
72
73
  zoeTools: {
73
74
  localTransfer: (srcSeat: ZCFSeat, localAccount: import("../cosmos-api.js").LocalAccountMethods, amounts: AmountKeywordRecord) => import("@agoric/vow").Vow<void>;
74
75
  withdrawToSeat: (localAccount: import("../cosmos-api.js").LocalAccountMethods, destSeat: ZCFSeat, amounts: AmountKeywordRecord) => import("@agoric/vow").Vow<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"start-helper.d.ts","sourceRoot":"","sources":["start-helper.js"],"names":[],"mappings":"AA6CO,0CANI,GAAG,WACH,OAAO,gBACP,mBAAmB,cACnB,UAAU;+BA2GR,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAzEM,GAAG;;+BAhDV,GAAG,+EAMoD,GAAG,yCAG9D,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0Id;AA8BM,kCAdgC,EAAE,SAA3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAE,EAGhC,EAAE,SAFM,mBAAmB,GAAG;IAC/B,UAAU,EAAE,UAAU,CAAC;CACvB,EACQ,CAAC,cACH,CACN,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EACZ,WAAW,EAAE,EAAE,EACf,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,kBAAkB,KACtB,OAAO,CAAC,CAAC,CAAC,GACL,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAYzE;kCA9LU;IACR,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,oBAAoB,EAAE,OAAO,uBAAuB,CAAC,CAAC;IACtD,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,YAAY,EAAE,OAAO,YAAY,CAAC,CAAC;IACnC,WAAW,EAAE,OAAO,OAAO,CAAC,CAAC;CAC9B;iCAoJU,IAAI,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,EAAE,MAAM,CAAC;6BAlKzC,kBAAkB;0BAGrB,cAAc;gCALR,gCAAgC;4BAIpC,aAAa;6CAEI,2BAA2B;kCAL1B,cAAc;6BAE/B,cAAc"}
1
+ {"version":3,"file":"start-helper.d.ts","sourceRoot":"","sources":["start-helper.js"],"names":[],"mappings":"AA8CO,0CANI,GAAG,WACH,OAAO,gBACP,mBAAmB,cACnB,UAAU;+BA+GR,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA/Ef,GAAE;;+BA/CI,GAAG,+EAOa,GAAG,yCAAyC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmJtE;AA8BM,kCAdgC,EAAE,SAA3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAE,EAGhC,EAAE,SAFM,mBAAmB,GAAG;IAC/B,UAAU,EAAE,UAAU,CAAC;CACvB,EACQ,CAAC,cACH,CACN,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EACZ,WAAW,EAAE,EAAE,EACf,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,kBAAkB,KACtB,OAAO,CAAC,CAAC,CAAC,GACL,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAYzE;kCApMU;IACR,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,oBAAoB,EAAE,OAAO,uBAAuB,CAAC,CAAC;IACtD,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,YAAY,EAAE,OAAO,YAAY,CAAC,CAAC;IACnC,WAAW,EAAE,OAAO,OAAO,CAAC,CAAC;CAC9B;iCA0JU,IAAI,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,EAAE,MAAM,CAAC;6BAxKzC,kBAAkB;0BAGrB,cAAc;gCALR,gCAAgC;4BAIpC,aAAa;6CAEI,2BAA2B;kCAL1B,cAAc;6BAE/B,cAAc"}
@@ -10,6 +10,7 @@ import { prepareOrchestrator } from '../exos/orchestrator.js';
10
10
  import { prepareRemoteChainFacade } from '../exos/remote-chain-facade.js';
11
11
  import { makeOrchestrationFacade } from '../facade.js';
12
12
  import { makeZoeTools } from './zoe-tools.js';
13
+ import { makeZcfTools } from './zcf-tools.js';
13
14
 
14
15
  /**
15
16
  * @import {LocalChain} from '@agoric/vats/src/localchain.js';
@@ -61,6 +62,8 @@ export const provideOrchestration = (
61
62
  asyncFlow: zone.subZone('asyncFlow'),
62
63
  /** system names for orchestration implementation */
63
64
  orchestration: zone.subZone('orchestration'),
65
+ /** system names for chainHub */
66
+ chainHub: zone.subZone('chainHub'),
64
67
  /** system names for vows */
65
68
  vows: zone.subZone('vows'),
66
69
  /** contract-provided names, and subzones */
@@ -72,10 +75,12 @@ export const provideOrchestration = (
72
75
 
73
76
  const vowTools = prepareVowTools(zones.vows);
74
77
 
75
- const chainHub = makeChainHub(agoricNames, vowTools);
78
+ const chainHub = makeChainHub(zones.chainHub, agoricNames, vowTools);
76
79
 
77
80
  const zoeTools = makeZoeTools(zcf, vowTools);
78
81
 
82
+ const zcfTools = makeZcfTools(zcf, vowTools);
83
+
79
84
  const { makeRecorderKit } = prepareRecorderKitMakers(baggage, marshaller);
80
85
  const makeLocalOrchestrationAccountKit = prepareLocalOrchestrationAccountKit(
81
86
  zones.orchestration,
@@ -164,12 +169,14 @@ export const provideOrchestration = (
164
169
  const defaultOrchestrateKit = makeOrchestrateKit(
165
170
  zones.contract.subZone('orchestration'),
166
171
  );
172
+
167
173
  return {
168
174
  ...defaultOrchestrateKit,
169
175
  makeOrchestrateKit,
170
176
  chainHub,
171
177
  vowTools,
172
178
  asyncFlowTools,
179
+ zcfTools,
173
180
  zoeTools,
174
181
  zone: zones.contract,
175
182
  };
@@ -0,0 +1,5 @@
1
+ export function makeZcfTools(zcf: ZCF, vowTools: VowTools): HostInterface<ZcfTools>;
2
+ import type { VowTools } from '@agoric/vow';
3
+ import type { ZcfTools } from '../types.js';
4
+ import type { HostInterface } from '@agoric/async-flow';
5
+ //# sourceMappingURL=zcf-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zcf-tools.d.ts","sourceRoot":"","sources":["zcf-tools.js"],"names":[],"mappings":"AAeO,kCAJI,GAAG,YACH,QAAQ,GACN,cAAc,QAAQ,CAAC,CAqBhC;8BAhCuB,aAAa;8BACb,aAAa;mCAFR,oBAAoB"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @import {HostInterface} from '@agoric/async-flow';
3
+ * @import {VowTools} from '@agoric/vow';
4
+ * @import {ZcfTools} from '../types.js';
5
+ */
6
+
7
+ import { M, mustMatch } from '@endo/patterns';
8
+
9
+ const HandlerShape = M.remotable('OfferHandler');
10
+
11
+ /**
12
+ * @param {ZCF} zcf
13
+ * @param {VowTools} vowTools
14
+ * @returns {HostInterface<ZcfTools>}
15
+ */
16
+ export const makeZcfTools = (zcf, vowTools) =>
17
+ harden({
18
+ makeInvitation(offerHandler, description, customDetails, proposalShape) {
19
+ mustMatch(offerHandler, HandlerShape);
20
+ return vowTools.watch(
21
+ zcf.makeInvitation(
22
+ offerHandler,
23
+ description,
24
+ customDetails,
25
+ proposalShape,
26
+ ),
27
+ );
28
+ },
29
+ atomicRearrange(transfers) {
30
+ zcf.atomicRearrange(transfers);
31
+ },
32
+ assertUniqueKeyword(keyword) {
33
+ zcf.assertUniqueKeyword(keyword);
34
+ },
35
+ });