@agoric/orchestration 0.2.0-upgrade-17-dev-a1453b2.0 → 0.2.0-upgrade-18-dev-bf39b10.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 (126) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +2 -1
  3. package/package.json +29 -28
  4. package/src/chain-info.d.ts +31 -387
  5. package/src/chain-info.d.ts.map +1 -1
  6. package/src/chain-info.js +10 -64
  7. package/src/cosmos-api.d.ts +21 -10
  8. package/src/cosmos-api.d.ts.map +1 -1
  9. package/src/cosmos-api.ts +33 -14
  10. package/src/examples/README.md +3 -4
  11. package/src/examples/auto-stake-it-tap-kit.d.ts.map +1 -1
  12. package/src/examples/auto-stake-it-tap-kit.js +4 -7
  13. package/src/examples/auto-stake-it.contract.d.ts +1 -1
  14. package/src/examples/auto-stake-it.flows.d.ts +1 -1
  15. package/src/examples/auto-stake-it.flows.d.ts.map +1 -1
  16. package/src/examples/basic-flows.contract.d.ts +1 -1
  17. package/src/examples/basic-flows.flows.d.ts +1 -1
  18. package/src/examples/send-anywhere.contract.d.ts +20 -2
  19. package/src/examples/send-anywhere.contract.d.ts.map +1 -1
  20. package/src/examples/send-anywhere.contract.js +34 -18
  21. package/src/examples/send-anywhere.flows.d.ts +7 -7
  22. package/src/examples/send-anywhere.flows.d.ts.map +1 -1
  23. package/src/examples/send-anywhere.flows.js +40 -20
  24. package/src/examples/shared.flows.d.ts +4 -0
  25. package/src/examples/shared.flows.d.ts.map +1 -0
  26. package/src/examples/shared.flows.js +21 -0
  27. package/src/examples/stake-bld.contract.d.ts +49 -0
  28. package/src/examples/stake-bld.contract.d.ts.map +1 -0
  29. package/src/examples/{stakeBld.contract.js → stake-bld.contract.js} +10 -1
  30. package/src/examples/stake-ica.contract.d.ts +126 -0
  31. package/src/examples/stake-ica.contract.d.ts.map +1 -0
  32. package/src/examples/{stakeIca.contract.js → stake-ica.contract.js} +6 -2
  33. package/src/examples/staking-combinations.contract.d.ts +1 -1
  34. package/src/examples/staking-combinations.contract.d.ts.map +1 -1
  35. package/src/examples/staking-combinations.contract.js +16 -13
  36. package/src/examples/staking-combinations.flows.d.ts +6 -9
  37. package/src/examples/staking-combinations.flows.d.ts.map +1 -1
  38. package/src/examples/staking-combinations.flows.js +19 -16
  39. package/src/examples/swap.contract.d.ts.map +1 -1
  40. package/src/examples/swap.contract.js +0 -1
  41. package/src/examples/unbond.contract.d.ts +1 -1
  42. package/src/examples/unbond.contract.d.ts.map +1 -1
  43. package/src/examples/unbond.contract.js +10 -5
  44. package/src/examples/unbond.flows.d.ts +4 -3
  45. package/src/examples/unbond.flows.d.ts.map +1 -1
  46. package/src/examples/unbond.flows.js +23 -31
  47. package/src/exos/chain-hub.d.ts +12 -4
  48. package/src/exos/chain-hub.d.ts.map +1 -1
  49. package/src/exos/chain-hub.js +28 -19
  50. package/src/exos/combine-invitation-makers.d.ts +1 -0
  51. package/src/exos/combine-invitation-makers.d.ts.map +1 -1
  52. package/src/exos/combine-invitation-makers.js +6 -0
  53. package/src/exos/cosmos-interchain-service.d.ts +20 -70
  54. package/src/exos/cosmos-interchain-service.d.ts.map +1 -1
  55. package/src/exos/cosmos-orchestration-account.d.ts +152 -47
  56. package/src/exos/cosmos-orchestration-account.d.ts.map +1 -1
  57. package/src/exos/cosmos-orchestration-account.js +355 -13
  58. package/src/exos/exo-interfaces.d.ts +3 -3
  59. package/src/exos/exo-interfaces.d.ts.map +1 -1
  60. package/src/exos/exo-interfaces.ts +3 -3
  61. package/src/exos/ica-account-kit.d.ts +2 -2
  62. package/src/exos/ica-account-kit.d.ts.map +1 -1
  63. package/src/exos/icq-connection-kit.d.ts +17 -1
  64. package/src/exos/icq-connection-kit.d.ts.map +1 -1
  65. package/src/exos/local-chain-facade.d.ts +22 -170
  66. package/src/exos/local-chain-facade.d.ts.map +1 -1
  67. package/src/exos/local-orchestration-account.d.ts +41 -48
  68. package/src/exos/local-orchestration-account.d.ts.map +1 -1
  69. package/src/exos/local-orchestration-account.js +94 -13
  70. package/src/exos/orchestrator.d.ts +44 -136
  71. package/src/exos/orchestrator.d.ts.map +1 -1
  72. package/src/exos/orchestrator.js +42 -44
  73. package/src/exos/packet-tools.d.ts +21 -81
  74. package/src/exos/packet-tools.d.ts.map +1 -1
  75. package/src/exos/portfolio-holder-kit.d.ts +4 -4
  76. package/src/exos/portfolio-holder-kit.d.ts.map +1 -1
  77. package/src/exos/portfolio-holder-kit.js +65 -10
  78. package/src/exos/remote-chain-facade.d.ts +35 -128
  79. package/src/exos/remote-chain-facade.d.ts.map +1 -1
  80. package/src/facade.d.ts.map +1 -1
  81. package/src/facade.js +7 -0
  82. package/src/fetched-chain-info.d.ts +30 -340
  83. package/src/fetched-chain-info.js +18 -329
  84. package/src/fixtures/query-flows.flows.d.ts.map +1 -1
  85. package/src/orchestration-api.d.ts +4 -8
  86. package/src/orchestration-api.d.ts.map +1 -1
  87. package/src/orchestration-api.ts +3 -8
  88. package/src/proposals/init-chain-info.js +3 -3
  89. package/src/proposals/orchestration-proposal.d.ts.map +1 -1
  90. package/src/proposals/start-stakeAtom.d.ts +78 -16
  91. package/src/proposals/start-stakeAtom.d.ts.map +1 -1
  92. package/src/proposals/start-stakeAtom.js +9 -4
  93. package/src/proposals/start-stakeBld.d.ts +13 -39
  94. package/src/proposals/start-stakeBld.d.ts.map +1 -1
  95. package/src/proposals/start-stakeBld.js +2 -2
  96. package/src/proposals/start-stakeOsmo.d.ts +77 -15
  97. package/src/proposals/start-stakeOsmo.d.ts.map +1 -1
  98. package/src/proposals/start-stakeOsmo.js +9 -4
  99. package/src/typeGuards.d.ts +5 -1
  100. package/src/typeGuards.d.ts.map +1 -1
  101. package/src/typeGuards.js +21 -9
  102. package/src/types-index.d.ts +1 -0
  103. package/src/types-index.js +1 -0
  104. package/src/types.d.ts +14 -4
  105. package/src/types.d.ts.map +1 -1
  106. package/src/types.ts +15 -4
  107. package/src/utils/cosmos.d.ts +40 -1
  108. package/src/utils/cosmos.d.ts.map +1 -1
  109. package/src/utils/cosmos.js +48 -1
  110. package/src/utils/orchestrationAccount.js +1 -1
  111. package/src/utils/registry.d.ts.map +1 -1
  112. package/src/utils/registry.js +0 -3
  113. package/src/utils/start-helper.d.ts +4 -10
  114. package/src/utils/start-helper.d.ts.map +1 -1
  115. package/src/utils/start-helper.js +18 -15
  116. package/src/utils/zcf-tools.d.ts +5 -0
  117. package/src/utils/zcf-tools.d.ts.map +1 -0
  118. package/src/utils/zcf-tools.js +35 -0
  119. package/src/utils/zoe-tools.d.ts +5 -8
  120. package/src/utils/zoe-tools.d.ts.map +1 -1
  121. package/src/utils/zoe-tools.js +136 -33
  122. package/src/vat-orchestration.d.ts.map +1 -1
  123. package/src/examples/stakeBld.contract.d.ts +0 -75
  124. package/src/examples/stakeBld.contract.d.ts.map +0 -1
  125. package/src/examples/stakeIca.contract.d.ts +0 -64
  126. package/src/examples/stakeIca.contract.d.ts.map +0 -1
