@agoric/network 0.1.1-dev-7ffae88.0 → 0.1.1-orchestration-dev-096c4e8.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/network",
3
- "version": "0.1.1-dev-7ffae88.0+7ffae88",
3
+ "version": "0.1.1-orchestration-dev-096c4e8.0+096c4e8",
4
4
  "description": "Agoric's network protocol API",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
@@ -21,16 +21,20 @@
21
21
  "author": "Agoric",
22
22
  "license": "Apache-2.0",
23
23
  "dependencies": {
24
- "@agoric/assert": "0.6.1-dev-7ffae88.0+7ffae88",
25
- "@agoric/internal": "0.3.3-dev-7ffae88.0+7ffae88",
26
- "@agoric/store": "0.9.3-dev-7ffae88.0+7ffae88",
27
- "@endo/base64": "^1.0.1",
28
- "@endo/far": "^1.0.2",
29
- "@endo/promise-kit": "^1.0.2"
24
+ "@agoric/assert": "0.6.1-orchestration-dev-096c4e8.0+096c4e8",
25
+ "@agoric/internal": "0.3.3-orchestration-dev-096c4e8.0+096c4e8",
26
+ "@agoric/store": "0.9.3-orchestration-dev-096c4e8.0+096c4e8",
27
+ "@agoric/vat-data": "0.5.3-orchestration-dev-096c4e8.0+096c4e8",
28
+ "@endo/base64": "^1.0.2",
29
+ "@endo/far": "^1.0.4",
30
+ "@endo/patterns": "^1.1.0",
31
+ "@endo/promise-kit": "^1.0.4"
30
32
  },
31
33
  "devDependencies": {
32
- "@agoric/swingset-vat": "0.32.3-dev-7ffae88.0+7ffae88",
33
- "@endo/bundle-source": "^3.0.2",
34
+ "@agoric/swingset-liveslots": "0.10.3-orchestration-dev-096c4e8.0+096c4e8",
35
+ "@agoric/swingset-vat": "0.32.3-orchestration-dev-096c4e8.0+096c4e8",
36
+ "@agoric/zone": "0.2.3-orchestration-dev-096c4e8.0+096c4e8",
37
+ "@endo/bundle-source": "^3.1.0",
34
38
  "ava": "^5.3.0",
35
39
  "c8": "^7.13.0"
36
40
  },
@@ -66,5 +70,5 @@
66
70
  "typeCoverage": {
67
71
  "atLeast": 76.57
68
72
  },
69
- "gitHead": "7ffae88ae37df782d5ffe3cf92261a498b0f636c"
73
+ "gitHead": "096c4e8fce80e9a509b0e1a30fda11736c4570e1"
70
74
  }
package/src/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from "./network.js";
2
2
  export * from "./multiaddr.js";
3
3
  export * from "./bytes.js";
4
- export { default as makeRouter, makeRouterProtocol } from "./router.js";
4
+ export { prepareRouter, prepareRouterProtocol } from "./router.js";
5
5
  //# sourceMappingURL=index.d.ts.map
package/src/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './network.js';
2
- export { default as makeRouter, makeRouterProtocol } from './router.js';
2
+ export { prepareRouter, prepareRouterProtocol } from './router.js';
3
3
  export * from './multiaddr.js';
4
4
  export * from './bytes.js';
package/src/network.d.ts CHANGED
@@ -1,44 +1,146 @@
1
- /**
2
- * @param {ConnectionHandler} handler0
3
- * @param {Endpoint} addr0
4
- * @param {ConnectionHandler} handler1
5
- * @param {Endpoint} addr1
6
- * @param {WeakSet<Connection>} [current]
7
- * @returns {[Connection, Connection]}
8
- */
9
- export function crossoverConnection(handler0: ConnectionHandler, addr0: Endpoint, handler1: ConnectionHandler, addr1: Endpoint, current?: WeakSet<Connection> | undefined): [Connection, Connection];
10
1
  /**
11
2
  * Get the list of prefixes from longest to shortest.
12
3
  *
13
4
  * @param {string} addr
14
5
  */
15
6
  export function getPrefixes(addr: string): string[];
16
- /**
17
- * Create a protocol that has a handler.
18
- *
19
- * @param {ProtocolHandler} protocolHandler
20
- * @returns {Protocol} the local capability for connecting and listening
21
- */
22
- export function makeNetworkProtocol(protocolHandler: ProtocolHandler): Protocol;
23
- /**
24
- * Create a ConnectionHandler that just echoes its packets.
25
- *
26
- * @returns {ConnectionHandler}
27
- */
28
- export function makeEchoConnectionHandler(): ConnectionHandler;
29
- export function makeNonceMaker(prefix?: string, suffix?: string): () => Promise<string>;
30
7
  /**
31
8
  * Create a protocol handler that just connects to itself.
32
9
  *
33
- * @param {ProtocolHandler['onInstantiate']} [onInstantiate]
34
- * @returns {ProtocolHandler} The localhost handler
10
+ * @param {import('@agoric/base-zone').Zone} zone
11
+ * @param {ReturnType<import('@agoric/vow').prepareVowTools>} powers
35
12
  */
