@agoric/vats 0.15.2-dev-9f8732f.0 → 0.15.2-dev-afbbd9a.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/vats",
3
- "version": "0.15.2-dev-9f8732f.0+9f8732f",
3
+ "version": "0.15.2-dev-afbbd9a.0+afbbd9a",
4
4
  "description": "Agoric's Vat library",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -22,19 +22,19 @@
22
22
  "author": "Agoric",
23
23
  "license": "Apache-2.0",
24
24
  "dependencies": {
25
- "@agoric/cosmic-proto": "0.4.1-dev-9f8732f.0+9f8732f",
26
- "@agoric/ertp": "0.16.3-dev-9f8732f.0+9f8732f",
27
- "@agoric/governance": "0.10.4-dev-9f8732f.0+9f8732f",
28
- "@agoric/internal": "0.3.3-dev-9f8732f.0+9f8732f",
29
- "@agoric/network": "0.1.1-dev-9f8732f.0+9f8732f",
30
- "@agoric/notifier": "0.6.3-dev-9f8732f.0+9f8732f",
31
- "@agoric/store": "0.9.3-dev-9f8732f.0+9f8732f",
32
- "@agoric/swingset-vat": "0.32.3-dev-9f8732f.0+9f8732f",
33
- "@agoric/time": "0.3.3-dev-9f8732f.0+9f8732f",
34
- "@agoric/vat-data": "0.5.3-dev-9f8732f.0+9f8732f",
35
- "@agoric/vow": "0.1.1-dev-9f8732f.0+9f8732f",
36
- "@agoric/zoe": "0.26.3-dev-9f8732f.0+9f8732f",
37
- "@agoric/zone": "0.2.3-dev-9f8732f.0+9f8732f",
25
+ "@agoric/cosmic-proto": "0.4.1-dev-afbbd9a.0+afbbd9a",
26
+ "@agoric/ertp": "0.16.3-dev-afbbd9a.0+afbbd9a",
27
+ "@agoric/governance": "0.10.4-dev-afbbd9a.0+afbbd9a",
28
+ "@agoric/internal": "0.3.3-dev-afbbd9a.0+afbbd9a",
29
+ "@agoric/network": "0.1.1-dev-afbbd9a.0+afbbd9a",
30
+ "@agoric/notifier": "0.6.3-dev-afbbd9a.0+afbbd9a",
31
+ "@agoric/store": "0.9.3-dev-afbbd9a.0+afbbd9a",
32
+ "@agoric/swingset-vat": "0.32.3-dev-afbbd9a.0+afbbd9a",
33
+ "@agoric/time": "0.3.3-dev-afbbd9a.0+afbbd9a",
34
+ "@agoric/vat-data": "0.5.3-dev-afbbd9a.0+afbbd9a",
35
+ "@agoric/vow": "0.1.1-dev-afbbd9a.0+afbbd9a",
36
+ "@agoric/zoe": "0.26.3-dev-afbbd9a.0+afbbd9a",
37
+ "@agoric/zone": "0.2.3-dev-afbbd9a.0+afbbd9a",
38
38
  "@endo/errors": "^1.2.10",
39
39
  "@endo/far": "^1.1.11",
40
40
  "@endo/import-bundle": "^1.4.0",
@@ -47,7 +47,7 @@
47
47
  "jessie.js": "^0.3.4"
48
48
  },
49
49
  "devDependencies": {
50
- "@agoric/swingset-liveslots": "0.10.3-dev-9f8732f.0+9f8732f",
50
+ "@agoric/swingset-liveslots": "0.10.3-dev-afbbd9a.0+afbbd9a",
51
51
  "@endo/bundle-source": "^4.0.0",
52
52
  "@endo/init": "^1.1.9",
53
53
  "ava": "^5.3.0",
@@ -79,5 +79,5 @@
79
79
  "typeCoverage": {
80
80
  "atLeast": 90.43
81
81
  },
82
- "gitHead": "9f8732f9cd1536e2453a74a95b5b14e456e9e119"
82
+ "gitHead": "afbbd9a93543c8c54349728adc1613edbe08660a"
83
83
  }
