@agoric/vats 0.15.2-dev-f8bd523.0.f8bd523 → 0.15.2-dev-c596c96.0.c596c96

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/vats",
3
- "version": "0.15.2-dev-f8bd523.0.f8bd523",
3
+ "version": "0.15.2-dev-c596c96.0.c596c96",
4
4
  "description": "Agoric's Vat library",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -20,19 +20,19 @@
20
20
  "author": "Agoric",
21
21
  "license": "Apache-2.0",
22
22
  "dependencies": {
23
- "@agoric/cosmic-proto": "0.4.1-dev-f8bd523.0.f8bd523",
24
- "@agoric/ertp": "0.16.3-dev-f8bd523.0.f8bd523",
25
- "@agoric/governance": "0.10.4-dev-f8bd523.0.f8bd523",
26
- "@agoric/internal": "0.3.3-dev-f8bd523.0.f8bd523",
27
- "@agoric/network": "0.1.1-dev-f8bd523.0.f8bd523",
28
- "@agoric/notifier": "0.6.3-dev-f8bd523.0.f8bd523",
29
- "@agoric/store": "0.9.3-dev-f8bd523.0.f8bd523",
30
- "@agoric/swingset-vat": "0.32.3-dev-f8bd523.0.f8bd523",
31
- "@agoric/time": "0.3.3-dev-f8bd523.0.f8bd523",
32
- "@agoric/vat-data": "0.5.3-dev-f8bd523.0.f8bd523",
33
- "@agoric/vow": "0.1.1-dev-f8bd523.0.f8bd523",
34
- "@agoric/zoe": "0.26.3-dev-f8bd523.0.f8bd523",
35
- "@agoric/zone": "0.2.3-dev-f8bd523.0.f8bd523",
23
+ "@agoric/cosmic-proto": "0.4.1-dev-c596c96.0.c596c96",
24
+ "@agoric/ertp": "0.16.3-dev-c596c96.0.c596c96",
25
+ "@agoric/governance": "0.10.4-dev-c596c96.0.c596c96",
26
+ "@agoric/internal": "0.3.3-dev-c596c96.0.c596c96",
27
+ "@agoric/network": "0.1.1-dev-c596c96.0.c596c96",
28
+ "@agoric/notifier": "0.6.3-dev-c596c96.0.c596c96",
29
+ "@agoric/store": "0.9.3-dev-c596c96.0.c596c96",
30
+ "@agoric/swingset-vat": "0.32.3-dev-c596c96.0.c596c96",
31
+ "@agoric/time": "0.3.3-dev-c596c96.0.c596c96",
32
+ "@agoric/vat-data": "0.5.3-dev-c596c96.0.c596c96",
33
+ "@agoric/vow": "0.1.1-dev-c596c96.0.c596c96",
34
+ "@agoric/zoe": "0.26.3-dev-c596c96.0.c596c96",
35
+ "@agoric/zone": "0.2.3-dev-c596c96.0.c596c96",
36
36
  "@endo/errors": "^1.2.13",
37
37
  "@endo/far": "^1.1.14",
38
38
  "@endo/import-bundle": "^1.5.2",
@@ -45,7 +45,7 @@
45
45
  "jessie.js": "^0.3.4"
46
46
  },
47
47
  "devDependencies": {
48
- "@agoric/swingset-liveslots": "0.10.3-dev-f8bd523.0.f8bd523",
48
+ "@agoric/swingset-liveslots": "0.10.3-dev-c596c96.0.c596c96",
49
49
  "@endo/bundle-source": "^4.1.2",
50
50
  "@endo/init": "^1.1.12",
51
51
  "ava": "^6.4.1",
@@ -77,5 +77,5 @@
77
77
  "typeCoverage": {
78
78
  "atLeast": 90.6
79
79
  },
80
- "gitHead": "f8bd52315ec2a13ac1ce89d2336f29ba081a9ac0"
80
+ "gitHead": "c596c962d3107a5666565e01b22d56f7b29c2fc6"
81
81
  }
package/src/ibc.js CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  encodeRemoteIbcAddress,
14
14
  decodeIbcEndpoint,
15
15
  encodeIbcEndpoint,
16
- } from '../tools/ibc-utils.js';
16
+ } from '@agoric/network/ibc/utils.js';
17
17
 
18
18
  const trace = makeTracer('IBC', false);
19
19
 