36
- export function makeLoopbackProtocolHandler(onInstantiate?: ProtocolHandler['onInstantiate']): ProtocolHandler;
13
+ export function prepareLoopbackProtocolHandler(zone: import('@agoric/base-zone').Zone, { when }: ReturnType<(zone: import("@agoric/base-zone").Zone, powers?: {
14
+ isRetryableReason?: ((reason: any) => boolean) | undefined;
15
+ watchPromise?: ((p: PromiseLike<any>, watcher: import("@agoric/vow/src/watch-promise.js").PromiseWatcher, ...args: unknown[]) => void) | undefined;
16
+ } | undefined) => {
17
+ when: <T = any, TResult1 = import("@agoric/vow/src/E.js").Unwrap<T>, TResult2 = never>(specimenP: T, onFulfilled?: ((value: import("@agoric/vow/src/E.js").Unwrap<T>) => TResult1 | PromiseLike<TResult1>) | undefined, onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined) => Promise<TResult1 | TResult2>;
18
+ watch: <T_1 = any, TResult1_1 = T_1, TResult2_1 = T_1>(specimenP: import("@agoric/vow").ERef<T_1 | import("@agoric/vow").Vow<T_1>>, watcher?: import("@agoric/vow").Watcher<T_1, TResult1_1, TResult2_1> | undefined, watcherContext?: unknown) => import("@agoric/vow").Vow<TResult1_1 | TResult2_1>;
19
+ makeVowKit: <T_2>() => import("@agoric/vow").VowKit<T_2>;
20
+ }>): (instancePrefix?: string | undefined) => import("@endo/exo/src/exo-makers.js").Guarded<{
21
+ onCreate(_impl: any, _protocolHandler: any): Promise<void>;
22
+ generatePortID(_localAddr: any, _protocolHandler: any): Promise<string>;
23
+ onBind(_port: any, _localAddr: any, _protocolHandler: any): Promise<void>;
24
+ onConnect(_port: any, localAddr: any, remoteAddr: any, _chandler: any, protocolHandler: any): Promise<{
25
+ remoteInstance: any;
26
+ handler: ConnectionHandler;
27
+ }>;
28
+ onInstantiate(_port: any, _localAddr: any, _remote: any, _protocol: any): Promise<string>;
29
+ onListen(port: any, localAddr: any, listenHandler: any, _protocolHandler: any): Promise<void>;
30
+ /**
31
+ * @param {Port} port
32
+ * @param {Endpoint} localAddr
33
+ * @param {ListenHandler} listenHandler
34
+ * @param {*} _protocolHandler
35
+ */
36
+ onListenRemove(port: Port, localAddr: Endpoint, listenHandler: ListenHandler, _protocolHandler: any): Promise<void>;
37
+ onRevoke(_port: any, _localAddr: any, _protocolHandler: any): Promise<void>;
38
+ }>;
37
39
  /**
38
40
  * Compatibility note: this must match what our peers use, so don't change it
39
41
  * casually.
40
42
  */
41
43
  export const ENDPOINT_SEPARATOR: "/";
