@agoric/orchestration 0.1.1-dev-d4385f0.0 → 0.1.1-dev-8657c4c.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 (44) hide show
  1. package/index.d.ts +2 -0
  2. package/index.js +2 -0
  3. package/package.json +16 -16
  4. package/src/chain-capabilities.d.ts +15 -0
  5. package/src/chain-capabilities.d.ts.map +1 -0
  6. package/src/chain-capabilities.js +60 -0
  7. package/src/cosmos-api.d.ts +5 -0
  8. package/src/cosmos-api.d.ts.map +1 -1
  9. package/src/cosmos-api.ts +5 -1
  10. package/src/examples/auto-stake-it.contract.d.ts +1 -0
  11. package/src/examples/auto-stake-it.contract.d.ts.map +1 -1
  12. package/src/examples/send-anywhere.contract.d.ts +27 -5
  13. package/src/examples/send-anywhere.contract.d.ts.map +1 -1
  14. package/src/examples/send-anywhere.contract.js +11 -0
  15. package/src/examples/staking-combinations.contract.d.ts +1 -0
  16. package/src/examples/staking-combinations.contract.d.ts.map +1 -1
  17. package/src/exos/chain-hub-admin.d.ts.map +1 -1
  18. package/src/exos/chain-hub-admin.js +1 -2
  19. package/src/exos/chain-hub.d.ts +0 -30
  20. package/src/exos/chain-hub.d.ts.map +1 -1
  21. package/src/exos/chain-hub.js +1 -6
  22. package/src/exos/local-chain-facade.d.ts +2 -0
  23. package/src/exos/local-chain-facade.d.ts.map +1 -1
  24. package/src/exos/orchestrator.d.ts +1 -0
  25. package/src/exos/orchestrator.d.ts.map +1 -1
  26. package/src/exos/remote-chain-facade.d.ts +1 -0
  27. package/src/exos/remote-chain-facade.d.ts.map +1 -1
  28. package/src/orchestration-api.d.ts +3 -0
  29. package/src/orchestration-api.d.ts.map +1 -1
  30. package/src/orchestration-api.ts +3 -0
  31. package/src/proposals/start-send-anywhere.d.ts +93 -0
  32. package/src/proposals/start-send-anywhere.d.ts.map +1 -0
  33. package/src/proposals/start-send-anywhere.js +119 -0
  34. package/src/typeGuards.d.ts +4 -0
  35. package/src/typeGuards.d.ts.map +1 -1
  36. package/src/typeGuards.js +10 -0
  37. package/src/utils/chain-hub-helper.d.ts +8 -0
  38. package/src/utils/chain-hub-helper.d.ts.map +1 -0
  39. package/src/utils/chain-hub-helper.js +53 -0
  40. package/src/utils/registry.d.ts +1 -0
  41. package/src/utils/registry.d.ts.map +1 -1
  42. package/src/utils/start-helper.d.ts +1 -0
  43. package/src/utils/start-helper.d.ts.map +1 -1
  44. package/src/utils/start-helper.js +1 -0
package/index.d.ts CHANGED
@@ -4,4 +4,6 @@ export * from "./src/exos/chain-hub-admin.js";
4
4
  export * from "./src/typeGuards.js";
5
5
  export * from "./src/utils/denomHash.js";
6
6
  export { withOrchestration } from "./src/utils/start-helper.js";
7
+ export { withChainCapabilities } from "./src/chain-capabilities.js";
8
+ export { registerChainsAndAssets } from "./src/utils/chain-hub-helper.js";
7
9
  //# sourceMappingURL=index.d.ts.map
package/index.js CHANGED
@@ -10,3 +10,5 @@ export * from './src/typeGuards.js';
10
10
  export * from './src/utils/denomHash.js';
11
11
 
12
12
  export { withOrchestration } from './src/utils/start-helper.js';
13
+ export { withChainCapabilities } from './src/chain-capabilities.js';
14
+ export { registerChainsAndAssets } from './src/utils/chain-hub-helper.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/orchestration",
3
- "version": "0.1.1-dev-d4385f0.0+d4385f0",
3
+ "version": "0.1.1-dev-8657c4c.0+8657c4c",
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-d4385f0.0+d4385f0",
37
- "@agoric/cosmic-proto": "0.4.1-dev-d4385f0.0+d4385f0",
38
- "@agoric/ertp": "0.16.3-dev-d4385f0.0+d4385f0",
39
- "@agoric/internal": "0.3.3-dev-d4385f0.0+d4385f0",
40
- "@agoric/network": "0.1.1-dev-d4385f0.0+d4385f0",
41
- "@agoric/notifier": "0.6.3-dev-d4385f0.0+d4385f0",
42
- "@agoric/store": "0.9.3-dev-d4385f0.0+d4385f0",
43
- "@agoric/time": "0.3.3-dev-d4385f0.0+d4385f0",
44
- "@agoric/vat-data": "0.5.3-dev-d4385f0.0+d4385f0",
45
- "@agoric/vats": "0.15.2-dev-d4385f0.0+d4385f0",
46
- "@agoric/vow": "0.1.1-dev-d4385f0.0+d4385f0",
47
- "@agoric/zoe": "0.26.3-dev-d4385f0.0+d4385f0",
48
- "@agoric/zone": "0.2.3-dev-d4385f0.0+d4385f0",
36
+ "@agoric/async-flow": "0.1.1-dev-8657c4c.0+8657c4c",
37
+ "@agoric/cosmic-proto": "0.4.1-dev-8657c4c.0+8657c4c",
38
+ "@agoric/ertp": "0.16.3-dev-8657c4c.0+8657c4c",
39
+ "@agoric/internal": "0.3.3-dev-8657c4c.0+8657c4c",
40
+ "@agoric/network": "0.1.1-dev-8657c4c.0+8657c4c",
41
+ "@agoric/notifier": "0.6.3-dev-8657c4c.0+8657c4c",
42
+ "@agoric/store": "0.9.3-dev-8657c4c.0+8657c4c",
43
+ "@agoric/time": "0.3.3-dev-8657c4c.0+8657c4c",
44
+ "@agoric/vat-data": "0.5.3-dev-8657c4c.0+8657c4c",
45
+ "@agoric/vats": "0.15.2-dev-8657c4c.0+8657c4c",
46
+ "@agoric/vow": "0.1.1-dev-8657c4c.0+8657c4c",
47
+ "@agoric/zoe": "0.26.3-dev-8657c4c.0+8657c4c",
48
+ "@agoric/zone": "0.2.3-dev-8657c4c.0+8657c4c",
49
49
  "@endo/base64": "^1.0.9",
50
50
  "@endo/errors": "^1.2.8",
51
51
  "@endo/far": "^1.1.9",
@@ -54,7 +54,7 @@
54
54
  "@noble/hashes": "^1.5.0"
55
55
  },
56
56
  "devDependencies": {
57
- "@agoric/swingset-liveslots": "0.10.3-dev-d4385f0.0+d4385f0",
57
+ "@agoric/swingset-liveslots": "0.10.3-dev-8657c4c.0+8657c4c",
58
58
  "@chain-registry/client": "^1.47.4",
59
59
  "@cosmjs/amino": "^0.32.3",
60
60
  "@cosmjs/proto-signing": "^0.32.3",
@@ -95,5 +95,5 @@
95
95
  "typeCoverage": {
96
96
  "atLeast": 97.23
97
97
  },
98
- "gitHead": "d4385f04ae2735e8d2863e2be9bf341f8566b36c"
98
+ "gitHead": "8657c4cfc5dcb48602f730574afe5efb6f8ffb24"
99
99
  }
