@agoric/network 0.2.1-upgrade-23-dev-7007b60.0.7007b60 → 0.3.0-u23.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/CHANGELOG.md CHANGED
@@ -3,6 +3,38 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 0.3.0-u23.0 (2026-04-27)
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * rm store exported.js
11
+ * **network:** improve naming and data coercion
12
+ * make Network and IBC vats durable (#8721)
13
+
14
+ ### Features
15
+
16
+ * make Network and IBC vats durable ([#8721](https://github.com/Agoric/agoric-sdk/issues/8721)) ([3d13c09](https://github.com/Agoric/agoric-sdk/commit/3d13c09363013e23726c2ac5fa299a8e5344fd8c))
17
+ * **network:** add `allocateICQControllerPort` to PortAllocator ([b819aa9](https://github.com/Agoric/agoric-sdk/commit/b819aa912890a93be1775beb7cd540fe5d91b8aa)), closes [#9072](https://github.com/Agoric/agoric-sdk/issues/9072)
18
+ * **network:** export `SendOptionsShape` ([abafe8e](https://github.com/Agoric/agoric-sdk/commit/abafe8ecb449d8fb2c84bd4c5ad18933a64a471e))
19
+ * **types:** explicit exports from network ([65c2075](https://github.com/Agoric/agoric-sdk/commit/65c2075021dfb0ecf62a6009f7c411c7c49eb624))
20
+
21
+ ### Bug Fixes
22
+
23
+ * **lint:** addressing lint errors ([bfe10d9](https://github.com/Agoric/agoric-sdk/commit/bfe10d9cc3878c322ca624a3a603e80f94dc6970))
24
+ * **network:** Connection should have negotiated remoteAddress and localAddress ([2184ea3](https://github.com/Agoric/agoric-sdk/commit/2184ea3d655c1334653e27d163a09ceb5f61fd50)), closes [#9064](https://github.com/Agoric/agoric-sdk/issues/9064)
25
+ * **network:** create and use `coerceToData` ([39beecb](https://github.com/Agoric/agoric-sdk/commit/39beecba84ef6dfafca902a28a651dbba77cdb1e))
26
+ * **network:** half connection `.send()` includes opts bag ([428a439](https://github.com/Agoric/agoric-sdk/commit/428a4399630830b07244af8b7f73a84ec6480fba))
27
+ * **network:** improve naming and data coercion ([8bcd9e2](https://github.com/Agoric/agoric-sdk/commit/8bcd9e2100f4973fd788a6edf42c144d916c173d))
28
+ * **network:** introduce `Finalizer` to close network ([54b9b00](https://github.com/Agoric/agoric-sdk/commit/54b9b009fff3fd3ab54f731adee97195acaa238f))
29
+ * **network:** use new `ERef` and `FarRef` ([3027adf](https://github.com/Agoric/agoric-sdk/commit/3027adf8613154dec167c5fccf5f207f6d2af701))
30
+ * **network:** use vow types, correct revealed problems ([d1c1240](https://github.com/Agoric/agoric-sdk/commit/d1c1240bcf534a316533d4c203f45f01fdfc825d))
31
+ * use isPrimitive rather than deprecated isObject ([76ef9a3](https://github.com/Agoric/agoric-sdk/commit/76ef9a357ea25ccd4228320e4323d2afbaa589f0))
32
+ * **vats:** `vtransfer` code cleanup ([8ac8197](https://github.com/Agoric/agoric-sdk/commit/8ac819709ef9ced0badee25e6715a5847b1e3f4c))
33
+
34
+ ### Miscellaneous Chores
35
+
36
+ * rm store exported.js ([5e474fe](https://github.com/Agoric/agoric-sdk/commit/5e474feea8211886cf81464aa1f39cbb7d7cd250))
37
+
6
38
  ## [0.2.0](https://github.com/Agoric/agoric-sdk/compare/@agoric/network@0.2.0-u22.2...@agoric/network@0.2.0) (2026-04-02)
7
39
 
8
40
  **Note:** Version bump only for package @agoric/network
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/network",
3
- "version": "0.2.1-upgrade-23-dev-7007b60.0.7007b60",
3
+ "version": "0.3.0-u23.0",
4
4
  "description": "Agoric's network protocol API",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
@@ -21,9 +21,9 @@
21
21
  "author": "Agoric",
22
22
  "license": "Apache-2.0",
23
23
  "dependencies": {
24
- "@agoric/internal": "0.4.1-upgrade-23-dev-7007b60.0.7007b60",
25
- "@agoric/store": "0.10.1-upgrade-23-dev-7007b60.0.7007b60",
26
- "@agoric/vat-data": "0.6.1-upgrade-23-dev-7007b60.0.7007b60",
24
+ "@agoric/internal": "0.5.0-u23.0",
25
+ "@agoric/store": "0.11.0-u23.0",
26
+ "@agoric/vat-data": "0.7.0-u23.0",
27
27
  "@endo/base64": "^1.0.12",
28
28
  "@endo/errors": "^1.2.13",
29
29
  "@endo/far": "^1.1.14",
@@ -32,11 +32,11 @@
32
32
  "@endo/promise-kit": "^1.1.13"
33
33
  },
34
34
  "devDependencies": {
35
- "@agoric/cosmic-proto": "0.5.1-upgrade-23-dev-7007b60.0.7007b60",
36
- "@agoric/swingset-liveslots": "0.11.1-upgrade-23-dev-7007b60.0.7007b60",
37
- "@agoric/swingset-vat": "0.33.1-upgrade-23-dev-7007b60.0.7007b60",
38
- "@agoric/vow": "0.2.1-upgrade-23-dev-7007b60.0.7007b60",
39
- "@agoric/zone": "0.3.1-upgrade-23-dev-7007b60.0.7007b60",
35
+ "@agoric/cosmic-proto": "0.6.0-u23.0",
36
+ "@agoric/swingset-liveslots": "0.12.0-u23.0",
37
+ "@agoric/swingset-vat": "0.34.0-u23.0",
38
+ "@agoric/vow": "0.3.0-u23.0",
39
+ "@agoric/zone": "0.4.0-u23.0",
40
40
  "@endo/bundle-source": "^4.1.2",
41
41
  "ava": "^6.4.1",
42
42
  "c8": "^10.1.3"
@@ -70,5 +70,5 @@
70
70
  "typeCoverage": {
71
71
  "atLeast": 91.16
72
72
  },
73
- "gitHead": "7007b604e77880d419321a757c4b719fde7d9ff1"
73
+ "gitHead": "1147be15b0704de17204d04e2407fa3192b98a1c"
74
74
  }
package/src/bytes.d.ts DELETED
@@ -1,45 +0,0 @@
1
- /**
2
- * @import {Bytes} from './types.js';
3
- */
4
- /** @typedef {Bytes | Buffer | Uint8Array | Iterable<number>} ByteSource */
5
- /**
6
- * This function is a coercer instead of an asserter because in a future where
7
- * binary data has better support across vats and potentially its own type, we
8
- * might allow more `specimen`s than just `ByteSource`.
9
- *
10
- * @param {unknown} specimen
11
- * @returns {ByteSource}
12
- */
13
- export function coerceToByteSource(specimen: unknown): ByteSource;
14
- /**
15
- * Convert a Uint8Array or other sequence of octets to a string representation
16
- * that `@endo/marshal` accepts as Passable.
17
- *
18
- * @param {ByteSource} byteSource
19
- * @returns {Bytes}
20
- */
21
- export function toBytes(byteSource: ByteSource): Bytes;
22
- /**
23
- * Convert bytes to a String.
24
- *
25
- * @param {Bytes} bytes
26
- * @returns {string}
27
- */
28
- export function bytesToString(bytes: Bytes): string;
29
- /**
30
- * Base64, as specified in https://tools.ietf.org/html/rfc4648#section-4
31
- *
32
- * @param {ByteSource} byteSource
33
- * @returns {string} base64 encoding
34
- */
35
- export function byteSourceToBase64(byteSource: ByteSource): string;
36
- /**
37
- * Decodes a base64 string into bytes.
38
- *
39
- * @param {string} string Base64-encoded string
40
- * @returns {Bytes} decoded bytes
41
- */
42
- export function base64ToBytes(string: string): Bytes;
43
- export type ByteSource = Bytes | Buffer | Uint8Array | Iterable<number>;
44
- import type { Bytes } from './types.js';
45
- //# sourceMappingURL=bytes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["bytes.js"],"names":[],"mappings":"AAKA;;GAEG;AAEH,2EAA2E;AAE3E;;;;;;;GAOG;AACH,6CAHW,OAAO,GACL,UAAU,CAgBtB;AAuBD;;;;;;GAMG;AACH,oCAHW,UAAU,GACR,KAAK,CAOjB;AAED;;;;;GAKG;AACH,qCAHW,KAAK,GACH,MAAM,CAIlB;AAED;;;;;GAKG;AACH,+CAHW,UAAU,GACR,MAAM,CAKlB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,GACJ,KAAK,CAIjB;yBA1Fa,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;2BAHpC,YAAY"}
@@ -1,2 +0,0 @@
1
- export * from "./types.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":""}
@@ -1,36 +0,0 @@
1
- import type { State as IBCChannelState, Order } from '@agoric/cosmic-proto/ibc/core/channel/v1/channel.js';
2
- import type { State as IBCConnectionState } from '@agoric/cosmic-proto/ibc/core/connection/v1/connection.js';
3
- export type RemoteIbcAddress = `/${string}ibc-port/${string}/${'ordered' | 'unordered'}/${string}`;
4
- export type LocalIbcAddress = `/ibc-port/${string}`;
5
- export type IBCConnectionID = `connection-${number}`;
6
- export type IBCChannelOrdering = 'ORDERED' | 'UNORDERED';
7
- export type IBCPortID = string;
8
- export type IBCChannelID = `channel-${number}`;
9
- export interface IBCEndpoint {
10
- hops: IBCConnectionID[];
11
- portID: IBCPortID;
12
- order?: IBCChannelOrdering;
13
- version?: string;
14
- channelID?: IBCChannelID;
15
- }
16
- export interface IBCTransferChannelInfo {
17
- portId: string;
18
- channelId: IBCChannelID;
19
- counterPartyPortId: string;
20
- counterPartyChannelId: IBCChannelID;
21
- ordering: Order;
22
- state: IBCChannelState;
23
- version: string;
24
- }
25
- /** Represents an IBC Connection between two chains, which can contain multiple Channels. */
26
- export interface IBCConnectionInfo {
27
- id: IBCConnectionID;
28
- client_id: string;
29
- state: IBCConnectionState;
30
- counterparty: {
31
- client_id: string;
32
- connection_id: IBCConnectionID;
33
- };
34
- transferChannel: IBCTransferChannelInfo;
35
- }
36
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,IAAI,eAAe,EACxB,KAAK,EACN,MAAM,qDAAqD,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,IAAI,kBAAkB,EAAE,MAAM,2DAA2D,CAAC;AAE7G,MAAM,MAAM,gBAAgB,GAC1B,IAAI,MAAM,YAAY,MAAM,IAAI,SAAS,GAAG,WAAW,IAAI,MAAM,EAAE,CAAC;AACtE,MAAM,MAAM,eAAe,GAAG,aAAa,MAAM,EAAE,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,cAAc,MAAM,EAAE,CAAC;AACrD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,WAAW,CAAC;AACzD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,YAAY,GAAG,WAAW,MAAM,EAAE,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,YAAY,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,YAAY,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC;IAChB,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4FAA4F;AAC5F,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,eAAe,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,YAAY,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,eAAe,CAAC;KAChC,CAAC;IACF,eAAe,EAAE,sBAAsB,CAAC;CACzC"}
@@ -1,67 +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
- * @import {Endpoint} from '../types.js';
14
- * @import {
15
- * IBCChannelID,
16
- * IBCChannelOrdering,
17
- * IBCConnectionID,
18
- * IBCEndpoint,
19
- * IBCPortID,
20
- * LocalIbcAddress,
21
- * RemoteIbcAddress,
22
- * } from './types.js';
23
- */
24
- export const IBC_ADDR_RE: RegExp;
25
- export const VALID_ORDERS: readonly ["ordered", "unordered", "ORDERED", "UNORDERED"];
26
- export function encodeSlashes(raw: string): string;
27
- export function decodeSlashes(encoded: string): string;
28
- export function validateIbcAddress(addr: any): any;
29
- export function decodeIbcHops(h: string): IBCConnectionID[];
30
- export function decodeIbcEndpoint(addr: string): IBCEndpoint;
31
- export function encodeIbcEndpoint({ hops, portID, order: rawOrder, version, channelID, }: {
32
- hops?: string[] | undefined;
33
- portID: string;
34
- order: "ordered" | "unordered" | "ORDERED" | "UNORDERED";
35
- version: string;
36
- channelID?: string | undefined;
37
- }): Endpoint;
38
- /**
39
- * @overload
40
- * @param {string} remoteAddr
41
- * @param {undefined | false} [returnMatch]
42
- * @returns {boolean}
43
- */
44
- export function validateRemoteIbcAddress(remoteAddr: string, returnMatch?: undefined | false): boolean;
45
- /**
46
- * @overload
47
- * @param {string} remoteAddr
48
- * @param {true} returnMatch
49
- * @returns {RegExpMatchArray}
50
- */
51
- export function validateRemoteIbcAddress(remoteAddr: string, returnMatch: true): RegExpMatchArray;
52
- export function decodeRemoteIbcAddress(remoteAddr: string): {
53
- rPortID: string;
54
- order: IBCChannelOrdering;
55
- version: string;
56
- hops: `connection-${number}`[];
57
- };
58
- export function localAddrToPortID(localAddr: LocalIbcAddress): string;
59
- export function encodeRemoteIbcAddress(hops: string[], portID: string, order: "ordered" | "unordered" | "ORDERED" | "UNORDERED", version: string, channelID?: string): RemoteIbcAddress;
60
- export function encodeLocalIbcAddress(portID: string, order: "ordered" | "unordered" | "ORDERED" | "UNORDERED", version: string): string;
61
- import type { IBCConnectionID } from './types.js';
62
- import type { IBCEndpoint } from './types.js';
63
- import type { Endpoint } from '../types.js';
64
- import type { IBCChannelOrdering } from './types.js';
65
- import type { LocalIbcAddress } from './types.js';
66
- import type { RemoteIbcAddress } from './types.js';
67
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["utils.js"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;GAWG;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;qCAtPS,YAAY;iCAAZ,YAAY;8BATK,aAAa;wCAS9B,YAAY;qCAAZ,YAAY;sCAAZ,YAAY"}
package/src/index.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export * from "./network.js";
2
- export * from "./shapes.js";
3
- export * from "./multiaddr.js";
4
- export * from "./bytes.js";
5
- export * from "./types.js";
6
- export { prepareRouter, prepareRouterProtocol } from "./router.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":""}
@@ -1,68 +0,0 @@
1
- /**
2
- * Here is the difference between Textaddr and Multiaddr:
3
- *
4
- * - unspecified port on local ibc interface:
5
- * - /if/ibc0
6
- * - [['if', 'ibc0']]
7
- * - specific local port:
8
- * - /if/ibc0/ordered/transfer
9
- * - [['if', 'ibc0'], ['ordered', 'transfer']]
10
- * - remote pointer to chain:
11
- * - /dnsaddr/ibc.testnet.agoric.com/ordered/transfer
12
- * - [['dnsaddr', 'ibc.testnet.agoric.com'], ['ordered', 'transfer']]
13
- * - resolve step to another pointer:
14
- * - /dnsaddr/rpc.testnet.agoric.com/ibc/testnet-1.19.0/gci/4bc8d.../ordered/transfer
15
- * - [['dnsaddr', 'rpc.testnet.agoric.com'], ['ibc', 'testnet-1.19.0'], ['gci',
16
- * '4bc8d...'], ['ordered', 'transfer']]
17
- * - resolve to the individual interfaces:
18
- * - /ip4/172.17.0.4/tcp/26657/tendermint/0.33/ibc/testnet-1.19.0/gci/4bc8d.../ordered/transfer
19
- * - [['ip4', '172.17.0.4'], ['tcp', '26657'], ['tendermint', '0.33'], ['ibc',
20
- * 'testnet-1.19.0'], ['gci', '4bc8d...'], ['ordered', 'transfer']]
21
- *
22
- * @typedef {[string, string][]} Multiaddr
23
- *
24
- * @typedef {string} Textaddr An address string formatted as in
25
- * https://github.com/multiformats/multiaddr
26
- */
27
- /**
28
- * Transform a text address to a parsed multiaddr
29
- *
30
- * @param {Textaddr} ma
31
- * @returns {Multiaddr}
32
- */
33
- export function parse(ma: Textaddr): Multiaddr;
34
- /**
35
- * Transform a parsed multiaddr to a string.
36
- *
37
- * @param {Multiaddr | Textaddr} ma
38
- * @returns {Textaddr}
39
- */
40
- export function unparse(ma: Multiaddr | Textaddr): Textaddr;
41
- /**
42
- * Here is the difference between Textaddr and Multiaddr:
43
- *
44
- * - unspecified port on local ibc interface:
45
- * - /if/ibc0
46
- * - [['if', 'ibc0']]
47
- * - specific local port:
48
- * - /if/ibc0/ordered/transfer
49
- * - [['if', 'ibc0'], ['ordered', 'transfer']]
50
- * - remote pointer to chain:
51
- * - /dnsaddr/ibc.testnet.agoric.com/ordered/transfer
52
- * - [['dnsaddr', 'ibc.testnet.agoric.com'], ['ordered', 'transfer']]
53
- * - resolve step to another pointer:
54
- * - /dnsaddr/rpc.testnet.agoric.com/ibc/testnet-1.19.0/gci/4bc8d.../ordered/transfer
55
- * - [['dnsaddr', 'rpc.testnet.agoric.com'], ['ibc', 'testnet-1.19.0'], ['gci',
56
- * '4bc8d...'], ['ordered', 'transfer']]
57
- * - resolve to the individual interfaces:
58
- * - /ip4/172.17.0.4/tcp/26657/tendermint/0.33/ibc/testnet-1.19.0/gci/4bc8d.../ordered/transfer
59
- * - [['ip4', '172.17.0.4'], ['tcp', '26657'], ['tendermint', '0.33'], ['ibc',
60
- * 'testnet-1.19.0'], ['gci', '4bc8d...'], ['ordered', 'transfer']]
61
- */
62
- export type Multiaddr = [string, string][];
63
- /**
64
- * An address string formatted as in
65
- * https://github.com/multiformats/multiaddr
66
- */
67
- export type Textaddr = string;
68
- //# sourceMappingURL=multiaddr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multiaddr.d.ts","sourceRoot":"","sources":["multiaddr.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;GAKG;AACH,0BAHW,QAAQ,GACN,SAAS,CA0BrB;AAED;;;;;GAKG;AACH,4BAHW,SAAS,GAAG,QAAQ,GAClB,QAAQ,CAQpB;;;;;;;;;;;;;;;;;;;;;;wBAlDY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;;;;;uBAElB,MAAM"}
package/src/network.d.ts DELETED
@@ -1,151 +0,0 @@
1
- /**
2
- * Get the list of prefixes from longest to shortest.
3
- *
4
- * @param {string} addr
5
- */
6
- export function getPrefixes(addr: string): string[];
7
- /** @typedef {ReturnType<typeof prepareEchoConnectionKit>} MakeEchoConnectionKit */
8
- /**
9
- * Create a protocol handler that just connects to itself.
10
- *
11
- * @param {Zone} zone
12
- * @param {VowTools} powers
13
- */
14
- export function prepareLoopbackProtocolHandler(zone: Zone, { watch, allVows }: VowTools): (instancePrefix?: string) => import("@endo/exo").Guarded<{
15
- onCreate(_impl: any, _protocolHandler: any): Promise<void>;
16
- generatePortID(_localAddr: any, _protocolHandler: any): Promise<string>;
17
- onBind(_port: any, _localAddr: any, _protocolHandler: any): Promise<void>;
18
- /**
19
- * @param {*} _port
20
- * @param {Endpoint} localAddr
21
- * @param {Endpoint} remoteAddr
22
- * @returns {PromiseVow<AttemptDescription>}}
23
- */
24
- onConnect(_port: any, localAddr: Endpoint, remoteAddr: Endpoint): PromiseVow<AttemptDescription>;
25
- onInstantiate(_port: any, _localAddr: any, _remote: any, _protocol: any): Promise<string>;
26
- onListen(port: any, localAddr: any, listenHandler: any, _protocolHandler: any): Promise<void>;
27
- /**
28
- * @param {Remote<Port>} port
29
- * @param {Endpoint} localAddr
30
- * @param {Remote<ListenHandler>} listenHandler
31
- * @param {*} _protocolHandler
32
- */
33
- onListenRemove(port: Remote<Port>, localAddr: Endpoint, listenHandler: Remote<ListenHandler>, _protocolHandler: any): Promise<void>;
34
- onRevoke(_port: any, _localAddr: any, _protocolHandler: any): Promise<void>;
35
- }>;
36
- /**
37
- * Compatibility note: this must match what our peers use, so don't change it
38
- * casually.
39
- */
40
- export const ENDPOINT_SEPARATOR: "/";
41
- export const CLOSE_REASON_FINALIZER: "closed-by-finalizer";
42
- export function rethrowUnlessMissing(err: unknown): undefined;
43
- export function crossoverConnection(zone: Zone, handler0: Remote<Required<ConnectionHandler>>, addr0: Endpoint, handler1: Remote<Required<ConnectionHandler>>, addr1: Endpoint, makeConnection: (opts: ConnectionOpts) => Connection, finalizer: Finalizer, current?: WeakSetStore<Closable>): Connection[];
44
- export function prepareNetworkProtocol(zone: Zone, powers: Powers): (protocolHandler: Remote<ProtocolHandler>) => Protocol;
45
- export function prepareEchoConnectionKit(zone: Zone): () => import("@endo/exo").GuardedKit<{
46
- handler: {
47
- /**
48
- * @param {Connection} _connection
49
- * @param {Bytes} bytes
50
- * @param {ConnectionHandler} _connectionHandler
51
- */
52
- onReceive(_connection: Connection, bytes: Bytes, _connectionHandler: ConnectionHandler): Promise<string>;
53
- /**
54
- * @param {Connection} _connection
55
- * @param {CloseReason} [reason]
56
- * @param {ConnectionHandler} [_connectionHandler]
57
- */
58
- onClose(_connection: Connection, reason?: CloseReason, _connectionHandler?: ConnectionHandler): Promise<void>;
59
- };
60
- listener: {
61
- onAccept(_port: any, _localAddr: any, _remoteAddr: any, _listenHandler: any): Promise<import("@endo/exo").Guarded<{
62
- /**
63
- * @param {Connection} _connection
64
- * @param {Bytes} bytes
65
- * @param {ConnectionHandler} _connectionHandler
66
- */
67
- onReceive(_connection: Connection, bytes: Bytes, _connectionHandler: ConnectionHandler): Promise<string>;
68
- /**
69
- * @param {Connection} _connection
70
- * @param {CloseReason} [reason]
71
- * @param {ConnectionHandler} [_connectionHandler]
72
- */
73
- onClose(_connection: Connection, reason?: CloseReason, _connectionHandler?: ConnectionHandler): Promise<void>;
74
- }>>;
75
- onListen(port: any, _listenHandler: any): Promise<void>;
76
- };
77
- }>;
78
- export function preparePortAllocator(zone: Zone, { watch }: Powers): (args_0: {
79
- protocol: Protocol;
80
- }) => import("@endo/exo").Guarded<{
81
- allocateCustomIBCPort(specifiedName?: string): Promise<import("@agoric/vow").Vow<Port>>;
82
- allocateICAControllerPort(): Promise<import("@agoric/vow").Vow<Port>>;
83
- allocateICQControllerPort(): Promise<import("@agoric/vow").Vow<Port>>;
84
- allocateCustomLocalPort(specifiedName?: string): Promise<import("@agoric/vow").Vow<Port>>;
85
- }>;
86
- export function prepareNetworkPowers(zone: Zone, vowTools: VowTools): Powers;
87
- export type MakeEchoConnectionKit = ReturnType<typeof prepareEchoConnectionKit>;
88
- export type Powers = VowTools & {
89
- finalizer: Finalizer;
90
- };
91
- export type ConnectionOpts = {
92
- addrs: Endpoint[];
93
- handlers: Remote<Required<ConnectionHandler>>[];
94
- conns: MapStore<number, Connection>;
95
- current: WeakSetStore<Closable>;
96
- l: 0 | 1;
97
- r: 0 | 1;
98
- };
99
- export type PortAllocator = ReturnType<ReturnType<typeof preparePortAllocator>>;
100
- export type Finalizer = ReturnType<typeof prepareFinalizer>;
101
- import type { Zone } from '@agoric/base-zone';
102
- import type { VowTools } from '@agoric/vow';
103
- import type { Endpoint } from './types.js';
104
- import type { AttemptDescription } from './types.js';
105
- import type { PromiseVow } from '@agoric/vow';
106
- import type { Port } from './types.js';
107
- import type { Remote } from '@agoric/vow';
108
- import type { ListenHandler } from './types.js';
109
- import type { ConnectionHandler } from './types.js';
110
- import type { Connection } from './types.js';
111
- import type { Closable } from './types.js';
112
- import type { WeakSetStore } from '@agoric/store';
113
- import type { ProtocolHandler } from './types.js';
114
- import type { Protocol } from './types.js';
115
- import type { Bytes } from './types.js';
116
- import type { CloseReason } from './types.js';
117
- import type { MapStore } from '@agoric/store';
118
- /** @typedef {ReturnType<ReturnType<typeof preparePortAllocator>>} PortAllocator */
119
- /**
120
- * Return a package-specific singleton that pins objects until they are
121
- * explicitly unpinned or finalized. It needs to pin objects only because they
122
- * are resources that need to be released.
123
- *
124
- * The reason this functionality wasn't just baked into the other network exos
125
- * is to maintain upgrade-compatible with minimal additional changes.
126
- *
127
- * @param {Zone} zone
128
- * @param {VowTools} vowTools
129
- */
130
- declare function prepareFinalizer(zone: Zone, { watch }: VowTools): import("@endo/exo").Guarded<{
131
- has(obj: any): boolean;
132
- /**
133
- * Add a connection and handler for an `onClose` method to be called upon
134
- * finalization.
135
- * @param {Remote<Connection>} conn
136
- * @param {Remote<Required<ConnectionHandler>>} handler
137
- */
138
- initConnection(conn: Remote<Connection>, handler: Remote<Required<ConnectionHandler>>): void;
139
- /**
140
- * Add an object with a `close` method to be called (such as an
141
- * `inboundAttempt`) upon finalization.
142
- * @param {Remote<{ close(): PromiseVow<any> }>} closer
143
- */
144
- initCloser(closer: Remote<{
145
- close(): PromiseVow<any>;
146
- }>): void;
147
- finalize(obj: any): import("@agoric/vow").Vow<any> | undefined;
148
- unpin(obj: any): void;
149
- }>;
150
- export {};
151
- //# sourceMappingURL=network.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["network.js"],"names":[],"mappings":"AA6CA;;;;GAIG;AACH,kCAFW,MAAM,YAahB;AA4tCD,mFAAmF;AAEnF;;;;;GAKG;AACH,qDAHW,IAAI,sBACJ,QAAQ,qBAkJL,MAAM;;;;IA/GZ;;;;;OAKG;qBAJQ,GAAC,aACD,QAAQ,cACR,QAAQ,GACN,WAAW,kBAAkB,CAAC;;;IA+D3C;;;;;OAKG;yBAJQ,OAAO,IAAI,CAAC,aACZ,QAAQ,iBACR,OAAO,aAAa,CAAC,oBACrB,GAAC;;GA+CnB;AAj6CD;;;GAGG;AACH,iCAAkC,GAAG,CAAC;AAGtC,qCAAsC,qBAAqB,CAAC;AAGrD,0CADK,OAAO,aAWlB;AAgKM,0CATI,IAAI,YACJ,OAAO,QAAQ,CAAC,iBAAiB,CAAC,CAAC,SACnC,QAAQ,YACR,OAAO,QAAQ,CAAC,iBAAiB,CAAC,CAAC,SACnC,QAAQ,kBACR,CAAC,IAAI,EAAE,cAAc,KAAK,UAAU,aACpC,SAAS,YACT,aAAa,QAAQ,CAAC,gBAoDhC;AAw6BM,6CAHI,IAAI,UACJ,MAAM,qBAMJ,OAAO,eAAe,CAAC,KACrB,QAAQ,CA2BtB;AAOM,+CAFI,IAAI;;QAsCP;;;;WAIG;+BAHQ,UAAU,SACV,KAAK,sBACL,iBAAiB;QAU5B;;;;WAIG;6BAHQ,UAAU,WACV,WAAW,uBACX,iBAAiB;;;;YAhB5B;;;;eAIG;mCAHQ,UAAU,SACV,KAAK,sBACL,iBAAiB;YAU5B;;;;eAIG;iCAHQ,UAAU,WACV,WAAW,uBACX,iBAAiB;;;;GAwBnC;AAuKM,2CAHI,IAAI,aACJ,MAAM;cAkBF,QAAQ;;;;;;GAkDpB;AAyEI,2CAJI,IAAI,YACJ,QAAQ,GACN,MAAM,CAKlB;oCApTa,UAAU,CAAC,OAAO,wBAAwB,CAAC;qBAvwC3C,QAAQ,GAAG;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE;;WA6DnC,QAAQ,EAAE;cACV,OAAO,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAAE;WACrC,SAAS,MAAM,EAAE,UAAU,CAAC;aAC5B,aAAa,QAAQ,CAAC;OACtB,CAAC,GAAC,CAAC;OACH,CAAC,GAAC,CAAC;;4BA86CH,UAAU,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;wBA6EnD,UAAU,CAAC,OAAO,gBAAgB,CAAC;0BAnkD1B,mBAAmB;8BADK,aAAa;8BAD2H,YAAY;wCAAZ,YAAY;gCACpJ,aAAa;0BAD2H,YAAY;4BACpJ,aAAa;mCAD2H,YAAY;uCAAZ,YAAY;gCAAZ,YAAY;8BAAZ,YAAY;kCAIpK,eAAe;qCAJyI,YAAY;8BAAZ,YAAY;2BAAZ,YAAY;iCAAZ,YAAY;8BAGxK,eAAe;AAq/C1C,mFAAmF;AAEnF;;;;;;;;;;GAUG;AACH,wCAHW,IAAI,aACJ,QAAQ;;IAcf;;;;;OAKG;yBAFQ,OAAO,UAAU,CAAC,WAClB,OAAO,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAK9C;;;;OAIG;uBADQ,OAAO;QAAE,KAAK,IAAI,WAAW,GAAG,CAAC,CAAA;KAAE,CAAC;;;GA2BlD"}
package/src/router.d.ts DELETED
@@ -1,84 +0,0 @@
1
- /**
2
- * @import {Endpoint, Port, Protocol, ProtocolHandler} from './types.js';
3
- * @import {PromiseVow, Remote, VowTools} from '@agoric/vow';
4
- * @import {Zone} from '@agoric/base-zone';
5
- * @import {Powers} from './network.js';
6
- * @import {MapStore} from '@agoric/store';
7
- */
8
- /**
9
- * @template T
10
- * @typedef {object} Router A delimited string router implementation
11
- * @property {(addr: string) => [string, T][]} getRoutes Return the match and
12
- * route in order of preference
13
- * @property {(prefix: string, route: T) => void} register Add a prefix->route
14
- * to the database
15
- * @property {(prefix: string, route: T) => void} unregister Remove a
16
- * prefix->route from the database
17
- */
18
- export const RouterI: import("@endo/patterns").InterfaceGuard<{
19
- getRoutes: import("@endo/patterns").MethodGuard;
20
- register: import("@endo/patterns").MethodGuard;
21
- unregister: import("@endo/patterns").MethodGuard;
22
- }>;
23
- export function prepareRouter<T>(zone: Zone): () => import("@endo/exo").Guarded<{
24
- /** @param {Endpoint} addr */
25
- getRoutes(addr: Endpoint): [string, T][];
26
- /**
27
- * @param {string} prefix
28
- * @param {T} route
29
- */
30
- register(prefix: string, route: T): void;
31
- /**
32
- * @param {string} prefix
33
- * @param {T} route
34
- */
35
- unregister(prefix: string, route: T): void;
36
- }>;
37
- export function prepareRouterProtocol(zone: Zone, powers: Powers, E?: typeof defaultE): () => import("@endo/exo").Guarded<{
38
- /**
39
- * @param {string[]} paths
40
- * @param {Remote<ProtocolHandler>} protocolHandler
41
- */
42
- registerProtocolHandler(paths: string[], protocolHandler: Remote<ProtocolHandler>): void;
43
- /**
44
- * @param {string} prefix
45
- * @param {Remote<ProtocolHandler>} protocolHandler
46
- */
47
- unregisterProtocolHandler(prefix: string, protocolHandler: Remote<ProtocolHandler>): void;
48
- /** @param {Endpoint} localAddr */
49
- bindPort(localAddr: Endpoint): Promise<Port | import("@agoric/vow").Vow<Port>>;
50
- }>;
51
- /**
52
- * A delimited string router implementation
53
- */
54
- export type Router<T> = {
55
- /**
56
- * Return the match and
57
- * route in order of preference
58
- */
59
- getRoutes: (addr: string) => [string, T][];
60
- /**
61
- * Add a prefix->route
62
- * to the database
63
- */
64
- register: (prefix: string, route: T) => void;
65
- /**
66
- * Remove a
67
- * prefix->route from the database
68
- */
69
- unregister: (prefix: string, route: T) => void;
70
- };
71
- export type RouterProtocol = {
72
- bindPort: (prefix: string) => PromiseVow<Port>;
73
- registerProtocolHandler: (paths: string[], protocolHandler: ProtocolHandler) => void;
74
- unregisterProtocolHandler: (prefix: string, protocolHandler: ProtocolHandler) => void;
75
- };
76
- import type { Zone } from '@agoric/base-zone';
77
- import type { Endpoint } from './types.js';
78
- import type { Powers } from './network.js';
79
- import { E as defaultE } from '@endo/far';
80
- import type { ProtocolHandler } from './types.js';
81
- import type { Remote } from '@agoric/vow';
82
- import type { Port } from './types.js';
83
- import type { PromiseVow } from '@agoric/vow';
84
- //# sourceMappingURL=router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["router.js"],"names":[],"mappings":"AAUA;;;;;;GAMG;AAEH;;;;;;;;;GASG;AAEH;;;;GAIG;AAMI,8BAHM,CAAC,QACH,IAAI;IAiBT,6BAA6B;oBAAjB,QAAQ;IAyBpB;;;OAGG;qBAFQ,MAAM,SACN,CAAC;IAKZ;;;OAGG;uBAFQ,MAAM,SACN,CAAC;GAWjB;AAgBM,4CAJI,IAAI,UACJ,MAAM,MACN,OAAO,QAAQ;IAmCpB;;;OAGG;mCAFQ,MAAM,EAAE,mBACR,OAAO,eAAe,CAAC;IAYlC;;;OAGG;sCAFQ,MAAM,mBACN,OAAO,eAAe,CAAC;IAclC,kCAAkC;wBAAtB,QAAQ;GAUzB;;;;mBAzKY,CAAC;;;;;eAEA,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;;;;;cAE/B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI;;;;;gBAElC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI;;;cA8ElC,CAAC,MAAM,EAAE,MAAM,KAAK,WAAW,IAAI,CAAC;6BACpC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,eAAe,KAAK,IAAI;+BAC3D,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,KAAK,IAAI;;0BA5FjD,mBAAmB;8BAFkB,YAAY;4BAG/C,cAAc;8BATT,WAAW;qCAMmB,YAAY;4BACzB,aAAa;0BADA,YAAY;gCACzB,aAAa"}
package/src/shapes.d.ts DELETED
@@ -1,118 +0,0 @@
1
- export const SendOptionsShape: import("@endo/patterns").Matcher;
2
- export namespace Shape {
3
- export namespace ConnectionI {
4
- let connection: import("@endo/patterns").InterfaceGuard<{
5
- send: import("@endo/patterns").MethodGuard;
6
- close: import("@endo/patterns").MethodGuard;
7
- getLocalAddress: import("@endo/patterns").MethodGuard;
8
- getRemoteAddress: import("@endo/patterns").MethodGuard;
9
- }>;
10
- let openConnectionAckWatcher: import("@endo/patterns").InterfaceGuard<{
11
- onFulfilled: import("@endo/patterns").MethodGuard;
12
- }>;
13
- let rethrowUnlessMissingWatcher: import("@endo/patterns").InterfaceGuard<{
14
- onRejected: import("@endo/patterns").MethodGuard;
15
- }>;
16
- let sinkWatcher: import("@endo/patterns").InterfaceGuard<{
17
- onFulfilled: import("@endo/patterns").MethodGuard;
18
- }>;
19
- }
20
- export namespace InboundAttemptI {
21
- export let inboundAttempt: import("@endo/patterns").InterfaceGuard<{
22
- accept: import("@endo/patterns").MethodGuard;
23
- getLocalAddress: import("@endo/patterns").MethodGuard;
24
- getRemoteAddress: import("@endo/patterns").MethodGuard;
25
- close: import("@endo/patterns").MethodGuard;
26
- }>;
27
- export let inboundAttemptAcceptWatcher: import("@endo/patterns").InterfaceGuard<{
28
- onFulfilled: import("@endo/patterns").MethodGuard;
29
- }>;
30
- let rethrowUnlessMissingWatcher_1: import("@endo/patterns").InterfaceGuard<{
31
- onRejected: import("@endo/patterns").MethodGuard;
32
- }>;
33
- export { rethrowUnlessMissingWatcher_1 as rethrowUnlessMissingWatcher };
34
- let sinkWatcher_1: import("@endo/patterns").InterfaceGuard<{
35
- onFulfilled: import("@endo/patterns").MethodGuard;
36
- }>;
37
- export { sinkWatcher_1 as sinkWatcher };
38
- }
39
- export namespace PortI {
40
- export let port: import("@endo/patterns").InterfaceGuard<{
41
- getLocalAddress: import("@endo/patterns").MethodGuard;
42
- addListener: import("@endo/patterns").MethodGuard;
43
- connect: import("@endo/patterns").MethodGuard;
44
- removeListener: import("@endo/patterns").MethodGuard;
45
- revoke: import("@endo/patterns").MethodGuard;
46
- }>;
47
- export let portAddListenerWatcher: import("@endo/patterns").InterfaceGuard<{
48
- onFulfilled: import("@endo/patterns").MethodGuard;
49
- }>;
50
- export let portRemoveListenerWatcher: import("@endo/patterns").InterfaceGuard<{
51
- onFulfilled: import("@endo/patterns").MethodGuard;
52
- }>;
53
- export let portConnectWatcher: import("@endo/patterns").InterfaceGuard<{
54
- onFulfilled: import("@endo/patterns").MethodGuard;
55
- }>;
56
- export let portRevokeWatcher: import("@endo/patterns").InterfaceGuard<{
57
- onFulfilled: import("@endo/patterns").MethodGuard;
58
- }>;
59
- export let portRevokeCleanupWatcher: import("@endo/patterns").InterfaceGuard<{
60
- onFulfilled: import("@endo/patterns").MethodGuard;
61
- }>;
62
- let rethrowUnlessMissingWatcher_2: import("@endo/patterns").InterfaceGuard<{
63
- onRejected: import("@endo/patterns").MethodGuard;
64
- }>;
65
- export { rethrowUnlessMissingWatcher_2 as rethrowUnlessMissingWatcher };
66
- let sinkWatcher_2: import("@endo/patterns").InterfaceGuard<{
67
- onFulfilled: import("@endo/patterns").MethodGuard;
68
- onRejected: import("@endo/patterns").MethodGuard;
69
- }>;
70
- export { sinkWatcher_2 as sinkWatcher };
71
- }
72
- export namespace ProtocolHandlerI {
73
- export let protocolHandler: import("@endo/patterns").InterfaceGuard<{
74
- onCreate: import("@endo/patterns").MethodGuard;
75
- generatePortID: import("@endo/patterns").MethodGuard;
76
- onBind: import("@endo/patterns").MethodGuard;
77
- onListen: import("@endo/patterns").MethodGuard;
78
- onListenRemove: import("@endo/patterns").MethodGuard;
79
- onInstantiate: import("@endo/patterns").MethodGuard;
80
- onConnect: import("@endo/patterns").MethodGuard;
81
- onRevoke: import("@endo/patterns").MethodGuard;
82
- }>;
83
- export let protocolHandlerAcceptWatcher: import("@endo/patterns").InterfaceGuard<{
84
- onFulfilled: import("@endo/patterns").MethodGuard;
85
- }>;
86
- export let protocolHandlerInstantiateWatcher: import("@endo/patterns").InterfaceGuard<{
87
- onFulfilled: import("@endo/patterns").MethodGuard;
88
- }>;
89
- export let protocolHandlerConnectWatcher: import("@endo/patterns").InterfaceGuard<{
90
- onFulfilled: import("@endo/patterns").MethodGuard;
91
- }>;
92
- let rethrowUnlessMissingWatcher_3: import("@endo/patterns").InterfaceGuard<{
93
- onRejected: import("@endo/patterns").MethodGuard;
94
- }>;
95
- export { rethrowUnlessMissingWatcher_3 as rethrowUnlessMissingWatcher };
96
- }
97
- export let ProtocolImplI: import("@endo/patterns").InterfaceGuard<{
98
- bindPort: import("@endo/patterns").MethodGuard;
99
- inbound: import("@endo/patterns").MethodGuard;
100
- outbound: import("@endo/patterns").MethodGuard;
101
- }>;
102
- export function Vow$(shape: any): import("@endo/patterns").Matcher;
103
- export let AttemptDescription: import("@endo/patterns").Matcher;
104
- export { SendOptionsShape as Opts };
105
- export let Data: import("@endo/patterns").Matcher;
106
- export let Bytes: import("@endo/patterns").Matcher;
107
- export let Endpoint: import("@endo/patterns").Matcher;
108
- export let Vow: import("@endo/patterns").Matcher;
109
- export let ConnectionHandler: import("@endo/patterns").Matcher;
110
- export let Connection: import("@endo/patterns").Matcher;
111
- export let InboundAttempt: import("@endo/patterns").Matcher;
112
- export let Listener: import("@endo/patterns").Matcher;
113
- export let ListenHandler: import("@endo/patterns").Matcher;
114
- export let Port: import("@endo/patterns").Matcher;
115
- export let ProtocolHandler: import("@endo/patterns").Matcher;
116
- export let ProtocolImpl: import("@endo/patterns").Matcher;
117
- }
118
- //# sourceMappingURL=shapes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["shapes.js"],"names":[],"mappings":"AA2BA,gEAGE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIM,mEAAgC"}
package/src/types.d.ts DELETED
@@ -1,227 +0,0 @@
1
- /**
2
- * Rearrange the exo types to make a cast of the methods (M) and init function (I) to a specific type.
3
- */
4
- export type ExoClassMethods<M extends Methods, I extends (...args: any[]) => any> = M & ThisType<{
5
- self: Guarded<M>;
6
- state: ReturnType<I>;
7
- }>;
8
- /**
9
- * Each character code carries 8-bit octets. Eventually we want to use passable Uint8Arrays.
10
- */
11
- export type Bytes = string;
12
- /**
13
- * A local or remote address See multiaddr.js for an
14
- * opinionated router implementation
15
- */
16
- export type Endpoint = string;
17
- /**
18
- * A closable object
19
- */
20
- export type ClosableI = {
21
- /**
22
- * Terminate the object
23
- */
24
- close: () => PromiseVow<void>;
25
- };
26
- export type Closable = RemotableObject & ClosableI;
27
- /**
28
- * The network Protocol
29
- */
30
- export type Protocol = {
31
- /**
32
- * Claim a port, or if
33
- * ending in ENDPOINT_SEPARATOR, a fresh name
34
- */
35
- bindPort: (prefix: Endpoint) => PromiseVow<Port>;
36
- };
37
- /**
38
- * A port that has been bound to a protocol
39
- */
40
- export type Port = {
41
- /**
42
- * Get the locally bound name of this
43
- * port
44
- */
45
- getLocalAddress: () => Endpoint;
46
- /**
47
- * Begin accepting incoming connections
48
- */
49
- addListener: (acceptHandler: Remote<ListenHandler>) => PromiseVow<void>;
50
- /**
51
- * Make an outbound connection
52
- */
53
- connect: (remote: Endpoint, connectionHandler?: Remote<ConnectionHandler>) => PromiseVow<Connection>;
54
- /**
55
- * Remove the currently-bound listener
56
- */
57
- removeListener: (acceptHandler: Remote<ListenHandler>) => PromiseVow<void>;
58
- /**
59
- * Deallocate the port entirely, removing all
60
- * listeners and closing all active connections
61
- */
62
- revoke: () => PromiseVow<void>;
63
- };
64
- /**
65
- * A handler for incoming connections
66
- */
67
- export type ListenHandler = {
68
- /**
69
- * The listener has been registered
70
- */
71
- onListen?: ((port: Remote<Port>, l: Remote<ListenHandler>) => PromiseVow<void>) | undefined;
72
- /**
73
- * A new connection is incoming
74
- */
75
- onAccept: (port: Remote<Port>, localAddr: Endpoint, remoteAddr: Endpoint, l: Remote<ListenHandler>) => PromiseVow<Remote<ConnectionHandler>>;
76
- /**
77
- * The connection was rejected
78
- */
79
- onReject?: ((port: Remote<Port>, localAddr: Endpoint, remoteAddr: Endpoint, l: Remote<ListenHandler>) => PromiseVow<void>) | undefined;
80
- /**
81
- * There was an error while listening
82
- */
83
- onError?: ((port: Remote<Port>, rej: any, l: Remote<ListenHandler>) => PromiseVow<void>) | undefined;
84
- /**
85
- * The
86
- * listener has been removed
87
- */
88
- onRemove?: ((port: Remote<Port>, l: Remote<ListenHandler>) => PromiseVow<void>) | undefined;
89
- };
90
- export type WellKnownSendOptions = {
91
- /**
92
- * timeout the packet if an ack is not received by this time
93
- */
94
- relativeTimeoutNs?: bigint | undefined;
95
- };
96
- export type SendOptions = WellKnownSendOptions & Record<string, any>;
97
- export type ConnectionI = {
98
- /**
99
- * Send a packet on the connection
100
- */
101
- send: (packetBytes: Bytes, opts?: SendOptions) => PromiseVow<Bytes>;
102
- /**
103
- * Close both ends of the connection
104
- */
105
- close: () => PromiseVow<void>;
106
- /**
107
- * Get the locally bound name of this
108
- * connection
109
- */
110
- getLocalAddress: () => Endpoint;
111
- /**
112
- * Get the name of the counterparty
113
- */
114
- getRemoteAddress: () => Endpoint;
115
- };
116
- export type Connection = RemotableObject & ConnectionI;
117
- /**
118
- * A handler for a given Connection
119
- */
120
- export type ConnectionHandler = {
121
- /**
122
- * The connection has been opened
123
- */
124
- onOpen?: ((connection: Remote<Connection>, localAddr: Endpoint, remoteAddr: Endpoint, c: Remote<ConnectionHandler>) => PromiseVow<void>) | undefined;
125
- /**
126
- * The connection received a packet
127
- */
128
- onReceive?: ((connection: Remote<Connection>, ack: Bytes, c: Remote<ConnectionHandler>, opts?: Record<string, any>) => PromiseVow<Bytes>) | undefined;
129
- /**
130
- * The connection has been closed
131
- */
132
- onClose?: ((connection: Remote<Connection>, reason?: CloseReason, c?: Remote<ConnectionHandler>) => PromiseVow<void>) | undefined;
133
- };
134
- /**
135
- * The reason a connection was closed
136
- */
137
- export type CloseReason = any | null;
138
- export type AttemptDescription = {
139
- handler: Remote<ConnectionHandler>;
140
- remoteAddress?: string | undefined;
141
- localAddress?: string | undefined;
142
- };
143
- /**
144
- * A handler for things the protocol
145
- * implementation will invoke
146
- */
147
- export type ProtocolHandler = {
148
- /**
149
- * This protocol is created
150
- */
151
- onCreate: (protocol: Remote<ProtocolImpl>, p: Remote<ProtocolHandler>) => PromiseVow<void>;
152
- /**
153
- * Create a fresh port identifier for this protocol
154
- */
155
- generatePortID: (localAddr: Endpoint, p: Remote<ProtocolHandler>) => PromiseVow<string>;
156
- /**
157
- * A port will be bound
158
- */
159
- onBind: (port: Remote<Port>, localAddr: Endpoint, p: Remote<ProtocolHandler>) => PromiseVow<void>;
160
- /**
161
- * A port was listening
162
- */
163
- onListen: (port: Remote<Port>, localAddr: Endpoint, listenHandler: Remote<ListenHandler>, p: Remote<ProtocolHandler>) => PromiseVow<void>;
164
- /**
165
- * A port listener has been reset
166
- */
167
- onListenRemove: (port: Remote<Port>, localAddr: Endpoint, listenHandler: Remote<ListenHandler>, p: Remote<ProtocolHandler>) => PromiseVow<void>;
168
- /**
169
- * Return unique suffix for local address
170
- */
171
- onInstantiate?: ((port: Remote<Port>, localAddr: Endpoint, remote: Endpoint, p: Remote<ProtocolHandler>) => PromiseVow<Endpoint>) | undefined;
172
- /**
173
- * A port initiates an outbound connection
174
- */
175
- onConnect: (port: Remote<Port>, localAddr: Endpoint, remote: Endpoint, c: Remote<ConnectionHandler>, p: Remote<ProtocolHandler>) => PromiseVow<AttemptDescription>;
176
- /**
177
- * The port is being completely destroyed
178
- */
179
- onRevoke: (port: Remote<Port>, localAddr: Endpoint, p: Remote<ProtocolHandler>) => PromiseVow<void>;
180
- };
181
- /**
182
- * An inbound connection attempt
183
- */
184
- export type InboundAttempt = {
185
- /**
186
- * Establish the connection
187
- */
188
- accept: (desc: AttemptDescription) => PromiseVow<Connection>;
189
- /**
190
- * Return the local address for this
191
- * attempt
192
- */
193
- getLocalAddress: () => Endpoint;
194
- /**
195
- * Return the remote address for
196
- * this attempt
197
- */
198
- getRemoteAddress: () => Endpoint;
199
- /**
200
- * Abort the attempt
201
- */
202
- close: () => PromiseVow<void>;
203
- };
204
- /**
205
- * Things the protocol can do for us
206
- */
207
- export type ProtocolImpl = {
208
- /**
209
- * Claim a port, or if
210
- * ending in ENDPOINT_SEPARATOR, a fresh name
211
- */
212
- bindPort: (prefix: Endpoint) => PromiseVow<Remote<Port>>;
213
- /**
214
- * Make an attempt to connect into this protocol
215
- */
216
- inbound: (listenAddr: Endpoint, remoteAddr: Endpoint) => PromiseVow<InboundAttempt>;
217
- /**
218
- * Create an outbound connection
219
- */
220
- outbound: (port: Remote<Port>, remoteAddr: Endpoint, connectionHandler: Remote<ConnectionHandler>) => PromiseVow<Connection>;
221
- };
222
- import type { Methods } from '@endo/exo';
223
- import type { Guarded } from '@endo/exo';
224
- import type { PromiseVow } from '@agoric/vow';
225
- import type { RemotableObject } from '@endo/pass-style';
226
- import type { Remote } from '@agoric/vow';
227
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.js"],"names":[],"mappings":";;;4BAauB,CAAC,SAAX,OAAS,EACiB,CAAC,SAA3B,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,IACzB,CAAC,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;;;;oBAKxD,MAAM;;;;;uBAIN,MAAM;;;;;;;;WAML,MAAM,WAAW,IAAI,CAAC;;uBAGvB,eAAe,GAAG,SAAS;;;;;;;;;cAK1B,CAAC,MAAM,EAAE,QAAQ,KAAK,WAAW,IAAI,CAAC;;;;;;;;;;qBAMtC,MAAM,QAAQ;;;;iBAEd,CAAC,aAAa,EAAE,OAAO,aAAa,CAAC,KAAK,WAAW,IAAI,CAAC;;;;aAE1D,CACT,MAAM,EAAE,QAAQ,EAChB,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC,KAC1C,WAAW,UAAU,CAAC;;;;oBAEhB,CAAC,aAAa,EAAE,OAAO,aAAa,CAAC,KAAK,WAAW,IAAI,CAAC;;;;;YAE1D,MAAM,WAAW,IAAI,CAAC;;;;;;;;;uBAMf,OAAO,IAAI,CAAC,KAAK,OAAO,aAAa,CAAC,KAAK,WAAW,IAAI,CAAC;;;;cAClE,CACT,IAAI,EAAE,OAAO,IAAI,CAAC,EAClB,SAAS,EAAE,QAAQ,EACnB,UAAU,EAAE,QAAQ,EACpB,CAAC,EAAE,OAAO,aAAa,CAAC,KACrB,WAAW,OAAO,iBAAiB,CAAC,CAAC;;;;uBAGlC,OAAO,IAAI,CAAC,aACP,QAAQ,cACP,QAAQ,KACjB,OAAO,aAAa,CAAC,KACrB,WAAW,IAAI,CAAC;;;;sBAEH,OAAO,IAAI,CAAC,OAAO,GAAG,KAAK,OAAO,aAAa,CAAC,KAAK,WAAW,IAAI,CAAC;;;;;uBAErE,OAAO,IAAI,CAAC,KAAK,OAAO,aAAa,CAAC,KAAK,WAAW,IAAI,CAAC;;;;;;;;0BAUnE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;UAKzC,CACT,WAAW,EAAE,KAAK,EAClB,IAAI,CAAC,EAAE,WAAW,KACf,WAAW,KAAK,CAAC;;;;WAEX,MAAM,WAAW,IAAI,CAAC;;;;;qBACtB,MAAM,QAAQ;;;;sBAEd,MAAM,QAAQ;;yBAGf,eAAe,GAAG,WAAW;;;;;;;;2BAMzB,OAAO,UAAU,CAAC,aACnB,QAAQ,cACP,QAAQ,KACjB,OAAO,iBAAiB,CAAC,KACzB,WAAW,IAAI,CAAC;;;;8BAGP,OAAO,UAAU,CAAC,OACzB,KAAK,KACP,OAAO,iBAAiB,CAAC,SACrB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACvB,WAAW,KAAK,CAAC;;;;4BAGR,OAAO,UAAU,CAAC,WACrB,WAAW,MAChB,OAAO,iBAAiB,CAAC,KAC1B,WAAW,IAAI,CAAC;;;;;0BAGX,GAAG,GAAG,IAAI;;aAKT,OAAO,iBAAiB,CAAC;;;;;;;;;;;;cAQzB,CAAC,QAAQ,EAAE,OAAO,YAAY,CAAC,EAAE,CAAC,EAAE,OAAO,eAAe,CAAC,KAAK,WAAW,IAAI,CAAC;;;;oBAEhF,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,eAAe,CAAC,KAAK,WAAW,MAAM,CAAC;;;;YAEvE,CACT,IAAI,EAAE,OAAO,IAAI,CAAC,EAClB,SAAS,EAAE,QAAQ,EACnB,CAAC,EAAE,OAAO,eAAe,CAAC,KACvB,WAAW,IAAI,CAAC;;;;cAEV,CACT,IAAI,EAAE,OAAO,IAAI,CAAC,EAClB,SAAS,EAAE,QAAQ,EACnB,aAAa,EAAE,OAAO,aAAa,CAAC,EACpC,CAAC,EAAE,OAAO,eAAe,CAAC,KACvB,WAAW,IAAI,CAAC;;;;oBAEV,CACT,IAAI,EAAE,OAAO,IAAI,CAAC,EAClB,SAAS,EAAE,QAAQ,EACnB,aAAa,EAAE,OAAO,aAAa,CAAC,EACpC,CAAC,EAAE,OAAO,eAAe,CAAC,KACvB,WAAW,IAAI,CAAC;;;;4BAGb,OAAO,IAAI,CAAC,aACP,QAAQ,UACX,QAAQ,KACb,OAAO,eAAe,CAAC,KACvB,WAAW,QAAQ,CAAC;;;;eAEd,CACT,IAAI,EAAE,OAAO,IAAI,CAAC,EAClB,SAAS,EAAE,QAAQ,EACnB,MAAM,EAAE,QAAQ,EAChB,CAAC,EAAE,OAAO,iBAAiB,CAAC,EAC5B,CAAC,EAAE,OAAO,eAAe,CAAC,KACvB,WAAW,kBAAkB,CAAC;;;;cAExB,CACT,IAAI,EAAE,OAAO,IAAI,CAAC,EAClB,SAAS,EAAE,QAAQ,EACnB,CAAC,EAAE,OAAO,eAAe,CAAC,KACvB,WAAW,IAAI,CAAC;;;;;;;;;YAIV,CAAC,IAAI,EAAE,kBAAkB,KAAK,WAAW,UAAU,CAAC;;;;;qBAEpD,MAAM,QAAQ;;;;;sBAEd,MAAM,QAAQ;;;;WAEd,MAAM,WAAW,IAAI,CAAC;;;;;;;;;;cAGtB,CAAC,MAAM,EAAE,QAAQ,KAAK,WAAW,OAAO,IAAI,CAAC,CAAC;;;;aAE9C,CACT,UAAU,EAAE,QAAQ,EACpB,UAAU,EAAE,QAAQ,KACjB,WAAW,cAAc,CAAC;;;;cAEpB,CACT,IAAI,EAAE,OAAO,IAAI,CAAC,EAClB,UAAU,EAAE,QAAQ,EACpB,iBAAiB,EAAE,OAAO,iBAAiB,CAAC,KACzC,WAAW,UAAU,CAAC;;6BA1MJ,WAAW;6BACX,WAAW;gCAFA,aAAa;qCADN,kBAAkB;4BACzB,aAAa"}