@@ -5,90 +5,30 @@ export function preparePacketTools(zone: import("@agoric/base-zone").Zone, vowTo
5
5
  withdraw(amount: Amount<"nat">): import("@agoric/vow").PromiseVow<Payment<"nat">>;
6
6
  executeTx<MT extends import("@agoric/cosmic-proto").TypedJson[]>(messages: MT): PromiseVowOfTupleMappedToGenerics<{ [K in keyof MT]: import("@agoric/cosmic-proto").JsonSafe<import("@agoric/cosmic-proto").ResponseTo<MT[K]>>; }>;
7
7
  monitorTransfers(tap: TargetApp): import("@agoric/vow").PromiseVow<TargetRegistration>;
8
- }>) => ReturnType<(lca: import("@endo/exo").Guarded<{
9
- getAddress(): string;
10
- getBalance(brand: Brand<"nat">): import("@agoric/vow").PromiseVow<Amount<"nat">>;
11
- deposit(payment: ERef<Payment<"nat">>, optAmountShape?: Pattern): import("@agoric/vow").PromiseVow<Amount<"nat">>;
12
- withdraw(amount: Amount<"nat">): import("@agoric/vow").PromiseVow<Payment<"nat">>;
13
- executeTx<MT extends import("@agoric/cosmic-proto").TypedJson[]>(messages: MT): PromiseVowOfTupleMappedToGenerics<{ [K in keyof MT]: import("@agoric/cosmic-proto").JsonSafe<import("@agoric/cosmic-proto").ResponseTo<MT[K]>>; }>;
14
- monitorTransfers(tap: TargetApp): import("@agoric/vow").PromiseVow<TargetRegistration>;
15
- }>) => import("@endo/exo").GuardedKit<{
16
- public: {
17
- /**
18
- * @param {ERef<TargetApp>} monitor
19
- */
20
- monitorTransfers(monitor: ERef<TargetApp>): Promise<import("@endo/exo").Guarded<{
21
- /** @type {TargetRegistration['updateTargetApp']} */
22
- updateTargetApp(targetApp: ERef<TargetApp>): Promise<void>;
23
- /** @type {TargetRegistration['revoke']} */
24
- revoke(): Promise<void>;
25
- }>>;
26
- /**
27
- * @type {MatchEvent}
28
- */
29
- matchFirstPacket(pattern: EVow<Pattern>): Vow<{
30
- resolver: VowResolver<any>;
31
- match: Vow<any>;
32
- }>;
33
- /**
34
- * @param {Remote<PacketSender>} packetSender
35
- * @param {PacketOptions} [opts]
36
- * @returns {Vow<any>}
37
- */
38
- sendThenWaitForAck(packetSender: Remote<PacketSender>, opts?: PacketOptions | undefined): Vow<any>;
39
- };
40
- monitorRegistration: {
8
+ }>) => import("@endo/exo").Guarded<{
9
+ /**
10
+ * @param {ERef<TargetApp>} monitor
11
+ */
12
+ monitorTransfers(monitor: ERef<TargetApp>): Promise<import("@endo/exo").Guarded<{
41
13
  /** @type {TargetRegistration['updateTargetApp']} */
42
14
  updateTargetApp(targetApp: ERef<TargetApp>): Promise<void>;
43
15
  /** @type {TargetRegistration['revoke']} */
44
16
  revoke(): Promise<void>;
45
- };
46
- tap: {
47
- receiveUpcall(obj: any): Promise<void>;
48
- };
49
- sendPacketWatcher: {
50
- onFulfilled([{ match }, sender]: [{
51
- match: any;
52
- }, any], ctx: any): Vow<any>;
53
- };
54
- packetWasSentWatcher: {
55
- onFulfilled({ eventPattern, resultV }: {
56
- eventPattern: any;
57
- resultV: any;
58
- }, ctx: any): any;
59
- };
60
- rejectResolverAndRethrowWatcher: {
61
- onRejected(rej: any, { resolver }: {
62
- resolver: any;
63
- }): never;
64
- };
65
- watchPacketMatch: {
66
- onFulfilled(_: any, { patternP }: {
67
- patternP: any;
68
- }): {
69
- match: Vow<any>;
70
- resolver: VowResolver<any>;
71
- };
72
- };
73
- watchDecrPendingPatterns: {
74
- onFulfilled(): Vow<undefined> | undefined;
75
- onRejected(): Vow<undefined> | undefined;
76
- };
77
- watchPacketPattern: {
78
- onFulfilled(pattern: any, { resolver }: {
79
- resolver: any;
80
- }): void;
81
- onRejected(reason: any, { resolver }: {
82
- resolver: any;
83
- }): void;
84
- };
85
- utils: {
86
- incrPendingPatterns(): Vow<undefined> | Vow<TargetRegistration | import("@endo/eventual-send").RemotableBrand<{}, TargetRegistration>>;
87
- decrPendingPatterns(): Vow<undefined> | undefined;
88
- subscribeToTransfers(): Promise<Remote<TargetRegistration>>;
89
- unsubscribeFromTransfers(): undefined;
90
- };
91
- }>>["public"];
17
+ }>>;
18
+ /**
19
+ * @type {MatchEvent}
20
+ */
21
+ matchFirstPacket(pattern: EVow<Pattern>): Vow<{
22
+ resolver: VowResolver<any>;
23
+ match: Vow<any>;
24
+ }>;
25
+ /**
26
+ * @param {Remote<PacketSender>} packetSender
27
+ * @param {PacketOptions} [opts]
28
+ * @returns {Vow<any>}
29
+ */
30
+ sendThenWaitForAck(packetSender: Remote<PacketSender>, opts?: PacketOptions | undefined): Vow<any>;
31
+ }>;
92
32
  export type MatchEvent = (pattern: EVow<Pattern>) => Vow<{
93
33
  resolver: VowResolver<any>;
94
34
  match: Vow<any>;
@@ -106,9 +46,9 @@ export type PacketOptions = {
106
46
  export type PacketTimeout = Pick<import("../cosmos-api").IBCMsgTransferOptions, "timeoutHeight" | "timeoutTimestamp">;
107
47
  export type PacketTools = Awaited<ReturnType<ReturnType<typeof preparePacketTools>>>;
108
48
  import type { VowTools } from '@agoric/vow';
49
+ import type { Pattern } from '@endo/patterns';
109
50
  import type { TargetApp } from '@agoric/vats/src/bridge-target.js';
110
51
  import type { TargetRegistration } from '@agoric/vats/src/bridge-target.js';
111
- import type { Pattern } from '@endo/patterns';
112
52
  import type { EVow } from '@agoric/vow';
113
53
  import type { VowResolver } from '@agoric/vow';
114
54
  import type { Vow } from '@agoric/vow';
@@ -1 +1 @@
1
- {"version":3,"file":"packet-tools.d.ts","sourceRoot":"","sources":["packet-tools.js"],"names":[],"mappings":"AA2DO,yCAHI,OAAO,mBAAmB,EAAE,IAAI,YAChC,QAAQ;;;;;;;;;;;;;;;;QAiFX;;WAEG;kCADQ,IAAI,CAAC,SAAS,CAAC;YAqD1B,oDAAoD;;YAMpD,2CAA2C;;;QAjD3C;;WAEG;kCA/HA,KAAK,OAAO,CAAC,GACX,IAAI;YAAE,QAAQ,EAAE,YAAY,GAAG,CAAC,CAAC;YAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAA;SAAE,CAAC;QAsIzD;;;;WAIG;yCAHQ,OAAO,YAAY,CAAC,qCAElB,IAAI,GAAG,CAAC;;;QA8BrB,oDAAoD;;QAMpD,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwKlD;mCAtVU,KAAK,OAAO,CAAC,KACX,IAAI;IAAE,QAAQ,EAAE,YAAY,GAAG,CAAC,CAAC;IAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAA;CAAE,CAAC;;gBAKnD,CACb,IAAQ,EAAE,aAAa,KAChB,IAAI;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,IAAI,GAAG,CAAC,CAAA;KAAE,CAAC;;;;;;4BAU5C,IAAI,CAChB,OAAW,eAAe,EAAE,qBAAqB,EACjD,eAAmB,GAAG,kBAAkB,CACrC;0BAqUS,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;8BAjWZ,aAAa;+BAExB,mCAAmC;wCAAnC,mCAAmC;6BAHzD,gBAAgB;0BACiB,aAAa;iCAAb,aAAa;yBAAb,aAAa;4BAAb,aAAa"}
1
+ {"version":3,"file":"packet-tools.d.ts","sourceRoot":"","sources":["packet-tools.js"],"names":[],"mappings":"AA2DO,yCAHI,OAAO,mBAAmB,EAAE,IAAI,YAChC,QAAQ;;;;;;;;IAiFX;;OAEG;8BADQ,IAAI,CAAC,SAAS,CAAC;QAqD1B,oDAAoD;;QAMpD,2CAA2C;;;IAjD3C;;OAEG;8BA/HA,KAAK,OAAO,CAAC,GACX,IAAI;QAAE,QAAQ,EAAE,YAAY,GAAG,CAAC,CAAC;QAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAA;KAAE,CAAC;IAsIzD;;;;OAIG;qCAHQ,OAAO,YAAY,CAAC,qCAElB,IAAI,GAAG,CAAC;GA4M5B;mCAtVU,KAAK,OAAO,CAAC,KACX,IAAI;IAAE,QAAQ,EAAE,YAAY,GAAG,CAAC,CAAC;IAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAA;CAAE,CAAC;;gBAKnD,CACT,IAAI,EAAE,aAAa,KAChB,IAAI;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,IAAI,GAAG,CAAC,CAAA;KAAE,CAAC;;;;;;4BAU5C,IAAI,CAChB,OAAW,eAAe,EAAE,qBAAqB,EACjD,eAAmB,GAAG,kBAAkB,CACrC;0BAqUS,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;8BAjWZ,aAAa;6BAD9C,gBAAgB;+BAGM,mCAAmC;wCAAnC,mCAAmC;0BAFxB,aAAa;iCAAb,aAAa;yBAAb,aAAa;4BAAb,aAAa"}
@@ -20,10 +20,10 @@ declare function preparePortfolioHolderKit(zone: Zone, { asVow, when }: VowTools
20
20
  * @template {unknown[]} IA
21
21
  * @param {string} chainName key where the account is stored
22
22
  * @param {string} action invitation maker name, e.g. 'Delegate'
23
- * @param {IA} invitationArgs
23
+ * @param {IA} [invitationArgs]
24
24
  * @returns {Promise<Invitation<unknown, IA>>}
25
25
  */
26
- Proxying<IA extends unknown[]>(chainName: string, action: string, invitationArgs: IA): Promise<Invitation<unknown, IA>>;
26
+ Proxying<IA extends unknown[]>(chainName: string, action: string, invitationArgs?: IA | undefined): Promise<Invitation<unknown, IA>>;
27
27
  };
28
28
  holder: {
29
29
  asContinuingOffer(): import("@agoric/vow").Vow<{
@@ -35,10 +35,10 @@ declare function preparePortfolioHolderKit(zone: Zone, { asVow, when }: VowTools
35
35
  * @template {unknown[]} IA
36
36
  * @param {string} chainName key where the account is stored
37
37
  * @param {string} action invitation maker name, e.g. 'Delegate'
38
- * @param {IA} invitationArgs
38
+ * @param {IA} [invitationArgs]
39
39
  * @returns {Promise<Invitation<unknown, IA>>}
40
40
  */
41
- Proxying<IA extends unknown[]>(chainName: string, action: string, invitationArgs: IA): Promise<Invitation<unknown, IA>>;
41
+ Proxying<IA extends unknown[]>(chainName: string, action: string, invitationArgs?: IA | undefined): Promise<Invitation<unknown, IA>>;
42
42
  }>;
43
43
  }>;
44
44
  getPublicTopics(): import("@agoric/vow").Vow<{
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio-holder-kit.d.ts","sourceRoot":"","sources":["portfolio-holder-kit.js"],"names":[],"mappings":"AAyKO,6CANI,IAAI,YACJ,QAAQ,GACN,CACZ,GAAO,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,KAC9D,UAAU,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAKzE;mCAzJY;IACZ,QAAY,EAAE,SAAS,MAAM,EAAE,cAAc,qBAAqB,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,YAAgB,EAAE,SAAS,MAAM,EAAE,oBAAoB,OAAO,CAAC,CAAC,CAAC;CAC9D;kCAuJU,UAAU,CAAC,OAAO,sBAAsB,CAAC;8BACzC,UAAU,CAAC,mBAAmB,CAAC;0BAhKtB,cAAc;8BAFV,aAAa;AAqBxC;;;;;;GAMG;AACH,iDAHW,IAAI,mBACJ,QAAQ;;QAoDX;;;;;;WAMG;iBALsB,EAAE,SAAb,OAAO,EAAG,aACb,MAAM,UACN,MAAM,kBACN,EAAE,GACA,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;;;;;;;;gBAL7C;;;;;;mBAMG;yBALsB,EAAE,SAAb,OAAO,EAAG,aACb,MAAM,UACN,MAAM,kBACN,EAAE,GACA,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;;;;;;QA+B7C;;;;WAIG;8BAHQ,MAAM,WACN,cAAc,qBAAqB,GAAG,CAAC,CAAC,eACxC,oBAAoB,OAAO,CAAC;QAgBvC;;WAEG;8BADQ,MAAM;;GAQxB;0CA3I6D,uBAAuB;mCAL7C,oBAAoB;8BACjC,eAAe;yCAEJ,2CAA2C;2CAEnB,uBAAuB"}
1
+ {"version":3,"file":"portfolio-holder-kit.d.ts","sourceRoot":"","sources":["portfolio-holder-kit.js"],"names":[],"mappings":"AAgOO,6CANI,IAAI,YACJ,QAAQ,GACN,CACZ,GAAO,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,KAC9D,UAAU,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAKzE;mCAhNY;IACR,QAAQ,EAAE,SAAS,MAAM,EAAE,cAAc,qBAAqB,GAAG,CAAC,CAAC,CAAC,CAAC;IACrE,YAAY,EAAE,SAAS,MAAM,EAAE,oBAAoB,OAAO,CAAC,CAAC,CAAC;CAC9D;kCA8MU,UAAU,CAAC,OAAO,sBAAsB,CAAC;8BACzC,UAAU,CAAC,mBAAmB,CAAC;0BAvNtB,cAAc;8BAFV,aAAa;AAqBxC;;;;;;GAMG;AACH,iDAHW,IAAI,mBACJ,QAAQ;;QAkDX;;;;;;WAMG;iBALsB,EAAE,SAAb,OAAO,EAAG,aACb,MAAM,UACN,MAAM,oCAEJ,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;;;;;;;;gBAL7C;;;;;;mBAMG;yBALsB,EAAE,SAAb,OAAO,EAAG,aACb,MAAM,UACN,MAAM,oCAEJ,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;;;;;;QA+B7C;;;;WAIG;8BAHQ,MAAM,WACN,cAAc,qBAAqB,GAAG,CAAC,CAAC,eACxC,oBAAoB,OAAO,CAAC;QAgBvC;;WAEG;8BADQ,MAAM;;GAQxB;0CAzI0F,uBAAuB;mCAL1E,oBAAoB;8BACjC,eAAe;yCAEJ,2CAA2C;2CAEU,uBAAuB"}
@@ -13,7 +13,7 @@ const { fromEntries } = Object;
13
13
  * @import {VowTools} from '@agoric/vow';
14
14
  * @import {ResolvedPublicTopic} from '@agoric/zoe/src/contractSupport/topics.js';
15
15
  * @import {Zone} from '@agoric/zone';
16
- * @import {OrchestrationAccount, OrchestrationAccountI} from '@agoric/orchestration';
16
+ * @import {OrchestrationAccount, OrchestrationAccountI, MakeCombineInvitationMakers} from '@agoric/orchestration';
17
17
  */
18
18
 
19
19
  /**
@@ -43,11 +43,9 @@ const preparePortfolioHolderKit = (zone, { asVow, when }) => {
43
43
  'PortfolioHolderKit',
44
44
  {
45
45
  invitationMakers: M.interface('InvitationMakers', {
46
- Proxying: M.call(
47
- ChainNameShape,
48
- M.string(),
49
- M.arrayOf(M.any()),
50
- ).returns(M.promise()),
46
+ Proxying: M.call(ChainNameShape, M.string())
47
+ .optional(M.arrayOf(M.any()))
48
+ .returns(M.promise()),
51
49
  }),
52
50
  holder: M.interface('Holder', {
53
51
  asContinuingOffer: M.call().returns(VowShape),
@@ -92,7 +90,7 @@ const preparePortfolioHolderKit = (zone, { asVow, when }) => {
92
90
  * @template {unknown[]} IA
93
91
  * @param {string} chainName key where the account is stored
94
92
  * @param {string} action invitation maker name, e.g. 'Delegate'
95
- * @param {IA} invitationArgs
93
+ * @param {IA} [invitationArgs]
96
94
  * @returns {Promise<Invitation<unknown, IA>>}
97
95
  */
98
96
  Proxying(chainName, action, invitationArgs) {
@@ -101,7 +99,7 @@ const preparePortfolioHolderKit = (zone, { asVow, when }) => {
101
99
  const account = accounts.get(chainName);
102
100
  // @ts-expect-error XXX invitationMakers
103
101
  return when(E(account).asContinuingOffer(), ({ invitationMakers }) =>
104
- E(invitationMakers)[action](...invitationArgs),
102
+ E(invitationMakers)[action](...(invitationArgs || [])),
105
103
  );
106
104
  },
107
105
  },
@@ -158,8 +156,65 @@ const preparePortfolioHolderKit = (zone, { asVow, when }) => {
158
156
  * A portfolio holder stores two or more OrchestrationAccounts and combines
159
157
  * ContinuingOfferResult's from each into a single result.
160
158
  *
161
- * XXX consider an interface for extending the exo maker with additional
162
- * invitation makers.
159
+ * The invitationMakers can be accessed via the `Proxy` invitationMaker, which
160
+ * calls out to other invitationMakers.
161
+ *
162
+ * See {@link MakeCombineInvitationMakers} for an exo that allows a developer to
163
+ * define extra invitationMakers to combine with platform-provided ones.
164
+ *
165
+ * @example
166
+ *
167
+ * ```js
168
+ * // in contract start/prepare
169
+ * const makePortfolioHolder = preparePortfolioHolder(
170
+ * rootZone.subZone('portfolio'),
171
+ * vowTools,
172
+ * );
173
+ *
174
+ * // in a flow
175
+ * const accounts = {
176
+ * cosmoshub: await cosmosChain.makeAccount(),
177
+ * agoric: await agoricChain.makeAccount(),
178
+ * };
179
+ * const accountEntries = harden(Object.entries(accounts));
180
+ * const publicTopicEntries = harden(
181
+ * await Promise.all(
182
+ * Object.entries(accounts).map(async ([chainName, holder]) => {
183
+ * const { account } = await E(holder).getPublicTopics();
184
+ * return [chainName, account];
185
+ * }),
186
+ * ),
187
+ * );
188
+ * const holder = makePortfolioHolder(accountEntries, publicTopicEntries);
189
+ *
190
+ * // return ContinuingOfferResult to client
191
+ * return E(holder).asContinuingOffer();
192
+ *
193
+ * const { invitationMakers } = await E(holder).asContinuingOffer();
194
+ *
195
+ * // with invitationArgs
196
+ * const delegateInv = await E(invitationMakers).Proxying(
197
+ * 'cosmoshub',
198
+ * 'Delegate',
199
+ * [
200
+ * {
201
+ * value: 'cosmos1valoper',
202
+ * chainId: 'cosmoshub-99',
203
+ * encoding: 'bech32',
204
+ * },
205
+ * {
206
+ * denom: 'uatom',
207
+ * value: 10n,
208
+ * },
209
+ * ],
210
+ * );
211
+ *
212
+ * // without invitationArgs
213
+ * const transferInv = await E(invitationMakers).Proxying(
214
+ * 'cosmoshub',
215
+ * 'Transfer',
216
+ * );
217
+ * ```
163
218
  *
164
219
  * @param {Zone} zone
165
220
  * @param {VowTools} vowTools
@@ -5,125 +5,39 @@ export function prepareRemoteChainFacade(zone: Zone, powers: RemoteChainFacadePo
5
5
  stakingTokens?: Readonly<Array<{
6
6
  denom: string;
7
7
  }>>;
8
- }>, connectionInfo: IBCConnectionInfo) => ReturnType<(remoteChainInfo: Readonly<{
9
- chainId: string;
10
- connections?: Record<string, IBCConnectionInfo>;
11
- icqEnabled?: boolean;
12
- stakingTokens?: Readonly<Array<{
13
- denom: string;
14
- }>>;
15
- }>, connectionInfo: IBCConnectionInfo) => import("@endo/exo").GuardedKit<{
16
- public: {
17
- /** @type {HostOf<Chain['getChainInfo']>} */
18
- getChainInfo(): Vow<any extends import("@endo/pass-style").Passable ? any : import("@agoric/async-flow").HostInterface<any>>;
19
- /** @type {HostOf<Chain['makeAccount']>} */
20
- makeAccount(): Vow<import("../orchestration-api.js").OrchestrationAccount<any> extends import("@endo/pass-style").Passable ? import("@endo/pass-style").Passable & import("../orchestration-api.js").OrchestrationAccount<any> : import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").OrchestrationAccount<any>>>;
21
- /**
22
- * @type {HostOf<
23
- * Chain<CosmosChainInfo & { icqEnabled: true }>['query']
24
- * >}
25
- */
26
- query(msgs: JsonSafe<RequestQuery>[]): Vow<JsonSafe<ResponseQuery>[] extends import("@endo/pass-style").Passable ? import("@endo/pass-style").Passable & JsonSafe<ResponseQuery>[] : import("@agoric/async-flow").HostInterface<JsonSafe<ResponseQuery>[]>>;
27
- };
28
- makeAccountAndProvideQueryConnWatcher: {
29
- /**
30
- * @param {[IcaAccount, ICQConnection | undefined]} account
31
- */
32
- onFulfilled([account, icqConnection]: [IcaAccount, ICQConnection | undefined]): Vow<import("@endo/exo").Guarded<{
33
- asContinuingOffer(): Vow<import("../utils/zoe-tools.js").ResolvedContinuingOfferResult extends import("@endo/pass-style").Passable ? import("@endo/pass-style").Passable & import("../utils/zoe-tools.js").ResolvedContinuingOfferResult : import("@agoric/async-flow").HostInterface<import("../utils/zoe-tools.js").ResolvedContinuingOfferResult>>;
34
- getPublicTopics(): Vow<Record<string, import("@agoric/zoe/src/contractSupport/topics.js").ResolvedPublicTopic<unknown>> extends import("@endo/pass-style").Passable ? import("@endo/pass-style").Passable & Record<string, import("@agoric/zoe/src/contractSupport/topics.js").ResolvedPublicTopic<unknown>> : import("@agoric/async-flow").HostInterface<Record<string, import("@agoric/zoe/src/contractSupport/topics.js").ResolvedPublicTopic<unknown>>>>;
35
- getAddress(): import("@agoric/async-flow").HostInterface<ChainAddress>;
36
- delegate(validator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
37
- redelegate(srcValidator: import("../cosmos-api.js").CosmosValidatorAddress, dstValidator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
38
- withdrawReward(validator: import("../cosmos-api.js").CosmosValidatorAddress): Vow<import("../orchestration-api.js").DenomAmount[] extends import("@endo/pass-style").Passable ? import("../orchestration-api.js").DenomAmount[] : import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").DenomAmount[]>>;
39
- getBalance(denom: import("../orchestration-api.js").DenomArg): Vow<import("../orchestration-api.js").DenomAmount extends import("@endo/pass-style").Passable ? import("../orchestration-api.js").DenomAmount : import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").DenomAmount>>;
40
- getBalances(): Vow<import("../orchestration-api.js").DenomAmount[] extends import("@endo/pass-style").Passable ? import("../orchestration-api.js").DenomAmount[] : import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").DenomAmount[]>>;
41
- send(toAccount: ChainAddress, amounts: import("../orchestration-api.js").AmountArg): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
42
- sendAll(toAccount: ChainAddress, amounts: import("../orchestration-api.js").AmountArg[]): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
43
- transfer(amount: import("../orchestration-api.js").AmountArg, destination: ChainAddress, opts?: import("../cosmos-api.js").IBCMsgTransferOptions | undefined): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
44
- transferSteps(amount: import("../orchestration-api.js").AmountArg, msg: import("../orchestration-api.js").TransferMsg): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
45
- withdrawRewards(): Vow<import("../orchestration-api.js").DenomAmount[] extends import("@endo/pass-style").Passable ? import("../orchestration-api.js").DenomAmount[] : import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").DenomAmount[]>>;
46
- undelegate(delegations: {
47
- amount: import("../orchestration-api.js").AmountArg;
48
- validator: import("../cosmos-api.js").CosmosValidatorAddress;
49
- }[]): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
50
- deactivate(): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
51
- reactivate(): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
52
- }>>;
53
- };
54
- makeICQConnectionQueryWatcher: {
55
- /**
56
- * @param {ICQConnection} icqConnection
57
- * @param {JsonSafe<RequestQuery>[]} msgs
58
- * @returns {Vow<JsonSafe<ResponseQuery>[]>}
59
- */
60
- onFulfilled(icqConnection: ICQConnection, msgs: JsonSafe<RequestQuery>[]): Vow<JsonSafe<ResponseQuery>[]>;
61
- };
62
- getAddressesWatcher: {
63
- /**
64
- * @param {[ChainAddress, LocalIbcAddress, RemoteIbcAddress]} chainAddresses
65
- * @param {IcaAccount} account
66
- */
67
- onFulfilled([chainAddress, localAddress, remoteAddress]: [ChainAddress, LocalIbcAddress, RemoteIbcAddress], account: IcaAccount): Vow<import("@endo/exo").Guarded<{
68
- asContinuingOffer(): Vow<import("../utils/zoe-tools.js").ResolvedContinuingOfferResult extends import("@endo/pass-style").Passable ? import("@endo/pass-style").Passable & import("../utils/zoe-tools.js").ResolvedContinuingOfferResult : import("@agoric/async-flow").HostInterface<import("../utils/zoe-tools.js").ResolvedContinuingOfferResult>>;
69
- getPublicTopics(): Vow<Record<string, import("@agoric/zoe/src/contractSupport/topics.js").ResolvedPublicTopic<unknown>> extends import("@endo/pass-style").Passable ? import("@endo/pass-style").Passable & Record<string, import("@agoric/zoe/src/contractSupport/topics.js").ResolvedPublicTopic<unknown>> : import("@agoric/async-flow").HostInterface<Record<string, import("@agoric/zoe/src/contractSupport/topics.js").ResolvedPublicTopic<unknown>>>>;
70
- getAddress(): import("@agoric/async-flow").HostInterface<ChainAddress>;
71
- delegate(validator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
72
- redelegate(srcValidator: import("../cosmos-api.js").CosmosValidatorAddress, dstValidator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
73
- withdrawReward(validator: import("../cosmos-api.js").CosmosValidatorAddress): Vow<import("../orchestration-api.js").DenomAmount[] extends import("@endo/pass-style").Passable ? import("../orchestration-api.js").DenomAmount[] : import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").DenomAmount[]>>;
74
- getBalance(denom: import("../orchestration-api.js").DenomArg): Vow<import("../orchestration-api.js").DenomAmount extends import("@endo/pass-style").Passable ? import("../orchestration-api.js").DenomAmount : import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").DenomAmount>>;
75
- getBalances(): Vow<import("../orchestration-api.js").DenomAmount[] extends import("@endo/pass-style").Passable ? import("../orchestration-api.js").DenomAmount[] : import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").DenomAmount[]>>;
76
- send(toAccount: ChainAddress, amounts: import("../orchestration-api.js").AmountArg): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
77
- sendAll(toAccount: ChainAddress, amounts: import("../orchestration-api.js").AmountArg[]): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
78
- transfer(amount: import("../orchestration-api.js").AmountArg, destination: ChainAddress, opts?: import("../cosmos-api.js").IBCMsgTransferOptions | undefined): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
79
- transferSteps(amount: import("../orchestration-api.js").AmountArg, msg: import("../orchestration-api.js").TransferMsg): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
80
- withdrawRewards(): Vow<import("../orchestration-api.js").DenomAmount[] extends import("@endo/pass-style").Passable ? import("../orchestration-api.js").DenomAmount[] : import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").DenomAmount[]>>;
81
- undelegate(delegations: {
82
- amount: import("../orchestration-api.js").AmountArg;
83
- validator: import("../cosmos-api.js").CosmosValidatorAddress;
84
- }[]): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
85
- deactivate(): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
86
- reactivate(): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
87
- }>>;
88
- };
89
- makeChildNodeWatcher: {
90
- /**
91
- * @param {Remote<StorageNode>} childNode
92
- * @param {{
93
- * account: IcaAccount;
94
- * chainAddress: ChainAddress;
95
- * localAddress: LocalIbcAddress;
96
- * remoteAddress: RemoteIbcAddress;
97
- * }} ctx
98
- */
99
- onFulfilled(childNode: Remote<StorageNode>, { account, chainAddress, localAddress, remoteAddress }: {
100
- account: IcaAccount;
101
- chainAddress: ChainAddress;
102
- localAddress: LocalIbcAddress;
103
- remoteAddress: RemoteIbcAddress;
104
- }): import("@endo/exo").Guarded<{
105
- asContinuingOffer(): Vow<import("../utils/zoe-tools.js").ResolvedContinuingOfferResult extends import("@endo/pass-style").Passable ? import("@endo/pass-style").Passable & import("../utils/zoe-tools.js").ResolvedContinuingOfferResult : import("@agoric/async-flow").HostInterface<import("../utils/zoe-tools.js").ResolvedContinuingOfferResult>>;
106
- getPublicTopics(): Vow<Record<string, import("@agoric/zoe/src/contractSupport/topics.js").ResolvedPublicTopic<unknown>> extends import("@endo/pass-style").Passable ? import("@endo/pass-style").Passable & Record<string, import("@agoric/zoe/src/contractSupport/topics.js").ResolvedPublicTopic<unknown>> : import("@agoric/async-flow").HostInterface<Record<string, import("@agoric/zoe/src/contractSupport/topics.js").ResolvedPublicTopic<unknown>>>>;
107
- getAddress(): import("@agoric/async-flow").HostInterface<ChainAddress>;
108
- delegate(validator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
109
- redelegate(srcValidator: import("../cosmos-api.js").CosmosValidatorAddress, dstValidator: import("../cosmos-api.js").CosmosValidatorAddress, amount: import("../orchestration-api.js").AmountArg): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
110
- withdrawReward(validator: import("../cosmos-api.js").CosmosValidatorAddress): Vow<import("../orchestration-api.js").DenomAmount[] extends import("@endo/pass-style").Passable ? import("../orchestration-api.js").DenomAmount[] : import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").DenomAmount[]>>;
111
- getBalance(denom: import("../orchestration-api.js").DenomArg): Vow<import("../orchestration-api.js").DenomAmount extends import("@endo/pass-style").Passable ? import("../orchestration-api.js").DenomAmount : import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").DenomAmount>>;
112
- getBalances(): Vow<import("../orchestration-api.js").DenomAmount[] extends import("@endo/pass-style").Passable ? import("../orchestration-api.js").DenomAmount[] : import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").DenomAmount[]>>;
113
- send(toAccount: ChainAddress, amounts: import("../orchestration-api.js").AmountArg): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
114
- sendAll(toAccount: ChainAddress, amounts: import("../orchestration-api.js").AmountArg[]): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
115
- transfer(amount: import("../orchestration-api.js").AmountArg, destination: ChainAddress, opts?: import("../cosmos-api.js").IBCMsgTransferOptions | undefined): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
116
- transferSteps(amount: import("../orchestration-api.js").AmountArg, msg: import("../orchestration-api.js").TransferMsg): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
117
- withdrawRewards(): Vow<import("../orchestration-api.js").DenomAmount[] extends import("@endo/pass-style").Passable ? import("../orchestration-api.js").DenomAmount[] : import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").DenomAmount[]>>;
118
- undelegate(delegations: {
119
- amount: import("../orchestration-api.js").AmountArg;
120
- validator: import("../cosmos-api.js").CosmosValidatorAddress;
121
- }[]): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
122
- deactivate(): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
123
- reactivate(): Vow<void extends import("@endo/pass-style").Passable ? void : import("@agoric/async-flow").HostInterface<void>>;
124
- }>;
125
- };
126
- }>>["public"];
8
+ }>, connectionInfo: IBCConnectionInfo) => import("@endo/exo").Guarded<{
9
+ /** @type {HostOf<Chain['getChainInfo']>} */
10
+ getChainInfo(): Vow<any>;
11
+ /** @type {HostOf<Chain['makeAccount']>} */
12
+ makeAccount(): Vow<import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").OrchestrationAccountI> | import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").OrchestrationAccountI & import("../cosmos-api.js").LocalAccountMethods> | import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").OrchestrationAccountI & import("../cosmos-api.js").StakingAccountActions & import("../cosmos-api.js").StakingAccountQueries> | import("@agoric/async-flow").HostInterface<import("../orchestration-api.js").OrchestrationAccountI & import("../cosmos-api.js").StakingAccountActions & import("../cosmos-api.js").StakingAccountQueries & import("../cosmos-api.js").LocalAccountMethods>>;
13
+ /**
14
+ * @type {HostOf<
15
+ * Chain<CosmosChainInfo & { icqEnabled: true }>['query']
16
+ * >}
17
+ */
18
+ query(msgs: {
19
+ data: string;
20
+ path: string;
21
+ height: string;
22
+ prove: boolean;
23
+ }[]): Vow<{
24
+ code: number;
25
+ log: string;
26
+ info: string;
27
+ index: string;
28
+ key: string;
29
+ value: string;
30
+ proofOps?: {
31
+ ops: {
32
+ type: string;
33
+ key: string;
34
+ data: string;
35
+ }[];
36
+ } | undefined;
37
+ height: string;
38
+ codespace: string;
39
+ }[]>;
40
+ }>;
127
41
  export type RemoteChainFacadePowers = {
128
42
  makeCosmosOrchestrationAccount: ReturnType<typeof prepareCosmosOrchestrationAccount>;
129
43
  orchestration: Remote<CosmosInterchainService>;
@@ -141,18 +55,11 @@ export type RemoteChainFacade = ReturnType<MakeRemoteChainFacade>;
141
55
  import type { Zone } from '@agoric/base-zone';
142
56
  import type { IBCConnectionInfo } from '../types.js';
143
57
  import type { Vow } from '@agoric/vow';
144
- import type { RequestQuery } from '@agoric/cosmic-proto/tendermint/abci/types.js';
145
- import type { JsonSafe } from '@agoric/cosmic-proto';
146
- import type { ResponseQuery } from '@agoric/cosmic-proto/tendermint/abci/types.js';
147
- import type { IcaAccount } from '../types.js';
148
- import type { ICQConnection } from '../types.js';
149
- import type { ChainAddress } from '../types.js';
150
- import type { LocalIbcAddress } from '@agoric/vats/tools/ibc-utils.js';
151
- import type { RemoteIbcAddress } from '@agoric/vats/tools/ibc-utils.js';
152
- import type { Remote } from '@agoric/internal';
153
58
  import type { prepareCosmosOrchestrationAccount } from './cosmos-orchestration-account.js';
154
59
  import type { CosmosInterchainService } from './exo-interfaces.js';
60
+ import type { Remote } from '@agoric/internal';
155
61
  import type { TimerService } from '@agoric/time';
156
62
  import type { VowTools } from '@agoric/vow';
157
63
  import type { CosmosChainInfo } from '../types.js';
64
+ import type { ICQConnection } from '../types.js';
158
65
  //# sourceMappingURL=remote-chain-facade.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-chain-facade.d.ts","sourceRoot":"","sources":["remote-chain-facade.js"],"names":[],"mappings":"AAqQO,+CAHI,IAAI,UACJ,uBAAuB;;;;;;;;;;;;;;;;QA7I1B,4CAA4C;;QAK5C,2CAA2C;;QA0B3C;;;;WAIG;;;;QAuBH;;WAEG;8CADQ,CAAC,UAAU,EAAE,aAAa,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;QAmBlD;;;;WAIG;mCAHQ,aAAa,QACb,SAAS,YAAY,CAAC,EAAE,GACtB,IAAI,SAAS,aAAa,CAAC,EAAE,CAAC;;;QAU3C;;;WAGG;iEAFQ,CAAC,YAAY,EAAE,eAAe,EAAE,gBAAgB,CAAC,WACjD,UAAU;;;;;;;;;;;;;;;;;;;;;;;QAWrB;;;;;;;;WAQG;+BAPQ,OAAO,WAAW,CAAC,0DACnB;YACV,OAAW,EAAE,UAAU,CAAC;YACxB,YAAgB,EAAE,YAAY,CAAC;YAC/B,YAAgB,EAAE,eAAe,CAAC;YAClC,aAAiB,EAAE,gBAAgB,CAAC;SACjC;;;;;;;;;;;;;;;;;;;;;;cAmCX;sCA1OY;IACZ,8BAAkC,EAAE,UAAU,CAC9C,wCAA8C,CACzC,CAAC;IACN,aAAiB,EAAE,OAAO,uBAAuB,CAAC,CAAC;IACnD,WAAe,EAAE,OAAO,WAAW,CAAC,CAAC;IACrC,KAAS,EAAE,OAAO,YAAY,CAAC,CAAC;IAChC,QAAY,EAAE,QAAQ,CAAC;CACpB;qCAIS;IACZ,eAAmB,EAAE,eAAe,CAAC;IACrC,cAAkB,EAAE,iBAAiB,CAAC;IACtC,aAAiB,EAAE,aAAa,GAAG,SAAS,CAAC;CAC1C;oCA6NU,UAAU,CAAC,OAAO,wBAAwB,CAAC;gCAC3C,UAAU,CAAC,qBAAqB,CAAC;0BA7PxB,mBAAmB;uCAS2D,aAAa;yBAJlF,aAAa;kCAHC,+CAA+C;8BADlE,sBAAsB;mCACH,+CAA+C;gCAOQ,aAAa;mCAAb,aAAa;kCAAb,aAAa;qCAH9D,iCAAiC;sCAAjC,iCAAiC;4BAF5D,kBAAkB;uDAIS,mCAAmC;6CAD7C,qBAAqB;kCAJhC,cAAc;8BAEb,aAAa;qCAIwD,aAAa"}
1
+ {"version":3,"file":"remote-chain-facade.d.ts","sourceRoot":"","sources":["remote-chain-facade.js"],"names":[],"mappings":"AAqQO,+CAHI,IAAI,UACJ,uBAAuB;;;;;;;;IA7I1B,4CAA4C;;IAK5C,2CAA2C;;IA0B3C;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;GA+GV;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 +1 @@
1
- {"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["facade.js"],"names":[],"mappings":"AAyCO,sKAZI;IACV,IAAQ,EAAE,IAAI,CAAC;IACf,YAAgB,EAAE,OAAO,YAAY,CAAC,CAAC;IACvC,GAAO,EAAE,GAAG,CAAC;IACb,WAAe,EAAE,OAAO,WAAW,CAAC,CAAC;IACrC,oBAAwB,EAAE,OAAO,uBAAuB,CAAC,CAAC;IAC1D,eAAmB,EAAE,eAAe,CAAC;IACrC,gBAAoB,EAAE,MAAM,gBAAgB,CAAC;IAC7C,QAAY,EAAE,QAAQ,CAAC;IACvB,cAAkB,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,CACvB,GAAO,EAAE,YAAY,EACrB,GAAO,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) => {