package/src/types.d.ts CHANGED
@@ -3,10 +3,12 @@ import type { Brand, Issuer } from '@agoric/ertp';
3
3
  import type { PacketSDKType } from '@agoric/cosmic-proto/ibc/core/channel/v1/channel.js';
4
4
  import type { BridgeId, Remote } from '@agoric/internal';
5
5
  import type { Bytes } from '@agoric/network';
6
+ import type { IBCChannelID, IBCChannelOrdering, IBCConnectionID, IBCPortID } from '@agoric/network/ibc';
6
7
  import type { Guarded } from '@endo/exo';
7
8
  import type { CaipChainId } from '@agoric/orchestration';
8
9
  import type { Installation, Instance } from '@agoric/zoe/src/zoeService/types.js';
9
10
  import type { AssetInfo } from './vat-bank.js';
11
+ export type { IBCChannelID, IBCChannelOrdering, IBCConnectionID, IBCPortID, } from '@agoric/network/ibc';
10
12
  /**
11
13
  * Published vstorage values under the `agoricNames.` hierarchy.
12
14
  */
@@ -123,10 +125,6 @@ export type ScopedBridgeManager<B extends BridgeId> = Guarded<ScopedBridgeManage
123
125
  export type BridgeManager = {
124
126
  register: <B extends BridgeId>(bridgeId: B, handler?: Remote<BridgeHandler>) => ScopedBridgeManager<B>;
125
127
  };
