@agoric/orchestration 0.1.1-dev-0e80151.0 → 0.1.1-dev-b2b8029.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/orchestration",
3
- "version": "0.1.1-dev-0e80151.0+0e80151",
3
+ "version": "0.1.1-dev-b2b8029.0+b2b8029",
4
4
  "description": "Chain abstraction for Agoric's orchestration clients",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -33,19 +33,19 @@
33
33
  },
34
34
  "homepage": "https://github.com/Agoric/agoric-sdk#readme",
35
35
  "dependencies": {
36
- "@agoric/async-flow": "0.1.1-dev-0e80151.0+0e80151",
37
- "@agoric/cosmic-proto": "0.4.1-dev-0e80151.0+0e80151",
38
- "@agoric/ertp": "0.16.3-dev-0e80151.0+0e80151",
39
- "@agoric/internal": "0.3.3-dev-0e80151.0+0e80151",
40
- "@agoric/network": "0.1.1-dev-0e80151.0+0e80151",
41
- "@agoric/notifier": "0.6.3-dev-0e80151.0+0e80151",
42
- "@agoric/store": "0.9.3-dev-0e80151.0+0e80151",
43
- "@agoric/time": "0.3.3-dev-0e80151.0+0e80151",
44
- "@agoric/vat-data": "0.5.3-dev-0e80151.0+0e80151",
45
- "@agoric/vats": "0.15.2-dev-0e80151.0+0e80151",
46
- "@agoric/vow": "0.1.1-dev-0e80151.0+0e80151",
47
- "@agoric/zoe": "0.26.3-dev-0e80151.0+0e80151",
48
- "@agoric/zone": "0.2.3-dev-0e80151.0+0e80151",
36
+ "@agoric/async-flow": "0.1.1-dev-b2b8029.0+b2b8029",
37
+ "@agoric/cosmic-proto": "0.4.1-dev-b2b8029.0+b2b8029",
38
+ "@agoric/ertp": "0.16.3-dev-b2b8029.0+b2b8029",
39
+ "@agoric/internal": "0.3.3-dev-b2b8029.0+b2b8029",
40
+ "@agoric/network": "0.1.1-dev-b2b8029.0+b2b8029",
41
+ "@agoric/notifier": "0.6.3-dev-b2b8029.0+b2b8029",
42
+ "@agoric/store": "0.9.3-dev-b2b8029.0+b2b8029",
43
+ "@agoric/time": "0.3.3-dev-b2b8029.0+b2b8029",
44
+ "@agoric/vat-data": "0.5.3-dev-b2b8029.0+b2b8029",
45
+ "@agoric/vats": "0.15.2-dev-b2b8029.0+b2b8029",
46
+ "@agoric/vow": "0.1.1-dev-b2b8029.0+b2b8029",
47
+ "@agoric/zoe": "0.26.3-dev-b2b8029.0+b2b8029",
48
+ "@agoric/zone": "0.2.3-dev-b2b8029.0+b2b8029",
49
49
  "@endo/base64": "^1.0.9",
50
50
  "@endo/errors": "^1.2.9",
51
51
  "@endo/far": "^1.1.10",
@@ -54,7 +54,7 @@
54
54
  "@noble/hashes": "^1.5.0"
55
55
  },
56
56
  "devDependencies": {
57
- "@agoric/swingset-liveslots": "0.10.3-dev-0e80151.0+0e80151",
57
+ "@agoric/swingset-liveslots": "0.10.3-dev-b2b8029.0+b2b8029",
58
58
  "@chain-registry/client": "^1.47.4",
59
59
  "@cosmjs/amino": "^0.33.0",
60
60
  "@cosmjs/proto-signing": "^0.33.0",
@@ -97,5 +97,5 @@
97
97
  "typeCoverage": {
98
98
  "atLeast": 97.84
99
99
  },
100
- "gitHead": "0e80151700ff31478ebb29b4767e87839cbcc66c"
100
+ "gitHead": "b2b8029e5de97e794e4fe6b2e5e1ab36e2a7bc4f"
101
101
  }