@@ -0,0 +1,15 @@
1
+ export function withChainCapabilities(chainInfo: Record<string, CosmosChainInfo>, opts?: {
2
+ PfmEnabled: Record<string, boolean>;
3
+ IcqEnabled: Record<string, boolean>;
4
+ }): Record<string, {
5
+ pfmEnabled: boolean;
6
+ icqEnabled: boolean;
7
+ bech32Prefix?: string;
8
+ chainId: string;
9
+ connections?: Record<string, import("@agoric/orchestration").IBCConnectionInfo>;
10
+ stakingTokens?: Readonly<Array<{
11
+ denom: string;
12
+ }>>;
13
+ }>;
14
+ import type { CosmosChainInfo } from '@agoric/orchestration';
15
+ //# sourceMappingURL=chain-capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-capabilities.d.ts","sourceRoot":"","sources":["chain-capabilities.js"],"names":[],"mappings":"AA+CO,iDANI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,SAC/B;IACN,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;;;;;;;;;GAcH;qCArD+C,uBAAuB"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @file Contains ChainInfo that not available from a well-known chain registry.
3
+ */
4
+
5
+ import { objectMap } from '@endo/patterns';
6
+
7
+ /** @import {CosmosChainInfo, KnownChains} from '@agoric/orchestration'; */
8
+
9
+ /**
10
+ * Chains with the async-icq (icq-1) module available.
11
+ *
12
+ * @satisfies {Partial<Record<keyof KnownChains, boolean>>}
13
+ */
14
+ const IcqEnabled = /** @type {const} */ ({
15
+ omniflixhub: true,
16
+ osmosis: true,
17
+ });
18
+ harden(IcqEnabled);
19
+
20
+ /**
21
+ * Chains with the packet-forward-middleware module available.
22
+ *
23
+ * @satisfies {Partial<Record<keyof KnownChains, boolean>>}
24
+ */
25
+ const PfmEnabled = /** @type {const} */ ({
26
+ agoric: true,
27
+ celestia: true,
28
+ cosmoshub: true,
29
+ juno: true,
30
+ neutron: true,
31
+ noble: true,
32
+ omniflixhub: true,
33
+ osmosis: true,
34
+ secretnetwork: true,
35
+ stargaze: true,
36
+ stride: true,
37
+ umee: true,
38
+ });
39
+ harden(PfmEnabled);
40
+
41
+ /**
42
+ * @param {Record<string, CosmosChainInfo>} chainInfo
43
+ * @param {{
44
+ * PfmEnabled: Record<string, boolean>;
45
+ * IcqEnabled: Record<string, boolean>;
46
+ * }} [opts]
47
+ */
48
+ export const withChainCapabilities = (
49
+ chainInfo,
50
+ opts = {
51
+ PfmEnabled,
52
+ IcqEnabled,
53
+ },
54
+ ) => {
55
+ return objectMap(chainInfo, (info, name) => ({
56
+ ...info,
57
+ pfmEnabled: !!opts.PfmEnabled[name],
58
+ icqEnabled: !!opts.IcqEnabled[name],
59
+ }));
60
+ };
@@ -69,6 +69,11 @@ export type CosmosChainInfo = Readonly<{
69
69
  chainId: string;
70
70
  connections?: Record<string, IBCConnectionInfo>;
71
71
  icqEnabled?: boolean;
72
+ /**
73
+ * Note: developers must provide this value themselves for `.transfer` to work
74
+ * as expected. Please see examples for details.
75
+ */
76
+ pfmEnabled?: boolean;
72
77
  /**
73
78
  * cf https://github.com/cosmos/chain-registry/blob/master/chain.schema.json#L117
74
79
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos-api.d.ts","sourceRoot":"","sources":["cosmos-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cosmos-api.d.ts","sourceRoot":"","sources":["cosmos-api.ts"],"names":[],"mappings":"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"}
package/src/cosmos-api.ts CHANGED
@@ -97,7 +97,11 @@ export type CosmosChainInfo = Readonly<{
97
97
  connections?: Record<string, IBCConnectionInfo>; // chainId or wellKnownName
98
98
  // UNTIL https://github.com/Agoric/agoric-sdk/issues/9326
99
99
  icqEnabled?: boolean;
100
-
100
+ /**
101
+ * Note: developers must provide this value themselves for `.transfer` to work
102
+ * as expected. Please see examples for details.
103
+ */
104
+ pfmEnabled?: boolean;
101
105
  /**
102
106
  * cf https://github.com/cosmos/chain-registry/blob/master/chain.schema.json#L117
103
107
  */
@@ -20,6 +20,7 @@ export const start: (zcf: ZCF<Record<string, unknown>>, privateArgs: Orchestrati
20
20
  chainId: string;
21
21
  connections?: Record<string, import("../cosmos-api.js").IBCConnectionInfo>;
22
22
  icqEnabled?: boolean;
23
+ pfmEnabled?: boolean;
23
24
  stakingTokens?: Readonly<Array<{
24
25
  denom: string;
25
26
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"auto-stake-it.contract.d.ts","sourceRoot":"","sources":["auto-stake-it.contract.js"],"names":[],"mappings":"AAwEA;gBAhDiB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDsB;4BAGnC,OAAO,KAAK;yCA9DgC,0BAA0B"}
1
+ {"version":3,"file":"auto-stake-it.contract.d.ts","sourceRoot":"","sources":["auto-stake-it.contract.js"],"names":[],"mappings":"AAwEA;gBAhDiB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDsB;4BAGnC,OAAO,KAAK;yCA9DgC,0BAA0B"}
@@ -2,10 +2,15 @@
2
2
  * @import {Vow} from '@agoric/vow';
3
3
  * @import {Zone} from '@agoric/zone';
4
4
  * @import {OrchestrationPowers, OrchestrationTools} from '../utils/start-helper.js';
5
+ * @import {CosmosChainInfo, Denom, DenomDetail} from '@agoric/orchestration';
5
6
  */
6
7
  export const SingleNatAmountRecord: import("@endo/patterns").Matcher;
7
8
  export function contract(zcf: ZCF, privateArgs: OrchestrationPowers & {
8
9
  marshaller: Marshaller;
10
+ chainInfo?: Record<string, CosmosChainInfo>;
11
+ assetInfo?: Record<Denom, DenomDetail & {
12
+ brandKey?: string;
13
+ }>;
9
14
  }, zone: Zone, { chainHub, orchestrateAll, vowTools, zoeTools }: OrchestrationTools): Promise<{
10
15
  publicFacet: import("@endo/exo").Guarded<{
11
16
  makeSendInvitation(): Promise<Invitation<Vow<void>, {
@@ -14,12 +19,25 @@ export function contract(zcf: ZCF, privateArgs: OrchestrationPowers & {
14
19
  }>>;
15
20
  }>;
16
21
  creatorFacet: import("@endo/exo").Guarded<{
17
- registerChain(chainName: string, chainInfo: import("../cosmos-api.js").CosmosChainInfo, connectionInfo: import("../cosmos-api.js").IBCConnectionInfo): Promise<void>;
18
- registerAsset(denom: import("../orchestration-api.js").Denom, detail: import("../types.js").DenomDetail): Promise<void>;
22
+ registerChain(chainName: string, chainInfo: CosmosChainInfo, connectionInfo: import("@agoric/orchestration").IBCConnectionInfo): Promise<void>;
23
+ registerAsset(denom: Denom, detail: DenomDetail): Promise<void>;
19
24
  }>;
20
25
  }>;
21
26
  export const start: (zcf: ZCF<Record<string, unknown>>, privateArgs: OrchestrationPowers & {
22
27
  marshaller: Marshaller;
28
+ chainInfo?: Record<string, Readonly<{
29
+ bech32Prefix?: string;
30
+ chainId: string;
31
+ connections?: Record<string, import("@agoric/orchestration").IBCConnectionInfo>;
32
+ icqEnabled?: boolean;
33
+ pfmEnabled?: boolean;
34
+ stakingTokens?: Readonly<Array<{
35
+ denom: string;
36
+ }>>;
37
+ }>>;
38
+ assetInfo?: Record<Denom, DenomDetail & {
39
+ brandKey?: string;
40
+ }>;
23
41
  }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
24
42
  publicFacet: import("@endo/exo").Guarded<{
25
43
  makeSendInvitation(): Promise<Invitation<Vow<void>, {
@@ -31,16 +49,20 @@ export const start: (zcf: ZCF<Record<string, unknown>>, privateArgs: Orchestrati
31
49
  registerChain(chainName: string, chainInfo: Readonly<{
32
50
  bech32Prefix?: string;
33
51
  chainId: string;
34
- connections?: Record<string, import("../cosmos-api.js").IBCConnectionInfo>;
52
+ connections?: Record<string, import("@agoric/orchestration").IBCConnectionInfo>;
35
53
  icqEnabled?: boolean;
54
+ pfmEnabled?: boolean;
36
55
  stakingTokens?: Readonly<Array<{
37
56
  denom: string;
38
57
  }>>;
39
- }>, connectionInfo: import("../cosmos-api.js").IBCConnectionInfo): Promise<void>;
40
- registerAsset(denom: import("../orchestration-api.js").Denom, detail: import("../types.js").DenomDetail): Promise<void>;
58
+ }>, connectionInfo: import("@agoric/orchestration").IBCConnectionInfo): Promise<void>;
59
+ registerAsset(denom: Denom, detail: DenomDetail): Promise<void>;
41
60
  }>;
42
61
  }>;
43
62
  import type { OrchestrationPowers } from '../utils/start-helper.js';
63
+ import type { CosmosChainInfo } from '@agoric/orchestration';
64
+ import type { Denom } from '@agoric/orchestration';
65
+ import type { DenomDetail } from '@agoric/orchestration';
44
66
  import type { Zone } from '@agoric/zone';
45
67
  import type { OrchestrationTools } from '../utils/start-helper.js';
46
68
  import type { Vow } from '@agoric/vow';
@@ -1 +1 @@
1
- {"version":3,"file":"send-anywhere.contract.d.ts","sourceRoot":"","sources":["send-anywhere.contract.js"],"names":[],"mappings":"AASA;;;;GAIG;AAEH,qEAKE;AAaK,8BAPI,GAAG,eACH,mBAAmB,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAC;CACxB,QACO,IAAI,oDACJ,kBAAkB;;;;;;;;;;;GAsD5B;AAGD;gBA5DiB,UAAU;;;;;;;;;;;;;;;;;;;;GA4DsB;yCA5ES,0BAA0B;0BAD7D,cAAc;wCACqB,0BAA0B;yBAF9D,aAAa"}
1
+ {"version":3,"file":"send-anywhere.contract.d.ts","sourceRoot":"","sources":["send-anywhere.contract.js"],"names":[],"mappings":"AAUA;;;;;GAKG;AAEH,qEAKE;AAeK,8BATI,GAAG,eACH,mBAAmB,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE,QACO,IAAI,oDACJ,kBAAkB;;;;;;;;;;;GA6D5B;AAGD;gBArEiB,UAAU;;;;;;;;;;;gBAEV,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;;;;;;;;;;;;;;;;;;;;;GAmElB;yCAtFS,0BAA0B;qCAC9B,uBAAuB;2BAAvB,uBAAuB;iCAAvB,uBAAuB;0BAFtD,cAAc;wCACqB,0BAA0B;yBAF9D,aAAa"}
@@ -4,6 +4,7 @@ import { M } from '@endo/patterns';
4
4
  import { prepareChainHubAdmin } from '../exos/chain-hub-admin.js';
5
5
  import { AnyNatAmountShape } from '../typeGuards.js';
6
6
  import { withOrchestration } from '../utils/start-helper.js';
7
+ import { registerChainsAndAssets } from '../utils/chain-hub-helper.js';
7
8
  import * as flows from './send-anywhere.flows.js';
8
9
  import * as sharedFlows from './shared.flows.js';
9
10
 
@@ -11,6 +12,7 @@ import * as sharedFlows from './shared.flows.js';
11
12
  * @import {Vow} from '@agoric/vow';
12
13
  * @import {Zone} from '@agoric/zone';
13
14
  * @import {OrchestrationPowers, OrchestrationTools} from '../utils/start-helper.js';
15
+ * @import {CosmosChainInfo, Denom, DenomDetail} from '@agoric/orchestration';
14
16
  */
15
17
 
16
18
  export const SingleNatAmountRecord = M.and(
@@ -27,6 +29,8 @@ harden(SingleNatAmountRecord);
27
29
  * @param {ZCF} zcf
28
30
  * @param {OrchestrationPowers & {
29
31
  * marshaller: Marshaller;
32
+ * chainInfo?: Record<string, CosmosChainInfo>;
33
+ * assetInfo?: Record<Denom, DenomDetail & { brandKey?: string }>;
30
34
  * }} privateArgs
31
35
  * @param {Zone} zone
32
36
  * @param {OrchestrationTools} tools
@@ -82,6 +86,13 @@ export const contract = async (
82
86
  },
83
87
  );
84
88
 
89
+ registerChainsAndAssets(
90
+ chainHub,
91
+ zcf.getTerms().brands,
92
+ privateArgs.chainInfo,
93
+ privateArgs.assetInfo,
94
+ );
95
+
85
96
  return { publicFacet, creatorFacet };
86
97
  };
87
98
  harden(contract);
@@ -12,6 +12,7 @@ export const start: (zcf: ZCF<Record<string, unknown>>, privateArgs: Orchestrati
12
12
  chainId: string;
13
13
  connections?: Record<string, import("../cosmos-api.js").IBCConnectionInfo>;
14
14
  icqEnabled?: boolean;
15
+ pfmEnabled?: boolean;
15
16
  stakingTokens?: Readonly<Array<{
16
17
  denom: string;
17
18
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"staking-combinations.contract.d.ts","sourceRoot":"","sources":["staking-combinations.contract.js"],"names":[],"mappings":"AAgKA;gBA3HiB,UAAU;;;;;;;;;;;;;;;;;;;GA2HsB;yCA5IS,0BAA0B"}
1
+ {"version":3,"file":"staking-combinations.contract.d.ts","sourceRoot":"","sources":["staking-combinations.contract.js"],"names":[],"mappings":"AAgKA;gBA3HiB,UAAU;;;;;;;;;;;;;;;;;;;;GA2HsB;yCA5IS,0BAA0B"}
@@ -1 +1 @@
1
- {"version":3,"file":"chain-hub-admin.d.ts","sourceRoot":"","sources":["chain-hub-admin.js"],"names":[],"mappings":"AAgCO,2CAHI,IAAI,YACJ,QAAQ;IAeb;;;;;;OAMG;6BAHQ,MAAM,aACN,eAAe,kBACf,iBAAiB;IAe5B;;;;;;;OAOG;yBAHQ,KAAK,UAEL,WAAW;GAU3B;4BAEa,UAAU,QAtDb,IAAI,YACJ,QAAQ;IAeb;;;;;;OAMG;6BAHQ,MAAM,aACN,eAAe,kBACf,iBAAiB;IAe5B;;;;;;;OAOG;yBAHQ,KAAK,UAEL,WAAW;GAYkB;0BA3EvB,cAAc;8BAEG,gBAAgB;qCADI,uBAAuB;uCAAvB,uBAAuB;2BAAvB,uBAAuB;iCAC3C,gBAAgB"}
1
+ {"version":3,"file":"chain-hub-admin.d.ts","sourceRoot":"","sources":["chain-hub-admin.js"],"names":[],"mappings":"AA+BO,2CAHI,IAAI,YACJ,QAAQ;IAeb;;;;;;OAMG;6BAHQ,MAAM,aACN,eAAe,kBACf,iBAAiB;IAe5B;;;;;;;OAOG;yBAHQ,KAAK,UAEL,WAAW;GAU3B;4BAEa,UAAU,QAtDb,IAAI,YACJ,QAAQ;IAeb;;;;;;OAMG;6BAHQ,MAAM,aACN,eAAe,kBACf,iBAAiB;IAe5B;;;;;;;OAOG;yBAHQ,KAAK,UAEL,WAAW;GAYkB;0BA3EvB,cAAc;8BAEG,gBAAgB;qCADI,uBAAuB;uCAAvB,uBAAuB;2BAAvB,uBAAuB;iCAC3C,gBAAgB"}
@@ -2,8 +2,7 @@
2
2
  /* eslint-disable no-restricted-syntax */
3
3
  import { heapVowE } from '@agoric/vow/vat.js';
4
4
  import { M } from '@endo/patterns';
5
- import { CosmosChainInfoShape } from '../typeGuards.js';
6
- import { DenomDetailShape } from './chain-hub.js';
5
+ import { CosmosChainInfoShape, DenomDetailShape } from '../typeGuards.js';
7
6
 
8
7
  /**
9
8
  * @import {Zone} from '@agoric/zone';
@@ -1,32 +1,3 @@
1
- /**
2
- * @import {NameHub} from '@agoric/vats';
3
- * @import {Vow, VowTools} from '@agoric/vow';
4
- * @import {Zone} from '@agoric/zone';
5
- * @import {CosmosAssetInfo, CosmosChainInfo, IBCConnectionInfo} from '../cosmos-api.js';
6
- * @import {ChainInfo, KnownChains} from '../chain-info.js';
7
- * @import {ChainAddress, Denom} from '../orchestration-api.js';
8
- * @import {Remote} from '@agoric/internal';
9
- * @import {TypedPattern} from '@agoric/internal';
10
- */
11
- /**
12
- * If K matches a known chain, narrow the type from generic ChainInfo
13
- *
14
- * @template {string} K
15
- * @typedef {K extends keyof KnownChains
16
- * ? ChainInfo & Omit<KnownChains[K], 'connections'>
17
- * : ChainInfo} ActualChainInfo
18
- * @internal
19
- */
20
- /**
21
- * @typedef {object} DenomDetail
22
- * @property {string} baseName - name of issuing chain; e.g. cosmoshub
23
- * @property {Denom} baseDenom - e.g. uatom
24
- * @property {string} chainName - name of holding chain; e.g. agoric
25
- * @property {Brand<'nat'>} [brand] - vbank brand, if registered
26
- * @see {ChainHub} `registerAsset` method
27
- */
28
- /** @type {TypedPattern<DenomDetail>} */
29
- export const DenomDetailShape: TypedPattern<DenomDetail>;
30
1
  export type HubName = (typeof HubName)[keyof typeof HubName];
31
2
  export namespace HubName {
32
3
  let Chain: "chain";
@@ -141,7 +112,6 @@ export type DenomDetail = {
141
112
  brand?: globalThis.Brand<"nat"> | undefined;
142
113
  };
143
114
  export type ChainHub = ReturnType<typeof makeChainHub>;
144
- import type { TypedPattern } from '@agoric/internal';
145
115
  import type { IBCConnectionInfo } from '../cosmos-api.js';
146
116
  import type { Zone } from '@agoric/zone';
147
117
  import type { NameHub } from '@agoric/vats';
@@ -1 +1 @@
1
- {"version":3,"file":"chain-hub.d.ts","sourceRoot":"","sources":["chain-hub.js"],"names":[],"mappings":"AAaA;;;;;;;;;GASG;AAEH;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AACH,wCAAwC;AACxC,+BADW,aAAa,WAAW,CAAC,CAIlC;sBAGQ,CAAC,OAAO,OAAO,EAAE,MAAM,OAAO,OAAO,CAAC;;;;;;AAYhD,oCAAoC;AACpC,gCAAuC;AACvC,8CAA8C;AAC9C,gDAAuD;AACvD,0CAA0C;AAC1C,uCAA8C;AAqBvC,wCAHI,MAAM,YACN,MAAM,UAUhB;AAoCM,wDALI,MAAM,kBACN,MAAM,YACN,iBAAiB,GACf,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAavC;AA4DM,mCAJI,IAAI,eACJ,OAAO,OAAO,CAAC,YACf,QAAQ;IAqHf;;;;;;;;;;;OAWG;wBAFQ,MAAM,aACN,eAAe;IAQ1B;;;;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;IAQ9B;;;;OAIG;8BAHQ,MAAM,GACJ,YAAY;GAmB5B;AAUM,yCAJI,QAAQ,QACR,MAAM,UACN,eAAe,EAAE,QAe3B;;;;4BA5cqB,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;;;;;;uBA2aN,UAAU,CAAC,OAAO,YAAY,CAAC;kCA5bd,kBAAkB;uCAJqB,kBAAkB;0BADjE,cAAc;6BAFX,cAAc;4BAMf,kBAAkB;8BALX,aAAa;qCAEyB,kBAAkB;yBAFxD,aAAa;2BAIP,yBAAyB;kCAAzB,yBAAyB;qCAFO,kBAAkB;iCAC/C,kBAAkB;+BAAlB,kBAAkB"}
1
+ {"version":3,"file":"chain-hub.d.ts","sourceRoot":"","sources":["chain-hub.js"],"names":[],"mappings":"sBA4CU,CAAC,OAAO,OAAO,EAAE,MAAM,OAAO,OAAO,CAAC;;;;;;AAYhD,oCAAoC;AACpC,gCAAuC;AACvC,8CAA8C;AAC9C,gDAAuD;AACvD,0CAA0C;AAC1C,uCAA8C;AAqBvC,wCAHI,MAAM,YACN,MAAM,UAUhB;AAoCM,wDALI,MAAM,kBACN,MAAM,YACN,iBAAiB,GACf,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAavC;AA4DM,mCAJI,IAAI,eACJ,OAAO,OAAO,CAAC,YACf,QAAQ;IAqHf;;;;;;;;;;;OAWG;wBAFQ,MAAM,aACN,eAAe;IAQ1B;;;;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;IAQ9B;;;;OAIG;8BAHQ,MAAM,GACJ,YAAY;GAmB5B;AAUM,yCAJI,QAAQ,QACR,MAAM,UACN,eAAe,EAAE,QAe3B;;;;4BAvcqB,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;;;;;;uBAsaN,UAAU,CAAC,OAAO,YAAY,CAAC;uCA1byB,kBAAkB;0BADjE,cAAc;6BAFX,cAAc;4BAMf,kBAAkB;8BALX,aAAa;qCAEyB,kBAAkB;yBAFxD,aAAa;2BAIP,yBAAyB;kCAAzB,yBAAyB;qCAFO,kBAAkB;iCAC/C,kBAAkB;+BAAlB,kBAAkB"}
@@ -7,6 +7,7 @@ import { VowShape } from '@agoric/vow';
7
7
  import {
8
8
  ChainAddressShape,
9
9
  CosmosChainInfoShape,
10
+ DenomDetailShape,
10
11
  IBCConnectionInfoShape,
11
12
  } from '../typeGuards.js';
12
13
  import { getBech32Prefix } from '../utils/address.js';
@@ -19,7 +20,6 @@ import { getBech32Prefix } from '../utils/address.js';
19
20
  * @import {ChainInfo, KnownChains} from '../chain-info.js';
20
21
  * @import {ChainAddress, Denom} from '../orchestration-api.js';
21
22
  * @import {Remote} from '@agoric/internal';
22
- * @import {TypedPattern} from '@agoric/internal';
23
23
  */
24
24
 
25
25
  /**
@@ -40,11 +40,6 @@ import { getBech32Prefix } from '../utils/address.js';
40
40
  * @property {Brand<'nat'>} [brand] - vbank brand, if registered
41
41
  * @see {ChainHub} `registerAsset` method
42
42
  */
43
- /** @type {TypedPattern<DenomDetail>} */
44
- export const DenomDetailShape = M.splitRecord(
45
- { chainName: M.string(), baseName: M.string(), baseDenom: M.string() },
46
- { brand: BrandShape },
47
- );
48
43
 
49
44
  /**
50
45
  * @enum {(typeof HubName)[keyof typeof HubName]}
@@ -3,6 +3,7 @@ export function prepareLocalChainFacade(zone: Zone, powers: LocalChainFacadePowe
3
3
  chainId: string;
4
4
  connections?: Record<string, IBCConnectionInfo>;
5
5
  icqEnabled?: boolean;
6
+ pfmEnabled?: boolean;
6
7
  stakingTokens?: Readonly<Array<{
7
8
  denom: string;
8
9
  }>>;
@@ -12,6 +13,7 @@ export function prepareLocalChainFacade(zone: Zone, powers: LocalChainFacadePowe
12
13
  chainId: string;
13
14
  connections?: Record<string, IBCConnectionInfo>;
14
15
  icqEnabled?: boolean;
16
+ pfmEnabled?: boolean;
15
17
  stakingTokens?: Readonly<Array<{
16
18
  denom: string;
17
19
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"local-chain-facade.d.ts","sourceRoot":"","sources":["local-chain-facade.js"],"names":[],"mappings":"AA4LO,8CAJI,IAAI,UACJ,sBAAsB;;;;;;;;;;;;;;;;;;IApFzB,6DAA6D;mBAA/C,IAAI,4BAA4B,CAAC,QAAQ,CAAC,CAAC;;;;;;;;;;GA0FhE;;;;;;;;;;;uBAnKa,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;;qCAO3B;IACR,gCAAgC,EAAE,gCAAgC,CAAC;IACnE,aAAa,EAAE,OAAO,uBAAuB,CAAC,CAAC;IAC/C,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,WAAW,EAAE,OAAO,OAAO,CAAC,CAAC;IAC7B,KAAK,EAAE,OAAO,YAAY,CAAC,CAAC;IAC5B,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,QAAQ,EAAE,QAAQ,CAAC;CACpB;mCAuJU,UAAU,CAAC,OAAO,uBAAuB,CAAC;+BAC1C,UAAU,CAAC,oBAAoB,CAAC;0BAvLvB,mBAAmB;uCASiE,aAAa;yBAHxF,aAAa;kDAEoC,kCAAkC;+BAJvF,8BAA8B;sDAIuB,kCAAkC;6CADzE,qBAAqB;4BALtC,kBAAkB;6BAGjB,cAAc;kCAJT,cAAc;gCAEgB,gCAAgC;8BAG7D,aAAa"}
1
+ {"version":3,"file":"local-chain-facade.d.ts","sourceRoot":"","sources":["local-chain-facade.js"],"names":[],"mappings":"AA4LO,8CAJI,IAAI,UACJ,sBAAsB;;;;;;;;;;;;;;;;;;;;IApFzB,6DAA6D;mBAA/C,IAAI,4BAA4B,CAAC,QAAQ,CAAC,CAAC;;;;;;;;;;GA0FhE;;;;;;;;;;;uBAnKa,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;;qCAO3B;IACR,gCAAgC,EAAE,gCAAgC,CAAC;IACnE,aAAa,EAAE,OAAO,uBAAuB,CAAC,CAAC;IAC/C,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,WAAW,EAAE,OAAO,OAAO,CAAC,CAAC;IAC7B,KAAK,EAAE,OAAO,YAAY,CAAC,CAAC;IAC5B,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;IAC/B,QAAQ,EAAE,QAAQ,CAAC;CACpB;mCAuJU,UAAU,CAAC,OAAO,uBAAuB,CAAC;+BAC1C,UAAU,CAAC,oBAAoB,CAAC;0BAvLvB,mBAAmB;uCASiE,aAAa;yBAHxF,aAAa;kDAEoC,kCAAkC;+BAJvF,8BAA8B;sDAIuB,kCAAkC;6CADzE,qBAAqB;4BALtC,kBAAkB;6BAGjB,cAAc;kCAJT,cAAc;gCAEgB,gCAAgC;8BAG7D,aAAa"}
@@ -56,6 +56,7 @@ declare function prepareOrchestratorKit(zone: Zone, { chainHub, makeLocalChainFa
56
56
  chainId: string;
57
57
  connections?: Record<string, IBCConnectionInfo>;
58
58
  icqEnabled?: boolean;
59
+ pfmEnabled?: boolean;
59
60
  stakingTokens?: Readonly<Array<{
60
61
  denom: string;
61
62
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["orchestrator.js"],"names":[],"mappings":"AAiCA,0BAA0B;AAC1B;;;;GAIG;AAiJI,0CARI,IAAI,UACJ;IACN,QAAQ,EAAE,QAAQ,CAAC;IACnB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,QAAQ,CAAC;CACpB;;;IAfI,+CAA+C;cAApC,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;GAoBlD;;;;;+BAMY,UAAU,CAClB,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAC1C,CAAC,cAAc,CAAC;0BAnLG,mBAAmB;8BACE,gBAAgB;0CASrB,yBAAyB;2CACxB,0BAA0B;8BARlC,aAAa;2BASoC,aAAa;mCAVtC,oBAAoB;yBAC5C,aAAa;kCASoC,aAAa;4BAVtC,oBAAoB;AAuB5E;;;;;;;;GAQG;AACH,8CARW,IAAI,0FACJ;IACN,QAAQ,EAAE,QAAQ,CAAC;IACnB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,QAAQ,CAAC;CACpB;IAwCE,2DAA2D;;QAEzD;;WAEG;qCADQ,gBAAgB,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;IAQtC;;;OAGG;;QAED;;;;;;WAMG;0HADQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0DjB,+CAA+C;kBAApC,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;;GAKlD;qCA3J2C,gBAAgB;uCAWqB,aAAa;+BAAb,aAAa"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["orchestrator.js"],"names":[],"mappings":"AAiCA,0BAA0B;AAC1B;;;;GAIG;AAiJI,0CARI,IAAI,UACJ;IACN,QAAQ,EAAE,QAAQ,CAAC;IACnB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,QAAQ,CAAC;CACpB;;;IAfI,+CAA+C;cAApC,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;GAoBlD;;;;;+BAMY,UAAU,CAClB,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAC1C,CAAC,cAAc,CAAC;0BAnLG,mBAAmB;8BACE,gBAAgB;0CASrB,yBAAyB;2CACxB,0BAA0B;8BARlC,aAAa;2BASoC,aAAa;mCAVtC,oBAAoB;yBAC5C,aAAa;kCASoC,aAAa;4BAVtC,oBAAoB;AAuB5E;;;;;;;;GAQG;AACH,8CARW,IAAI,0FACJ;IACN,QAAQ,EAAE,QAAQ,CAAC;IACnB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,QAAQ,CAAC;CACpB;IAwCE,2DAA2D;;QAEzD;;WAEG;qCADQ,gBAAgB,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;IAQtC;;;OAGG;;QAED;;;;;;WAMG;0HADQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA0DjB,+CAA+C;kBAApC,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;;GAKlD;qCA3J2C,gBAAgB;uCAWqB,aAAa;+BAAb,aAAa"}
@@ -3,6 +3,7 @@ export function prepareRemoteChainFacade(zone: Zone, powers: RemoteChainFacadePo
3
3
  chainId: string;
4
4
  connections?: Record<string, IBCConnectionInfo>;
5
5
  icqEnabled?: boolean;
6
+ pfmEnabled?: boolean;
6
7
  stakingTokens?: Readonly<Array<{
7
8
  denom: string;
8
9
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"remote-chain-facade.d.ts","sourceRoot":"","sources":["remote-chain-facade.js"],"names":[],"mappings":"AAqQO,+CAHI,IAAI,UACJ,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKjC;sCA1OY;IACR,8BAA8B,EAAE,UAAU,CAC9C,wCAA8C,CACzC,CAAC;IACF,aAAa,EAAE,OAAO,uBAAuB,CAAC,CAAC;IAC/C,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,KAAK,EAAE,OAAO,YAAY,CAAC,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;CACpB;qCAIS;IACR,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,iBAAiB,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;CAC1C;oCA6NU,UAAU,CAAC,OAAO,wBAAwB,CAAC;gCAC3C,UAAU,CAAC,qBAAqB,CAAC;0BA7PxB,mBAAmB;uCAS2D,aAAa;yBAJlF,aAAa;uDAGO,mCAAmC;6CAD7C,qBAAqB;4BAHtC,kBAAkB;kCADZ,cAAc;8BAEb,aAAa;qCAIwD,aAAa;mCAAb,aAAa"}
1
+ {"version":3,"file":"remote-chain-facade.d.ts","sourceRoot":"","sources":["remote-chain-facade.js"],"names":[],"mappings":"AAqQO,+CAHI,IAAI,UACJ,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKjC;sCA1OY;IACR,8BAA8B,EAAE,UAAU,CAC9C,wCAA8C,CACzC,CAAC;IACF,aAAa,EAAE,OAAO,uBAAuB,CAAC,CAAC;IAC/C,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;IACjC,KAAK,EAAE,OAAO,YAAY,CAAC,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;CACpB;qCAIS;IACR,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,iBAAiB,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;CAC1C;oCA6NU,UAAU,CAAC,OAAO,wBAAwB,CAAC;gCAC3C,UAAU,CAAC,qBAAqB,CAAC;0BA7PxB,mBAAmB;uCAS2D,aAAa;yBAJlF,aAAa;uDAGO,mCAAmC;6CAD7C,qBAAqB;4BAHtC,kBAAkB;kCADZ,cAAc;8BAEb,aAAa;qCAIwD,aAAa;mCAAb,aAAa"}
@@ -69,6 +69,9 @@ export interface Chain<CI extends ChainInfo> {
69
69
  icqEnabled: true;
70
70
  } ? ICQQueryFunction : CI['chainId'] extends `agoric${string}` ? QueryManyFn : never;
71
71
  }
72
+ /**
73
+ * Used with `orch.getDenomInfo('ibc/1234')`. See {@link Orchestrator.getDenomInfo}
74
+ */
72
75
  export interface DenomInfo<HoldingChain extends keyof KnownChains, IssuingChain extends keyof KnownChains> {
73
76
  /** The well-known Brand on Agoric for the direct asset */
74
77
  brand?: Brand;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-api.d.ts","sourceRoot":"","sources":["orchestration-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestration-api.d.ts","sourceRoot":"","sources":["orchestration-api.ts"],"names":[],"mappings":"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"}
@@ -102,6 +102,9 @@ export interface Chain<CI extends ChainInfo> {
102
102
  // TODO provide a way to get the local denom/brand/whatever for this chain
103
103
  }
104
104
 
105
+ /**
106
+ * Used with `orch.getDenomInfo('ibc/1234')`. See {@link Orchestrator.getDenomInfo}
107
+ */
105
108
  export interface DenomInfo<
106
109
  HoldingChain extends keyof KnownChains,
107
110
  IssuingChain extends keyof KnownChains,
@@ -0,0 +1,93 @@
1
+ export function startSendAnywhere({ consume: { agoricNames, board, chainStorage, chainTimerService, cosmosInterchainService, localchain, startUpgradable, }, installation: { consume: { sendAnywhere }, }, instance: { produce: { sendAnywhere: produceInstance }, }, issuer: { consume: { IST }, }, }: BootstrapPowers & {
2
+ installation: {
3
+ consume: {
4
+ sendAnywhere: Installation<(zcf: ZCF<Record<string, unknown>>, privateArgs: import("@agoric/orchestration").OrchestrationPowers & {
5
+ marshaller: Marshaller;
6
+ chainInfo?: Record<string, Readonly<{
7
+ bech32Prefix?: string;
8
+ chainId: string;
9
+ connections?: Record<string, import("@agoric/orchestration").IBCConnectionInfo>;
10
+ icqEnabled?: boolean;
11
+ pfmEnabled?: boolean;
12
+ stakingTokens?: Readonly<Array<{
13
+ denom: string;
14
+ }>>;
15
+ }>>;
16
+ assetInfo?: Record<Denom, DenomDetail & {
17
+ brandKey?: string;
18
+ }>;
19
+ }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
20
+ publicFacet: import("@endo/exo").Guarded<{
21
+ makeSendInvitation(): Promise<Invitation<import("@agoric/vow").Vow<void>, {
22
+ chainName: string;
23
+ destAddr: string;
24
+ }>>;
25
+ }>;
26
+ creatorFacet: import("@endo/exo").Guarded<{
27
+ registerChain(chainName: string, chainInfo: Readonly<{
28
+ bech32Prefix?: string;
29
+ chainId: string;
30
+ connections?: Record<string, import("@agoric/orchestration").IBCConnectionInfo>;
31
+ icqEnabled?: boolean;
32
+ pfmEnabled?: boolean;
33
+ stakingTokens?: Readonly<Array<{
34
+ denom: string;
35
+ }>>;
36
+ }>, connectionInfo: import("@agoric/orchestration").IBCConnectionInfo): Promise<void>;
37
+ registerAsset(denom: Denom, detail: DenomDetail): Promise<void>;
38
+ }>;
39
+ }>>;
40
+ };
41
+ };
42
+ }, { options: { chainInfo, assetInfo } }: {
43
+ options: {
44
+ chainInfo: Record<string, CosmosChainInfo>;
45
+ assetInfo: Record<Denom, DenomDetail & {
46
+ brandKey?: string;
47
+ }>;
48
+ };
49
+ }): Promise<void>;
50
+ export function getManifest({ restoreRef }: {
51
+ restoreRef: any;
52
+ }, { installationRef, options }: {
53
+ installationRef: any;
54
+ options: any;
55
+ }): {
56
+ manifest: {
57
+ [x: string]: {
58
+ consume: {
59
+ agoricNames: boolean;
60
+ board: boolean;
61
+ chainStorage: boolean;
62
+ chainTimerService: boolean;
63
+ cosmosInterchainService: boolean;
64
+ localchain: boolean;
65
+ startUpgradable: boolean;
66
+ };
67
+ installation: {
68
+ consume: {
69
+ sendAnywhere: boolean;
70
+ };
71
+ };
72
+ instance: {
73
+ produce: {
74
+ sendAnywhere: boolean;
75
+ };
76
+ };
77
+ issuer: {
78
+ consume: {
79
+ IST: boolean;
80
+ };
81
+ };
82
+ };
83
+ };
84
+ installations: {
85
+ sendAnywhere: any;
86
+ };
87
+ options: any;
88
+ };
89
+ import type { Denom } from '@agoric/orchestration';
90
+ import type { DenomDetail } from '@agoric/orchestration';
91
+ import type { Installation } from '@agoric/zoe/src/zoeService/utils.js';
92
+ import type { CosmosChainInfo } from '@agoric/orchestration';
93
+ //# sourceMappingURL=start-send-anywhere.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-send-anywhere.d.ts","sourceRoot":"","sources":["start-send-anywhere.js"],"names":[],"mappings":"AAkCO,wSAdI,eAAe,GAAG;IACxB,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,YAAY,EAAE;;;;;;;;;;;;;4BA2BQ,CAAA;;;;;;;;;;;;;;;;;;;;;;eA3Ba,CAAC;SACrC,CAAC;KACH,CAAC;CACH,yCACO;IACN,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3C,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/D,CAAC;CACH,iBAqDH;AAGM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BN;2BA5GqD,uBAAuB;iCAAvB,uBAAuB;kCAD9C,qCAAqC;qCACd,uBAAuB"}
@@ -0,0 +1,119 @@
1
+ import {
2
+ deeplyFulfilledObject,
3
+ makeTracer,
4
+ NonNullish,
5
+ } from '@agoric/internal';
6
+ import { E } from '@endo/far';
7
+
8
+ /// <reference types="@agoric/vats/src/core/types-ambient"/>
9
+ /**
10
+ * @import {Installation} from '@agoric/zoe/src/zoeService/utils.js';
11
+ * @import {CosmosChainInfo, Denom, DenomDetail} from '@agoric/orchestration';
12
+ */
13
+
14
+ const trace = makeTracer('StartSA', true);
15
+
16
+ /**
17
+ * @import {start as StartFn} from '@agoric/orchestration/src/examples/send-anywhere.contract.js';
18
+ */
19
+
20
+ /**
21
+ * @param {BootstrapPowers & {
22
+ * installation: {
23
+ * consume: {
24
+ * sendAnywhere: Installation<StartFn>;
25
+ * };
26
+ * };
27
+ * }} powers
28
+ * @param {{
29
+ * options: {
30
+ * chainInfo: Record<string, CosmosChainInfo>;
31
+ * assetInfo: Record<Denom, DenomDetail & { brandKey?: string }>;
32
+ * };
33
+ * }} config
34
+ */
35
+ export const startSendAnywhere = async (
36
+ {
37
+ consume: {
38
+ agoricNames,
39
+ board,
40
+ chainStorage,
41
+ chainTimerService,
42
+ cosmosInterchainService,
43
+ localchain,
44
+ startUpgradable,
45
+ },
46
+ installation: {
47
+ consume: { sendAnywhere },
48
+ },
49
+ instance: {
50
+ // @ts-expect-error unknown instance
51
+ produce: { sendAnywhere: produceInstance },
52
+ },
53
+ issuer: {
54
+ consume: { IST },
55
+ },
56
+ },
57
+ { options: { chainInfo, assetInfo } },
58
+ ) => {
59
+ trace(startSendAnywhere.name);
60
+
61
+ const marshaller = await E(board).getReadonlyMarshaller();
62
+
63
+ const privateArgs = await deeplyFulfilledObject(
64
+ harden({
65
+ agoricNames,
66
+ localchain,
67
+ marshaller,
68
+ orchestrationService: cosmosInterchainService,
69
+ storageNode: E(NonNullish(await chainStorage)).makeChildNode(
70
+ 'send-anywhere',
71
+ ),
72
+ timerService: chainTimerService,
73
+ chainInfo,
74
+ assetInfo,
75
+ }),
76
+ );
77
+
78
+ const { instance } = await E(startUpgradable)({
79
+ label: 'send-anywhere',
80
+ installation: sendAnywhere,
81
+ issuerKeywordRecord: { Stable: await IST },
82
+ privateArgs,
83
+ });
84
+ produceInstance.resolve(instance);
85
+ trace('done');
86
+ };
87
+ harden(startSendAnywhere);
88
+
89
+ export const getManifest = ({ restoreRef }, { installationRef, options }) => {
90
+ return {
91
+ manifest: {
92
+ [startSendAnywhere.name]: {
93
+ consume: {
94
+ agoricNames: true,
95
+ board: true,
96
+ chainStorage: true,
97
+ chainTimerService: true,
98
+ cosmosInterchainService: true,
99
+ localchain: true,
100
+
101
+ startUpgradable: true,
102
+ },
103
+ installation: {
104
+ consume: { sendAnywhere: true },
105
+ },
106
+ instance: {
107
+ produce: { sendAnywhere: true },
108
+ },
109
+ issuer: {
110
+ consume: { IST: true },
111
+ },
112
+ },
113
+ },
114
+ installations: {
115
+ sendAnywhere: restoreRef(installationRef),
116
+ },
117
+ options,
118
+ };
119
+ };
@@ -4,6 +4,7 @@
4
4
  * @import {Any as Proto3Msg} from '@agoric/cosmic-proto/google/protobuf/any.js';
5
5
  * @import {TxBody} from '@agoric/cosmic-proto/cosmos/tx/v1beta1/tx.js';
6
6
  * @import {TypedJson} from '@agoric/cosmic-proto';
7
+ * @import {DenomDetail} from './exos/chain-hub.js';
7
8
  */
8
9
  /**
9
10
  * Used for IBC Channel Connections that only send outgoing transactions. If
@@ -37,6 +38,8 @@ export const ChainInfoShape: TypedPattern<ChainInfo>;
37
38
  export const DenomShape: import("@endo/patterns").Matcher;
38
39
  /** @type {TypedPattern<DenomInfo<any, any>>} */
39
40
  export const DenomInfoShape: TypedPattern<DenomInfo<any, any>>;
41
+ /** @type {TypedPattern<DenomDetail>} */
42
+ export const DenomDetailShape: TypedPattern<DenomDetail>;
40
43
  /** @type {TypedPattern<DenomAmount>} */
41
44
  export const DenomAmountShape: TypedPattern<DenomAmount>;
42
45
  /** @type {TypedPattern<Amount<'nat'>>} */
@@ -85,6 +88,7 @@ import type { CosmosAssetInfo } from './types.js';
85
88
  import type { CosmosChainInfo } from './types.js';
86
89
  import type { ChainInfo } from './types.js';
87
90
  import type { DenomInfo } from './types.js';
91
+ import type { DenomDetail } from './exos/chain-hub.js';
88
92
  import type { DenomAmount } from './types.js';
89
93
  import type { AmountArg } from './types.js';
90
94
  import type { CosmosValidatorAddress } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["typeGuards.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH;;;;GAIG;AACH;;;GAQE;AAEF,yCAAyC;AACzC,gCADW,aAAa,YAAY,CAAC,CAKnC;AAGF,sCAAsC;AACtC,0BADW,aAAa,SAAS,CAAC,CACoC;AAGtE,gBAAgB;AAChB,uEAUE;AAEF,gBAAgB;AAChB,iEAA4C;AAE5C,gBAAgB;AAChB,mEAQG;AAEH,gBAAgB;AAChB,oEAA+C;AAE/C,gBAAgB;AAChB,sEASG;AAEH,4CAA4C;AAC5C,mCADW,aAAa,eAAe,CAAC,CASrC;AAEH,4CAA4C;AAC5C,mCADW,aAAa,eAAe,CAAC,CAYtC;AAEF,sCAAsC;AACtC,6BADW,aAAa,SAAS,CAAC,CAG/B;AACH,0DAAqC;AAErC,gDAAgD;AAChD,6BADW,aAAa,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC,CAM1C;AAGF,wCAAwC;AACxC,+BADW,aAAa,WAAW,CAAC,CACkC;AAGtE,0CAA0C;AAC1C,gCADW,aAAa,MAAM,CAAC,KAAK,CAAC,CAAC,CAIpC;AAGF,sCAAsC;AACtC,6BADW,aAAa,SAAS,CAAC,CACsC;AAExE;;;;;GAKG;AACH,8BALU,aAAa;IAClB,SAAS,EAAE,sBAAsB,CAAC;IAClC,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC,CAQH;AAEF,sCAAsC;AACtC,2DAGE;AAEF,sCAAsC;AACtC,6BADW,aAAa,SAAS,CAAC,CACmC;;;;;;;;;AAmBrE;;;;GAIG;AACH,+DAQE;AAEF;;;GAGG;AACH,mEAGE;AAEF,gDAAgD;AAChD,uCADW,aAAa,mBAAmB,CAAC,CAO1C;kCAxMiK,YAAY;kCADhJ,kBAAkB;sCAEd,6CAA6C;qCADmF,YAAY;qCAAZ,YAAY;+BAAZ,YAAY;+BAAZ,YAAY;iCAAZ,YAAY;+BAAZ,YAAY;4CAAZ,YAAY;+BAGnJ,sBAAsB;yCAHiH,YAAY"}
1
+ {"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["typeGuards.js"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH;;;;GAIG;AACH;;;GAQE;AAEF,yCAAyC;AACzC,gCADW,aAAa,YAAY,CAAC,CAKnC;AAGF,sCAAsC;AACtC,0BADW,aAAa,SAAS,CAAC,CACoC;AAGtE,gBAAgB;AAChB,uEAUE;AAEF,gBAAgB;AAChB,iEAA4C;AAE5C,gBAAgB;AAChB,mEAQG;AAEH,gBAAgB;AAChB,oEAA+C;AAE/C,gBAAgB;AAChB,sEASG;AAEH,4CAA4C;AAC5C,mCADW,aAAa,eAAe,CAAC,CASrC;AAEH,4CAA4C;AAC5C,mCADW,aAAa,eAAe,CAAC,CAatC;AAEF,sCAAsC;AACtC,6BADW,aAAa,SAAS,CAAC,CAG/B;AACH,0DAAqC;AAErC,gDAAgD;AAChD,6BADW,aAAa,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC,CAM1C;AAGF,wCAAwC;AACxC,+BADW,aAAa,WAAW,CAAC,CAIlC;AAGF,wCAAwC;AACxC,+BADW,aAAa,WAAW,CAAC,CACkC;AAGtE,0CAA0C;AAC1C,gCADW,aAAa,MAAM,CAAC,KAAK,CAAC,CAAC,CAIpC;AAGF,sCAAsC;AACtC,6BADW,aAAa,SAAS,CAAC,CACsC;AAExE;;;;;GAKG;AACH,8BALU,aAAa;IAClB,SAAS,EAAE,sBAAsB,CAAC;IAClC,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC,CAQH;AAEF,sCAAsC;AACtC,2DAGE;AAEF,sCAAsC;AACtC,6BADW,aAAa,SAAS,CAAC,CACmC;;;;;;;;;AAmBrE;;;;GAIG;AACH,+DAQE;AAEF;;;GAGG;AACH,mEAGE;AAEF,gDAAgD;AAChD,uCADW,aAAa,mBAAmB,CAAC,CAO1C;kCAjNiK,YAAY;kCADhJ,kBAAkB;sCAEd,6CAA6C;qCADmF,YAAY;qCAAZ,YAAY;+BAAZ,YAAY;+BAAZ,YAAY;iCAIjJ,qBAAqB;iCAJgH,YAAY;+BAAZ,YAAY;4CAAZ,YAAY;+BAGnJ,sBAAsB;yCAHiH,YAAY"}
package/src/typeGuards.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { BrandShape } from '@agoric/ertp/src/typeGuards.js';
1
2
  import { VowShape } from '@agoric/vow';
2
3
  import { M } from '@endo/patterns';
3
4
 
@@ -7,6 +8,7 @@ import { M } from '@endo/patterns';
7
8
  * @import {Any as Proto3Msg} from '@agoric/cosmic-proto/google/protobuf/any.js';
8
9
  * @import {TxBody} from '@agoric/cosmic-proto/cosmos/tx/v1beta1/tx.js';
9
10
  * @import {TypedJson} from '@agoric/cosmic-proto';
11
+ * @import {DenomDetail} from './exos/chain-hub.js';
10
12
  */
11
13
 
12
14
  /**
@@ -100,6 +102,7 @@ export const CosmosChainInfoShape = M.splitRecord(
100
102
  stakingTokens: M.arrayOf({ denom: M.string() }),
101
103
  // UNTIL https://github.com/Agoric/agoric-sdk/issues/9326
102
104
  icqEnabled: M.boolean(),
105
+ pfmEnabled: M.boolean(),
103
106
  },
104
107
  );
105
108
 
@@ -118,6 +121,13 @@ export const DenomInfoShape = {
118
121
  };
119
122
  harden(DenomInfoShape);
120
123
 
124
+ /** @type {TypedPattern<DenomDetail>} */
125
+ export const DenomDetailShape = M.splitRecord(
126
+ { chainName: M.string(), baseName: M.string(), baseDenom: M.string() },
127
+ { brand: BrandShape },
128
+ );
129
+ harden(DenomDetailShape);
130
+
121
131
  /** @type {TypedPattern<DenomAmount>} */
122
132
  export const DenomAmountShape = { denom: DenomShape, value: M.nat() };
123
133
  harden(DenomAmountShape);
@@ -0,0 +1,8 @@
1
+ export function registerChainsAndAssets(chainHub: ChainHub, brands: Record<string, Brand<"nat">>, chainInfo: Record<string, CosmosChainInfo> | undefined, assetInfo: Record<Denom, DenomDetail & {
2
+ brandKey?: string;
3
+ }> | undefined): void;
4
+ import type { ChainHub } from '../types.js';
5
+ import type { CosmosChainInfo } from '../types.js';
6
+ import type { Denom } from '../types.js';
7
+ import type { DenomDetail } from '../types.js';
8
+ //# sourceMappingURL=chain-hub-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-hub-helper.d.ts","sourceRoot":"","sources":["chain-hub-helper.js"],"names":[],"mappings":"AAcO,kDALI,QAAQ,UACR,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,aAC5B,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,aAC3C,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,QAwCxE;8BAnD+D,aAAa;qCAAb,aAAa;2BAAb,aAAa;iCAAb,aAAa"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @import {ChainHub, CosmosChainInfo, Denom, DenomDetail} from '../types.js';
3
+ */
4
+
5
+ /**
6
+ * Registers chains, connections, assets in the provided chainHub.
7
+ *
8
+ * If either is not provided, registration will be skipped.
9
+ *
10
+ * @param {ChainHub} chainHub
11
+ * @param {Record<string, Brand<'nat'>>} brands
12
+ * @param {Record<string, CosmosChainInfo> | undefined} chainInfo
13
+ * @param {Record<Denom, DenomDetail & { brandKey?: string }> | undefined} assetInfo
14
+ */
15
+ export const registerChainsAndAssets = (
16
+ chainHub,
17
+ brands,
18
+ chainInfo,
19
+ assetInfo,
20
+ ) => {
21
+ if (!chainInfo) {
22
+ console.log('No chain info provided, returning early.');
23
+ return;
24
+ }
25
+
26
+ const conns = {};
27
+ for (const [chainName, allInfo] of Object.entries(chainInfo)) {
28
+ const { connections, ...info } = allInfo;
29
+ chainHub.registerChain(chainName, info);
30
+ conns[info.chainId] = connections;
31
+ }
32
+ const registeredPairs = new Set();
33
+ for (const [pChainId, connInfos] of Object.entries(conns)) {
34
+ for (const [cChainId, connInfo] of Object.entries(connInfos)) {
35
+ const pair = [pChainId, cChainId].sort().join('');
36
+ if (!registeredPairs.has(pair)) {
37
+ chainHub.registerConnection(pChainId, cChainId, connInfo);
38
+ registeredPairs.add(pair);
39
+ }
40
+ }
41
+ }
42
+
43
+ if (!assetInfo) {
44
+ console.log('No asset info provided, returning early.');
45
+ return;
46
+ }
47
+ for (const [denom, info] of Object.entries(assetInfo)) {
48
+ const infoWithBrand = info.brandKey
49
+ ? { ...info, brand: brands[info.brandKey] }
50
+ : info;
51
+ chainHub.registerAsset(denom, infoWithBrand);
52
+ }
53
+ };
@@ -4,6 +4,7 @@ export function convertChainInfo(registry: Pick<ChainRegistryClient, "chains" |
4
4
  chainId: string;
5
5
  connections?: Record<string, IBCConnectionInfo>;
6
6
  icqEnabled?: boolean;
7
+ pfmEnabled?: boolean;
7
8
  stakingTokens?: Readonly<Array<{
8
9
  denom: string;
9
10
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["registry.js"],"names":[],"mappings":"AAqFO,2CAFI,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,SAAS,CAAC;;;;;;;;;;GA8CzD;yCAvHqC,wBAAwB;uCACT,kBAAkB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["registry.js"],"names":[],"mappings":"AAqFO,2CAFI,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,SAAS,CAAC;;;;;;;;;;;GA8CzD;yCAvHqC,wBAAwB;uCACT,kBAAkB"}
@@ -5,6 +5,7 @@ export function provideOrchestration(zcf: ZCF, baggage: Baggage, remotePowers: O
5
5
  [durableName: string]: import("../orchestration-api.js").OrchestrationFlow<import("@agoric/async-flow").GuestInterface<HC>>;
6
6
  }>(guestFns: GFM, hostCtx: HC) => { [N in keyof GFM]: HostForGuest<GFM[N]>; };
7
7
  };
8
+ baggage: Baggage;
8
9
  chainHub: import("@endo/exo").Guarded<{
9
10
  registerChain(name: string, chainInfo: import("../cosmos-api.js").CosmosChainInfo): void;
10
11
  getChainInfo<K extends string>(chainName: K): import("@agoric/vow").Vow<ActualChainInfo<K>>;
@@ -1 +1 @@
1
- {"version":3,"file":"start-helper.d.ts","sourceRoot":"","sources":["start-helper.js"],"names":[],"mappings":"AA8CO,0CANI,GAAG,WACH,OAAO,gBACP,mBAAmB,cACnB,UAAU;+BAiGR,IAAI;;;;;;;;;;;;;;;;;;;;;;;;sBA/BS,CAAC;;;;;;;;;;;;;;;;;;;;;sBAyGu+Y,CAAC;;;;;;;;;;;;;;;;;;;;EAzClgZ;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;kCA3LU;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;iCAiJU,IAAI,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,EAAE,MAAM,CAAC;6BA/JzC,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;+BAiGR,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;sBA/BS,CAAC;;;;;;;;;;;;;;;;;;;;;sBA0G09Y,CAAC;;;;;;;;;;;;;;;;;;;;EAzCr/Y;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;kCA5LU;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;iCAkJU,IAAI,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,EAAE,MAAM,CAAC;6BAhKzC,kBAAkB;0BAGrB,cAAc;gCALR,gCAAgC;4BAIpC,aAAa;6CAEI,2BAA2B;kCAL1B,cAAc;6BAE/B,cAAc"}
@@ -164,6 +164,7 @@ export const provideOrchestration = (
164
164
  return {
165
165
  ...defaultOrchestrateKit,
166
166
  makeOrchestrateKit,
167
+ baggage,
167
168
  chainHub,
168
169
  vowTools,
169
170
  asyncFlowTools,