126
- export type IBCPortID = string;
127
- export type IBCChannelID = `channel-${number}`;
128
- export type IBCConnectionID = `connection-${number}`;
129
- export type IBCChannelOrdering = 'ORDERED' | 'UNORDERED';
130
128
  export type IBCPacket = JsonSafe<{
131
129
  data: Bytes;
132
130
  source_channel: IBCChannelID;
@@ -296,5 +294,4 @@ type SendPacketDownCall = {
296
294
  * `JSON.parse(atob(packet.data))` to extract it.
297
295
  */
298
296
  export type VTransferIBCEvent = IBCEvent<'acknowledgementPacket', 'VTRANSFER_IBC_EVENT'> | IBCEvent<'writeAcknowledgement', 'VTRANSFER_IBC_EVENT'> | IBCEvent<'timeoutPacket', 'VTRANSFER_IBC_EVENT'>;
299
- export {};
300
297
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,SAAS,EACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACT,MAAM,qCAAqC,CAAC;AAG7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,SAAS,GACV,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,0BAA0B,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAC1D,sBAAsB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClD,mBAAmB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5C,oBAAoB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,wBAAwB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,UAAU,CAC5B,UAAU,CAAC,cAAc,gBAAgB,EAAE,eAAe,CAAC,CAC5D,CAAC,OAAO,CAAC,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,CAAC,KAAK,GAAG,GAAG,IAAI;IACjC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9B;;;OAGG;IACH,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,2DAA2D;IAC3D,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,OAAO,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC1D,qDAAqD;IACrD,IAAI,EAAE,MAAM,MAAM,EAAE,CAAC;IACrB,sDAAsD;IACtD,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC;CACvB,CAAC;AAEF,iDAAiD;AACjD,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACxE;;;;OAIG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC;;;OAGG;IACH,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,CAAC,CAAC;IAClE,yDAAyD;IACzD,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAChE;;;;OAIG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACnE;;;OAGG;IACH,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACvD,0EAA0E;IAC1E,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB;;;;OAIG;IACH,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,oBAAoB,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,oFAAoF;IACpF,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC;CAC3C,CAAC;AAEF,iCAAiC;AACjC,MAAM,MAAM,UAAU,GAAG;IACvB,kBAAkB;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB;IACnB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG;IAC3C,YAAY,IAAI,MAAM,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAC5C,YAAY,CACV,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,kBAAkB,CAAC;KAC/B,CAAC,CAAC;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACxD,CAAC;AAEF,iEAAiE;AACjE,MAAM,MAAM,aAAa,GAAG;IAC1B,gCAAgC;IAChC,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC3D;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;IACtB,uCAAuC;IACvC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,qCAAqC;IACrC,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IACtD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,QAAQ,IAAI,OAAO,CAC3D,0BAA0B,CAAC,CAAC,CAAC,CAC9B,CAAC;AAEF,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,CAAC,CAAC,SAAS,QAAQ,EAC3B,QAAQ,EAAE,CAAC,EACX,OAAO,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,KAC5B,mBAAmB,CAAC,CAAC,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC;IAC/B,IAAI,EAAE,KAAK,CAAC;IACZ,cAAc,EAAE,YAAY,CAAC;IAC7B,WAAW,EAAE,SAAS,CAAC;IACvB,mBAAmB,EAAE,YAAY,CAAC;IAClC,gBAAgB,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACjD,iBAAiB,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;CACxD,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AAErE;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,SAAS;QACZ,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC;QAC5B,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC;KACnC,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,MAAM,cAAc,IAAI,QAAQ,CACxE;IAAC,KAAK;IAAE,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC;IAAE,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;CAAC,CAChE,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,UAAU,EAAE,YAAY,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,YAAY,CAAC;IACxB,YAAY,EAAE,eAAe,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,6EAA6E;AAC7E,MAAM,MAAM,cAAc,GACtB,sBAAsB,GACtB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,oBAAoB,GACpB,kBAAkB,GAClB,qBAAqB,GACrB,eAAe,GACf,uBAAuB,GACvB,eAAe,GACf,YAAY,CAAC;AAEjB,KAAK,eAAe,GAAG;IACrB,eAAe,EAAE,cAAc,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,EAAE,cAAc,CAAC;IACnC,aAAa,EAAE;QACb,MAAM,EAAE,SAAS,CAAC;KACnB,CAAC;IACF,qBAAqB,EAAE;QACrB,eAAe,EAAE,KAAK,CAAC;QACvB,MAAM,EAAE,SAAS,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,oBAAoB,EAAE;QACpB,eAAe,EAAE,KAAK,CAAC;QACvB,MAAM,EAAE,SAAS,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,aAAa,EAAE;QACb,MAAM,EAAE,SAAS,CAAC;KACnB,CAAC;IACF,gBAAgB,EAAE;QAAE,SAAS,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;IACjE,mBAAmB,EAAE;QAAE,SAAS,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;IACpE,UAAU,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;CAC9D,CAAC;AAEF;;;GAGG;AACH,KAAK,YAAY,GAAG,WAAW,GAAG,qBAAqB,CAAC;AAExD,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,cAAc,EACxB,CAAC,SAAS,YAAY,GAAG,WAAW,IAClC;IACF,IAAI,EAAE,CAAC,CAAC;IACR,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,CAAC;IACT,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD,GAAG;KACD,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvD,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,iBAAiB,GACjB,iBAAiB,GACjB,sBAAsB,GACtB,uBAAuB,GACvB,UAAU,GACV,iBAAiB,GACjB,kBAAkB,CAAC;AAEvB,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,eAAe,EAAE,sBAAsB,CAAC;IACxC,eAAe,EAAE;QACf,MAAM,EAAE,SAAS,CAAC;QAClB,GAAG,EAAE,KAAK,CAAC;KACZ,CAAC;IACF,oBAAoB,EAAE,uBAAuB,CAAC;IAC9C,qBAAqB,EAAE;QACrB,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,GAAG,gBAAgB,CAAC,CAAC;KAC3D,CAAC;IACF,QAAQ,EAAE;QAAE,MAAM,EAAE;YAAE,WAAW,EAAE,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC;IACjD,eAAe,EAAE;QACf,MAAM,EAAE,SAAS,CAAC;KACnB,CAAC;IACF,gBAAgB,EAAE,sBAAsB,CAAC;CAC1C,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,iBAAiB,IAAI;IACnD,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,CAAC,CAAC;CACX,GAAG;KACD,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,iBAAiB,IAAI;KACpD,CAAC,IAAI,MAAM,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,iBAAiB,IACvD,CAAC,SAAS,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAEhE,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,iBAAiB,IACvD,eAAe,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAE7D,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,uBAAuB,GAAG,uBAAuB,GAAG;IACvD,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,kBAAkB,GAAG,aAAa,CAAC,CAAC;CAC7D,CAAC;AAEF,KAAK,sBAAsB,GAAG,uBAAuB,GAAG;IACtD,MAAM,EAAE,IAAI,CACV,SAAS,EACP,kBAAkB,GAClB,aAAa,GACb,qBAAqB,GACrB,gBAAgB,CACnB,CAAC;CACH,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GACzB,QAAQ,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,GACxD,QAAQ,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,GACvD,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC"}
package/src/types.js CHANGED
@@ -5,6 +5,12 @@
5
5
 
6
6
 
7
7
 
8
+
9
+
10
+
11
+
12
+
13
+
8
14
 
9
15
 
10
16
 
@@ -14,6 +20,13 @@
14
20
 
15
21
 
16
22
 
23
+
24
+
25
+
26
+
27
+
28
+
29
+
17
30
 
18
31
  /**
19
32
  * Published vstorage values under the `agoricNames.` hierarchy.
@@ -152,11 +165,6 @@
152
165
 
153
166
 
154
167
 
155
-
156
-
157
-
158
-
159
-
160
168
 
161
169
 
162
170
 
@@ -1,77 +0,0 @@
1
- /**
2
- * @file Conversion from IBC endpoints to Agoric Network API Endpoints
3
- * @summary Utilities for constructing and parsing Agoric Network API IBC addresses, which
4
- * are used to identify IBC ports and channels in a Cosmos-participating
5
- * blockchain.
6
- *
7
- * Agoric Network API addresses are roughly akin to Multiaddrs (@ref
8
- * https://github.com/multiformats/js-multiaddr) but with a less rigid
9
- * structure. Both share a similar textual representation, which is
10
- * encapsulated protocols and values separated by slashes.
11
- */
12
- /** @typedef {`/${string}ibc-port/${string}/${'ordered' | 'unordered'}/${string}`} RemoteIbcAddress */
13
- /** @typedef {`/ibc-port/${string}`} LocalIbcAddress */
14
- /**
15
- * @import {IBCChannelID, IBCChannelOrdering,
16
- * IBCConnectionID, IBCPortID} from '../src/types.js';
17
- * @import {Endpoint} from '@agoric/network';
18
- */
19
- /**
20
- * @typedef {object} IBCEndpoint
21
- * @property {IBCConnectionID[]} hops
22
- * @property {IBCPortID} portID
23
- * @property {IBCChannelOrdering} [order]
24
- * @property {string} [version]
25
- * @property {IBCChannelID} [channelID]
26
- */
27
- export const IBC_ADDR_RE: RegExp;
28
- export const VALID_ORDERS: readonly ["ordered", "unordered", "ORDERED", "UNORDERED"];
29
- export function encodeSlashes(raw: string): string;
30
- export function decodeSlashes(encoded: string): string;
31
- export function validateIbcAddress(addr: any): any;
32
- export function decodeIbcHops(h: string): IBCConnectionID[];
33
- export function decodeIbcEndpoint(addr: string): IBCEndpoint;
34
- export function encodeIbcEndpoint({ hops, portID, order: rawOrder, version, channelID, }: {
35
- hops?: string[] | undefined;
36
- portID: string;
37
- order: "ordered" | "unordered" | "ORDERED" | "UNORDERED";
38
- version: string;
39
- channelID?: string | undefined;
40
- }): Endpoint;
41
- /**
42
- * @overload
43
- * @param {string} remoteAddr
44
- * @param {undefined | false} [returnMatch]
45
- * @returns {boolean}
46
- */
47
- export function validateRemoteIbcAddress(remoteAddr: string, returnMatch?: undefined | false): boolean;
48
- /**
49
- * @overload
50
- * @param {string} remoteAddr
51
- * @param {true} returnMatch
52
- * @returns {RegExpMatchArray}
53
- */
54
- export function validateRemoteIbcAddress(remoteAddr: string, returnMatch: true): RegExpMatchArray;
55
- export function decodeRemoteIbcAddress(remoteAddr: string): {
56
- rPortID: string;
57
- order: IBCChannelOrdering;
58
- version: string;
59
- hops: `connection-${number}`[];
60
- };
61
- export function localAddrToPortID(localAddr: LocalIbcAddress): string;
62
- export function encodeRemoteIbcAddress(hops: string[], portID: string, order: "ordered" | "unordered" | "ORDERED" | "UNORDERED", version: string, channelID?: string): RemoteIbcAddress;
63
- export function encodeLocalIbcAddress(portID: string, order: "ordered" | "unordered" | "ORDERED" | "UNORDERED", version: string): string;
64
- export type RemoteIbcAddress = `/${string}ibc-port/${string}/${"ordered" | "unordered"}/${string}`;
65
- export type LocalIbcAddress = `/ibc-port/${string}`;
66
- export type IBCEndpoint = {
67
- hops: IBCConnectionID[];
68
- portID: IBCPortID;
69
- order?: IBCChannelOrdering | undefined;
70
- version?: string | undefined;
71
- channelID?: `channel-${number}` | undefined;
72
- };
73
- import type { IBCConnectionID } from '../src/types.js';
74
- import type { Endpoint } from '@agoric/network';
75
- import type { IBCChannelOrdering } from '../src/types.js';
76
- import type { IBCPortID } from '../src/types.js';
77
- //# sourceMappingURL=ibc-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ibc-utils.d.ts","sourceRoot":"","sources":["ibc-utils.js"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,sGAAsG;AACtG,uDAAuD;AAEvD;;;;GAIG;AAEH;;;;;;;GAOG;AAEH,iCACsJ;AAGtJ,qFAKG;AAII,mCADK,MAAM,UAC8C;AAIzD,uCADK,MAAM,UACsD;AAGjE,mDASN;AAQM,iCAHI,MAAM,GACJ,eAAe,EAAE,CAsB7B;AAOM,wCAHI,MAAM,GACJ,WAAW,CAkBvB;AAYM,0FAPJ;IAAwB,IAAI;IACP,MAAM,EAAnB,MAAM;IACkD,KAAK,EAA7D,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW;IACpC,OAAO,EAApB,MAAM;IACQ,SAAS;CAC/B,GAAU,QAAQ,CAwCpB;;;;;;;AAIE,qDACQ,MAAM,gBACN,SAAS,GAAG,KAAK,GACf,OAAO,CACnB;;;;;;;AAEE,qDACQ,MAAM,eACN,IAAI,GACF,gBAAgB,CAC5B;AA0BM,mDADK,MAAM;;;;;EAYjB;AAOM,6CAHI,eAAe,GACb,MAAM,CAqBlB;AAWM,6CAPI,MAAM,EAAE,UACR,MAAM,SACN,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,WACjD,MAAM,cACN,MAAM,GACJ,gBAAgB,CAiB5B;AAQM,8CAJI,MAAM,SACN,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,WACjD,MAAM,UAIhB;+BArQa,IAAI,MAAM,YAAY,MAAM,IAAI,SAAS,GAAG,WAAW,IAAI,MAAM,EAAE;8BACnE,aAAa,MAAM,EAAE;;UAUrB,eAAe,EAAE;YACjB,SAAS;;;;;qCAPe,iBAAiB;8BAC5B,iBAAiB;wCADN,iBAAiB;+BAAjB,iBAAiB"}
@@ -1,275 +0,0 @@
1
- /**
2
- * @file Conversion from IBC endpoints to Agoric Network API Endpoints
3
- * @summary Utilities for constructing and parsing Agoric Network API IBC addresses, which
4
- * are used to identify IBC ports and channels in a Cosmos-participating
5
- * blockchain.
6
- *
7
- * Agoric Network API addresses are roughly akin to Multiaddrs (@ref
8
- * https://github.com/multiformats/js-multiaddr) but with a less rigid
9
- * structure. Both share a similar textual representation, which is
10
- * encapsulated protocols and values separated by slashes.
11
- */
12
-
13
- /** @typedef {`/${string}ibc-port/${string}/${'ordered' | 'unordered'}/${string}`} RemoteIbcAddress */
14
- /** @typedef {`/ibc-port/${string}`} LocalIbcAddress */
15
-
16
- /**
17
- * @import {IBCChannelID, IBCChannelOrdering,
18
- * IBCConnectionID, IBCPortID} from '../src/types.js';
19
- * @import {Endpoint} from '@agoric/network';
20
- */
21
-
22
- /**
23
- * @typedef {object} IBCEndpoint
24
- * @property {IBCConnectionID[]} hops
25
- * @property {IBCPortID} portID
26
- * @property {IBCChannelOrdering} [order]
27
- * @property {string} [version]
28
- * @property {IBCChannelID} [channelID]
29
- */
30
-
31
- export const IBC_ADDR_RE =
32
- /^(?<hops>\/ibc-hop\/[^/]+)*\/ibc-port\/(?<portID>[^/]+)(\/(?<order>ordered|unordered)\/(?<version>[^/]+)(\/ibc-channel\/(?<channelID>[^/]+))?)?$/s;
33
- harden(IBC_ADDR_RE);
34
-
35
- export const VALID_ORDERS = /** @type {const} */ ([
36
- 'ordered',
37
- 'unordered',
38
- 'ORDERED',
39
- 'UNORDERED',
40
- ]);
41
- harden(VALID_ORDERS);
42
-
43
- /** @param {string} raw */
44
- export const encodeSlashes = raw => raw.replaceAll('/', '\\x2f');
45
- harden(encodeSlashes);
46
-
47
- /** @param {string} encoded */
48
- export const decodeSlashes = encoded => encoded.replaceAll('\\x2f', '/');
49
- harden(decodeSlashes);
50
-
51
- export const validateIbcAddress = addr => {
52
- const match = addr.match(IBC_ADDR_RE);
53
- // .groups is to inform TS
54
- if (!(match && match.groups)) {
55
- throw TypeError(
56
- `IBC address ${addr} must be '(/ibc-hop/CONNECTION)*/ibc-port/PORT/(ordered|unordered)/VERSION(/ibc-channel/CHANNEL_ID)?'`,
57
- );
58
- }
59
- return match;
60
- };
61
-
62
- /**
63
- * Decode the /ibc-hop/CONNECTION segments of an IBC address.
64
- *
65
- * @param {string} h
66
- * @returns {IBCConnectionID[]}
67
- */
68
- export const decodeIbcHops = h => {
69
- /** @type {IBCConnectionID[]} */
70
- const hops = [];
71
-
72
- /** @type {string} */
73
- while (h) {
74
- const m = h.match(/^\/ibc-hop\/(?<hop>[^/]+)/);
75
- if (!m || !m.groups) {
76
- throw Error(
77
- `internal: ${JSON.stringify(h)} did not begin with "/ibc-hop/XXX"`,
78
- );
79
- }
80
- h = h.slice(m[0].length);
81
-
82
- const hop = /** @type {IBCConnectionID} */ (m.groups.hop);
83
- assert(typeof hop === 'string' && hop.startsWith('connection-'));
84
- hops.push(hop);
85
- }
86
-
87
- return hops;
88
- };
89
- harden(decodeIbcHops);
90
-
91
- /**
92
- * @param {string} addr
93
- * @returns {IBCEndpoint}
94
- */
95
- export const decodeIbcEndpoint = addr => {
96
- const match = validateIbcAddress(addr);
97
- if (!match.groups)
98
- throw Error('Unexpected error, validateRemoteIbcAddress should throw.');
99
-
100
- const hops = decodeIbcHops(match.groups.hops);
101
-
102
- // Generate a circuit.
103
- const { portID, version, channelID, order } = match.groups;
104
- return {
105
- hops,
106
- portID,
107
- ...(order && { order: order.toUpperCase() }),
108
- ...(version && { version: decodeSlashes(version) }),
109
- ...(channelID && { channelID }),
110
- };
111
- };
112
- harden(decodeIbcEndpoint);
113
-
114
- /**
115
- * @param {object} spec
116
- * @param {string[]} [spec.hops]
117
- * @param {string} spec.portID
118
- * @param {'ordered' | 'unordered' | 'ORDERED' | 'UNORDERED'} spec.order
119
- * @param {string} spec.version
120
- * @param {string} [spec.channelID]
121
- * @returns {Endpoint}
122
- */
123
- export const encodeIbcEndpoint = ({
124
- hops = [],
125
- portID,
126
- order: rawOrder,
127
- version,
128
- channelID,
129
- }) => {
130
- const isLegitString = str =>
131
- typeof str === 'string' && str && !str.includes('/');
132
- let addr = '';
133
- assert(Array.isArray(hops), 'hops must be an array');
134
- for (const hop of hops) {
135
- assert(isLegitString(hop), `invalid hop ${hop}`);
136
- addr += `/ibc-hop/${hop}`;
137
- }
138
- assert(isLegitString(portID), `invalid portID ${portID}`);
139
- addr += `/ibc-port/${portID}`;
140
-
141
- if (rawOrder !== undefined) {
142
- assert(isLegitString(rawOrder), `invalid order ${rawOrder}`);
143
-
144
- assert(
145
- VALID_ORDERS.includes(rawOrder),
146
- `invalid order ${rawOrder}; ${rawOrder} not found in ${JSON.stringify(VALID_ORDERS)}`,
147
- );
148
-
149
- const order = rawOrder.toLowerCase();
150
-
151
- assert(typeof version === 'string' && version, 'missing version');
152
- addr += `/${order}/${encodeSlashes(version)}`;
153
-
154
- if (channelID !== undefined) {
155
- assert(isLegitString(channelID), `invalid channelID ${channelID}`);
156
- addr += `/ibc-channel/${channelID}`;
157
- }
158
- }
159
-
160
- return addr;
161
- };
162
- harden(encodeIbcEndpoint);
163
-
164
- /**
165
- * @overload
166
- * @param {string} remoteAddr
167
- * @param {undefined | false} [returnMatch]
168
- * @returns {boolean}
169
- */
170
- /**
171
- * @overload
172
- * @param {string} remoteAddr
173
- * @param {true} returnMatch
174
- * @returns {RegExpMatchArray}
175
- */
176
- /**
177
- * Validates a remote IBC address format and returns true if the address is
178
- * valid.
179
- *
180
- * @param {string} remoteAddr
181
- * @param {boolean} [returnMatch]
182
- */
183
- export const validateRemoteIbcAddress = (remoteAddr, returnMatch = false) => {
184
- const match = validateIbcAddress(remoteAddr);
185
- // .groups is to inform TS https://github.com/microsoft/TypeScript/issues/32098
186
- if (!(match && match.groups)) {
187
- throw TypeError(
188
- `Remote address ${remoteAddr} must be '(/ibc-hop/CONNECTION)*/ibc-port/PORT/(ordered|unordered)/VERSION'`,
189
- );
190
- }
191
- if (match.groups.channelID) {
192
- throw TypeError(
193
- `Remote address ${remoteAddr} must not include channelID; found ${match.groups.channelID}`,
194
- );
195
- }
196
- return returnMatch ? match : true;
197
- };
198
- harden(validateRemoteIbcAddress);
199
-
200
- /** @param {string} remoteAddr */
201
- export const decodeRemoteIbcAddress = remoteAddr => {
202
- validateRemoteIbcAddress(remoteAddr);
203
- const {
204
- hops,
205
- portID: rPortID,
206
- order,
207
- version,
208
- } = decodeIbcEndpoint(remoteAddr);
209
- assert(order !== undefined, 'missing order');
210
- assert(version !== undefined, 'missing version');
211
- return { rPortID, order, version, hops };
212
- };
213
- harden(decodeRemoteIbcAddress);
214
-
215
- /**
216
- * @param {LocalIbcAddress} localAddr
217
- * @returns {string}
218
- */
219
- export const localAddrToPortID = localAddr => {
220
- const m = localAddr.match(IBC_ADDR_RE);
221
- // .groups is to inform TS https://github.com/microsoft/TypeScript/issues/32098
222
- if (!(m && m.groups)) {
223
- throw TypeError(
224
- `Invalid port specification ${localAddr}; expected "/ibc-port/PORT"`,
225
- );
226
- }
227
- for (const group of Object.keys(m.groups)) {
228
- if (group === 'portID') {
229
- continue;
230
- }
231
- if (m.groups[group] !== undefined) {
232
- throw TypeError(
233
- `Invalid port specification ${localAddr}; unexpected ${group}=${m.groups[group]}`,
234
- );
235
- }
236
- }
237
- return m.groups.portID;
238
- };
239
- harden(localAddrToPortID);
240
-
241
- /**
242
- * @param {string[]} hops
243
- * @param {string} portID
244
- * @param {'ordered' | 'unordered' | 'ORDERED' | 'UNORDERED'} order
245
- * @param {string} version
246
- * @param {string} [channelID]
247
- * @returns {RemoteIbcAddress}
248
- */
249
- export const encodeRemoteIbcAddress = (
250
- hops,
251
- portID,
252
- order,
253
- version,
254
- channelID,
255
- ) => {
256
- const ep = encodeIbcEndpoint({
257
- hops,
258
- portID,
259
- order,
260
- version,
261
- ...(channelID && { channelID }),
262
- });
263
- return /** @type {RemoteIbcAddress} */ (ep);
264
- };
265
- harden(encodeRemoteIbcAddress);
266
-
267
- /**
268
- * @param {string} portID
269
- * @param {'ordered' | 'unordered' | 'ORDERED' | 'UNORDERED'} order
270
- * @param {string} version
271
- */
272
- export const encodeLocalIbcAddress = (portID, order, version) => {
273
- return encodeIbcEndpoint({ portID, order, version });
274
- };
275
- harden(encodeLocalIbcAddress);