@agoric/orchestration 0.2.0-upgrade-20-dev-ef71cfd.0 → 0.2.0-upgrade-19-devnet-dev-5428c4d.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 (125) hide show
  1. package/package.json +27 -29
  2. package/src/chain-capabilities.d.ts +12 -7
  3. package/src/chain-capabilities.d.ts.map +1 -1
  4. package/src/chain-capabilities.js +21 -46
  5. package/src/chain-info.d.ts +97 -839
  6. package/src/chain-info.d.ts.map +1 -1
  7. package/src/chain-info.js +12 -38
  8. package/src/cosmos-api.d.ts +13 -41
  9. package/src/cosmos-api.d.ts.map +1 -1
  10. package/src/cosmos-api.ts +16 -52
  11. package/src/ethereum-api.d.ts +5 -6
  12. package/src/ethereum-api.d.ts.map +1 -1
  13. package/src/ethereum-api.ts +5 -7
  14. package/src/examples/auto-stake-it-tap-kit.d.ts +4 -4
  15. package/src/examples/auto-stake-it-tap-kit.d.ts.map +1 -1
  16. package/src/examples/auto-stake-it-tap-kit.js +8 -8
  17. package/src/examples/auto-stake-it.contract.d.ts +23 -5
  18. package/src/examples/auto-stake-it.contract.d.ts.map +1 -1
  19. package/src/examples/auto-stake-it.contract.js +0 -1
  20. package/src/examples/basic-flows.contract.d.ts +13 -5
  21. package/src/examples/basic-flows.contract.d.ts.map +1 -1
  22. package/src/examples/basic-flows.contract.js +0 -1
  23. package/src/examples/send-anywhere.contract.d.ts +27 -7
  24. package/src/examples/send-anywhere.contract.d.ts.map +1 -1
  25. package/src/examples/send-anywhere.contract.js +12 -40
  26. package/src/examples/send-anywhere.flows.d.ts +3 -563
  27. package/src/examples/send-anywhere.flows.d.ts.map +1 -1
  28. package/src/examples/send-anywhere.flows.js +31 -112
  29. package/src/examples/stake-bld.contract.d.ts +7 -8
  30. package/src/examples/stake-bld.contract.d.ts.map +1 -1
  31. package/src/examples/stake-bld.contract.js +1 -3
  32. package/src/examples/stake-ica.contract.d.ts +13 -82
  33. package/src/examples/stake-ica.contract.d.ts.map +1 -1
  34. package/src/examples/stake-ica.contract.js +0 -1
  35. package/src/examples/staking-combinations.contract.d.ts +11 -3
  36. package/src/examples/staking-combinations.contract.d.ts.map +1 -1
  37. package/src/examples/staking-combinations.contract.js +4 -5
  38. package/src/examples/staking-combinations.flows.d.ts +2 -2
  39. package/src/examples/staking-combinations.flows.d.ts.map +1 -1
  40. package/src/examples/staking-combinations.flows.js +4 -4
  41. package/src/examples/swap.contract.d.ts +13 -4
  42. package/src/examples/swap.contract.d.ts.map +1 -1
  43. package/src/examples/swap.contract.js +2 -2
  44. package/src/examples/unbond.contract.d.ts +2 -2
  45. package/src/exos/README.md +0 -1
  46. package/src/exos/chain-hub-admin.d.ts +9 -9
  47. package/src/exos/chain-hub-admin.d.ts.map +1 -1
  48. package/src/exos/chain-hub-admin.js +17 -17
  49. package/src/exos/chain-hub.d.ts +17 -69
  50. package/src/exos/chain-hub.d.ts.map +1 -1
  51. package/src/exos/chain-hub.js +55 -289
  52. package/src/exos/cosmos-orchestration-account.d.ts +17 -86
  53. package/src/exos/cosmos-orchestration-account.d.ts.map +1 -1
  54. package/src/exos/cosmos-orchestration-account.js +26 -111
  55. package/src/exos/ibc-packet.d.ts +0 -1
  56. package/src/exos/ibc-packet.d.ts.map +1 -1
  57. package/src/exos/ibc-packet.js +1 -8
  58. package/src/exos/ica-account-kit.d.ts +4 -8
  59. package/src/exos/ica-account-kit.d.ts.map +1 -1
  60. package/src/exos/ica-account-kit.js +5 -8
  61. package/src/exos/local-chain-facade.d.ts +23 -3
  62. package/src/exos/local-chain-facade.d.ts.map +1 -1
  63. package/src/exos/local-chain-facade.js +3 -3
  64. package/src/exos/local-orchestration-account.d.ts +12 -16
  65. package/src/exos/local-orchestration-account.d.ts.map +1 -1
  66. package/src/exos/local-orchestration-account.js +8 -13
  67. package/src/exos/orchestrator.d.ts +15 -5
  68. package/src/exos/orchestrator.d.ts.map +1 -1
  69. package/src/exos/orchestrator.js +10 -9
  70. package/src/exos/packet-tools.d.ts +1 -1
  71. package/src/exos/packet-tools.d.ts.map +1 -1
  72. package/src/exos/packet-tools.js +12 -17
  73. package/src/exos/portfolio-holder-kit.d.ts +0 -1
  74. package/src/exos/portfolio-holder-kit.d.ts.map +1 -1
  75. package/src/exos/portfolio-holder-kit.js +0 -1
  76. package/src/exos/remote-chain-facade.d.ts +15 -5
  77. package/src/exos/remote-chain-facade.d.ts.map +1 -1
  78. package/src/exos/remote-chain-facade.js +13 -23
  79. package/src/facade.js +1 -1
  80. package/src/fetched-chain-info.d.ts +86 -676
  81. package/src/fetched-chain-info.js +41 -553
  82. package/src/fixtures/query-flows.contract.d.ts +4 -5
  83. package/src/fixtures/query-flows.contract.d.ts.map +1 -1
  84. package/src/fixtures/query-flows.contract.js +0 -1
  85. package/src/orchestration-api.d.ts +16 -73
  86. package/src/orchestration-api.d.ts.map +1 -1
  87. package/src/orchestration-api.ts +19 -89
  88. package/src/proposals/start-send-anywhere.js +0 -4
  89. package/src/typeGuards.d.ts +4 -20
  90. package/src/typeGuards.d.ts.map +1 -1
  91. package/src/typeGuards.js +13 -52
  92. package/src/types.d.ts +1 -1
  93. package/src/types.d.ts.map +1 -1
  94. package/src/types.ts +1 -2
  95. package/src/utils/address.d.ts +3 -13
  96. package/src/utils/address.d.ts.map +1 -1
  97. package/src/utils/address.js +5 -97
  98. package/src/utils/chain-hub-helper.d.ts +2 -2
  99. package/src/utils/chain-hub-helper.d.ts.map +1 -1
  100. package/src/utils/chain-hub-helper.js +5 -9
  101. package/src/utils/cosmos.d.ts +1 -1
  102. package/src/utils/cosmos.d.ts.map +1 -1
  103. package/src/utils/cosmos.js +2 -2
  104. package/src/utils/orchestrationAccount.js +5 -6
  105. package/src/utils/registry.d.ts +12 -2
  106. package/src/utils/registry.d.ts.map +1 -1
  107. package/src/utils/registry.js +2 -4
  108. package/src/utils/start-helper.d.ts +6 -20
  109. package/src/utils/start-helper.d.ts.map +1 -1
  110. package/src/utils/start-helper.js +2 -13
  111. package/src/utils/zoe-tools.d.ts +2 -2
  112. package/src/utils/zoe-tools.d.ts.map +1 -1
  113. package/src/utils/zoe-tools.js +2 -5
  114. package/tools/ibc-mocks.d.ts +5 -6
  115. package/tools/ibc-mocks.d.ts.map +1 -1
  116. package/tools/ibc-mocks.ts +4 -10
  117. package/tools/make-test-address.d.ts +1 -2
  118. package/tools/make-test-address.d.ts.map +1 -1
  119. package/tools/make-test-address.js +2 -6
  120. package/src/cctp-chain-info.d.ts +0 -65
  121. package/src/cctp-chain-info.d.ts.map +0 -1
  122. package/src/cctp-chain-info.js +0 -52
  123. package/src/utils/chain-info.d.ts +0 -5
  124. package/src/utils/chain-info.d.ts.map +0 -1
  125. package/src/utils/chain-info.js +0 -11
