@agoric/orchestration 0.2.0-upgrade-18-dev-aaebae4.0 → 0.2.0-upgrade-18-dev-bd8fd54.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 (116) hide show
  1. package/index.d.ts +3 -0
  2. package/index.js +3 -0
  3. package/package.json +30 -29
  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/chain-info.d.ts +33 -20
  8. package/src/chain-info.d.ts.map +1 -1
  9. package/src/cosmos-api.d.ts +96 -21
  10. package/src/cosmos-api.d.ts.map +1 -1
  11. package/src/cosmos-api.ts +115 -28
  12. package/src/examples/auto-stake-it.contract.d.ts +19 -2
  13. package/src/examples/auto-stake-it.contract.d.ts.map +1 -1
  14. package/src/examples/auto-stake-it.contract.js +13 -2
  15. package/src/examples/auto-stake-it.flows.d.ts +1 -1
  16. package/src/examples/basic-flows.contract.d.ts +16 -1
  17. package/src/examples/basic-flows.contract.d.ts.map +1 -1
  18. package/src/examples/basic-flows.contract.js +14 -3
  19. package/src/examples/basic-flows.flows.d.ts +1 -1
  20. package/src/examples/send-anywhere.contract.d.ts +28 -5
  21. package/src/examples/send-anywhere.contract.d.ts.map +1 -1
  22. package/src/examples/send-anywhere.contract.js +11 -0
  23. package/src/examples/stake-bld.contract.d.ts +2 -2
  24. package/src/examples/stake-ica.contract.d.ts +5 -0
  25. package/src/examples/stake-ica.contract.d.ts.map +1 -1
  26. package/src/examples/staking-combinations.contract.d.ts +2 -0
  27. package/src/examples/staking-combinations.contract.d.ts.map +1 -1
  28. package/src/examples/staking-combinations.contract.js +1 -2
  29. package/src/examples/staking-combinations.flows.d.ts +4 -2
  30. package/src/examples/staking-combinations.flows.d.ts.map +1 -1
  31. package/src/examples/staking-combinations.flows.js +9 -4
  32. package/src/examples/swap.contract.d.ts +18 -2
  33. package/src/examples/swap.contract.d.ts.map +1 -1
  34. package/src/examples/swap.contract.js +6 -0
  35. package/src/exos/README.md +5 -4
  36. package/src/exos/chain-hub-admin.d.ts.map +1 -1
  37. package/src/exos/chain-hub-admin.js +1 -2
  38. package/src/exos/chain-hub.d.ts +37 -25
  39. package/src/exos/chain-hub.d.ts.map +1 -1
  40. package/src/exos/chain-hub.js +203 -18
  41. package/src/exos/cosmos-interchain-service.d.ts +5 -5
  42. package/src/exos/cosmos-interchain-service.d.ts.map +1 -1
  43. package/src/exos/cosmos-interchain-service.js +3 -3
  44. package/src/exos/cosmos-orchestration-account.d.ts +7 -24
  45. package/src/exos/cosmos-orchestration-account.d.ts.map +1 -1
  46. package/src/exos/cosmos-orchestration-account.js +27 -14
  47. package/src/exos/ibc-packet.d.ts.map +1 -1
  48. package/src/exos/ica-account-kit.d.ts +1 -3
  49. package/src/exos/ica-account-kit.d.ts.map +1 -1
  50. package/src/exos/local-chain-facade.d.ts +4 -2
  51. package/src/exos/local-chain-facade.d.ts.map +1 -1
  52. package/src/exos/local-orchestration-account.d.ts +13 -50
  53. package/src/exos/local-orchestration-account.d.ts.map +1 -1
  54. package/src/exos/local-orchestration-account.js +50 -53
  55. package/src/exos/orchestrator.d.ts +5 -7
  56. package/src/exos/orchestrator.d.ts.map +1 -1
  57. package/src/exos/orchestrator.js +12 -6
  58. package/src/exos/packet-tools.d.ts +1 -6
  59. package/src/exos/packet-tools.d.ts.map +1 -1
  60. package/src/exos/packet-tools.js +8 -12
  61. package/src/exos/portfolio-holder-kit.d.ts +4 -4
  62. package/src/exos/portfolio-holder-kit.d.ts.map +1 -1
  63. package/src/exos/portfolio-holder-kit.js +1 -1
  64. package/src/exos/remote-chain-facade.d.ts +3 -8
  65. package/src/exos/remote-chain-facade.d.ts.map +1 -1
  66. package/src/exos/remote-chain-facade.js +0 -2
  67. package/src/facade.d.ts.map +1 -1
  68. package/src/facade.js +0 -1
  69. package/src/fetched-chain-info.d.ts +43 -18
  70. package/src/fetched-chain-info.js +31 -18
  71. package/src/orchestration-api.d.ts +8 -5
  72. package/src/orchestration-api.d.ts.map +1 -1
  73. package/src/orchestration-api.ts +15 -14
  74. package/src/proposals/start-auto-stake-it.d.ts +52 -0
  75. package/src/proposals/start-auto-stake-it.d.ts.map +1 -0
  76. package/src/proposals/start-auto-stake-it.js +108 -0
  77. package/src/proposals/start-basic-flows.d.ts +39 -6
  78. package/src/proposals/start-basic-flows.d.ts.map +1 -1
  79. package/src/proposals/start-basic-flows.js +60 -21
  80. package/src/proposals/start-send-anywhere.d.ts +105 -0
  81. package/src/proposals/start-send-anywhere.d.ts.map +1 -0
  82. package/src/proposals/start-send-anywhere.js +150 -0
  83. package/src/proposals/start-stakeAtom.d.ts +5 -0
  84. package/src/proposals/start-stakeAtom.d.ts.map +1 -1
  85. package/src/proposals/start-stakeBld.d.ts +2 -2
  86. package/src/proposals/start-stakeOsmo.d.ts +5 -0
  87. package/src/proposals/start-stakeOsmo.d.ts.map +1 -1
  88. package/src/typeGuards.d.ts +27 -4
  89. package/src/typeGuards.d.ts.map +1 -1
  90. package/src/typeGuards.js +103 -26
  91. package/src/types.d.ts +1 -0
  92. package/src/types.d.ts.map +1 -1
  93. package/src/types.ts +1 -0
  94. package/src/utils/address.d.ts +2 -1
  95. package/src/utils/address.d.ts.map +1 -1
  96. package/src/utils/address.js +18 -1
  97. package/src/utils/asset.d.ts +5 -0
  98. package/src/utils/asset.d.ts.map +1 -0
  99. package/src/utils/asset.js +33 -0
  100. package/src/utils/chain-hub-helper.d.ts +8 -0
  101. package/src/utils/chain-hub-helper.d.ts.map +1 -0
  102. package/src/utils/chain-hub-helper.js +60 -0
  103. package/src/utils/orchestrationAccount.js +2 -2
  104. package/src/utils/packet.d.ts +1 -1
  105. package/src/utils/packet.d.ts.map +1 -1
  106. package/src/utils/registry.d.ts +2 -0
  107. package/src/utils/registry.d.ts.map +1 -1
  108. package/src/utils/registry.js +3 -1
  109. package/src/utils/start-helper.d.ts +7 -4
  110. package/src/utils/start-helper.d.ts.map +1 -1
  111. package/src/utils/start-helper.js +6 -4
  112. package/src/utils/time.d.ts +1 -1
  113. package/src/utils/time.d.ts.map +1 -1
  114. package/src/vat-orchestration.d.ts +9 -9
  115. package/src/vat-orchestration.d.ts.map +1 -1
  116. package/src/vat-orchestration.js +2 -2
