@agoric/vats 0.15.2-dev-3d662f8.0 → 0.15.2-dev-1cd6408.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 +15 -15
- package/src/ibc.d.ts +1 -1
- package/src/ibc.d.ts.map +1 -1
- package/src/ibc.js +23 -15
- package/src/proposals/network-proposal.d.ts.map +1 -1
- package/src/proposals/network-proposal.js +13 -12
- package/src/vat-network.d.ts +8 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/vats",
|
|
3
|
-
"version": "0.15.2-dev-
|
|
3
|
+
"version": "0.15.2-dev-1cd6408.0+1cd6408",
|
|
4
4
|
"description": "Agoric's Vat library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -22,18 +22,18 @@
|
|
|
22
22
|
"author": "Agoric",
|
|
23
23
|
"license": "Apache-2.0",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@agoric/assert": "0.6.1-dev-
|
|
26
|
-
"@agoric/ertp": "0.16.3-dev-
|
|
27
|
-
"@agoric/governance": "0.10.4-dev-
|
|
28
|
-
"@agoric/internal": "0.3.3-dev-
|
|
29
|
-
"@agoric/network": "0.1.1-dev-
|
|
30
|
-
"@agoric/notifier": "0.6.3-dev-
|
|
31
|
-
"@agoric/store": "0.9.3-dev-
|
|
32
|
-
"@agoric/swingset-vat": "0.32.3-dev-
|
|
33
|
-
"@agoric/time": "0.3.3-dev-
|
|
34
|
-
"@agoric/vat-data": "0.5.3-dev-
|
|
35
|
-
"@agoric/zoe": "0.26.3-dev-
|
|
36
|
-
"@agoric/zone": "0.2.3-dev-
|
|
25
|
+
"@agoric/assert": "0.6.1-dev-1cd6408.0+1cd6408",
|
|
26
|
+
"@agoric/ertp": "0.16.3-dev-1cd6408.0+1cd6408",
|
|
27
|
+
"@agoric/governance": "0.10.4-dev-1cd6408.0+1cd6408",
|
|
28
|
+
"@agoric/internal": "0.3.3-dev-1cd6408.0+1cd6408",
|
|
29
|
+
"@agoric/network": "0.1.1-dev-1cd6408.0+1cd6408",
|
|
30
|
+
"@agoric/notifier": "0.6.3-dev-1cd6408.0+1cd6408",
|
|
31
|
+
"@agoric/store": "0.9.3-dev-1cd6408.0+1cd6408",
|
|
32
|
+
"@agoric/swingset-vat": "0.32.3-dev-1cd6408.0+1cd6408",
|
|
33
|
+
"@agoric/time": "0.3.3-dev-1cd6408.0+1cd6408",
|
|
34
|
+
"@agoric/vat-data": "0.5.3-dev-1cd6408.0+1cd6408",
|
|
35
|
+
"@agoric/zoe": "0.26.3-dev-1cd6408.0+1cd6408",
|
|
36
|
+
"@agoric/zone": "0.2.3-dev-1cd6408.0+1cd6408",
|
|
37
37
|
"@endo/far": "^1.0.4",
|
|
38
38
|
"@endo/import-bundle": "^1.0.4",
|
|
39
39
|
"@endo/marshal": "^1.3.0",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"jessie.js": "^0.3.2"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@agoric/swingset-liveslots": "0.10.3-dev-
|
|
47
|
+
"@agoric/swingset-liveslots": "0.10.3-dev-1cd6408.0+1cd6408",
|
|
48
48
|
"@endo/bundle-source": "^3.1.0",
|
|
49
49
|
"@endo/init": "^1.0.4",
|
|
50
50
|
"ava": "^5.3.0",
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
"typeCoverage": {
|
|
78
78
|
"atLeast": 89.69
|
|
79
79
|
},
|
|
80
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "1cd6408e27271160227f8aaa12d9771ea73a1da1"
|
|
81
81
|
}
|
package/src/ibc.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export function prepareIBCProtocol(zone: import('@agoric/base-zone').Zone, power
|
|
|
17
17
|
isRetryableReason?: ((reason: any) => boolean) | undefined;
|
|
18
18
|
watchPromise?: ((p: PromiseLike<any>, watcher: import("@agoric/vow/src/watch-promise.js").PromiseWatcher, ...args: unknown[]) => void) | undefined;
|
|
19
19
|
} | undefined) => {
|
|
20
|
-
when: <T
|
|
20
|
+
when: <T, TResult1 = import("@agoric/vow").Unwrap<T>, TResult2 = never>(specimenP: T, onFulfilled?: ((value: import("@agoric/vow").Unwrap<T>) => TResult1 | PromiseLike<TResult1>) | undefined, onRejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined) => Promise<TResult1 | TResult2>;
|
|
21
21
|
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>;
|
|
22
22
|
makeVowKit: <T_2>() => import("@agoric/vow").VowKit<T_2>;
|
|
23
23
|
allVows: (vows: any) => import("@agoric/vow").Vow<any>;
|
package/src/ibc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ibc.d.ts","sourceRoot":"","sources":["ibc.js"],"names":[],"mappings":"AA2DO,kDADK,OAAO,mBAAmB,EAAE,IAAI;;IA+CtC;;;;;;;OAOG;qBANQ,UAAU,eACV,KAAK,YACL,iBAAiB;QAEF,iBAAiB;QAC9B,WAAW,KAAK,CAAC;;GA6CnC;AAMM,yCAHI,OAAO,mBAAmB,EAAE,IAAI,UAChC;;;;;;;;EAAiD;qBAgBlC,eAAe;mBACjB,aAAa;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ibc.d.ts","sourceRoot":"","sources":["ibc.js"],"names":[],"mappings":"AA2DO,kDADK,OAAO,mBAAmB,EAAE,IAAI;;IA+CtC;;;;;;;OAOG;qBANQ,UAAU,eACV,KAAK,YACL,iBAAiB;QAEF,iBAAiB;QAC9B,WAAW,KAAK,CAAC;;GA6CnC;AAMM,yCAHI,OAAO,mBAAmB,EAAE,IAAI,UAChC;;;;;;;;EAAiD;qBAgBlC,eAAe;mBACjB,aAAa;;;;;;;;;;;;;;;EAqmBpC;AAKM,uCADK,OAAO,mBAAmB,EAAE,IAAI;;GAkB3C;4BA3xBa,OAAO,YAAY,EAAE,aAAa;wBAGnC,MAAM;2BAEN,MAAM;8BAEN,MAAM;;;oBAML,YAAY;iBACZ,SAAS;yBACT,YAAY;sBACZ,SAAS;;;aAKT,MAAM;gBACN,MAAM;;;WAGN,SAAS,GAAG,WAAW;oBACvB,MAAM,EAAE;YACR,MAAM;eACN,MAAM;kBACN,YAAY;aACZ,MAAM;;yBAEP,OAAO,aAAa,EAAE,MAAM,CAAC,kBAAkB,CAAC;uBAEhD,KAAK,cAAc,EAAE,cAAc,GAAG,WAAW,CAAC,GAAG;IACjE,SAAa,EAAE,QAAQ,CAAC;IACxB,UAAc,EAAE,UAAU,CAAC;IAC3B,YAAgB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC"}
|
package/src/ibc.js
CHANGED
|
@@ -12,8 +12,8 @@ import '@agoric/network/exported.js';
|
|
|
12
12
|
// empty acknowledgements as distinct from unacknowledged packets.
|
|
13
13
|
const DEFAULT_ACKNOWLEDGEMENT = '\x00';
|
|
14
14
|
|
|
15
|
-
// Default timeout after
|
|
16
|
-
const DEFAULT_PACKET_TIMEOUT_NS =
|
|
15
|
+
// Default timeout after 60 minutes.
|
|
16
|
+
const DEFAULT_PACKET_TIMEOUT_NS = 60n * 60n * 1_000_000_000n;
|
|
17
17
|
|
|
18
18
|
/** @typedef {import('./types.js').BridgeHandler} BridgeHandler */
|
|
19
19
|
|
|
@@ -194,13 +194,18 @@ export const prepareIBCProtocol = (zone, powers) => {
|
|
|
194
194
|
'IBCProtocolHandler',
|
|
195
195
|
undefined,
|
|
196
196
|
ibcdev => {
|
|
197
|
-
/** @type {MapStore<string, Connection
|
|
197
|
+
/** @type {MapStore<string, import('@agoric/vow').Remote<Connection>>} */
|
|
198
198
|
const channelKeyToConnP = detached.mapStore('channelKeyToConnP');
|
|
199
199
|
|
|
200
200
|
/** @type {MapStore<string, ConnectingInfo>} */
|
|
201
201
|
const channelKeyToInfo = detached.mapStore('channelKeyToInfo');
|
|
202
202
|
|
|
203
|
-
/**
|
|
203
|
+
/**
|
|
204
|
+
* @type {MapStore<
|
|
205
|
+
* string,
|
|
206
|
+
* import('@agoric/vow').Remote<InboundAttempt>
|
|
207
|
+
* >}
|
|
208
|
+
*/
|
|
204
209
|
const channelKeyToAttempt = detached.mapStore('channelKeyToAttempt');
|
|
205
210
|
|
|
206
211
|
/** @type {MapStore<string, Outbound[]>} */
|
|
@@ -230,8 +235,9 @@ export const prepareIBCProtocol = (zone, powers) => {
|
|
|
230
235
|
srcPortToOutbounds,
|
|
231
236
|
channelKeyToSeqAck,
|
|
232
237
|
portToPendingConns,
|
|
233
|
-
lastPortID:
|
|
234
|
-
/** @type {ProtocolImpl |
|
|
238
|
+
lastPortID: 0n, // Nonce for creating port identifiers.
|
|
239
|
+
/** @type {import('@agoric/vow').Remote<ProtocolImpl> | null} */
|
|
240
|
+
protocolImpl: null,
|
|
235
241
|
};
|
|
236
242
|
},
|
|
237
243
|
{
|
|
@@ -245,7 +251,7 @@ export const prepareIBCProtocol = (zone, powers) => {
|
|
|
245
251
|
return '';
|
|
246
252
|
},
|
|
247
253
|
async generatePortID(_localAddr, _protocolHandler) {
|
|
248
|
-
this.state.lastPortID +=
|
|
254
|
+
this.state.lastPortID += 1n;
|
|
249
255
|
return `port-${this.state.lastPortID}`;
|
|
250
256
|
},
|
|
251
257
|
async onBind(port, localAddr, _protocolHandler) {
|
|
@@ -315,7 +321,10 @@ export const prepareIBCProtocol = (zone, powers) => {
|
|
|
315
321
|
onConnectP: kit,
|
|
316
322
|
localAddr,
|
|
317
323
|
};
|
|
318
|
-
if (
|
|
324
|
+
if (srcPortToOutbounds.has(portID)) {
|
|
325
|
+
const outbounds = srcPortToOutbounds.get(portID);
|
|
326
|
+
srcPortToOutbounds.set(portID, harden([...outbounds, ob]));
|
|
327
|
+
} else {
|
|
319
328
|
srcPortToOutbounds.init(portID, harden([ob]));
|
|
320
329
|
}
|
|
321
330
|
|
|
@@ -426,11 +435,10 @@ export const prepareIBCProtocol = (zone, powers) => {
|
|
|
426
435
|
// e => console.warn('Manual packet', e, 'failed:', e),
|
|
427
436
|
// );
|
|
428
437
|
|
|
438
|
+
assert(protocolImpl);
|
|
439
|
+
|
|
429
440
|
return watch(
|
|
430
|
-
|
|
431
|
-
localAddr,
|
|
432
|
-
remoteAddr,
|
|
433
|
-
),
|
|
441
|
+
E(protocolImpl).inbound(localAddr, remoteAddr),
|
|
434
442
|
this.facets.protocolImplInboundWatcher,
|
|
435
443
|
{
|
|
436
444
|
obj,
|
|
@@ -556,7 +564,7 @@ export const prepareIBCProtocol = (zone, powers) => {
|
|
|
556
564
|
const conn = channelKeyToConnP.get(channelKey);
|
|
557
565
|
const data = base64ToBytes(data64);
|
|
558
566
|
|
|
559
|
-
return watch(conn.send(data), this.facets.ackWatcher, {
|
|
567
|
+
return watch(E(conn).send(data), this.facets.ackWatcher, {
|
|
560
568
|
packet,
|
|
561
569
|
});
|
|
562
570
|
}
|
|
@@ -592,7 +600,7 @@ export const prepareIBCProtocol = (zone, powers) => {
|
|
|
592
600
|
if (channelKeyToConnP.has(channelKey)) {
|
|
593
601
|
const conn = channelKeyToConnP.get(channelKey);
|
|
594
602
|
channelKeyToConnP.delete(channelKey);
|
|
595
|
-
void conn.close();
|
|
603
|
+
void E(conn).close();
|
|
596
604
|
}
|
|
597
605
|
break;
|
|
598
606
|
}
|
|
@@ -664,7 +672,7 @@ export const prepareIBCProtocol = (zone, powers) => {
|
|
|
664
672
|
return seqToAck.get(sequence);
|
|
665
673
|
}
|
|
666
674
|
const kit = makeVowKit();
|
|
667
|
-
seqToAck.init(sequence,
|
|
675
|
+
seqToAck.init(sequence, kit);
|
|
668
676
|
return kit;
|
|
669
677
|
},
|
|
670
678
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-proposal.d.ts","sourceRoot":"","sources":["network-proposal.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"network-proposal.d.ts","sourceRoot":"","sources":["network-proposal.js"],"names":[],"mappings":"AAoBO,+CAHI,QAAQ,GAAG,OAAO,kGAuC5B;AAqCM,gOAhBI,eAAe,GAAG;IAC5B,OAAW,EAAE;QAAE,eAAe,EAAE,UAAU,GAAG,CAAC,CAAA;KAAE,CAAC;IACjD,OAAW,EAAE;QAAE,UAAU,EAAE,SAAS,GAAG,CAAC,CAAA;KAAE,CAAC;CACxC;;oBAEqB,YAAY;gBAAU,YAAY;;kBA4E1D;AAEM;;;;;;;;;;;;;;;;;;;;;;;;;EAsBL;;;;;;;;;;;;;;;;;;;;iCAjGmB,SAAS,KAAK,UAAU,YAAY,KAAK,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;sBAE5D;IACZ,OAAW,EAAE,KAAK,UAAU,CAAC,CAAC;IAC9B,GAAO,EAAE,KAAK,MAAM,CAAC,CAAC;IACtB,YAAgB,EAAE,KAAK,eAAe,GAAG,SAAS,CAAC,CAAC;CACjD"}
|
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { E } from '@endo/far';
|
|
6
6
|
import { BridgeId as BRIDGE_ID } from '@agoric/internal';
|
|
7
|
-
|
|
8
|
-
import { makeHeapZone } from '@agoric/zone';
|
|
7
|
+
|
|
9
8
|
import { makeScalarBigMapStore } from '@agoric/vat-data';
|
|
10
9
|
|
|
10
|
+
// Heap-based vow resolution is used for this module because the
|
|
11
|
+
// bootstrap vat can't yet be upgraded.
|
|
12
|
+
import { when } from '@agoric/vat-data/vow.js';
|
|
13
|
+
|
|
11
14
|
const NUM_IBC_PORTS_PER_CLIENT = 3;
|
|
12
15
|
const INTERCHAIN_ACCOUNT_CONTROLLER_PORT_PREFIX = 'icacontroller-';
|
|
13
16
|
|
|
@@ -16,9 +19,12 @@ const INTERCHAIN_ACCOUNT_CONTROLLER_PORT_PREFIX = 'icacontroller-';
|
|
|
16
19
|
* @param {ERef<import('../types.js').ScopedBridgeManager>} [dibcBridgeManager]
|
|
17
20
|
*/
|
|
18
21
|
export const registerNetworkProtocols = async (vats, dibcBridgeManager) => {
|
|
22
|
+
/** @type {Promise<void>[]} */
|
|
19
23
|
const ps = [];
|
|
20
24
|
|
|
21
|
-
const loopbackHandler =
|
|
25
|
+
const loopbackHandler = /** @type {Remote<ProtocolHandler>} */ (
|
|
26
|
+
await E(vats.network).makeLoopbackProtocolHandler()
|
|
27
|
+
);
|
|
22
28
|
// Every vat has a loopback device.
|
|
23
29
|
ps.push(E(vats.network).registerProtocolHandler(['/local'], loopbackHandler));
|
|
24
30
|
|
|
@@ -42,8 +48,8 @@ export const registerNetworkProtocols = async (vats, dibcBridgeManager) => {
|
|
|
42
48
|
),
|
|
43
49
|
);
|
|
44
50
|
} else {
|
|
45
|
-
const loHandler =
|
|
46
|
-
'ibc-channel/channel-'
|
|
51
|
+
const loHandler = /** @type {Remote<ProtocolHandler>} */ (
|
|
52
|
+
await E(vats.network).makeLoopbackProtocolHandler('ibc-channel/channel-')
|
|
47
53
|
);
|
|
48
54
|
ps.push(E(vats.network).registerProtocolHandler(['/ibc-port'], loHandler));
|
|
49
55
|
}
|
|
@@ -134,7 +140,7 @@ export const setupNetworkProtocols = async (
|
|
|
134
140
|
lastICAPort += 1;
|
|
135
141
|
bindAddr += `${INTERCHAIN_ACCOUNT_CONTROLLER_PORT_PREFIX}${lastICAPort}`;
|
|
136
142
|
}
|
|
137
|
-
const port = E(vats.network).bind(bindAddr);
|
|
143
|
+
const port = when(E(vats.network).bind(bindAddr));
|
|
138
144
|
ibcportP.push(port);
|
|
139
145
|
}
|
|
140
146
|
return Promise.all(ibcportP);
|
|
@@ -145,15 +151,10 @@ export const setupNetworkProtocols = async (
|
|
|
145
151
|
// ibc-port etc.
|
|
146
152
|
await registerNetworkProtocols(vats, dibcBridgeManager);
|
|
147
153
|
|
|
148
|
-
// Heap-based vow resolution is used for this module because the
|
|
149
|
-
// bootstrap vat can't yet be upgraded.
|
|
150
|
-
const powers = prepareVowTools(makeHeapZone());
|
|
151
|
-
|
|
152
|
-
const { when } = powers;
|
|
153
154
|
// Add an echo listener on our ibc-port network (whether real or virtual).
|
|
154
155
|
const echoPort = await when(E(vats.network).bind('/ibc-port/echo'));
|
|
155
156
|
const { listener } = await E(vats.network).makeEchoConnectionKit();
|
|
156
|
-
await E(echoPort).addListener(listener);
|
|
157
|
+
await when(E(echoPort).addListener(listener));
|
|
157
158
|
return E(client).assignBundle([_a => ({ ibcport: makePorts() })]);
|
|
158
159
|
};
|
|
159
160
|
|
package/src/vat-network.d.ts
CHANGED
|
@@ -3,10 +3,10 @@ export function buildRootObject(_vatPowers: any, _args: any, baggage: any): {
|
|
|
3
3
|
onCreate(_impl: any, _protocolHandler: any): Promise<void>;
|
|
4
4
|
generatePortID(_localAddr: any, _protocolHandler: any): Promise<string>;
|
|
5
5
|
onBind(_port: any, _localAddr: any, _protocolHandler: any): Promise<void>;
|
|
6
|
-
onConnect(_port: any, localAddr:
|
|
6
|
+
onConnect(_port: any, localAddr: string, remoteAddr: string): PromiseVow<AttemptDescription>;
|
|
7
7
|
onInstantiate(_port: any, _localAddr: any, _remote: any, _protocol: any): Promise<string>;
|
|
8
8
|
onListen(port: any, localAddr: any, listenHandler: any, _protocolHandler: any): Promise<void>;
|
|
9
|
-
onListenRemove(port: Port
|
|
9
|
+
onListenRemove(port: Remote<Port>, localAddr: string, listenHandler: Remote<ListenHandler>, _protocolHandler: any): Promise<void>;
|
|
10
10
|
onRevoke(_port: any, _localAddr: any, _protocolHandler: any): Promise<void>;
|
|
11
11
|
}>;
|
|
12
12
|
makeEchoConnectionKit: () => import("@endo/exo/src/exo-makers").GuardedKit<{
|
|
@@ -23,9 +23,9 @@ export function buildRootObject(_vatPowers: any, _args: any, baggage: any): {
|
|
|
23
23
|
};
|
|
24
24
|
}>;
|
|
25
25
|
/** @param {Parameters<typeof protocol.registerProtocolHandler>} args */
|
|
26
|
-
registerProtocolHandler: (paths: string[], protocolHandler: ProtocolHandler) => void;
|
|
26
|
+
registerProtocolHandler: (paths: string[], protocolHandler: Remote<ProtocolHandler>) => void;
|
|
27
27
|
/** @param {Parameters<typeof protocol.unregisterProtocolHandler>} args */
|
|
28
|
-
unregisterProtocolHandler: (prefix: string, protocolHandler: ProtocolHandler) => void;
|
|
28
|
+
unregisterProtocolHandler: (prefix: string, protocolHandler: Remote<ProtocolHandler>) => void;
|
|
29
29
|
/** @param {Parameters<typeof protocol.bind>} args */
|
|
30
30
|
bind: (localAddr: string) => Promise<Port | import("@agoric/vow").Vow<Port>>;
|
|
31
31
|
} & import("@endo/eventual-send").RemotableBrand<{}, {
|
|
@@ -33,10 +33,10 @@ export function buildRootObject(_vatPowers: any, _args: any, baggage: any): {
|
|
|
33
33
|
onCreate(_impl: any, _protocolHandler: any): Promise<void>;
|
|
34
34
|
generatePortID(_localAddr: any, _protocolHandler: any): Promise<string>;
|
|
35
35
|
onBind(_port: any, _localAddr: any, _protocolHandler: any): Promise<void>;
|
|
36
|
-
onConnect(_port: any, localAddr:
|
|
36
|
+
onConnect(_port: any, localAddr: string, remoteAddr: string): PromiseVow<AttemptDescription>;
|
|
37
37
|
onInstantiate(_port: any, _localAddr: any, _remote: any, _protocol: any): Promise<string>;
|
|
38
38
|
onListen(port: any, localAddr: any, listenHandler: any, _protocolHandler: any): Promise<void>;
|
|
39
|
-
onListenRemove(port: Port
|
|
39
|
+
onListenRemove(port: Remote<Port>, localAddr: string, listenHandler: Remote<ListenHandler>, _protocolHandler: any): Promise<void>;
|
|
40
40
|
onRevoke(_port: any, _localAddr: any, _protocolHandler: any): Promise<void>;
|
|
41
41
|
}>;
|
|
42
42
|
makeEchoConnectionKit: () => import("@endo/exo/src/exo-makers").GuardedKit<{
|
|
@@ -53,9 +53,9 @@ export function buildRootObject(_vatPowers: any, _args: any, baggage: any): {
|
|
|
53
53
|
};
|
|
54
54
|
}>;
|
|
55
55
|
/** @param {Parameters<typeof protocol.registerProtocolHandler>} args */
|
|
56
|
-
registerProtocolHandler: (paths: string[], protocolHandler: ProtocolHandler) => void;
|
|
56
|
+
registerProtocolHandler: (paths: string[], protocolHandler: Remote<ProtocolHandler>) => void;
|
|
57
57
|
/** @param {Parameters<typeof protocol.unregisterProtocolHandler>} args */
|
|
58
|
-
unregisterProtocolHandler: (prefix: string, protocolHandler: ProtocolHandler) => void;
|
|
58
|
+
unregisterProtocolHandler: (prefix: string, protocolHandler: Remote<ProtocolHandler>) => void;
|
|
59
59
|
/** @param {Parameters<typeof protocol.bind>} args */
|
|
60
60
|
bind: (localAddr: string) => Promise<Port | import("@agoric/vow").Vow<Port>>;
|
|
61
61
|
}>;
|