@@ -146,14 +146,14 @@ export function makeChainHub(zone: Zone, agoricNames: Remote<NameHub>, vowTools:
146
146
  *
147
147
  * XXX consider accepting AmountArg #10449
148
148
  *
149
- * @param {AccountIdArg} destination
149
+ * @param {AccountIdArg | Bech32Address} destination
150
150
  * @param {DenomAmount} denomAmount
151
151
  * @param {string} srcChainName
152
152
  * @param {IBCMsgTransferOptions['forwardOpts']} [forwardOpts]
153
153
  * @returns {TransferRoute} single hop, multi hop
154
154
  * @throws {Error} if unable to determine route
155
155
  */
156
- makeTransferRoute(destination: AccountIdArg, denomAmount: DenomAmount, srcChainName: string, forwardOpts?: IBCMsgTransferOptions["forwardOpts"]): TransferRoute;
156
+ makeTransferRoute(destination: AccountIdArg | Bech32Address, denomAmount: DenomAmount, srcChainName: string, forwardOpts?: IBCMsgTransferOptions["forwardOpts"]): TransferRoute;
157
157
  }>;
158
158
  export function registerAssets(chainHub: ChainHub, name: string, assets: CosmosAssetInfo[]): void;
159
159
  /**
@@ -193,6 +193,7 @@ import type { Denom } from '../orchestration-api.js';
193
193
  import type { AccountId } from '../orchestration-api.js';
194
194
  import type { CosmosChainAddress } from '../orchestration-api.js';
195
195
  import type { AccountIdArg } from '../orchestration-api.js';
196
+ import type { Bech32Address } from '../cosmos-api.js';
196
197
  import type { DenomAmount } from '../orchestration-api.js';
197
198
  import type { IBCMsgTransferOptions } from '../cosmos-api.js';
198
199
  import type { CosmosAssetInfo } from '../cosmos-api.js';
@@ -1 +1 @@
1
- {"version":3,"file":"chain-hub.d.ts","sourceRoot":"","sources":["chain-hub.js"],"names":[],"mappings":"AAoBA;;;;;;;;;GASG;AAEH,gEAAgE;AAChE,2BAAkD,KAAK,CAAE;sBAsB/C,CAAC,OAAO,OAAO,EAAE,MAAM,OAAO,OAAO,CAAC;;;;;;AAYhD,oCAAoC;AACpC,gCAAuC;AACvC,8CAA8C;AAC9C,gDAAuD;AACvD,0CAA0C;AAC1C,uCAA8C;AAgBvC,uCAHI,MAAM,UAOd;AAUI,wCAHI,MAAM,YACN,MAAM,UAOhB;AAoCM,wDALI,MAAM,kBACN,MAAM,YACN,iBAAiB,GACf,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAavC;AAwCD,0CAA0C;AAC1C,iCADW,aAAa,aAAa,CAAC,CAUpC;AA+CK,mCARI,IAAI,eACJ,OAAO,OAAO,CAAC,YACf,QAAQ,4BAEhB;IAAuB,mBAAmB,GAAlC,OAAO;CAGjB;IA4JG;;;;;;;;;;;OAWG;wBAFQ,MAAM,aACN,SAAS;IAWpB;;;;;;OAMG;2BAHQ,MAAM,aACN,SAAS;IAqBpB;;;;OAIG;iBAHmB,CAAC,SAAV,MAAQ,aACV,CAAC,GACC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IAYpC;;;;OAIG;uCAHQ,MAAM,uBACN,MAAM,kBACN,iBAAiB;IAU5B;;;;;;;OAOG;qCAJQ,MAAM,uBACN,MAAM,kBACN,iBAAiB;IAiB5B;;;;OAIG;+BAHQ,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,WAC5B,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAC1B,IAAI,iBAAiB,CAAC;IAmBnC;;;;;;;;OAQG;2BAPmB,EAAE,SAAX,MAAQ,EACC,EAAE,SAAX,MAAQ,eACV,EAAE,eACF,EAAE,GACA,IACZ,CAAK,eAAe,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAC9D;IAOJ;;;;;;;OAOG;yBAHQ,KAAK,UAEL,WAAW;IAmBtB;;;;;;;OAOG;uBAJQ,KAAK,UACL,WAAW;IAgCtB;;;;;;OAMG;oBAHQ,KAAK,gBACL,MAAM,GACJ,WAAW,GAAG,SAAS;IASpC;;;;;OAKG;oBAFQ,KAAK,GACH,KAAK,GAAG,SAAS;IAQ9B;;;;OAIG;gCAHQ,MAAM,GACJ,SAAS;IAatB;;;;OAIG;gCAHQ,MAAM,GACJ,kBAAkB;IAsB/B;;;;;;;;;;;;;;;OAeG;mCANQ,YAAY,eACZ,WAAW,gBACX,MAAM,gBACN,qBAAqB,CAAC,aAAa,CAAC,GAClC,aAAa;GA4G7B;AAUM,yCAJI,QAAQ,QACR,MAAM,UACN,eAAe,EAAE,QAe3B;;;;4BAlwBqB,CAAC,SAAV,MAAQ,IACR,CAAC,SAAS,MAAM,WAAW,GACjC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,GAC/C,SAAS;;;;;cAMF,MAAM;;;;eACN,KAAK;;;;eACL,MAAM;;;;;;uBAiuBN,UAAU,CAAC,OAAO,YAAY,CAAC;uCAzvBuG,kBAAkB;mCAAlB,kBAAkB;kCAG/H,kBAAkB;0BAJlC,cAAc;6BAFX,cAAc;4BAMD,kBAAkB;8BALzB,aAAa;6BAMnB,gBAAgB;+BAFkE,yBAAyB;yBAJrG,aAAa;2BAI+D,yBAAyB;+BAAzB,yBAAyB;wCAAzB,yBAAyB;kCAAzB,yBAAyB;iCAAzB,yBAAyB;2CAFe,kBAAkB;qCAAlB,kBAAkB;iCACxI,kBAAkB"}
1
+ {"version":3,"file":"chain-hub.d.ts","sourceRoot":"","sources":["chain-hub.js"],"names":[],"mappings":"AAoBA;;;;;;;;;GASG;AAEH,gEAAgE;AAChE,2BAAkD,KAAK,CAAE;sBAsB/C,CAAC,OAAO,OAAO,EAAE,MAAM,OAAO,OAAO,CAAC;;;;;;AAYhD,oCAAoC;AACpC,gCAAuC;AACvC,8CAA8C;AAC9C,gDAAuD;AACvD,0CAA0C;AAC1C,uCAA8C;AAgBvC,uCAHI,MAAM,UAOd;AAUI,wCAHI,MAAM,YACN,MAAM,UAOhB;AAoCM,wDALI,MAAM,kBACN,MAAM,YACN,iBAAiB,GACf,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAavC;AAwCD,0CAA0C;AAC1C,iCADW,aAAa,aAAa,CAAC,CAUpC;AA+CK,mCARI,IAAI,eACJ,OAAO,OAAO,CAAC,YACf,QAAQ,4BAEhB;IAAuB,mBAAmB,GAAlC,OAAO;CAGjB;IA4JG;;;;;;;;;;;OAWG;wBAFQ,MAAM,aACN,SAAS;IAWpB;;;;;;OAMG;2BAHQ,MAAM,aACN,SAAS;IAqBpB;;;;OAIG;iBAHmB,CAAC,SAAV,MAAQ,aACV,CAAC,GACC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;IAYpC;;;;OAIG;uCAHQ,MAAM,uBACN,MAAM,kBACN,iBAAiB;IAU5B;;;;;;;OAOG;qCAJQ,MAAM,uBACN,MAAM,kBACN,iBAAiB;IAiB5B;;;;OAIG;+BAHQ,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,WAC5B,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAC1B,IAAI,iBAAiB,CAAC;IAmBnC;;;;;;;;OAQG;2BAPmB,EAAE,SAAX,MAAQ,EACC,EAAE,SAAX,MAAQ,eACV,EAAE,eACF,EAAE,GACA,IACZ,CAAK,eAAe,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAC9D;IAOJ;;;;;;;OAOG;yBAHQ,KAAK,UAEL,WAAW;IAmBtB;;;;;;;OAOG;uBAJQ,KAAK,UACL,WAAW;IAgCtB;;;;;;OAMG;oBAHQ,KAAK,gBACL,MAAM,GACJ,WAAW,GAAG,SAAS;IASpC;;;;;OAKG;oBAFQ,KAAK,GACH,KAAK,GAAG,SAAS;IAS9B;;;;OAIG;gCAHQ,MAAM,GACJ,SAAS;IAatB;;;;OAIG;gCAHQ,MAAM,GACJ,kBAAkB;IAsB/B;;;;;;;;;;;;;;;OAeG;mCANQ,YAAY,GAAG,aAAa,eAC5B,WAAW,gBACX,MAAM,gBACN,qBAAqB,CAAC,aAAa,CAAC,GAClC,aAAa;GA4G7B;AAUM,yCAJI,QAAQ,QACR,MAAM,UACN,eAAe,EAAE,QAe3B;;;;4BAnwBqB,CAAC,SAAV,MAAQ,IACR,CAAC,SAAS,MAAM,WAAW,GACjC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,GAC/C,SAAS;;;;;cAMF,MAAM;;;;eACN,KAAK;;;;eACL,MAAM;;;;;;uBAkuBN,UAAU,CAAC,OAAO,YAAY,CAAC;uCA1vBuG,kBAAkB;mCAAlB,kBAAkB;kCAG/H,kBAAkB;0BAJlC,cAAc;6BAFX,cAAc;4BAMD,kBAAkB;8BALzB,aAAa;6BAMnB,gBAAgB;+BAFkE,yBAAyB;yBAJrG,aAAa;2BAI+D,yBAAyB;+BAAzB,yBAAyB;wCAAzB,yBAAyB;kCAAzB,yBAAyB;mCAFe,kBAAkB;iCAE1D,yBAAyB;2CAFe,kBAAkB;qCAAlB,kBAAkB;iCACxI,kBAAkB"}
@@ -5,8 +5,8 @@ import { BrandShape } from '@agoric/ertp/src/typeGuards.js';
5
5
 
6
6
  import { VowShape } from '@agoric/vow';
7
7
  import {
8
- CosmosChainAddressShape,
9
8
  CoinShape,
9
+ CosmosChainAddressShape,
10
10
  DenomAmountShape,
11
11
  DenomDetailShape,
12
12
  ForwardInfoShape,
@@ -16,7 +16,7 @@ import {
16
16
  AccountArgShape,
17
17
  ChainInfoShape,
18
18
  } from '../typeGuards.js';
19
- import { getBech32Prefix, parseAccountId } from '../utils/address.js';
19
+ import { getBech32Prefix } from '../utils/address.js';
20
20
 
21
21
  /**
22
22
  * @import {NameHub} from '@agoric/vats';
@@ -225,8 +225,8 @@ const ChainHubI = M.interface('ChainHub', {
225
225
  M.or(DenomDetailShape, M.undefined()),
226
226
  ),
227
227
  getDenom: M.call(BrandShape).returns(M.or(M.string(), M.undefined())),
228
- makeChainAddress: M.call(M.string()).returns(CosmosChainAddressShape),
229
- resolveAccountId: M.call(M.string()).returns(M.string()),
228
+ makeChainAddress: M.call(AccountArgShape).returns(CosmosChainAddressShape),
229
+ resolveAccountId: M.call(AccountArgShape).returns(M.string()),
230
230
  makeTransferRoute: M.call(AccountArgShape, DenomAmountShape, M.string())
231
231
  .optional(ForwardOptsShape)
232
232
  .returns(M.or(M.undefined(), TransferRouteShape)),
@@ -622,45 +622,46 @@ export const makeChainHub = (
622
622
  }
623
623
  return undefined;
624
624
  },
625
+
625
626
  /**
626
627
  * @param {string} partialId CAIP-10 account ID or a Cosmos bech32 address
627
628
  * @returns {AccountId}
628
629
  * @throws {Error} if chain info not found for bech32Prefix
629
630
  */