@@ -1,5 +1,6 @@
1
1
  declare namespace _default {
2
2
  namespace agoric {
3
+ let bech32Prefix: "agoric";
3
4
  let chainId: "agoric-3";
4
5
  let stakingTokens: readonly [{
5
6
  readonly denom: "ubld";
@@ -135,6 +136,8 @@ declare namespace _default {
135
136
  };
136
137
  }
137
138
  namespace celestia {
139
+ let bech32Prefix_1: "celestia";
140
+ export { bech32Prefix_1 as bech32Prefix };
138
141
  let chainId_1: "celestia";
139
142
  export { chainId_1 as chainId };
140
143
  let stakingTokens_1: readonly [{
@@ -238,6 +241,8 @@ declare namespace _default {
238
241
  export { connections_1 as connections };
239
242
  }
240
243
  namespace cosmoshub {
244
+ let bech32Prefix_2: "cosmos";
245
+ export { bech32Prefix_2 as bech32Prefix };
241
246
  let chainId_2: "cosmoshub-4";
242
247
  export { chainId_2 as chainId };
243
248
  let stakingTokens_2: readonly [{
@@ -247,24 +252,6 @@ declare namespace _default {
247
252
  let icqEnabled_2: false;
248
253
  export { icqEnabled_2 as icqEnabled };
249
254
  let connections_2: {
250
- readonly 'stargaze-1': {
251
- readonly id: "connection-918";
252
- readonly client_id: "07-tendermint-1188";
253
- readonly counterparty: {
254
- readonly client_id: "07-tendermint-320";
255
- readonly connection_id: "connection-256";
256
- };
257
- readonly state: 3;
258
- readonly transferChannel: {
259
- readonly channelId: "channel-730";
260
- readonly portId: "transfer";
261
- readonly counterPartyChannelId: "channel-239";
262
- readonly counterPartyPortId: "transfer";
263
- readonly ordering: 0;
264
- readonly state: 3;
265
- readonly version: "ics20-1";
266
- };
267
- };
268
255
  readonly 'agoric-3': {
269
256
  readonly id: "connection-649";
270
257
  readonly client_id: "07-tendermint-927";
@@ -391,6 +378,24 @@ declare namespace _default {
391
378
  readonly version: "ics20-1";
392
379
  };
393
380
  };
381
+ readonly 'stargaze-1': {
382
+ readonly id: "connection-918";
383
+ readonly client_id: "07-tendermint-1188";
384
+ readonly counterparty: {
385
+ readonly client_id: "07-tendermint-320";
386
+ readonly connection_id: "connection-256";
387
+ };
388
+ readonly state: 3;
389
+ readonly transferChannel: {
390
+ readonly channelId: "channel-730";
391
+ readonly portId: "transfer";
392
+ readonly counterPartyChannelId: "channel-239";
393
+ readonly counterPartyPortId: "transfer";
394
+ readonly ordering: 0;
395
+ readonly state: 3;
396
+ readonly version: "ics20-1";
397
+ };
398
+ };
394
399
  readonly 'stride-1': {
395
400
  readonly id: "connection-635";
396
401
  readonly client_id: "07-tendermint-913";
@@ -413,6 +418,8 @@ declare namespace _default {
413
418
  export { connections_2 as connections };
414
419
  }
415
420
  namespace dydx {
421
+ let bech32Prefix_3: "dydx";
422
+ export { bech32Prefix_3 as bech32Prefix };
416
423
  let chainId_3: "dydx-mainnet-1";
417
424
  export { chainId_3 as chainId };
418
425
  let stakingTokens_3: readonly [{
@@ -516,6 +523,8 @@ declare namespace _default {
516
523
  export { connections_3 as connections };
517
524
  }
518
525
  namespace juno {
526
+ let bech32Prefix_4: "juno";
527
+ export { bech32Prefix_4 as bech32Prefix };
519
528
  let chainId_4: "juno-1";
520
529
  export { chainId_4 as chainId };
521
530
  let stakingTokens_4: readonly [{
@@ -655,6 +664,8 @@ declare namespace _default {
655
664
  export { connections_4 as connections };
656
665
  }
657
666
  namespace neutron {
667
+ let bech32Prefix_5: "neutron";
668
+ export { bech32Prefix_5 as bech32Prefix };
658
669
  let chainId_5: "neutron-1";
659
670
  export { chainId_5 as chainId };
660
671
  let stakingTokens_5: readonly [{
@@ -830,6 +841,8 @@ declare namespace _default {
830
841
  export { connections_5 as connections };
831
842
  }
832
843
  namespace noble {
844
+ let bech32Prefix_6: "noble";
845
+ export { bech32Prefix_6 as bech32Prefix };
833
846
  let chainId_6: "noble-1";
834
847
  export { chainId_6 as chainId };
835
848
  let icqEnabled_6: false;
@@ -1019,6 +1032,8 @@ declare namespace _default {
1019
1032
  export { connections_6 as connections };
1020
1033
  }
1021
1034
  namespace omniflixhub {
1035
+ let bech32Prefix_7: "omniflix";
1036
+ export { bech32Prefix_7 as bech32Prefix };
1022
1037
  let chainId_7: "omniflixhub-1";
1023
1038
  export { chainId_7 as chainId };
1024
1039
  let stakingTokens_6: readonly [{
@@ -1104,6 +1119,8 @@ declare namespace _default {
1104
1119
  export { connections_7 as connections };
1105
1120
  }
1106
1121
  namespace osmosis {
1122
+ let bech32Prefix_8: "osmo";
1123
+ export { bech32Prefix_8 as bech32Prefix };
1107
1124
  let chainId_8: "osmosis-1";
1108
1125
  export { chainId_8 as chainId };
1109
1126
  let stakingTokens_7: readonly [{
@@ -1333,6 +1350,8 @@ declare namespace _default {
1333
1350
  export { connections_8 as connections };
1334
1351
  }
1335
1352
  namespace secretnetwork {
1353
+ let bech32Prefix_9: "secret";
1354
+ export { bech32Prefix_9 as bech32Prefix };
1336
1355
  let chainId_9: "secret-4";
1337
1356
  export { chainId_9 as chainId };
1338
1357
  let stakingTokens_8: readonly [{
@@ -1526,6 +1545,8 @@ declare namespace _default {
1526
1545
  export { connections_9 as connections };
1527
1546
  }
1528
1547
  namespace stargaze {
1548
+ let bech32Prefix_10: "stars";
1549
+ export { bech32Prefix_10 as bech32Prefix };
1529
1550
  let chainId_10: "stargaze-1";
1530
1551
  export { chainId_10 as chainId };
1531
1552
  let stakingTokens_9: readonly [{
@@ -1683,6 +1704,8 @@ declare namespace _default {
1683
1704
  export { connections_10 as connections };
1684
1705
  }
1685
1706
  namespace stride {
1707
+ let bech32Prefix_11: "stride";
1708
+ export { bech32Prefix_11 as bech32Prefix };
1686
1709
  let chainId_11: "stride-1";
1687
1710
  export { chainId_11 as chainId };
1688
1711
  let stakingTokens_10: readonly [{
@@ -1876,6 +1899,8 @@ declare namespace _default {
1876
1899
  export { connections_11 as connections };
1877
1900
  }
1878
1901
  namespace umee {
1902
+ let bech32Prefix_12: "umee";
1903
+ export { bech32Prefix_12 as bech32Prefix };
1879
1904
  let chainId_12: "umee-1";
1880
1905
  export { chainId_12 as chainId };
1881
1906
  let stakingTokens_11: readonly [{
@@ -1,6 +1,7 @@
1
1
  /** @file Generated by fetch-chain-info.ts */
2
2
  export default /** @type {const} } */ ({
3
3
  agoric: {
4
+ bech32Prefix: 'agoric',
4
5
  chainId: 'agoric-3',
5
6
  stakingTokens: [
6
7
  {
@@ -138,6 +139,7 @@ export default /** @type {const} } */ ({
138
139
  },
139
140
  },
140
141
  celestia: {
142
+ bech32Prefix: 'celestia',
141
143
  chainId: 'celestia',
142
144
  stakingTokens: [
143
145
  {
@@ -239,6 +241,7 @@ export default /** @type {const} } */ ({
239
241
  },
240
242
  },
241
243
  cosmoshub: {
244
+ bech32Prefix: 'cosmos',
242
245
  chainId: 'cosmoshub-4',
243
246
  stakingTokens: [
244
247
  {
@@ -247,24 +250,6 @@ export default /** @type {const} } */ ({
247
250
  ],
248
251
  icqEnabled: false,
249
252
  connections: {
250
- 'stargaze-1': {
251
- id: 'connection-918',
252
- client_id: '07-tendermint-1188',
253
- counterparty: {
254
- client_id: '07-tendermint-320',
255
- connection_id: 'connection-256',
256
- },
257
- state: 3,
258
- transferChannel: {
259
- channelId: 'channel-730',
260
- portId: 'transfer',
261
- counterPartyChannelId: 'channel-239',
262
- counterPartyPortId: 'transfer',
263
- ordering: 0,
264
- state: 3,
265
- version: 'ics20-1',
266
- },
267
- },
268
253
  'agoric-3': {
269
254
  id: 'connection-649',
270
255
  client_id: '07-tendermint-927',
@@ -391,6 +376,24 @@ export default /** @type {const} } */ ({
391
376
  version: 'ics20-1',
392
377
  },
393
378
  },
379
+ 'stargaze-1': {
380
+ id: 'connection-918',
381
+ client_id: '07-tendermint-1188',
382
+ counterparty: {
383
+ client_id: '07-tendermint-320',
384
+ connection_id: 'connection-256',
385
+ },
386
+ state: 3,
387
+ transferChannel: {
388
+ channelId: 'channel-730',
389
+ portId: 'transfer',
390
+ counterPartyChannelId: 'channel-239',
391
+ counterPartyPortId: 'transfer',
392
+ ordering: 0,
393
+ state: 3,
394
+ version: 'ics20-1',
395
+ },
396
+ },
394
397
  'stride-1': {
395
398
  id: 'connection-635',
396
399
  client_id: '07-tendermint-913',
@@ -412,6 +415,7 @@ export default /** @type {const} } */ ({
412
415
  },
413
416
  },
414
417
  dydx: {
418
+ bech32Prefix: 'dydx',
415
419
  chainId: 'dydx-mainnet-1',
416
420
  stakingTokens: [
417
421
  {
@@ -513,6 +517,7 @@ export default /** @type {const} } */ ({
513
517
  },
514
518
  },
515
519
  juno: {
520
+ bech32Prefix: 'juno',
516
521
  chainId: 'juno-1',
517
522
  stakingTokens: [
518
523
  {
@@ -650,6 +655,7 @@ export default /** @type {const} } */ ({
650
655
  },
651
656
  },
652
657
  neutron: {
658
+ bech32Prefix: 'neutron',
653
659
  chainId: 'neutron-1',
654
660
  stakingTokens: [
655
661
  {
@@ -823,6 +829,7 @@ export default /** @type {const} } */ ({
823
829
  },
824
830
  },
825
831
  noble: {
832
+ bech32Prefix: 'noble',
826
833
  chainId: 'noble-1',
827
834
  icqEnabled: false,
828
835
  connections: {
@@ -1009,6 +1016,7 @@ export default /** @type {const} } */ ({
1009
1016
  },
1010
1017
  },
1011
1018
  omniflixhub: {
1019
+ bech32Prefix: 'omniflix',
1012
1020
  chainId: 'omniflixhub-1',
1013
1021
  stakingTokens: [
1014
1022
  {
@@ -1092,6 +1100,7 @@ export default /** @type {const} } */ ({
1092
1100
  },
1093
1101
  },
1094
1102
  osmosis: {
1103
+ bech32Prefix: 'osmo',
1095
1104
  chainId: 'osmosis-1',
1096
1105
  stakingTokens: [
1097
1106
  {
@@ -1319,6 +1328,7 @@ export default /** @type {const} } */ ({
1319
1328
  },
1320
1329
  },
1321
1330
  secretnetwork: {
1331
+ bech32Prefix: 'secret',
1322
1332
  chainId: 'secret-4',
1323
1333
  stakingTokens: [
1324
1334
  {
@@ -1510,6 +1520,7 @@ export default /** @type {const} } */ ({
1510
1520
  },
1511
1521
  },
1512
1522
  stargaze: {
1523
+ bech32Prefix: 'stars',
1513
1524
  chainId: 'stargaze-1',
1514
1525
  stakingTokens: [
1515
1526
  {
@@ -1665,6 +1676,7 @@ export default /** @type {const} } */ ({
1665
1676
  },
1666
1677
  },
1667
1678
  stride: {
1679
+ bech32Prefix: 'stride',
1668
1680
  chainId: 'stride-1',
1669
1681
  stakingTokens: [
1670
1682
  {
@@ -1856,6 +1868,7 @@ export default /** @type {const} } */ ({
1856
1868
  },
1857
1869
  },
1858
1870
  umee: {
1871
+ bech32Prefix: 'umee',
1859
1872
  chainId: 'umee-1',
1860
1873
  stakingTokens: [
1861
1874
  {
@@ -51,7 +51,7 @@ export type ChainAddress = {
51
51
  *
52
52
  * The methods available depend on the chain and its capabilities.
53
53
  */
54
- export type OrchestrationAccount<CI extends ChainInfo> = OrchestrationAccountI & (CI extends CosmosChainInfo ? CI['chainId'] extends `agoric${string}` ? CosmosChainAccountMethods<CI> & LocalAccountMethods : CosmosChainAccountMethods<CI> : {});
54
+ export type OrchestrationAccount<CI extends ChainInfo> = OrchestrationAccountCommon & (CI extends CosmosChainInfo ? CI['chainId'] extends `agoric${string}` ? LocalAccountMethods : CosmosChainAccountMethods<CI> : {});
55
55
  /**
56
56
  * An object for access the core functions of a remote chain.
57
57
  *
@@ -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;
@@ -95,7 +98,7 @@ export interface Orchestrator {
95
98
  * issues the corresponding asset.
96
99
  * @param denom
97
100
  */
98
- getDenomInfo: <HoldingChain extends keyof KnownChains, IssuingChain extends keyof KnownChains>(denom: Denom) => DenomInfo<HoldingChain, IssuingChain>;
101
+ getDenomInfo: <HoldingChain extends keyof KnownChains, IssuingChain extends keyof KnownChains>(denom: Denom, srcChainName: HoldingChain) => DenomInfo<HoldingChain, IssuingChain>;
99
102
  /**
100
103
  * Convert an amount described in native data to a local, structured Amount.
101
104
  * @param amount - the described amount
@@ -106,7 +109,7 @@ export interface Orchestrator {
106
109
  /**
107
110
  * An object that supports high-level operations for an account on a remote chain.
108
111
  */
109
- export interface OrchestrationAccountI {
112
+ export interface OrchestrationAccountCommon {
110
113
  /**
111
114
  * @returns the address of the account on the remote chain
112
115
  */
@@ -136,8 +139,8 @@ export interface OrchestrationAccountI {
136
139
  * @param destination - the account to transfer the amount to.
137
140
  * @param [opts] - an optional memo to include with the transfer, which could drive custom PFM behavior, and timeout parameters
138
141
  * @returns void
139
- *
140
- * TODO document the mapping from the address to the destination chain.
142
+ * @throws {Error} if route is not determinable, asset is not recognized, or
143
+ * the transfer is rejected (insufficient funds, timeout)
141
144
  */
142
145
  transfer: (destination: ChainAddress, amount: AmountArg, opts?: IBCMsgTransferOptions) => Promise<void>;
143
146
  /**
@@ -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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"}
@@ -1,4 +1,3 @@
1
- /* eslint-disable no-use-before-define */
2
1
  /**
3
2
  * @file General API of orchestration
4
3
  * - must not have chain-specific types without runtime narrowing by chain id
@@ -7,10 +6,7 @@
7
6
  import type { Amount, Brand, NatAmount } from '@agoric/ertp/src/types.js';
8
7
  import type { CurrentWalletRecord } from '@agoric/smart-wallet/src/smartWallet.js';
9
8
  import type { Timestamp } from '@agoric/time';
10
- import type {
11
- LocalChainAccount,
12
- QueryManyFn,
13
- } from '@agoric/vats/src/localchain.js';
9
+ import type { QueryManyFn } from '@agoric/vats/src/localchain.js';
14
10
  import type { ResolvedPublicTopic } from '@agoric/zoe/src/contractSupport/topics.js';
15
11
  import type { Passable } from '@endo/marshal';
16
12
  import type {
@@ -73,12 +69,13 @@ export type ChainAddress = {
73
69
  *
74
70
  * The methods available depend on the chain and its capabilities.
75
71
  */
76
- export type OrchestrationAccount<CI extends ChainInfo> = OrchestrationAccountI &
77
- (CI extends CosmosChainInfo
78
- ? CI['chainId'] extends `agoric${string}`
79
- ? CosmosChainAccountMethods<CI> & LocalAccountMethods
80
- : CosmosChainAccountMethods<CI>
81
- : {});
72
+ export type OrchestrationAccount<CI extends ChainInfo> =
73
+ OrchestrationAccountCommon &
74
+ (CI extends CosmosChainInfo
75
+ ? CI['chainId'] extends `agoric${string}`
76
+ ? LocalAccountMethods
77
+ : CosmosChainAccountMethods<CI>
78
+ : {});
82
79
 
83
80
  /**
84
81
  * An object for access the core functions of a remote chain.
@@ -106,6 +103,9 @@ export interface Chain<CI extends ChainInfo> {
106
103
  // TODO provide a way to get the local denom/brand/whatever for this chain
107
104
  }
108
105
 
106
+ /**
107
+ * Used with `orch.getDenomInfo('ibc/1234')`. See {@link Orchestrator.getDenomInfo}
108
+ */
109
109
  export interface DenomInfo<
110
110
  HoldingChain extends keyof KnownChains,
111
111
  IssuingChain extends keyof KnownChains,
@@ -147,6 +147,7 @@ export interface Orchestrator {
147
147
  IssuingChain extends keyof KnownChains,
148
148
  >(
149
149
  denom: Denom,
150
+ srcChainName: HoldingChain,
150
151
  ) => DenomInfo<HoldingChain, IssuingChain>;
151
152
 
152
153
  /**
@@ -160,7 +161,7 @@ export interface Orchestrator {
160
161
  /**
161
162
  * An object that supports high-level operations for an account on a remote chain.
162
163
  */
163
- export interface OrchestrationAccountI {
164
+ export interface OrchestrationAccountCommon {
164
165
  /**
165
166
  * @returns the address of the account on the remote chain
166
167
  */
@@ -195,8 +196,8 @@ export interface OrchestrationAccountI {
195
196
  * @param destination - the account to transfer the amount to.
196
197
  * @param [opts] - an optional memo to include with the transfer, which could drive custom PFM behavior, and timeout parameters
197
198
  * @returns void
198
- *
199
- * TODO document the mapping from the address to the destination chain.
199
+ * @throws {Error} if route is not determinable, asset is not recognized, or
200
+ * the transfer is rejected (insufficient funds, timeout)
200
201
  */
201
202
  transfer: (
202
203
  destination: ChainAddress,
@@ -0,0 +1,52 @@
1
+ export function startAutoStakeIt({ consume: { agoricNames, board, chainStorage, chainTimerService, cosmosInterchainService, localchain, startUpgradable, }, installation: { consume: { [contractName]: installation }, }, instance: { produce: { [contractName]: produceInstance }, }, }: BootstrapPowers, { options: { chainInfo, assetInfo } }: {
2
+ options: {
3
+ chainInfo: Record<string, CosmosChainInfo>;
4
+ assetInfo: [Denom, DenomDetail & {
5
+ brandKey?: string;
6
+ }][];
7
+ };
8
+ }): Promise<void>;
9
+ export function getManifest({ restoreRef }: {
10
+ restoreRef: any;
11
+ }, { installKeys, options }: {
12
+ installKeys: any;
13
+ options: any;
14
+ }): {
15
+ manifest: {
16
+ [x: string]: {
17
+ consume: {
18
+ agoricNames: boolean;
19
+ board: boolean;
20
+ chainStorage: boolean;
21
+ chainTimerService: boolean;
22
+ cosmosInterchainService: boolean;
23
+ localchain: boolean;
24
+ startUpgradable: boolean;
25
+ };
26
+ installation: {
27
+ consume: {
28
+ autoAutoStakeIt: boolean;
29
+ };
30
+ };
31
+ instance: {
32
+ produce: {
33
+ autoAutoStakeIt: boolean;
34
+ };
35
+ };
36
+ };
37
+ };
38
+ installations: {
39
+ autoAutoStakeIt: any;
40
+ };
41
+ options: any;
42
+ };
43
+ /**
44
+ * @import {AutoStakeItSF} from '@agoric/orchestration/src/examples/auto-stake-it.contract.js';
45
+ * @import {CosmosChainInfo, Denom, DenomDetail} from '@agoric/orchestration';
46
+ */
47
+ declare const contractName: "autoAutoStakeIt";
48
+ import type { CosmosChainInfo } from '@agoric/orchestration';
49
+ import type { Denom } from '@agoric/orchestration';
50
+ import type { DenomDetail } from '@agoric/orchestration';
51
+ export {};
52
+ //# sourceMappingURL=start-auto-stake-it.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-auto-stake-it.d.ts","sourceRoot":"","sources":["start-auto-stake-it.js"],"names":[],"mappings":"AA4BO,0RARI,eAAe,yCACf;IACN,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3C,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,EAAE,CAAC;KAC3D,CAAC;CACH,iBAoDH;AAGM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BN;AAhGD;;;GAGG;AAEH,4BAAqB,iBAAiB,CAAC;qCAHe,uBAAuB;2BAAvB,uBAAuB;iCAAvB,uBAAuB"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * @file A proposal to start the auto-stake-it contract.
3
+ *
4
+ * AutoStakeIt allows users to to create an auto-forwarding address that
5
+ * transfers and stakes tokens on a remote chain when received.
6
+ */
7
+ import { makeTracer } from '@agoric/internal';
8
+ import { makeStorageNodeChild } from '@agoric/internal/src/lib-chainStorage.js';
9
+ import { E } from '@endo/far';
10
+ import { deeplyFulfilled } from '@endo/marshal';
11
+
12
+ /**
13
+ * @import {AutoStakeItSF} from '@agoric/orchestration/src/examples/auto-stake-it.contract.js';
14
+ * @import {CosmosChainInfo, Denom, DenomDetail} from '@agoric/orchestration';
15
+ */
16
+
17
+ const contractName = 'autoAutoStakeIt';
18
+ const trace = makeTracer(contractName, true);
19
+
20
+ /**
21
+ * @param {BootstrapPowers} powers
22
+ * @param {{
23
+ * options: {
24
+ * chainInfo: Record<string, CosmosChainInfo>;
25
+ * assetInfo: [Denom, DenomDetail & { brandKey?: string }][];
26
+ * };
27
+ * }} config
28
+ */
29
+ export const startAutoStakeIt = async (
30
+ {
31
+ consume: {
32
+ agoricNames,
33
+ board,
34
+ chainStorage,
35
+ chainTimerService,
36
+ cosmosInterchainService,
37
+ localchain,
38
+ startUpgradable,
39
+ },
40
+ installation: {
41
+ // @ts-expect-error not a WellKnownName
42
+ consume: { [contractName]: installation },
43
+ },
44
+ instance: {
45
+ // @ts-expect-error not a WellKnownName
46
+ produce: { [contractName]: produceInstance },
47
+ },
48
+ },
49
+ { options: { chainInfo, assetInfo } },
50
+ ) => {
51
+ trace(`start ${contractName}`);
52
+ await null;
53
+
54
+ const storageNode = await makeStorageNodeChild(chainStorage, contractName);
55
+ const marshaller = await E(board).getPublishingMarshaller();
56
+
57
+ /** @type {StartUpgradableOpts<AutoStakeItSF>} */
58
+ const startOpts = {
59
+ label: 'autoAutoStakeIt',
60
+ installation,
61
+ terms: undefined,
62
+ privateArgs: await deeplyFulfilled(
63
+ // @ts-expect-error
64
+ harden({
65
+ agoricNames,
66
+ orchestrationService: cosmosInterchainService,
67
+ localchain,
68
+ storageNode,
69
+ marshaller,
70
+ timerService: chainTimerService,
71
+ chainInfo,
72
+ assetInfo,
73
+ }),
74
+ ),
75
+ };
76
+
77
+ const { instance } = await E(startUpgradable)(startOpts);
78
+ produceInstance.resolve(instance);
79
+ };
80
+ harden(startAutoStakeIt);
81
+
82
+ export const getManifest = ({ restoreRef }, { installKeys, options }) => {
83
+ return {
84
+ manifest: {
85
+ [startAutoStakeIt.name]: {
86
+ consume: {
87
+ agoricNames: true,
88
+ board: true,
89
+ chainStorage: true,
90
+ chainTimerService: true,
91
+ cosmosInterchainService: true,
92
+ localchain: true,
93
+ startUpgradable: true,
94
+ },
95
+ installation: {
96
+ consume: { [contractName]: true },
97
+ },
98
+ instance: {
99
+ produce: { [contractName]: true },
100
+ },
101
+ },
102
+ },
103
+ installations: {
104
+ [contractName]: restoreRef(installKeys[contractName]),
105
+ },
106
+ options,
107
+ };
108
+ };
@@ -1,9 +1,34 @@
1
- export function startBasicFlows({ consume: { agoricNames, board, chainStorage, chainTimerService, cosmosInterchainService, localchain, startUpgradable, }, installation: { consume: { [contractName]: installation }, }, instance: { produce: { [contractName]: produceInstance }, }, }: BootstrapPowers): Promise<void>;
1
+ export function startBasicFlows({ consume: { agoricNames, board, chainStorage, chainTimerService, cosmosInterchainService, localchain, startUpgradable, }, installation: { consume: { [contractName]: installation }, }, instance: { produce: { [contractName]: produceInstance }, }, issuer: { consume: { BLD, IST }, }, }: BootstrapPowers & {
2
+ installation: {
3
+ consume: {
4
+ basicFlows: Installation<BasicFlowsSF>;
5
+ };
6
+ };
7
+ instance: {
8
+ produce: {
9
+ basicFlows: Producer<Instance>;
10
+ };
11
+ };
12
+ issuer: {
13
+ consume: {
14
+ BLD: Issuer<"nat">;
15
+ IST: Issuer<"nat">;
16
+ USDC: Issuer<"nat">;
17
+ };
18
+ };
19
+ }, { options: { chainInfo, assetInfo } }: {
20
+ options: {
21
+ chainInfo: Record<string, CosmosChainInfo>;
22
+ assetInfo: [Denom, DenomDetail & {
23
+ brandKey?: string;
24
+ }][];
25
+ };
26
+ }): Promise<void>;
2
27
  export function getManifestForContract({ restoreRef }: {
3
28
  restoreRef: any;
4
- }, { installKeys, ...options }: {
5
- [x: string]: any;
29
+ }, { installKeys, options }: {
6
30
  installKeys: any;
31
+ options: any;
7
32
  }): {
8
33
  manifest: {
9
34
  [x: string]: {
@@ -26,15 +51,23 @@ export function getManifestForContract({ restoreRef }: {
26
51
  basicFlows: boolean;
27
52
  };
28
53
  };
54
+ issuer: {
55
+ consume: {
56
+ BLD: boolean;
57
+ IST: boolean;
58
+ };
59
+ };
29
60
  };
30
61
  };
31
62
  installations: {
32
63
  basicFlows: any;
33
64
  };
34
- options: {
35
- [x: string]: any;
36
- };
65
+ options: any;
37
66
  };
67
+ import type { BasicFlowsSF } from '../examples/basic-flows.contract.js';
38
68
  declare const contractName: "basicFlows";
69
+ import type { CosmosChainInfo } from '@agoric/orchestration';
70
+ import type { Denom } from '@agoric/orchestration';
71
+ import type { DenomDetail } from '@agoric/orchestration';
39
72
  export {};
40
73
  //# sourceMappingURL=start-basic-flows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"start-basic-flows.d.ts","sourceRoot":"","sources":["start-basic-flows.js"],"names":[],"mappings":"AAsBO,yRAFI,eAAe,iBA4CzB;AAGM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BN;AApFD,yCAAkC"}
1
+ {"version":3,"file":"start-basic-flows.d.ts","sourceRoot":"","sources":["start-basic-flows.js"],"names":[],"mappings":"AAgDO,6TA1BI,eAAe,GAAG;IACxB,YAAY,EAAE;QACZ,OAAO,EAAE;YACP,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;SACxC,CAAC;KACH,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAChC,CAAC;KACH,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACnB,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;SACrB,CAAC;KACH,CAAC;CACH,yCACO;IACN,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC3C,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,EAAE,CAAC;KAC3D,CAAC;CACH,iBAsDH;AAGM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCN;kCA9H8B,qCAAqC;AAIpE,4BAAqB,YAAY,CAAC;qCALoB,uBAAuB;2BAAvB,uBAAuB;iCAAvB,uBAAuB"}