package/src/ibc.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ibc.d.ts","sourceRoot":"","sources":["ibc.js"],"names":[],"mappings":"AAsDO,kDAHI,IAAI,GACF,GAAG,CAyHf;AAMM,yCAHI,IAAI,UACJ,QAAQ;cASH,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC;;qBAOpC,eAAe;mBACjB,aAAa;EAonBpC;AAIM,uCADK,IAAI;IAQV;;;OAGG;qBAFQ,MAAM,OACN,GAAG;GAYnB;yBA3yBa,OAAO,kBAAkB,CAAC;uBAG3B,IAAI,CAChB,cAAkB,EAClB,cAAkB,GAAG,WAAW,GAAG,qBAAqB,CACrD,GAAG;IACF,SAAS,EAAE,QAAQ,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC;0BAdmB,mBAAmB;8BAC0B,aAAa;qCAH+B,iBAAiB;mCACyE,YAAY;yCAAZ,YAAY;wCAZjL,iBAAiB;4BAcc,aAAa;oCAFyH,YAAY;8BADtG,iBAAiB"}
1
+ {"version":3,"file":"ibc.d.ts","sourceRoot":"","sources":["ibc.js"],"names":[],"mappings":"AAsDO,kDAHI,IAAI,GACF,GAAG,CA8Hf;AAMM,yCAHI,IAAI,UACJ,QAAQ;cASH,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC;;qBAOpC,eAAe;mBACjB,aAAa;EAuqBpC;AAIM,uCADK,IAAI;IAQV;;;OAGG;qBAFQ,MAAM,OACN,GAAG;GAYnB;yBAn2Ba,OAAO,kBAAkB,CAAC;uBAG3B,IAAI,CAChB,cAAkB,EAClB,cAAkB,GAAG,WAAW,GAAG,qBAAqB,CACrD,GAAG;IACF,SAAS,EAAE,QAAQ,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACnC;0BAdmB,mBAAmB;8BAC0B,aAAa;qCAH+B,iBAAiB;mCAC4F,YAAY;yCAAZ,YAAY;wCAZpM,iBAAiB;4BAcc,aAAa;oCAF4I,YAAY;8BADzH,iBAAiB"}
package/src/ibc.js CHANGED
@@ -5,7 +5,7 @@ import { E } from '@endo/far';
5
5
 
6
6
  import { byteSourceToBase64, base64ToBytes } from '@agoric/network';
7
7
 
8
- import { makeTracer } from '@agoric/internal';
8
+ import { makeTracer, NonNullish } from '@agoric/internal';
9
9
  import {
10
10
  localAddrToPortID,
11
11
  decodeRemoteIbcAddress,
@@ -29,7 +29,7 @@ const DEFAULT_PACKET_TIMEOUT_NS = 60n * 60n * 1_000_000_000n;
29
29
 
30
30
  /**
31
31
  * @import {Endpoint, Connection, ConnectionHandler, InboundAttempt, Bytes, ProtocolHandler, ProtocolImpl} from '@agoric/network';
32
- * @import {BridgeHandler, ScopedBridgeManager, ConnectingInfo, IBCChannelID, IBCChannelOrdering, IBCEvent, IBCPacket, IBCPortID, IBCDowncallPacket, IBCDowncallMethod, IBCDowncall, IBCBridgeEvent} from './types.js';
32
+ * @import {BridgeHandler, ScopedBridgeManager, ConnectingInfo, IBCChannelID, IBCChannelOrdering, IBCEvent, IBCPacket, IBCPortID, IBCDowncallPacket, IBCDowncallMethod, IBCDowncallReturn, IBCDowncall, IBCBridgeEvent} from './types.js';
33
33
  * @import {Zone} from '@agoric/base-zone';
34
34
  * @import {PromiseVow, Remote, VowKit, VowResolver, VowTools} from '@agoric/vow';
35
35
  */
@@ -73,7 +73,10 @@ export const prepareIBCConnectionHandler = zone => {
73
73
  * >;
74
74
  * channelKeyToSeqAck: MapStore<
75
75
  * string,
76
- * MapStore<number, import('@agoric/vow').VowKit<Bytes>>
76
+ * MapStore<
77
+ * bigint | number,
78
+ * Partial<import('@agoric/vow').VowKit<Bytes>>
79
+ * >
77
80
  * >;
78
81
  * }} param0