630
631
  resolveAccountId(partialId) {
631
- const parsed = parseAccountId(partialId);
632
- if ('namespace' in parsed) {
633
- // It is already fully qualified
632
+ if (partialId.split(':').length === 3) {
633
+ // if it's already a CAIP-10, return it.
634
634
  return /** @type {AccountId} */ (partialId);
635
635
  }
636
636
 
637
637
  const reference = resolveCosmosChainId(partialId);
638
638
  return `cosmos:${reference}:${partialId}`;
639
639
  },
640
+
640
641
  /**
641
642
  * @param {string} partialId CAIP-10 account ID or a Cosmos bech32 address
642
643
  * @returns {CosmosChainAddress}
643
644
  * @throws {Error} if chain info not found for bech32Prefix
644
645
  */
645
646
  makeChainAddress(partialId) {
646
- const parsed = parseAccountId(partialId);
647
-
648
- if ('namespace' in parsed) {
649
- assert.equal(parsed.namespace, 'cosmos');
647
+ const parts = partialId.split(':');
648
+ if (parts.length === 3) {
649
+ assert.equal(parts[0], 'cosmos');
650
650
  return harden({
651
- chainId: parsed.reference,
651
+ chainId: parts[1],
652
652
  encoding: 'bech32',
653
- value: parsed.accountAddress,
653
+ value: parts[2],
654
654
  });
655
655
  }
656
656
 
657
- const chainId = resolveCosmosChainId(parsed.accountAddress);
657
+ const chainId = resolveCosmosChainId(partialId);
658
658
  return harden({
659
659
  chainId,
660
- value: parsed.accountAddress,
660
+ value: partialId,
661
661
  encoding: /** @type {const} */ ('bech32'),
662
662
  });
663
663
  },
664
+
664
665
  /**
665
666
  * Determine the IBC transfer route for a destination and amount given the
666
667
  * current holding chain.
@@ -670,7 +671,7 @@ export const makeChainHub = (
670
671
  *
671
672
  * XXX consider accepting AmountArg #10449
672
673
  *
673
- * @param {AccountIdArg} destination
674
+ * @param {AccountIdArg | Bech32Address} destination
674
675
  * @param {DenomAmount} denomAmount
675
676
  * @param {string} srcChainName
676
677
  * @param {IBCMsgTransferOptions['forwardOpts']} [forwardOpts]
@@ -92,6 +92,11 @@ export type ChainInfo = Readonly<BaseChainInfo | CosmosChainInfo>;
92
92
  * @see {@link ChainHub.resolveAccountId}
93
93
  */
94
94
  export type AccountIdArg = AccountId | CosmosChainAddress;
95
+ export type Caip10Record = {
96
+ namespace: string;
97
+ reference: string;
98
+ accountAddress: string;
99
+ };
95
100
  /**
96
101
  * Object that controls an account on a particular chain.
97
102
  *
@@ -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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"}
@@ -115,6 +115,12 @@ export type ChainInfo = Readonly<BaseChainInfo | CosmosChainInfo>;
115
115
  */
116
116
  export type AccountIdArg = AccountId | CosmosChainAddress;
117
117
 
118
+ export type Caip10Record = {
119
+ namespace: string;
120
+ reference: string;
121
+ accountAddress: string;
122
+ };
123
+
118
124
  /**
119
125
  * Object that controls an account on a particular chain.
120
126
  *
@@ -3,13 +3,8 @@ export const DEFAULT_ICQ_VERSION: "icq-1";
3
3
  export function makeICQChannelAddress(controllerConnectionId: IBCConnectionID, version?: string): RemoteIbcAddress;
4
4
  export function findAddressField(remoteAddressString: RemoteIbcAddress): CosmosChainAddress["value"] | undefined;
5
5
  export function getBech32Prefix(address: string): string;
6
- export function parseAccountId(partialId: string): {
7
- namespace: string;
8
- reference: string;
9
- accountAddress: string;
10
- } | {
11
- accountAddress: string;
12
- };
6
+ export function parseAccountIdArg(idArg: AccountIdArg): Caip10Record;
7
+ export function parseAccountId(accountId: AccountId): Caip10Record;
13
8
  export type ICAChannelAddressOpts = {
14
9
  /**
15
10
  * message encoding format for the
@@ -33,4 +28,7 @@ export type ICAChannelAddressOpts = {
33
28
  import type { IBCConnectionID } from '@agoric/vats';
34
29
  import type { RemoteIbcAddress } from '@agoric/vats/tools/ibc-utils.js';
35
30
  import type { CosmosChainAddress } from '../types.js';
31
+ import type { AccountIdArg } from '../orchestration-api.js';
32
+ import type { Caip10Record } from '../orchestration-api.js';
33
+ import type { AccountId } from '../orchestration-api.js';
36
34
  //# sourceMappingURL=address.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["address.js"],"names":[],"mappings":"AAwBO,wDALI,eAAe,0BACf,eAAe,6CACf,qBAAqB,GACnB,gBAAgB,CAuB5B;AAGD,kCAAmC,OAAO,CAAC;AAOpC,8DAJI,eAAe,YACf,MAAM,GACJ,gBAAgB,CAQ5B;AAaM,sDAJI,gBAAgB,GAEd,kBAAkB,CAAC,OAAO,CAAC,GAAG,SAAS,CAYnD;AAaM,yCAHI,MAAM,GACJ,MAAM,CAQlB;AAgBM,0CAXI,MAAM,GACJ;IACJ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,GACD;IACE,cAAc,EAAE,MAAM,CAAC;CACxB,CAyBP;;;;;;;;;;;;;;;;;;;;;qCA1IiC,cAAc;sCAEb,iCAAiC;wCADhB,aAAa"}
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["address.js"],"names":[],"mappings":"AAyBO,wDALI,eAAe,0BACf,eAAe,6CACf,qBAAqB,GACnB,gBAAgB,CAuB5B;AAGD,kCAAmC,OAAO,CAAC;AAOpC,8DAJI,eAAe,YACf,MAAM,GACJ,gBAAgB,CAQ5B;AAaM,sDAJI,gBAAgB,GAEd,kBAAkB,CAAC,OAAO,CAAC,GAAG,SAAS,CAYnD;AAaM,yCAHI,MAAM,GACJ,MAAM,CAQlB;AASM,yCAJI,YAAY,GAEV,YAAY,CAaxB;AASM,0CAHI,SAAS,GACP,YAAY,CAaxB;;;;;;;;;;;;;;;;;;;;;qCA7IiC,cAAc;sCAGb,iCAAiC;wCAFhB,aAAa;kCACT,yBAAyB;kCAAzB,yBAAyB;+BAAzB,yBAAyB"}
@@ -3,6 +3,7 @@ import { Fail, q } from '@endo/errors';
3
3
  /**
4
4
  * @import {IBCConnectionID} from '@agoric/vats';
5
5
  * @import {CosmosChainAddress, ScopedChainId} from '../types.js';
6
+ * @import {AccountId, AccountIdArg, Caip10Record} from '../orchestration-api.js';
6
7
  * @import {RemoteIbcAddress} from '@agoric/vats/tools/ibc-utils.js';
7
8
  */
8
9
 
@@ -104,40 +105,42 @@ export const getBech32Prefix = address => {
104
105
  };
105
106
 
106
107
  /**
107
- * Parses an account ID into a structured format following CAIP-10 standards.
108
+ * Parse an account ID into a structured format following CAIP-10 standards.
108
109
  *
109
- * @param {string} partialId CAIP-10 account ID or an unscoped on-chain address
110
- * @returns {{
111
- * namespace: string;
112
- * reference: string;
113
- * accountAddress: string;
114
- * }
115
- * | {
116
- * accountAddress: string;
117
- * }}
118
- * - The parsed account details.
110
+ * @param {AccountIdArg} idArg CAIP-10 account ID or an unscoped on-chain
111
+ * address
112
+ * @returns {Caip10Record} - The parsed account details.
119
113
  */
120
- export const parseAccountId = partialId => {
121
- if (typeof partialId !== 'string' || !partialId.length) {
122
- Fail`Empty accountId: ${q(partialId)}`;
114
+ export const parseAccountIdArg = idArg => {
115
+ if (typeof idArg === 'string') {
116
+ return parseAccountId(idArg);
123
117
  }
124
118
 
125
- const parts = partialId.split(':');
119
+ // it's a CosmosChainAddress
120
+ return {
121
+ namespace: 'cosmos',
122
+ reference: idArg.chainId,
123
+ accountAddress: idArg.value,
124
+ };
125
+ };
126
+ harden(parseAccountIdArg);
126
127
 
127
- if (parts.length === 3) {
128
- // Full CAIP-10
129
- const [namespace, reference, accountAddress] = parts;
130
- return {
131
- namespace,
132
- reference,
133
- accountAddress,
134
- };
135
- } else if (parts.length === 1) {
136
- return {
137
- accountAddress: partialId,
138
- };
139
- }
128
+ /**
129
+ * Parse an account ID into a structured format following CAIP-10 standards.
130
+ *
131
+ * @param {AccountId} accountId CAIP-10 account ID
132
+ * @returns {Caip10Record} - The parsed account details.
133
+ */
134
+ export const parseAccountId = accountId => {
135
+ const parts = accountId.split(':');
136
+ parts.length === 3 || Fail`malformed CAIP-10 accountId: ${q(accountId)}`;
140
137
 
141
- throw Fail`Invalid accountId: ${q(partialId)}`;
138
+ // Full CAIP-10
139
+ const [namespace, reference, accountAddress] = parts;
140
+ return {
141
+ namespace,
142
+ reference,
143
+ accountAddress,
144
+ };
142
145
  };
143
146
  harden(parseAccountId);
@@ -26,7 +26,7 @@ export function provideOrchestration(zcf: ZCF, baggage: Baggage, remotePowers: O
26
26
  getDenom(brand: Brand): import("../orchestration-api.js").Denom | undefined;
27
27
  resolveAccountId(partialId: string): import("../orchestration-api.js").AccountId;
28
28
  makeChainAddress(partialId: string): import("../orchestration-api.js").CosmosChainAddress;
29
- makeTransferRoute(destination: import("../orchestration-api.js").AccountIdArg, denomAmount: import("../orchestration-api.js").DenomAmount, srcChainName: string, forwardOpts?: import("../cosmos-api.js").IBCMsgTransferOptions["forwardOpts"]): import("../cosmos-api.js").TransferRoute;
29
+ makeTransferRoute(destination: import("../orchestration-api.js").AccountIdArg | import("../cosmos-api.js").Bech32Address, denomAmount: import("../orchestration-api.js").DenomAmount, srcChainName: string, forwardOpts?: import("../cosmos-api.js").IBCMsgTransferOptions["forwardOpts"]): import("../cosmos-api.js").TransferRoute;
30
30
  }>;
31
31
  vowTools: import("@agoric/vow").VowTools;
32
32
  asyncFlowTools: {