42
- export function rethrowUnlessMissing(err: any): undefined;
43
- export function makeConnection(handler: ConnectionHandler, localAddr: Endpoint, remoteAddr: Endpoint, current?: Set<Closable> | undefined): Connection;
44
+ export namespace Shape {
45
+ let ConnectionI: import("@endo/patterns").InterfaceGuard<{
46
+ send: import("@endo/patterns").MethodGuard;
47
+ close: import("@endo/patterns").MethodGuard;
48
+ getLocalAddress: import("@endo/patterns").MethodGuard;
49
+ getRemoteAddress: import("@endo/patterns").MethodGuard;
50
+ }>;
51
+ let InboundAttemptI: import("@endo/patterns").InterfaceGuard<{
52
+ accept: import("@endo/patterns").MethodGuard;
53
+ getLocalAddress: import("@endo/patterns").MethodGuard;
54
+ getRemoteAddress: import("@endo/patterns").MethodGuard;
55
+ close: import("@endo/patterns").MethodGuard;
56
+ }>;
57
+ let PortI: import("@endo/patterns").InterfaceGuard<{
58
+ getLocalAddress: import("@endo/patterns").MethodGuard;
59
+ addListener: import("@endo/patterns").MethodGuard;
60
+ connect: import("@endo/patterns").MethodGuard;
61
+ removeListener: import("@endo/patterns").MethodGuard;
62
+ revoke: import("@endo/patterns").MethodGuard;
63
+ }>;
64
+ let ProtocolHandlerI: import("@endo/patterns").InterfaceGuard<{
65
+ onCreate: import("@endo/patterns").MethodGuard;
66
+ generatePortID: import("@endo/patterns").MethodGuard;
67
+ onBind: import("@endo/patterns").MethodGuard;
68
+ onListen: import("@endo/patterns").MethodGuard;
69
+ onListenRemove: import("@endo/patterns").MethodGuard;
70
+ onInstantiate: import("@endo/patterns").MethodGuard;
71
+ onConnect: import("@endo/patterns").MethodGuard;
72
+ onRevoke: import("@endo/patterns").MethodGuard;
73
+ }>;
74
+ let ProtocolImplI: import("@endo/patterns").InterfaceGuard<{
75
+ bind: import("@endo/patterns").MethodGuard;
76
+ inbound: import("@endo/patterns").MethodGuard;
77
+ outbound: import("@endo/patterns").MethodGuard;
78
+ }>;
79
+ function Vow$(shape: any): import("@endo/patterns").Matcher;
80
+ let AttemptDescription: import("@endo/patterns").Matcher;
81
+ let Opts: import("@endo/patterns").Matcher;
82
+ let Data: import("@endo/patterns").Matcher;
83
+ let Bytes: import("@endo/patterns").Matcher;
84
+ let Endpoint: import("@endo/patterns").Matcher;
85
+ let Vow: import("@endo/patterns").Matcher;
86
+ let ConnectionHandler: import("@endo/patterns").Matcher;
87
+ let Connection: import("@endo/patterns").Matcher;
88
+ let InboundAttempt: import("@endo/patterns").Matcher;
89
+ let Listener: import("@endo/patterns").Matcher;
90
+ let ListenHandler: import("@endo/patterns").Matcher;
91
+ let Port: import("@endo/patterns").Matcher;
92
+ let ProtocolHandler: import("@endo/patterns").Matcher;
93
+ let ProtocolImpl: import("@endo/patterns").Matcher;
94
+ }
95
+ export function rethrowUnlessMissing(err: unknown): undefined;
96
+ export function crossoverConnection(zone: import('@agoric/zone').Zone, handler0: ConnectionHandler, addr0: Endpoint, handler1: ConnectionHandler, addr1: Endpoint, makeConnection: (opts: ConnectionOpts) => Connection, current?: WeakSetStore<Closable>): Connection[];
97
+ export function prepareNetworkProtocol(zone: import('@agoric/base-zone').Zone, powers: ReturnType<(zone: import("@agoric/base-zone").Zone, powers?: {
98
+ isRetryableReason?: ((reason: any) => boolean) | undefined;
99
+ watchPromise?: ((p: PromiseLike<any>, watcher: import("@agoric/vow/src/watch-promise.js").PromiseWatcher, ...args: unknown[]) => void) | undefined;
100
+ } | undefined) => {
101
+ when: <T = any, TResult1 = import("@agoric/vow/src/E.js").Unwrap<T>, TResult2 = never>(specimenP: T, onFulfilled?: ((value: import("@agoric/vow/src/E.js").Unwrap<T>) => TResult1 | PromiseLike<TResult1>) | undefined, onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined) => Promise<TResult1 | TResult2>;
102
+ watch: <T_1 = any, TResult1_1 = T_1, TResult2_1 = T_1>(specimenP: import("@agoric/vow").ERef<T_1 | import("@agoric/vow").Vow<T_1>>, watcher?: import("@agoric/vow").Watcher<T_1, TResult1_1, TResult2_1> | undefined, watcherContext?: unknown) => import("@agoric/vow").Vow<TResult1_1 | TResult2_1>;
103
+ makeVowKit: <T_2>() => import("@agoric/vow").VowKit<T_2>;
104
+ }>): (protocolHandler: ProtocolHandler) => Protocol;
105
+ export function prepareEchoConnectionKit(zone: import('@agoric/base-zone').Zone): () => import("@endo/exo/src/exo-makers.js").GuardedKit<{
106
+ handler: {
107
+ /**
108
+ * @param {Connection} _connection
109
+ * @param {Bytes} bytes
110
+ * @param {ConnectionHandler} _connectionHandler
111
+ */
112
+ onReceive(_connection: Connection, bytes: Bytes, _connectionHandler: ConnectionHandler): Promise<string>;
113
+ /**
114
+ * @param {Connection} _connection
115
+ * @param {CloseReason} [_reason]
116
+ * @param {ConnectionHandler} [_connectionHandler]
117
+ */
118
+ onClose(_connection: Connection, _reason?: CloseReason, _connectionHandler?: ConnectionHandler | undefined): Promise<void>;
119
+ };
120
+ listener: {
121
+ onAccept(_port: any, _localAddr: any, _remoteAddr: any, _listenHandler: any): Promise<import("@endo/exo/src/exo-makers.js").Guarded<{
122
+ /**
123
+ * @param {Connection} _connection
124
+ * @param {Bytes} bytes
125
+ * @param {ConnectionHandler} _connectionHandler
126
+ */
127
+ onReceive(_connection: Connection, bytes: Bytes, _connectionHandler: ConnectionHandler): Promise<string>;
128
+ /**
129
+ * @param {Connection} _connection
130
+ * @param {CloseReason} [_reason]
131
+ * @param {ConnectionHandler} [_connectionHandler]
132
+ */
133
+ onClose(_connection: Connection, _reason?: CloseReason, _connectionHandler?: ConnectionHandler | undefined): Promise<void>;
134
+ }>>;
135
+ onListen(port: any, _listenHandler: any): Promise<void>;
136
+ };
137
+ }>;
138
+ export type ConnectionOpts = {
139
+ addrs: Endpoint[];
140
+ handlers: ConnectionHandler[];
141
+ conns: MapStore<number, Connection>;
142
+ current: WeakSetStore<Closable>;
143
+ l: 0 | 1;
144
+ r: 0 | 1;
145
+ };
44
146
  //# sourceMappingURL=network.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["network.js"],"names":[],"mappings":"AAuGA;;;;;;;GAOG;AACH,8CAPW,iBAAiB,SACjB,QAAQ,YACR,iBAAiB,SACjB,QAAQ,8CAEN,CAAC,UAAU,EAAE,UAAU,CAAC,CAkEpC;AAED;;;;GAIG;AACH,kCAFW,MAAM,YAahB;AAED;;;;;GAKG;AACH,qDAHW,eAAe,GACb,QAAQ,CA2RpB;AAED;;;;GAIG;AACH,6CAFa,iBAAiB,CAmB7B;AAED,wFAMC;AAED;;;;;GAKG;AACH,4DAHW,eAAe,CAAC,eAAe,CAAC,GAC9B,eAAe,CA2D3B;AAzjBD;;;GAGG;AACH,qCAAsC;AAE/B,0DAUN;AAWM,wCANI,iBAAiB,aACjB,QAAQ,cACR,QAAQ,wCAEN,UAAU,CAkEtB"}
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["network.js"],"names":[],"mappings":"AAyJA;;;;GAIG;AACH,kCAFW,MAAM,YAahB;AAgvBD;;;;;GAKG;AACH,qDAHW,OAAO,mBAAmB,EAAE,IAAI,YAChC;;;;;;;EAAiD;;;;;;;;;;IA4EtD;;;;;OAKG;yBAJQ,IAAI,aACJ,QAAQ,iBACR,aAAa;;GAkB7B;AAn/BD;;;GAGG;AACH,qCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8B9B,4DAAgC;;;;;;;;;;;;;;;;AAgGjC,0CADK,OAAO,aAWlB;AA2GM,0CARI,OAAO,cAAc,EAAE,IAAI,YAC3B,iBAAiB,SACjB,QAAQ,YACR,iBAAiB,SACjB,QAAQ,yBACD,cAAc,KAAK,UAAU,YACpC,aAAa,QAAQ,CAAC,gBA+ChC;AAofM,6CAHI,OAAO,mBAAmB,EAAE,IAAI,UAChC;;;;;;;EAAiD,qBAM/C,eAAe,KACb,QAAQ,CA2BtB;AAOM,+CAFI,OAAO,mBAAmB,EAAE,IAAI;;QAuCnC;;;;WAIG;+BAHQ,UAAU,SACV,KAAK,sBACL,iBAAiB;QAU5B;;;;WAIG;6BAHQ,UAAU,YACV,WAAW;;;;YAftB;;;;eAIG;mCAHQ,UAAU,SACV,KAAK,sBACL,iBAAiB;YAU5B;;;;eAIG;iCAHQ,UAAU,YACV,WAAW;;;;GAyB7B;;WA1uBa,QAAQ,EAAE;cACV,iBAAiB,EAAE;WACnB,SAAS,MAAM,EAAE,UAAU,CAAC;aAC5B,aAAa,QAAQ,CAAC;OACtB,CAAC,GAAC,CAAC;OACH,CAAC,GAAC,CAAC"}