79
82
  * @param {{
@@ -153,8 +156,10 @@ export const prepareIBCConnectionHandler = zone => {
153
156
  const rejectReason = Error('Connection closed');
154
157
  const seqToAck = channelKeyToSeqAck.get(channelKey);
155
158
 
156
- for (const ackKit of seqToAck.values()) {
157
- ackKit.resolver.reject(rejectReason);
159
+ for (const { resolver } of seqToAck.values()) {
160
+ if (resolver) {
161
+ resolver.reject(rejectReason);
162
+ }
158
163
  }
159
164
  channelKeyToSeqAck.delete(channelKey);
160
165
 
@@ -222,7 +227,12 @@ export const prepareIBCProtocol = (zone, powers) => {
222
227
  /** @type {MapStore<string, Outbound[]>} */
223
228
  const srcPortToOutbounds = detached.mapStore('srcPortToOutbounds');
224
229
 
225
- /** @type {MapStore<string, MapStore<bigint, VowKit<Bytes>>>} */
230
+ /**
231
+ * @type {MapStore<
232
+ * string,
233
+ * MapStore<bigint | number, Partial<VowKit<Bytes>>>
234
+ * >}
235
+ */
226
236
  const channelKeyToSeqAck = detached.mapStore('channelKeyToSeqAck');
227
237
 
228
238
  /** @type {MapStore<string, SetStore<VowResolver>>} */
@@ -572,8 +582,13 @@ export const prepareIBCProtocol = (zone, powers) => {
572
582
  } = packet;
573
583
  if (sequence === undefined)
574
584
  throw TypeError('acknowledgementPacket without sequence');
575
- const ackKit = util.findAckKit(channelID, portID, sequence);
576
- ackKit.resolver.resolve(base64ToBytes(acknowledgement));
585
+ const resolver = util.extractFromAckKit(
586
+ channelID,
587
+ portID,
588
+ BigInt(sequence),
589
+ 'resolver',
590
+ );
591
+ resolver && resolver.resolve(base64ToBytes(acknowledgement));
577
592
  break;
578
593
  }
579
594
 
@@ -587,8 +602,13 @@ export const prepareIBCProtocol = (zone, powers) => {
587
602
  if (sequence === undefined)
588
603
  throw TypeError('timeoutPacket without sequence');
589
604
 
590
- const ackKit = util.findAckKit(channelID, portID, sequence);
591
- ackKit.resolver.reject(Error(`Packet timed out`));
605
+ const resolver = util.extractFromAckKit(
606
+ channelID,
607
+ portID,
608
+ BigInt(sequence),
609
+ 'resolver',
610
+ );
611
+ resolver && resolver.reject(Error(`Packet timed out`));
592
612
  break;
593
613
  }
594
614
 
@@ -632,6 +652,7 @@ export const prepareIBCProtocol = (zone, powers) => {
632
652
  * @template {IBCDowncallMethod} M
633
653
  * @param {M} method
634
654
  * @param {IBCDowncall<M>} args
655
+ * @returns {Promise<IBCDowncallReturn<M>>}
635
656
  */
636
657
  downcall(method, args) {
637
658
  return E(this.state.ibcdev).downcall(method, args);
@@ -661,26 +682,61 @@ export const prepareIBCProtocol = (zone, powers) => {
661
682
  source_port: portID,
662
683
  } = fullPacket;
663
684
 
664
- /** @type {VowKit<Bytes>} */
665
- const { vow } = util.findAckKit(channelID, portID, sequence);
666
- return vow;
685
+ const vow = util.extractFromAckKit(
686
+ channelID,
687
+ portID,
688
+ BigInt(sequence),
689
+ 'vow',
690
+ );
691
+ return NonNullish(vow);
667
692
  },
668
693
 
669
694
  /**
695
+ * Find an acknowledgment kit for the specified\
696
+ * (channelID, portID, sequence), creating it if not found, and then
697
+ * extract the specified key and perform any necessary cleanup.
698
+ *
699
+ * @template {'resolver' | 'vow'} K
670
700
  * @param {IBCChannelID} channelID
671
701
  * @param {IBCPortID} portID
672
702
  * @param {bigint} sequence
703
+ * @param {K} key
704
+ * @returns {VowKit<Bytes>[K] | undefined}
673
705
  */
674
- findAckKit(channelID, portID, sequence) {
706
+ extractFromAckKit(channelID, portID, sequence, key) {
675
707
  const { channelKeyToSeqAck } = this.state;
676
708
  const channelKey = `${channelID}:${portID}`;
677
709
  const seqToAck = channelKeyToSeqAck.get(channelKey);
678
- if (seqToAck.has(sequence)) {
679
- return seqToAck.get(sequence);
710
+
711
+ // Try also looking up the sequence as a number in case it was added
712
+ // to the map before the upgrade to bigints.
713
+ for (const seq of [sequence, Number(sequence)]) {
714
+ if (!seqToAck.has(seq)) {
715
+ continue;
716
+ }
717
+
718
+ const { [key]: extracted, ...rest } = seqToAck.get(seq);
719
+ if (Reflect.has(rest, 'resolver') || Reflect.has(rest, 'vow')) {
720
+ // We have some other stuff in the kit, so just update it.
721
+ seqToAck.set(seq, harden(rest));
722
+ } else {
723
+ // We emptied everything from the kit, so now delete it. It
724
+ // shan't be resurrected, by the rules that 'vow' is used only by
725
+ // sendPacket, and 'resolver' is used only by one of
726
+ // onAcknowledgement or onTimeout.
727
+ seqToAck.delete(seq);
728
+ }
729
+ return extracted;
680
730
  }
681
- const kit = makeVowKit();
682
- seqToAck.init(sequence, kit);
683
- return kit;
731
+
732
+ /**
733
+ * We don't have a kit for this sequence yet, so create one.
734
+ *
735
+ * @type {VowKit<Bytes>}
736
+ */
737
+ const { [key]: extracted, ...rest } = makeVowKit();
738
+ seqToAck.init(sequence, harden(rest));
739
+ return extracted;
684
740
  },
685
741
  },
686
742
  ackWatcher: {
package/src/types.d.ts CHANGED
@@ -2,6 +2,7 @@ import type { BridgeId, Remote } from '@agoric/internal';
2
2
  import type { Bytes } from '@agoric/network';
3
3
  import type { Guarded } from '@endo/exo';
4
4
  import type { PacketSDKType } from '@agoric/cosmic-proto/ibc/core/channel/v1/channel.js';
5
+ import type { JsonSafe } from '@agoric/cosmic-proto';
5
6
  export type Board = ReturnType<ReturnType<typeof import('./lib-board.js').prepareBoardKit>>['board'];
6
7
  /**
7
8
  * read-only access to a node in a name hierarchy
@@ -112,7 +113,7 @@ export type IBCPortID = string;
112
113
  export type IBCChannelID = `channel-${number}`;
113
114
  export type IBCConnectionID = `connection-${number}`;
114
115
  export type IBCChannelOrdering = 'ORDERED' | 'UNORDERED';
115
- export type IBCPacket = {
116
+ export type IBCPacket = JsonSafe<{
116
117
  data: Bytes;
117
118
  source_channel: IBCChannelID;
118
119
  source_port: IBCPortID;
@@ -121,7 +122,7 @@ export type IBCPacket = {
121
122
  sequence?: PacketSDKType['sequence'];
122
123
  timeout_height?: PacketSDKType['timeout_height'];
123
124
  timeout_timestamp?: PacketSDKType['timeout_timestamp'];
124
- };
125
+ }>;
125
126
  export type IBCCounterParty = {
126
127
  port_id: IBCPortID;
127
128
  channel_id: IBCChannelID;
@@ -198,6 +199,9 @@ type IBCMethodEvents = {
198
199
  };
199
200
  initOpenExecuted: ChannelOpenAckDowncall;
200
201
  };
202
+ type IBCMethodReturns = {
203
+ sendPacket: Required<IBCPacket>;
204
+ };
201
205
  export type IBCMethod<M extends IBCDowncallMethod> = {
202
206
  type: 'IBC_METHOD';
203
207
  method: M;
@@ -207,6 +211,7 @@ export type IBCMethod<M extends IBCDowncallMethod> = {
207
211
  export type IBCDowncall<M extends IBCDowncallMethod> = {
208
212
  [K in keyof IBCMethodEvents[M]]: IBCMethodEvents[M][K];
209
213
  };
214
+ export type IBCDowncallReturn<M extends IBCDowncallMethod> = M extends keyof IBCMethodReturns ? IBCMethodReturns[M] : void;
210
215
  export type IBCDowncallPacket<M extends IBCDowncallMethod> = IBCMethodEvents[M] extends {
211
216
  packet: infer P;
212
217
  } ? P : never;
@@ -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":"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"}
package/src/types.ts CHANGED
@@ -3,6 +3,7 @@ import type { BridgeId, Remote } from '@agoric/internal';
3
3
  import type { Bytes } from '@agoric/network';
4
4
  import type { Guarded } from '@endo/exo';
5
5
  import type { PacketSDKType } from '@agoric/cosmic-proto/ibc/core/channel/v1/channel.js';
6
+ import type { JsonSafe } from '@agoric/cosmic-proto';
6
7
  import type { LocalChainAccount } from './localchain.js';
7
8
  import type { TargetApp } from './bridge-target.js';
8
9
 
@@ -137,7 +138,7 @@ export type IBCChannelID = `channel-${number}`;
137
138
  export type IBCConnectionID = `connection-${number}`;
138
139
  export type IBCChannelOrdering = 'ORDERED' | 'UNORDERED';
139
140
 
140
- export type IBCPacket = {
141
+ export type IBCPacket = JsonSafe<{
141
142
  data: Bytes;
142
143
  source_channel: IBCChannelID;
143
144
  source_port: IBCPortID;
@@ -146,7 +147,7 @@ export type IBCPacket = {
146
147
  sequence?: PacketSDKType['sequence'];
147
148
  timeout_height?: PacketSDKType['timeout_height'];
148
149
  timeout_timestamp?: PacketSDKType['timeout_timestamp'];
149
- };
150
+ }>;
150
151
 
151
152
  export type IBCCounterParty = {
152
153
  port_id: IBCPortID;
@@ -233,10 +234,13 @@ type IBCMethodEvents = {
233
234
  timeoutExecuted: {
234
235
  packet: IBCPacket;
235
236
  };
236
- // XXX why isn't this in receiver.go?
237
237
  initOpenExecuted: ChannelOpenAckDowncall;
238
238
  };
239
239
 
240
+ type IBCMethodReturns = {
241
+ sendPacket: Required<IBCPacket>;
242
+ };
243
+
240
244
  export type IBCMethod<M extends IBCDowncallMethod> = {
241
245
  type: 'IBC_METHOD';
242
246
  method: M;
@@ -248,6 +252,9 @@ export type IBCDowncall<M extends IBCDowncallMethod> = {
248
252
  [K in keyof IBCMethodEvents[M]]: IBCMethodEvents[M][K];
249
253
  };
250
254
 
255
+ export type IBCDowncallReturn<M extends IBCDowncallMethod> =
256
+ M extends keyof IBCMethodReturns ? IBCMethodReturns[M] : void;
257
+
251
258
  export type IBCDowncallPacket<M extends IBCDowncallMethod> =
252
259
  IBCMethodEvents[M] extends { packet: infer P } ? P : never;
253
260