@@ -1,15 +1,25 @@
1
1
  export const start: (zcf: ZCF<Record<string, unknown>>, privateArgs: OrchestrationPowers & {
2
2
  marshaller: Marshaller;
3
- chainInfo?: Record<string, CosmosChainInfo>;
3
+ chainInfo?: Record<string, Readonly<{
4
+ bech32Prefix?: string;
5
+ chainId: string;
6
+ connections?: Record<string, import("@agoric/orchestration").IBCConnectionInfo>;
7
+ icqEnabled?: boolean;
8
+ pfmEnabled?: boolean;
9
+ stakingTokens?: Readonly<Array<{
10
+ denom: string;
11
+ }>>;
12
+ icaEnabled?: boolean;
13
+ }>>;
4
14
  assetInfo?: [Denom, DenomDetail & {
5
15
  brandKey?: string;
6
16
  }][];
7
17
  }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
8
18
  publicFacet: import("@endo/exo").Guarded<{
9
- makeOrchAccountInvitation(): Promise<globalThis.Invitation<import("@agoric/vow").Vow<import("../utils/zoe-tools.js").ResolvedContinuingOfferResult>, {
19
+ makeOrchAccountInvitation(): Promise<Invitation<import("@agoric/vow").Vow<import("../utils/zoe-tools.js").ResolvedContinuingOfferResult>, {
10
20
  chainName: string;
11
21
  }>>;
12
- makePortfolioAccountInvitation(): Promise<globalThis.Invitation<import("@agoric/vow").Vow<import("@agoric/vow").Vow<{
22
+ makePortfolioAccountInvitation(): Promise<Invitation<import("@agoric/vow").Vow<import("@agoric/vow").Vow<{
13
23
  publicSubscribers: {
14
24
  [k: string]: import("@agoric/zoe/src/contractSupport/topics.js").ResolvedPublicTopic<unknown>;
15
25
  };
@@ -22,9 +32,7 @@ export const start: (zcf: ZCF<Record<string, unknown>>, privateArgs: Orchestrati
22
32
  }>;
23
33
  }>;
24
34
  export type BasicFlowsSF = typeof start;
25
- import type { ZCF } from '@agoric/zoe';
26
35
  import type { OrchestrationPowers } from '../utils/start-helper.js';
27
- import type { CosmosChainInfo } from '@agoric/orchestration';
28
36
  import type { Denom } from '@agoric/orchestration';
29
37
  import type { DenomDetail } from '@agoric/orchestration';
30
38
  //# sourceMappingURL=basic-flows.contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"basic-flows.contract.d.ts","sourceRoot":"","sources":["basic-flows.contract.js"],"names":[],"mappings":"AAyEA;gBApDiB,UAAU;gBACV,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;gBAC/B,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE;;;;;;;;;;;;;;;;;GAkDgB;2BAGjE,OAAO,KAAK;yBA9DJ,aAAa;yCACuB,0BAA0B;qCAF9B,uBAAuB;2BAAvB,uBAAuB;iCAAvB,uBAAuB"}
1
+ {"version":3,"file":"basic-flows.contract.d.ts","sourceRoot":"","sources":["basic-flows.contract.js"],"names":[],"mappings":"AAwEA;gBApDiB,UAAU;;;;;;;;;;;;gBAEV,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE;;;;;;;;;;;;;;;;;GAkDgB;2BAGjE,OAAO,KAAK;yCA7DgC,0BAA0B;2BAD9B,uBAAuB;iCAAvB,uBAAuB"}
@@ -12,7 +12,6 @@ import * as flows from './basic-flows.flows.js';
12
12
  /**
13
13
  * @import {Zone} from '@agoric/zone';
14
14
  * @import {CosmosChainInfo, Denom, DenomDetail} from '@agoric/orchestration';
15
- * @import {ZCF} from '@agoric/zoe';
16
15
  * @import {OrchestrationPowers, OrchestrationTools} from '../utils/start-helper.js';
17
16
  */
18
17
 
@@ -12,34 +12,54 @@ export function contract(zcf: ZCF, privateArgs: OrchestrationPowers & {
12
12
  chainInfo?: Record<string, CosmosChainInfo>;
13
13
  marshaller: Marshaller;
14
14
  storageNode: Remote<StorageNode>;
15
- }, zone: Zone, { chainHub, orchestrate, vowTools, zoeTools }: OrchestrationTools): Promise<{
15
+ }, zone: Zone, { chainHub, orchestrateAll, vowTools, zoeTools }: OrchestrationTools): Promise<{
16
16
  publicFacet: import("@endo/exo").Guarded<{
17
- makeSendInvitation(): Promise<globalThis.Invitation<Vow<undefined>, {
17
+ makeSendInvitation(): Promise<Invitation<Vow<void>, {
18
18
  chainName: string;
19
19
  destAddr: string;
20
20
  }>>;
21
21
  }>;
22
22
  creatorFacet: import("@endo/exo").Guarded<{
23
- registerChain(chainName: string, chainInfo: import("@agoric/orchestration").ChainInfo, ibcConnectionInfo?: import("@agoric/orchestration").IBCConnectionInfo): Promise<void>;
23
+ registerChain(chainName: string, chainInfo: CosmosChainInfo, connectionInfo: import("@agoric/orchestration").IBCConnectionInfo): Promise<void>;
24
24
  registerAsset(denom: Denom, detail: DenomDetail): Promise<void>;
25
25
  }>;
26
26
  }>;
27
- export const start: (zcf: globalThis.ZCF<Record<string, unknown>>, privateArgs: OrchestrationPowers & {
27
+ export const start: (zcf: ZCF<Record<string, unknown>>, privateArgs: OrchestrationPowers & {
28
28
  assetInfo?: [Denom, DenomDetail & {
29
29
  brandKey?: string;
30
30
  }][];
31
- chainInfo?: Record<string, CosmosChainInfo>;
31
+ chainInfo?: Record<string, Readonly<{
32
+ bech32Prefix?: string;
33
+ chainId: string;
34
+ connections?: Record<string, import("@agoric/orchestration").IBCConnectionInfo>;
35
+ icqEnabled?: boolean;
36
+ pfmEnabled?: boolean;
37
+ stakingTokens?: Readonly<Array<{
38
+ denom: string;
39
+ }>>;
40
+ icaEnabled?: boolean;
41
+ }>>;
32
42
  marshaller: Marshaller;
33
43
  storageNode: Remote<StorageNode>;
34
44
  }, baggage: import("@agoric/vat-data").Baggage) => Promise<{
35
45
  publicFacet: import("@endo/exo").Guarded<{
36
- makeSendInvitation(): Promise<globalThis.Invitation<Vow<undefined>, {
46
+ makeSendInvitation(): Promise<Invitation<Vow<void>, {
37
47
  chainName: string;
38
48
  destAddr: string;
39
49
  }>>;
40
50
  }>;
41
51
  creatorFacet: import("@endo/exo").Guarded<{
42
- registerChain(chainName: string, chainInfo: import("@agoric/orchestration").ChainInfo, ibcConnectionInfo?: import("@agoric/orchestration").IBCConnectionInfo): Promise<void>;
52
+ registerChain(chainName: string, chainInfo: Readonly<{
53
+ bech32Prefix?: string;
54
+ chainId: string;
55
+ connections?: Record<string, import("@agoric/orchestration").IBCConnectionInfo>;
56
+ icqEnabled?: boolean;
57
+ pfmEnabled?: boolean;
58
+ stakingTokens?: Readonly<Array<{
59
+ denom: string;
60
+ }>>;
61
+ icaEnabled?: boolean;
62
+ }>, connectionInfo: import("@agoric/orchestration").IBCConnectionInfo): Promise<void>;
43
63
  registerAsset(denom: Denom, detail: DenomDetail): Promise<void>;
44
64
  }>;
45
65
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"send-anywhere.contract.d.ts","sourceRoot":"","sources":["send-anywhere.contract.js"],"names":[],"mappings":"AAaA;;;;;GAKG;AAEH,qEAKE;AAoBK,8BAVI,GAAG,eACH,mBAAmB,GAAG;IAC5B,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5C,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;CAClC,QACO,IAAI,iDACJ,kBAAkB;;;;;;;;;;;GAkF5B;AAGD;gBA3FiB,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE;gBAC9C,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;gBAC/B,UAAU;iBACT,OAAO,WAAW,CAAC;;;;;;;;;;;;GAwF0C;yCAhHrB,0BAA0B;2BAC9B,uBAAuB;iCAAvB,uBAAuB;qCAAvB,uBAAuB;4BAH/C,aAAa;0BACpB,cAAc;wCACqB,0BAA0B;yBAFtD,aAAa"}
1
+ {"version":3,"file":"send-anywhere.contract.d.ts","sourceRoot":"","sources":["send-anywhere.contract.js"],"names":[],"mappings":"AAUA;;;;;GAKG;AAEH,qEAKE;AAgBK,8BAVI,GAAG,eACH,mBAAmB,GAAG;IAC5B,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5C,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,OAAO,WAAW,CAAC,CAAC;CAClC,QACO,IAAI,oDACJ,kBAAkB;;;;;;;;;;;GA6D5B;AAGD;gBAtEiB,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE;;;;;;;;;;;;gBAE9C,UAAU;iBACT,OAAO,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;GAmE0C;yCAvFrB,0BAA0B;2BAC9B,uBAAuB;iCAAvB,uBAAuB;qCAAvB,uBAAuB;4BAH/C,aAAa;0BACpB,cAAc;wCACqB,0BAA0B;yBAFtD,aAAa"}
@@ -5,10 +5,7 @@ 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
7
  import { registerChainsAndAssets } from '../utils/chain-hub-helper.js';
8
- import {
9
- makeNobleAccount as makeNobleAccountFlow,
10
- sendIt,
11
- } from './send-anywhere.flows.js';
8
+ import * as flows from './send-anywhere.flows.js';
12
9
  import * as sharedFlows from './shared.flows.js';
13
10
 
14
11
  /**
@@ -27,10 +24,6 @@ export const SingleNatAmountRecord = M.and(
27
24
  harden(SingleNatAmountRecord);
28
25
 
29
26
  /**
30
- * Send assets currently in an ERTP purse to an account on another chain. This
31
- * currently supports IBC and CCTP transfers. It could eventually support other
32
- * protocols, like Axelar GMP or IBC Eureka.
33
- *
34
27
  * Orchestration contract to be wrapped by withOrchestration for Zoe
35
28
  *
36
29
  * @param {ZCF} zcf
@@ -47,7 +40,7 @@ export const contract = async (
47
40
  zcf,
48
41
  privateArgs,
49
42
  zone,
50
- { chainHub, orchestrate, vowTools, zoeTools },
43
+ { chainHub, orchestrateAll, vowTools, zoeTools },
51
44
  ) => {
52
45
  const creatorFacet = prepareChainHubAdmin(zone, chainHub);
53
46
 
@@ -56,47 +49,26 @@ export const contract = async (
56
49
  /** @type {(msg: string) => Vow<void>} */
57
50
  const log = msg => vowTools.watch(E(logNode).setValue(msg));
58
51
 
59
- const makeLocalAccount = orchestrate(
60
- 'makeLocalAccount',
61
- {},
62
- sharedFlows.makeLocalAccount,
63
- );
64
- const makeNobleAccount = orchestrate(
65
- 'makeNobleAccountFlow',
66
- {},
67
- makeNobleAccountFlow,
68
- );
69
-
70
- const { brands } = zcf.getTerms();
71
-
52
+ const { makeLocalAccount } = orchestrateAll(sharedFlows, {});
72
53
  /**
73
- * Set up a shared local account for use in async-flow functions. Typically,
54
+ * Setup a shared local account for use in async-flow functions. Typically,
74
55
  * exo initState functions need to resolve synchronously, but `makeOnce`
75
56
  * allows us to provide a Promise. When using this inside a flow, we must
76
57
  * await it to ensure the account is available for use.
77
58
  *
78
- * @type {any} sharedLocalAccountP expects a Promise but this is a vow UNTIL
59
+ * @type {any} sharedLocalAccountP expects a Promise but this is a vow
79
60
  * https://github.com/Agoric/agoric-sdk/issues/9822
80
61
  */
81
62
  const sharedLocalAccountP = zone.makeOnce('localAccount', () =>
82
63
  makeLocalAccount(),
83
64
  );
84
- // UNTIL https://github.com/Agoric/agoric-sdk/issues/9822.
85
- /** @type {any} nobleAccountP */
86
- const nobleAccountP = zone.makeOnce('nobleAccount', () => makeNobleAccount());
65
+
87
66
  // orchestrate uses the names on orchestrationFns to do a "prepare" of the associated behavior
88
- const sendAnywhere = orchestrate(
89
- 'sendAnywhere',
90
- {
91
- log,
92
- chainHub,
93
- sharedLocalAccountP,
94
- nobleAccountP,
95
- USDC: brands.USDC,
96
- zoeTools,
97
- },
98
- sendIt,
99
- );
67
+ const orchFns = orchestrateAll(flows, {
68
+ log,
69
+ sharedLocalAccountP,
70
+ zoeTools,
71
+ });
100
72
 
101
73
  const publicFacet = zone.exo(
102
74
  'Send PF',
@@ -106,7 +78,7 @@ export const contract = async (
106
78
  {
107
79
  makeSendInvitation() {
108
80
  return zcf.makeInvitation(
109
- sendAnywhere,
81
+ orchFns.sendIt,
110
82
  'send',
111
83
  undefined,
112
84
  M.splitRecord({ give: SingleNatAmountRecord }),