@agoric/internal 0.4.0-upgrade-18-dev-aaebae4.0 → 0.4.0-upgrade-18-dev-cc4b6b8.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.
Files changed (44) hide show
  1. package/README.md +4 -4
  2. package/package.json +16 -15
  3. package/src/action-types.d.ts +48 -5
  4. package/src/action-types.d.ts.map +1 -1
  5. package/src/action-types.js +71 -14
  6. package/src/batched-deliver.d.ts.map +1 -1
  7. package/src/callback.d.ts +1 -1
  8. package/src/callback.d.ts.map +1 -1
  9. package/src/chain-storage-paths.d.ts.map +1 -1
  10. package/src/chain-utils.d.ts +25 -0
  11. package/src/chain-utils.d.ts.map +1 -0
  12. package/src/chain-utils.js +57 -0
  13. package/src/errors.d.ts +1 -1
  14. package/src/errors.d.ts.map +1 -1
  15. package/src/index.d.ts +3 -1
  16. package/src/index.js +3 -1
  17. package/src/js-utils.d.ts +7 -0
  18. package/src/js-utils.d.ts.map +1 -0
  19. package/src/js-utils.js +89 -0
  20. package/src/lib-chainStorage.d.ts +1 -23
  21. package/src/lib-chainStorage.d.ts.map +1 -1
  22. package/src/lib-nodejs/engine-gc.d.ts +1 -1
  23. package/src/marshal.d.ts +8 -2
  24. package/src/marshal.d.ts.map +1 -1
  25. package/src/marshal.js +7 -0
  26. package/src/netstring.d.ts +2 -2
  27. package/src/netstring.d.ts.map +1 -1
  28. package/src/netstring.js +1 -0
  29. package/src/node/buffer-line-transform.d.ts +3 -3
  30. package/src/node/buffer-line-transform.d.ts.map +1 -1
  31. package/src/node/fs-stream.js +2 -2
  32. package/src/node/shutdown.d.ts.map +1 -1
  33. package/src/node/shutdown.js +0 -1
  34. package/src/{utils.d.ts → ses-utils.d.ts} +1 -7
  35. package/src/ses-utils.d.ts.map +1 -0
  36. package/src/{utils.js → ses-utils.js} +4 -72
  37. package/src/storage-test-utils.d.ts +8 -1
  38. package/src/storage-test-utils.d.ts.map +1 -1
  39. package/src/storage-test-utils.js +55 -10
  40. package/src/tokens.d.ts.map +1 -1
  41. package/src/types.d.ts +1 -1
  42. package/src/types.d.ts.map +1 -1
  43. package/src/types.ts +1 -1
  44. package/src/utils.d.ts.map +0 -1
package/README.md CHANGED
@@ -10,11 +10,11 @@ Like all `@agoric` packages it follows Semantic Versioning. Unlike the others, i
10
10
 
11
11
  # Design
12
12
 
13
- It is meant to be a home for modules that have no Agoric-specific dependencies themselves. It does depend on a these other @agoric packages but they are all destined to migrate out of the repo,
13
+ It is meant to be a home for modules that have no dependencies on other packages in this repository, except for the following packages that do not theirselves depend upon any other @agoric packages and may be destined for migration elsewhere:
14
14
 
15
- - base-zone
16
- - store
17
- - assert
15
+ - [base-zone](../base-zone)
16
+ - [store](../store)
17
+ - [cosmic-proto](../cosmic-proto)
18
18
 
19
19
  This package may not take dependencies on any others in this repository.
20
20
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/internal",
3
- "version": "0.4.0-upgrade-18-dev-aaebae4.0+aaebae4",
3
+ "version": "0.4.0-upgrade-18-dev-cc4b6b8.0+cc4b6b8",
4
4
  "description": "Externally unsupported utilities internal to agoric-sdk",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -20,22 +20,23 @@
20
20
  "lint:types": "tsc"
21
21
  },
22
22
  "dependencies": {
23
- "@agoric/base-zone": "0.1.1-upgrade-18-dev-aaebae4.0+aaebae4",
24
- "@endo/common": "^1.2.7",
25
- "@endo/errors": "^1.2.7",
26
- "@endo/far": "^1.1.8",
27
- "@endo/init": "^1.1.6",
28
- "@endo/marshal": "^1.6.1",
29
- "@endo/pass-style": "^1.4.6",
30
- "@endo/patterns": "^1.4.6",
31
- "@endo/promise-kit": "^1.1.7",
32
- "@endo/stream": "^1.2.7",
23
+ "@agoric/base-zone": "0.1.1-upgrade-18-dev-cc4b6b8.0+cc4b6b8",
24
+ "@endo/common": "^1.2.8",
25
+ "@endo/errors": "^1.2.8",
26
+ "@endo/far": "^1.1.9",
27
+ "@endo/init": "^1.1.7",
28
+ "@endo/marshal": "^1.6.2",
29
+ "@endo/pass-style": "^1.4.7",
30
+ "@endo/patterns": "^1.4.7",
31
+ "@endo/promise-kit": "^1.1.8",
32
+ "@endo/stream": "^1.2.8",
33
33
  "anylogger": "^0.21.0",
34
34
  "jessie.js": "^0.3.4"
35
35
  },
36
36
  "devDependencies": {
37
- "@endo/exo": "^1.5.6",
38
- "@endo/init": "^1.1.6",
37
+ "@agoric/cosmic-proto": "0.5.0-upgrade-18-dev-cc4b6b8.0+cc4b6b8",
38
+ "@endo/exo": "^1.5.7",
39
+ "@endo/init": "^1.1.7",
39
40
  "ava": "^5.3.0",
40
41
  "tsd": "^0.31.1"
41
42
  },
@@ -57,7 +58,7 @@
57
58
  "access": "public"
58
59
  },
59
60
  "typeCoverage": {
60
- "atLeast": 93.42
61
+ "atLeast": 93.06
61
62
  },
62
- "gitHead": "aaebae4892112869b545faad80bfbe0b8d8602b8"
63
+ "gitHead": "cc4b6b8b8131b14b4e50f45ff01d6018f9ee3995"
63
64
  }
@@ -1,18 +1,61 @@
1
+ /**
2
+ * Types of messages used for communication between a cosmos-sdk blockchain node
3
+ * and its paired swingset VM, especially for the ABCI lifecycle. See:
4
+ *
5
+ * - https://github.com/tendermint/tendermint/blob/v0.34.x/spec/abci/abci.md#block-execution
6
+ * - ../../../golang/cosmos/vm/action.go
7
+ * - ../../../golang/cosmos/app/app.go
8
+ * - ../../../golang/cosmos/x/swingset/abci.go
9
+ * - ../../../golang/cosmos/x/swingset/keeper/swing_store_exports_handler.go
10
+ * - ../../cosmic-swingset/src/chain-main.js
11
+ * - ../../cosmic-swingset/src/launch-chain.js
12
+ */
13
+ export type SwingsetMessageType = (typeof SwingsetMessageType)[keyof typeof SwingsetMessageType];
14
+ export namespace SwingsetMessageType {
15
+ let AG_COSMOS_INIT: "AG_COSMOS_INIT";
16
+ let BEGIN_BLOCK: "BEGIN_BLOCK";
17
+ let END_BLOCK: "END_BLOCK";
18
+ let COMMIT_BLOCK: "COMMIT_BLOCK";
19
+ let AFTER_COMMIT_BLOCK: "AFTER_COMMIT_BLOCK";
20
+ let SWING_STORE_EXPORT: "SWING_STORE_EXPORT";
21
+ }
1
22
  export const AG_COSMOS_INIT: "AG_COSMOS_INIT";
2
- export const SWING_STORE_EXPORT: "SWING_STORE_EXPORT";
3
23
  export const BEGIN_BLOCK: "BEGIN_BLOCK";
4
- export const CALCULATE_FEES_IN_BEANS: "CALCULATE_FEES_IN_BEANS";
5
- export const CORE_EVAL: "CORE_EVAL";
6
- export const DELIVER_INBOUND: "DELIVER_INBOUND";
7
24
  export const END_BLOCK: "END_BLOCK";
8
25
  export const COMMIT_BLOCK: "COMMIT_BLOCK";
9
26
  export const AFTER_COMMIT_BLOCK: "AFTER_COMMIT_BLOCK";
27
+ export const SWING_STORE_EXPORT: "SWING_STORE_EXPORT";
28
+ /**
29
+ * Types of "action" messages consumed by the swingset VM from actionQueue or
30
+ * highPriorityQueue during END_BLOCK. See:
31
+ *
32
+ * - ../../../golang/cosmos/x/swingset/keeper/msg_server.go
33
+ * - ../../../golang/cosmos/x/swingset/keeper/proposal.go
34
+ * - ../../../golang/cosmos/x/vbank/vbank.go
35
+ * - ../../../golang/cosmos/x/vibc/handler.go
36
+ * - ../../../golang/cosmos/x/vibc/keeper/triggers.go
37
+ * - ../../../golang/cosmos/x/vibc/types/ibc_module.go
38
+ */
39
+ export type QueuedActionType = (typeof QueuedActionType)[keyof typeof QueuedActionType];
40
+ export namespace QueuedActionType {
41
+ let CORE_EVAL: "CORE_EVAL";
42
+ let DELIVER_INBOUND: "DELIVER_INBOUND";
43
+ let IBC_EVENT: "IBC_EVENT";
44
+ let INSTALL_BUNDLE: "INSTALL_BUNDLE";
45
+ let PLEASE_PROVISION: "PLEASE_PROVISION";
46
+ let VBANK_BALANCE_UPDATE: "VBANK_BALANCE_UPDATE";
47
+ let WALLET_ACTION: "WALLET_ACTION";
48
+ let WALLET_SPEND_ACTION: "WALLET_SPEND_ACTION";
49
+ }
50
+ export const CORE_EVAL: "CORE_EVAL";
51
+ export const DELIVER_INBOUND: "DELIVER_INBOUND";
10
52
  export const IBC_EVENT: "IBC_EVENT";
53
+ export const INSTALL_BUNDLE: "INSTALL_BUNDLE";
11
54
  export const PLEASE_PROVISION: "PLEASE_PROVISION";
12
55
  export const VBANK_BALANCE_UPDATE: "VBANK_BALANCE_UPDATE";
13
56
  export const WALLET_ACTION: "WALLET_ACTION";
14
57
  export const WALLET_SPEND_ACTION: "WALLET_SPEND_ACTION";
15
- export const INSTALL_BUNDLE: "INSTALL_BUNDLE";
58
+ export const CALCULATE_FEES_IN_BEANS: "CALCULATE_FEES_IN_BEANS";
16
59
  export const VTRANSFER_IBC_EVENT: "VTRANSFER_IBC_EVENT";
17
60
  export const KERNEL_UPGRADE_EVENTS: "KERNEL_UPGRADE_EVENTS";
18
61
  //# sourceMappingURL=action-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-types.d.ts","sourceRoot":"","sources":["action-types.js"],"names":[],"mappings":"AAEA,8CAA+C;AAC/C,sDAAuD;AACvD,wCAAyC;AACzC,gEAAiE;AACjE,oCAAqC;AACrC,gDAAiD;AACjD,oCAAqC;AACrC,0CAA2C;AAC3C,sDAAuD;AACvD,oCAAqC;AACrC,kDAAmD;AACnD,0DAA2D;AAC3D,4CAA6C;AAC7C,wDAAyD;AACzD,8CAA+C;AAC/C,wDAAyD;AACzD,4DAA6D"}
1
+ {"version":3,"file":"action-types.d.ts","sourceRoot":"","sources":["action-types.js"],"names":[],"mappings":";;;;;;;;;;;;kCAcU,CAAC,OAAO,mBAAmB,EAAE,MAAM,OAAO,mBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;+BAiC9D,CAAC,OAAO,gBAAgB,EAAE,MAAM,OAAO,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;AA0BlE,sCAAuC,yBAAyB,CAAC;AACjE,kCAAmC,qBAAqB,CAAC;AACzD,oCAAqC,uBAAuB,CAAC"}
@@ -1,19 +1,76 @@
1
1
  // @jessie-check
2
2
 
3
- export const AG_COSMOS_INIT = 'AG_COSMOS_INIT';
4
- export const SWING_STORE_EXPORT = 'SWING_STORE_EXPORT';
5
- export const BEGIN_BLOCK = 'BEGIN_BLOCK';
3
+ /**
4
+ * Types of messages used for communication between a cosmos-sdk blockchain node
5
+ * and its paired swingset VM, especially for the ABCI lifecycle. See:
6
+ *
7
+ * - https://github.com/tendermint/tendermint/blob/v0.34.x/spec/abci/abci.md#block-execution
8
+ * - ../../../golang/cosmos/vm/action.go
9
+ * - ../../../golang/cosmos/app/app.go
10
+ * - ../../../golang/cosmos/x/swingset/abci.go
11
+ * - ../../../golang/cosmos/x/swingset/keeper/swing_store_exports_handler.go
12
+ * - ../../cosmic-swingset/src/chain-main.js
13
+ * - ../../cosmic-swingset/src/launch-chain.js
14
+ *
15
+ * @enum {(typeof SwingsetMessageType)[keyof typeof SwingsetMessageType]}
16
+ */
17
+ export const SwingsetMessageType = /** @type {const} */ ({
18
+ AG_COSMOS_INIT: 'AG_COSMOS_INIT', // used to synchronize at process launch
19
+ BEGIN_BLOCK: 'BEGIN_BLOCK',
20
+ END_BLOCK: 'END_BLOCK',
21
+ COMMIT_BLOCK: 'COMMIT_BLOCK',
22
+ AFTER_COMMIT_BLOCK: 'AFTER_COMMIT_BLOCK',
23
+ SWING_STORE_EXPORT: 'SWING_STORE_EXPORT', // used to synchronize data export
24
+ });
25
+ harden(SwingsetMessageType);
26
+
27
+ // TODO: Update all imports to use SwingsetMessageType. But until then...
28
+ export const {
29
+ AG_COSMOS_INIT,
30
+ BEGIN_BLOCK,
31
+ END_BLOCK,
32
+ COMMIT_BLOCK,
33
+ AFTER_COMMIT_BLOCK,
34
+ SWING_STORE_EXPORT,
35
+ } = SwingsetMessageType;
36
+
37
+ /**
38
+ * Types of "action" messages consumed by the swingset VM from actionQueue or
39
+ * highPriorityQueue during END_BLOCK. See:
40
+ *
41
+ * - ../../../golang/cosmos/x/swingset/keeper/msg_server.go
42
+ * - ../../../golang/cosmos/x/swingset/keeper/proposal.go
43
+ * - ../../../golang/cosmos/x/vbank/vbank.go
44
+ * - ../../../golang/cosmos/x/vibc/handler.go
45
+ * - ../../../golang/cosmos/x/vibc/keeper/triggers.go
46
+ * - ../../../golang/cosmos/x/vibc/types/ibc_module.go
47
+ *
48
+ * @enum {(typeof QueuedActionType)[keyof typeof QueuedActionType]}
49
+ */
50
+ export const QueuedActionType = /** @type {const} */ ({
51
+ CORE_EVAL: 'CORE_EVAL',
52
+ DELIVER_INBOUND: 'DELIVER_INBOUND',
53
+ IBC_EVENT: 'IBC_EVENT',
54
+ INSTALL_BUNDLE: 'INSTALL_BUNDLE',
55
+ PLEASE_PROVISION: 'PLEASE_PROVISION',
56
+ VBANK_BALANCE_UPDATE: 'VBANK_BALANCE_UPDATE',
57
+ WALLET_ACTION: 'WALLET_ACTION',
58
+ WALLET_SPEND_ACTION: 'WALLET_SPEND_ACTION',
59
+ });
60
+ harden(QueuedActionType);
61
+
62
+ // TODO: Update all imports to use QueuedActionType. But until then...
63
+ export const {
64
+ CORE_EVAL,
65
+ DELIVER_INBOUND,
66
+ IBC_EVENT,
67
+ INSTALL_BUNDLE,
68
+ PLEASE_PROVISION,
69
+ VBANK_BALANCE_UPDATE,
70
+ WALLET_ACTION,
71
+ WALLET_SPEND_ACTION,
72
+ } = QueuedActionType;
73
+
6
74
  export const CALCULATE_FEES_IN_BEANS = 'CALCULATE_FEES_IN_BEANS';
7
- export const CORE_EVAL = 'CORE_EVAL';
8
- export const DELIVER_INBOUND = 'DELIVER_INBOUND';
9
- export const END_BLOCK = 'END_BLOCK';
10
- export const COMMIT_BLOCK = 'COMMIT_BLOCK';
11
- export const AFTER_COMMIT_BLOCK = 'AFTER_COMMIT_BLOCK';
12
- export const IBC_EVENT = 'IBC_EVENT';
13
- export const PLEASE_PROVISION = 'PLEASE_PROVISION';
14
- export const VBANK_BALANCE_UPDATE = 'VBANK_BALANCE_UPDATE';
15
- export const WALLET_ACTION = 'WALLET_ACTION';
16
- export const WALLET_SPEND_ACTION = 'WALLET_SPEND_ACTION';
17
- export const INSTALL_BUNDLE = 'INSTALL_BUNDLE';
18
75
  export const VTRANSFER_IBC_EVENT = 'VTRANSFER_IBC_EVENT';
19
76
  export const KERNEL_UPGRADE_EVENTS = 'KERNEL_UPGRADE_EVENTS';
@@ -1 +1 @@
1
- {"version":3,"file":"batched-deliver.d.ts","sourceRoot":"","sources":["batched-deliver.js"],"names":[],"mappings":"AAKA;;GAEG;AAEH;;;;;;;GAOG;AACH,4CAPW,eAAe,gCACf;IACN,YAAY,EAAE,8BAAkC,CAAC;IACjD,UAAU,EAAE,4BAAgC,CAAC;CAC9C,mBACO,MAAM,aATM,OAAO,EAAE,UAAU,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAiDjE;AApDD,4CAA6C;8BAGhC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"batched-deliver.d.ts","sourceRoot":"","sources":["batched-deliver.js"],"names":[],"mappings":"AAKA;;GAEG;AAEH;;;;;;;GAOG;AACH,4CAPW,eAAe,gCACf;IACN,YAAY,EAAE,8BAAkC,CAAC;IACjD,UAAU,EAAE,4BAAgC,CAAC;CAC9C,mBACO,MAAM,aATM,OAAO,EAAE,UAAU,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAiDjE;AApDD,uCAAwC,IAAI,CAAC;8BAGhC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC"}
package/src/callback.d.ts CHANGED
@@ -15,7 +15,7 @@ export function prepareAttenuator<M extends PropertyKey>(zone: import("@agoric/b
15
15
  }) => import("@endo/exo").Guarded<{ [K_2 in M]: (this: any, ...args: any[]) => any; }>;
16
16
  export function prepareGuardedAttenuator<G extends import("@endo/patterns").InterfaceGuard>(zone: import("@agoric/base-zone").Zone, interfaceGuard: G, opts?: {
17
17
  tag?: string | undefined;
18
- } | undefined): MakeAttenuator<any>;
18
+ }): MakeAttenuator<any>;
19
19
  export type MakeAttenuator<T extends import("@endo/exo").Methods> = (...args: Parameters<ReturnType<(<M extends PropertyKey>(zone: import("@agoric/base-zone").Zone, methodNames: M[], { interfaceGuard, tag }?: {
20
20
  interfaceGuard?: import("@endo/patterns").InterfaceGuard<{ [K in M]: import("@endo/patterns").MethodGuard; }> | undefined;
21
21
  tag?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["callback.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["callback.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chain-storage-paths.d.ts","sourceRoot":"","sources":["chain-storage-paths.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,yCAA0C;AAC1C,sDAAuD;AACvD,0DAA2D;AAC3D,sCAAuC;AACvC,8BAA+B;AAC/B,gCAAiC;AACjC,gCAAiC;AACjC,iCAAkC;AAClC,uCAAwC"}
1
+ {"version":3,"file":"chain-storage-paths.d.ts","sourceRoot":"","sources":["chain-storage-paths.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,2BAA4B,aAAa,CAAC;AAC1C,kCAAmC,mBAAmB,CAAC;AACvD,oCAAqC,qBAAqB,CAAC;AAC3D,yBAA0B,YAAY,CAAC;AACvC,qBAAsB,QAAQ,CAAC;AAC/B,sBAAuB,SAAS,CAAC;AACjC,sBAAuB,SAAS,CAAC;AACjC,qBAAsB,WAAW,CAAC;AAClC,0BAA2B,YAAY,CAAC"}
@@ -0,0 +1,25 @@
1
+ export function makeInitMsg(initAction: any): InitMsg;
2
+ export type NatString = `${bigint}`;
3
+ export type BlockInfo = {
4
+ blockHeight: number;
5
+ /**
6
+ * POSIX Seconds Since the Epoch
7
+ */
8
+ blockTime: number;
9
+ params: import("@agoric/cosmic-proto/swingset/swingset.js").ParamsSDKType;
10
+ };
11
+ /**
12
+ * cosmosInitAction fields that are subject to consensus. See cosmosInitAction
13
+ * in {@link ../../../golang/cosmos/app/app.go}.
14
+ */
15
+ export type InitMsg = BlockInfo & {
16
+ type: typeof _ActionType.AG_COSMOS_INIT;
17
+ chainID: string;
18
+ isBootstrap?: boolean;
19
+ supplyCoins: {
20
+ denom: string;
21
+ amount: NatString;
22
+ }[];
23
+ };
24
+ import * as _ActionType from './action-types.js';
25
+ //# sourceMappingURL=chain-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-utils.d.ts","sourceRoot":"","sources":["chain-utils.js"],"names":[],"mappings":"AAsCO,wCAHI,GAAG,GACD,OAAO,CAoBnB;wBA1Ca,GAAG,MAAM,EAAE;;iBAIX,MAAM;;;;eACN,MAAM;YACN,OAAO,2CAA2C,EAAE,aAAa;;;;;;sBAIlE,SAAS,GAAG;IACpB,IAAI,EAAE,OAAO,WAAW,CAAC,cAAc,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,EAAE,CAAC;CACrD;6BAjByB,mBAAmB"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @file Types and utilities for supporting blockchain functionality without
3
+ * risking import cycles.
4
+ *
5
+ * TODO: Integrate (or integrate with) any/all of:
6
+ *
7
+ * - ./action-types.js
8
+ * - ./chain-storage-paths.js
9
+ * - ./config.js
10
+ * - ../../cosmic-proto (if comfortable co-residing with generated code)
11
+ */
12
+
13
+ import * as _ActionType from './action-types.js';
14
+
15
+ /** @typedef {`${bigint}`} NatString */
16
+
17
+ /**
18
+ * @typedef {object} BlockInfo
19
+ * @property {number} blockHeight
20
+ * @property {number} blockTime POSIX Seconds Since the Epoch
21
+ * @property {import('@agoric/cosmic-proto/swingset/swingset.js').ParamsSDKType} params
22
+ */
23
+
24
+ /**
25
+ * @typedef {BlockInfo & {
26
+ * type: typeof _ActionType.AG_COSMOS_INIT;
27
+ * chainID: string;
28
+ * isBootstrap?: boolean;
29
+ * supplyCoins: { denom: string; amount: NatString }[];
30
+ * }} InitMsg
31
+ * cosmosInitAction fields that are subject to consensus. See cosmosInitAction
32
+ * in {@link ../../../golang/cosmos/app/app.go}.
33
+ */
34
+
35
+ /**
36
+ * @param {any} initAction
37
+ * @returns {InitMsg}
38
+ */
39
+ export const makeInitMsg = initAction => {
40
+ const {
41
+ type,
42
+ blockHeight,
43
+ blockTime,
44
+ chainID,
45
+ params,
46
+ // NB: resolvedConfig is independent of consensus and MUST NOT be included
47
+ supplyCoins,
48
+ } = initAction;
49
+ return {
50
+ type,
51
+ blockHeight,
52
+ blockTime,
53
+ chainID,
54
+ params,
55
+ supplyCoins,
56
+ };
57
+ };
package/src/errors.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export function NonNullish<T>(val: T | null | undefined, optDetails?: string | undefined): T;
1
+ export function NonNullish<T>(val: T | null | undefined, optDetails?: string): T;
2
2
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["errors.js"],"names":[],"mappings":"AAQO,2BALM,CAAC,OACH,CAAC,GAAG,IAAI,GAAG,SAAS,oCAElB,CAAC,CAQb"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["errors.js"],"names":[],"mappings":"AAQO,2BALM,CAAC,OACH,CAAC,GAAG,IAAI,GAAG,SAAS,eACpB,MAAM,GACJ,CAAC,CAQb"}
package/src/index.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  export * from "./config.js";
2
2
  export * from "./debug.js";
3
3
  export * from "./errors.js";
4
- export * from "./utils.js";
4
+ export * from "./js-utils.js";
5
5
  export * from "./method-tools.js";
6
+ export * from "./ses-utils.js";
6
7
  export * from "./typeCheck.js";
7
8
  export * from "./typeGuards.js";
8
9
  export * from "./types-index.js";
10
+ export { pureDataMarshaller } from "./marshal.js";
9
11
  export { objectMap } from "@endo/common/object-map.js";
10
12
  export { objectMetaMap } from "@endo/common/object-meta-map.js";
11
13
  export { fromUniqueEntries } from "@endo/common/from-unique-entries.js";
package/src/index.js CHANGED
@@ -5,8 +5,10 @@
5
5
  export * from './config.js';
6
6
  export * from './debug.js';
7
7
  export * from './errors.js';
8
- export * from './utils.js';
8
+ export * from './js-utils.js';
9
+ export { pureDataMarshaller } from './marshal.js';
9
10
  export * from './method-tools.js';
11
+ export * from './ses-utils.js';
10
12
  export * from './typeCheck.js';
11
13
  export * from './typeGuards.js';
12
14
 
@@ -0,0 +1,7 @@
1
+ export function deepCopyJsonable<T>(value: T): T;
2
+ export function deepMapObject(obj: object, mapper: (value: any, name: string, record: object) => any): object;
3
+ export function makeMeasureSeconds(currentTimeMillisec: () => number): <T>(fn: () => Promise<T>) => Promise<{
4
+ result: T;
5
+ duration: number;
6
+ }>;
7
+ //# sourceMappingURL=js-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-utils.d.ts","sourceRoot":"","sources":["js-utils.js"],"names":[],"mappings":"AAgBO,iCAJM,CAAC,SACH,CAAC,GACC,CAAC,CAE4D;AAiDnE,mCAJI,MAAM,UACN,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,GAAG,GAC/C,MAAM,CAGuC;AASnD,wDAFI,MAAM,MAAM,IAIR,CAAC,MACH,MAAM,OAAO,CAAC,CAAC,CAAC,KACd,OAAO,CAAC;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAStD"}
@@ -0,0 +1,89 @@
1
+ // @ts-check
2
+ // @jessie-check
3
+ /**
4
+ * @file Pure JavaScript utility functions that are compatible with but not
5
+ * dependent upon a hardened environment.
6
+ */
7
+
8
+ /**
9
+ * Deep-copy a value by round-tripping it through JSON (which drops
10
+ * function/symbol/undefined values and properties that are non-enumerable
11
+ * and/or symbol-keyed, and rejects bigint values).
12
+ *
13
+ * @template T
14
+ * @param {T} value
15
+ * @returns {T}
16
+ */
17
+ export const deepCopyJsonable = value => JSON.parse(JSON.stringify(value));
18
+
19
+ /**
20
+ * @param {any} value
21
+ * @param {string | undefined} name
22
+ * @param {object | undefined} container
23
+ * @param {(value: any, name: string, record: object) => any} mapper
24
+ * @returns {any}
25
+ */
26
+ const deepMapObjectInternal = (value, name, container, mapper) => {
27
+ if (container && typeof name === 'string') {
28
+ const mapped = mapper(value, name, container);
29
+ if (mapped !== value) {
30
+ return mapped;
31
+ }
32
+ }
33
+
34
+ if (typeof value !== 'object' || !value) {
35
+ return value;
36
+ }
37
+
38
+ let wasMapped = false;
39
+ const mappedEntries = Object.entries(value).map(([innerName, innerValue]) => {
40
+ const mappedInnerValue = deepMapObjectInternal(
41
+ innerValue,
42
+ innerName,
43
+ value,
44
+ mapper,
45
+ );
46
+ wasMapped ||= mappedInnerValue !== innerValue;
47
+ return [innerName, mappedInnerValue];
48
+ });
49
+
50
+ return wasMapped ? Object.fromEntries(mappedEntries) : value;
51
+ };
52
+
53
+ /**
54
+ * Recursively traverses a record object structure, calling a mapper function
55
+ * for each enumerable string-keyed property and returning a record composed of
56
+ * the results. If none of the values are changed, the original object is
57
+ * returned, maintaining its identity.
58
+ *
59
+ * When the property value is an object, it is sent to the mapper like any other
60
+ * value, and then recursively traversed unless replaced with a distinct value.
61
+ *
62
+ * @param {object} obj
63
+ * @param {(value: any, name: string, record: object) => any} mapper
64
+ * @returns {object}
65
+ */
66
+ export const deepMapObject = (obj, mapper) =>
67
+ deepMapObjectInternal(obj, undefined, undefined, mapper);
68
+
69
+ /**
70
+ * Returns a function that uses a millisecond-based current-time capability
71
+ * (such as `performance.now`) to measure execution duration of an async
72
+ * function and report the result in seconds to match our telemetry standard.
73
+ *
74
+ * @param {() => number} currentTimeMillisec
75
+ */
76
+ export const makeMeasureSeconds = currentTimeMillisec => {
77
+ /**
78
+ * @template T
79
+ * @param {() => Promise<T>} fn
80
+ * @returns {Promise<{ result: T; duration: number }>}
81
+ */
82
+ const measureSeconds = async fn => {
83
+ const t0 = currentTimeMillisec();
84
+ const result = await fn();
85
+ const durationMillisec = currentTimeMillisec() - t0;
86
+ return { result, duration: durationMillisec / 1000 };
87
+ };
88
+ return measureSeconds;
89
+ };
@@ -13,23 +13,12 @@
13
13
  */
14
14
  export function makeChainStorageRoot(handleStorageMessage: (message: StorageMessage) => any, rootPath: string, rootOptions?: {
15
15
  sequence?: boolean | undefined;
16
- } | undefined): import("@endo/exo").Guarded<{
16
+ }): import("@endo/exo").Guarded<{
17
17
  getPath(): string;
18
- /**
19
- * @deprecated use getPath
20
- * @type {() => Promise<VStorageKey>}
21
- */
22
18
  getStoreKey(): Promise<VStorageKey>;
23
- /**
24
- * @type {(
25
- * name: string,
26
- * childNodeOptions?: { sequence?: boolean },
27
- * ) => StorageNode}
28
- */
29
19
  makeChildNode(name: string, childNodeOptions?: {
30
20
  sequence?: boolean;
31
21
  }): StorageNode;
32
- /** @type {(value: string) => Promise<void>} */
33
22
  setValue(value: string): Promise<void>;
34
23
  }>;
35
24
  /**
@@ -50,21 +39,10 @@ export function prepareChainStorageNode(zone: import("@agoric/base-zone").Zone):
50
39
  sequence?: boolean | undefined;
51
40
  } | undefined) => import("@endo/exo").Guarded<{
52
41
  getPath(): string;
53
- /**
54
- * @deprecated use getPath
55
- * @type {() => Promise<VStorageKey>}
56
- */
57
42
  getStoreKey(): Promise<VStorageKey>;
58
- /**
59
- * @type {(
60
- * name: string,
61
- * childNodeOptions?: { sequence?: boolean },
62
- * ) => StorageNode}
63
- */
64
43
  makeChildNode(name: string, childNodeOptions?: {
65
44
  sequence?: boolean;
66
45
  }): StorageNode;
67
- /** @type {(value: string) => Promise<void>} */
68
46
  setValue(value: string): Promise<void>;
69
47
  }>;
70
48
  export function makeSerializeToStorage(storageNode: ERef<StorageNode>, marshaller: ERef<Marshaller>): (value: PassableCap) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"lib-chainStorage.d.ts","sourceRoot":"","sources":["lib-chainStorage.js"],"names":[],"mappings":"AAyPA;;;;;;;;;;;;GAYG;AACH,2DATW,CAAC,OAAO,EAAE,cAAc,KAAK,GAAG,YAGhC,MAAM;;;;IAhEX;;;OAGG;mBADa,OAAO,CAAC,WAAW,CAAC;IASpC;;;;;OAKG;wBAHQ,MAAM,qBACO;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,WAAW;IAYnB,+CAA+C;oBAA5B,MAAM,GAAK,OAAO,CAAC,IAAI,CAAC;GAqDhD;AAcD;;;;;;;;GAQG;AACH,qDAJW,KAAK,WAAW,OAAC,CAAC,aAClB,MAAM,GACJ,OAAO,CAAC,WAAW,CAAC,CAMhC;AApOM,mCAHI,GAAG,GACD,IAAI,IAAI,UAAU,CAOa;AASrC,oCAHI,OAAO,GACL,QAAQ,IAAI,IAAI,OAAO,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,CAQnE;AAmBD,qCAAqC;AACrC,gCADW,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAI/B;AAyCK,8CAFI,OAAO,mBAAmB,EAAE,IAAI,uDAwBxB,cAAc,KAAK,GAAG;;;;IAenC;;;OAGG;mBADa,OAAO,CAAC,WAAW,CAAC;IASpC;;;;;OAKG;wBAHQ,MAAM,qBACO;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,WAAW;IAYnB,+CAA+C;oBAA5B,MAAM,GAAK,OAAO,CAAC,IAAI,CAAC;GA0BhD;AA+DM,oDAJI,KAAK,WAAW,CAAC,cACjB,KAAK,UAAU,CAAC,GACd,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAQjD;yBA7Sa,UAAU,CAAC,cAAc,eAAe,EAAE,WAAW,CAAC;2BACtD,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;;;;;eAM/B,MAAM;iBACN,MAAM;qBACN,MAAM;;;uBAKN,CAAC;;;;iBAED,MAAM;YACN,CAAC,EAAE;;;;;;;;;;;;;;;;cAcH,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;;;;;aAC/B,MAAM,MAAM;;;;iBAEZ,MAAM,OAAO,CAAC,WAAW,CAAC;mBAC1B,CACT,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAC7B,WAAW;;;;;;;aA6CL,MAAM,OAAO,CAAC,MAAM,CAAC;;;;iBAErB,WAAW,CAAC,aAAa,CAAC;;;;;qBAC1B,MAAM,YAAY;;;;;4CAqBnB,KAAK,GACX,aAAa,GACb,KAAK,GACL,UAAU,GACV,SAAS,GACT,QAAQ,GACR,MAAM;;;;gDAGA,KAAK,GAAG,kBAAkB,GAAG,QAAQ;;;;mCAGrC,6BAA6B,GACnC,iCAAiC;;;;0CAG3B,CAAC,IAAI,EAAE,MAAM,CAAC;;;;2BAEd,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;;;;8CAErC,YAAY,EAAE;;;;6BAEd;IACJ,MAAM,EAAE,6BAA6B,CAAC;IACtC,IAAI,EAAE,2BAA2B,CAAC;CACnC,GACD;IACE,MAAM,EAAE,iCAAiC,CAAC;IAC1C,IAAI,EAAE,+BAA+B,CAAC;CACvC;0BA5Ie,WAAW;iCACJ,eAAe"}
1
+ {"version":3,"file":"lib-chainStorage.d.ts","sourceRoot":"","sources":["lib-chainStorage.js"],"names":[],"mappings":"AAyPA;;;;;;;;;;;;GAYG;AACH,2DATW,CAAC,OAAO,EAAE,cAAc,KAAK,GAAG,YAGhC,MAAM,gBAEd;IAA8B,QAAQ;CAGxC;;mBAnEqB,OAAO,CAAC,WAAW,CAAC;wBAWzB,MAAM,qBACO;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,WAAW;oBAYA,MAAM,GAAK,OAAO,CAAC,IAAI,CAAC;GAqDhD;AAcD;;;;;;;;GAQG;AACH,qDAJW,KAAK,WAAW,OAAC,CAAC,aAClB,MAAM,GACJ,OAAO,CAAC,WAAW,CAAC,CAMhC;AApOM,mCAHI,GAAG,GACD,IAAI,IAAI,UAAU,CAOa;AASrC,oCAHI,OAAO,GACL,QAAQ,IAAI,IAAI,OAAO,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,CAQnE;AAmBD,qCAAqC;AACrC,gCADW,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAI/B;AAyCK,8CAFI,OAAO,mBAAmB,EAAE,IAAI,uDAwBxB,cAAc,KAAK,GAAG;;;;mBAiBnB,OAAO,CAAC,WAAW,CAAC;wBAWzB,MAAM,qBACO;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,WAAW;oBAYA,MAAM,GAAK,OAAO,CAAC,IAAI,CAAC;GA0BhD;AA+DM,oDAJI,KAAK,WAAW,CAAC,cACjB,KAAK,UAAU,CAAC,GACd,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAQjD;yBA7Sa,UAAU,CAAC,cAAc,eAAe,EAAE,WAAW,CAAC;2BACtD,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC;;;;;eAM/B,MAAM;iBACN,MAAM;qBACN,MAAM;;;uBAKN,CAAC;;;;iBAED,MAAM;YACN,CAAC,EAAE;;;;;;;;;;;;;;;;cAcH,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC;;;;;aAC/B,MAAM,MAAM;;;;iBAEZ,MAAM,OAAO,CAAC,WAAW,CAAC;mBAC1B,CACT,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAC7B,WAAW;;;;;;;aA6CL,MAAM,OAAO,CAAC,MAAM,CAAC;;;;iBAErB,WAAW,CAAC,aAAa,CAAC;;;;;qBAC1B,MAAM,YAAY;;;;;4CAqBnB,KAAK,GACX,aAAa,GACb,KAAK,GACL,UAAU,GACV,SAAS,GACT,QAAQ,GACR,MAAM;;;;gDAGA,KAAK,GAAG,kBAAkB,GAAG,QAAQ;;;;mCAGrC,6BAA6B,GACnC,iCAAiC;;;;0CAG3B,CAAC,IAAI,EAAE,MAAM,CAAC;;;;2BAEd,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;;;;8CAErC,YAAY,EAAE;;;;6BAEd;IACJ,MAAM,EAAE,6BAA6B,CAAC;IACtC,IAAI,EAAE,2BAA2B,CAAC;CACnC,GACD;IACE,MAAM,EAAE,iCAAiC,CAAC;IAC1C,IAAI,EAAE,+BAA+B,CAAC;CACvC;0BA5Ie,WAAW;iCACJ,eAAe"}
@@ -1,3 +1,3 @@
1
1
  export default engineGC;
2
- declare const engineGC: () => void;
2
+ declare const engineGC: GCFunction;
3
3
  //# sourceMappingURL=engine-gc.d.ts.map
package/src/marshal.d.ts CHANGED
@@ -3,13 +3,19 @@ export function makeBoardRemote({ boardId, iface }: {
3
3
  iface?: string;
4
4
  }): BoardRemote;
5
5
  export function slotToBoardRemote(boardId: string, iface: string): BoardRemote;
6
- export function boardSlottingMarshaller(slotToVal?: ((slot: string, iface: string) => any) | undefined): Omit<import("@endo/marshal").Marshal<string | null>, "serialize" | "unserialize">;
6
+ export function boardSlottingMarshaller(slotToVal?: (slot: string, iface: string) => any): Omit<import("@endo/marshal").Marshal<string | null>, "serialize" | "unserialize">;
7
7
  export function unmarshalFromVstorage(data: Map<string, string>, key: string, fromCapData: ReturnType<typeof import("@endo/marshal").makeMarshal>["fromCapData"], index: number): any;
8
- export function makeHistoryReviver(entries: [string, string][], slotToVal?: ((slot: string, iface?: string) => any) | undefined): {
8
+ export function makeHistoryReviver(entries: [string, string][], slotToVal?: (slot: string, iface?: string) => any): {
9
9
  getItem: (key: string) => any;
10
10
  children: (prefix: string) => string[];
11
11
  has: (k: string) => boolean;
12
12
  };
13
+ export const pureDataMarshaller: {
14
+ toCapData: import("@endo/marshal").ToCapData<import("@endo/marshal").CapData<unknown>>;
15
+ fromCapData: import("@endo/marshal").FromCapData<import("@endo/marshal").CapData<unknown>>;
16
+ serialize: import("@endo/marshal").ToCapData<import("@endo/marshal").CapData<unknown>>;
17
+ unserialize: import("@endo/marshal").FromCapData<import("@endo/marshal").CapData<unknown>>;
18
+ };
13
19
  /**
14
20
  * Should be a union with Remotable, but that's `any`, making this type
15
21
  * meaningless
@@ -1 +1 @@
1
- {"version":3,"file":"marshal.d.ts","sourceRoot":"","sources":["marshal.js"],"names":[],"mappings":"AAiBO,oDAHI;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,WAAW,CAKvB;AAMM,2CAHI,MAAM,SACN,MAAM,eAGoB;AAqB9B,4DANW,MAAM,SAAS,MAAM,KAAK,GAAG,gBAClC,IAAI,CAChB,OAAW,eAAe,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAClD,WAAe,GAAG,aAAa,CAC5B,CAMH;AA6BM,4CATI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OACnB,MAAM,eACN,UAAU,CACpB,cAAkB,eAAe,EAAE,WAAW,CAC3C,CAAC,aAAa,CAAC,SACR,MAAM,GAEJ,GAAG,CAwBf;AASM,4CAHI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,sBACX,MAAM,UAAU,MAAM,KAAK,GAAG;mBAQlC,MAAM;uBAEN,MAAM;aAYN,MAAM;EAInB;;;;;0BA9HY;IAAE,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;CAAE"}
1
+ {"version":3,"file":"marshal.d.ts","sourceRoot":"","sources":["marshal.js"],"names":[],"mappings":"AAiBO,oDAHI;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,WAAW,CAKvB;AAMM,2CAHI,MAAM,SACN,MAAM,eAGoB;AAqB9B,oDANI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,GAAG,GAClC,IAAI,CAChB,OAAW,eAAe,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAClD,WAAe,GAAG,aAAa,CAC5B,CAMH;AA6BM,4CATI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OACnB,MAAM,eACN,UAAU,CACpB,cAAkB,eAAe,EAAE,WAAW,CAC3C,CAAC,aAAa,CAAC,SACR,MAAM,GAEJ,GAAG,CAwBf;AASM,4CAHI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,cAClB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,GAAG;mBAQlC,MAAM;uBAEN,MAAM;aAYN,MAAM;EAInB;AAID;;;;;EAEG;;;;;0BApIU;IAAE,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;CAAE"}
package/src/marshal.js CHANGED
@@ -135,3 +135,10 @@ export const makeHistoryReviver = (entries, slotToVal = undefined) => {
135
135
 
136
136
  return harden({ getItem, children, has });
137
137
  };
138
+
139
+ /** @param {import('@endo/marshal').CapData<unknown>} cap */
140
+ const rejectOCap = cap => Fail`${cap} is not pure data`;
141
+ export const pureDataMarshaller = makeMarshal(rejectOCap, rejectOCap, {
142
+ serializeBodyFormat: 'smallcaps',
143
+ });
144
+ harden(pureDataMarshaller);
@@ -11,7 +11,7 @@ export function netstringEncoderStream(): Transform;
11
11
  * @returns {{ leftover: Buffer; payloads: Buffer[] }} zero or more decoded
12
12
  * Buffers, one per netstring,
13
13
  */
14
- export function decode(data: Buffer, optMaxChunkSize?: number | undefined): {
14
+ export function decode(data: Buffer, optMaxChunkSize?: number): {
15
15
  leftover: Buffer;
16
16
  payloads: Buffer[];
17
17
  };
@@ -19,6 +19,6 @@ export function decode(data: Buffer, optMaxChunkSize?: number | undefined): {
19
19
  * @param {number} [optMaxChunkSize]
20
20
  * @returns {Transform}
21
21
  */
22
- export function netstringDecoderStream(optMaxChunkSize?: number | undefined): Transform;
22
+ export function netstringDecoderStream(optMaxChunkSize?: number): Transform;
23
23
  import { Transform } from 'stream';
24
24
  //# sourceMappingURL=netstring.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"netstring.d.ts","sourceRoot":"","sources":["netstring.js"],"names":[],"mappings":"AASA;;;GAGG;AACH,6BAHW,MAAM,GACJ,MAAM,CAMlB;AAGD,oDAsBC;AAED;;;;;;GAMG;AACH,6BANW,MAAM,yCAGJ;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAmCpD;AAED;;;GAGG;AAEH,8EAHa,SAAS,CAoCrB;0BAvHyB,QAAQ"}
1
+ {"version":3,"file":"netstring.d.ts","sourceRoot":"","sources":["netstring.js"],"names":[],"mappings":"AASA;;;GAGG;AACH,6BAHW,MAAM,GACJ,MAAM,CAMlB;AAGD,oDAsBC;AAED;;;;;;GAMG;AACH,6BANW,MAAM,oBAEN,MAAM,GACJ;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAmCpD;AAED;;;GAGG;AAEH,yDAJW,MAAM,GACJ,SAAS,CAqCrB;0BAxHyB,QAAQ"}
package/src/netstring.js CHANGED
@@ -89,6 +89,7 @@ export function decode(data, optMaxChunkSize) {
89
89
  */
90
90
  // input is a byte pipe, output is a sequence of Buffers
91
91
  export function netstringDecoderStream(optMaxChunkSize) {
92
+ /** @type {Buffer<ArrayBufferLike>} */
92
93
  let buffered = Buffer.from('');
93
94
  /**
94
95
  * @param {Buffer} chunk
@@ -13,8 +13,8 @@ export default class BufferLineTransform extends Transform {
13
13
  * @param {import('node:stream').TransformOptions &
14
14
  * BufferLineTransformOptions} [options]
15
15
  */
16
- constructor(options?: (import("stream").TransformOptions & BufferLineTransformOptions) | undefined);
17
- _breakValue: string | number | Buffer;
16
+ constructor(options?: import("node:stream").TransformOptions & BufferLineTransformOptions);
17
+ _breakValue: string | number | Buffer<ArrayBufferLike>;
18
18
  _breakEncoding: BufferEncoding | undefined;
19
19
  _breakLength: number;
20
20
  /** @type {Buffer[]} */
@@ -34,7 +34,7 @@ export type BufferLineTransformOptions = {
34
34
  * line break matcher for
35
35
  * Buffer.indexOf() (default: 10)
36
36
  */
37
- break?: string | number | Buffer | undefined;
37
+ break?: string | number | Buffer<ArrayBufferLike> | undefined;
38
38
  /**
39
39
  * if break is a string, the encoding
40
40
  * to use
@@ -1 +1 @@
1
- {"version":3,"file":"buffer-line-transform.d.ts","sourceRoot":"","sources":["buffer-line-transform.js"],"names":[],"mappings":"AAKA;;;;;;GAMG;AAEH;IACE;;;;;;OAMG;IACH,oGAuBC;IAhBC,sCAAmC;IACnC,2CAAmC;IAWnC,qBAA+B;IAE/B,uBAAuB;IACvB,SADW,MAAM,EAAE,CACF;IAGnB;;;;;OAKG;IACH,2BALW,GAAG,YACH,cAAc,GAAG,QAAQ,MACzB,OAAO,aAAa,EAAE,iBAAiB,QAiDjD;IAeD,2BAA2B;IAC3B,iBADY,MAAM,QAOjB;CACF;;;;;;;;;;;;;0BAtHyB,aAAa"}
1
+ {"version":3,"file":"buffer-line-transform.d.ts","sourceRoot":"","sources":["buffer-line-transform.js"],"names":[],"mappings":"AAKA;;;;;;GAMG;AAEH;IACE;;;;;;OAMG;IACH,sBAHW,OAAO,aAAa,EAAE,gBAAgB,GAC5C,0BAA0B,EAyB9B;IAhBC,uDAAmC;IACnC,2CAAmC;IAWnC,qBAA+B;IAE/B,uBAAuB;IACvB,SADW,MAAM,EAAE,CACF;IAGnB;;;;;OAKG;IACH,2BALW,GAAG,YACH,cAAc,GAAG,QAAQ,MACzB,OAAO,aAAa,EAAE,iBAAiB,QAiDjD;IAeD,2BAA2B;IAC3B,iBADY,MAAM,QAOjB;CACF;;;;;;;;;;;;;0BAtHyB,aAAa"}
@@ -21,13 +21,13 @@ export const fsStreamReady = stream =>
21
21
  }
22
22
 
23
23
  const onReady = () => {
24
- cleanup(); // eslint-disable-line no-use-before-define
24
+ cleanup();
25
25
  resolve();
26
26
  };
27
27
 
28
28
  /** @param {Error} err */
29
29
  const onError = err => {
30
- cleanup(); // eslint-disable-line no-use-before-define
30
+ cleanup();
31
31
  reject(err);
32
32
  };
33
33
 
@@ -1 +1 @@
1
- {"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["shutdown.js"],"names":[],"mappings":"AAKO;;EA+DN;AAGM,wDAON"}
1
+ {"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["shutdown.js"],"names":[],"mappings":"AAKO;;EA8DN;AAGM,wDAON"}
@@ -22,7 +22,6 @@ export const makeFreshShutdown = (verbose = true) => {
22
22
  process.off('SIGINT', shutdown);
23
23
  process.off('SIGTERM', shutdown);
24
24
  process.off('beforeExit', shutdown);
25
- // eslint-disable-next-line no-use-before-define
26
25
  process.off('uncaughtException', uncaughtShutdown);
27
26
  verbose && console.error(`Shutting down cleanly...`);
28
27
  const shutdowners = [...shutdownThunks.keys()];
@@ -1,4 +1,3 @@
1
- export const BASIS_POINTS: 10000n;
2
1
  /** @import {ERef} from '@endo/far' */
3
2
  /**
4
3
  * @template T
@@ -31,14 +30,9 @@ export const BASIS_POINTS: 10000n;
31
30
  * @type {<T extends {}>(unfulfilledTerms: T) => Promise<DeeplyAwaited<T>>}
32
31
  */
33
32
  export const deeplyFulfilledObject: <T extends {}>(unfulfilledTerms: T) => Promise<DeeplyAwaited<T>>;
34
- export function deepMapObject(obj: object, mapper: (value: any, name: string, record: object) => any): object;
35
33
  export function PromiseAllOrErrors<T>(items: readonly (T | PromiseLike<T>)[]): Promise<T[]>;
36
34
  export function aggregateTryFinally<T>(trier: () => Promise<T>, finalizer: (error?: unknown) => Promise<unknown>): ReturnType<() => Promise<T>>;
37
35
  export function withDeferredCleanup<T>(fn: (addCleanup: (fn: (err?: unknown) => Promise<void>) => void) => Promise<T>): ReturnType<(addCleanup: (fn: (err?: unknown) => Promise<void>) => void) => Promise<T>>;
38
- export function makeMeasureSeconds(currentTimeMillisec: typeof import("perf_hooks").performance.now): <T>(fn: () => Promise<T>) => Promise<{
39
- result: T;
40
- duration: number;
41
- }>;
42
36
  export function assertAllDefined<T extends Record<string, unknown>>(obj: T): asserts obj is AllDefined<T>;
43
37
  export const forever: AsyncIterable<undefined>;
44
38
  export function whileTrue<T>(produce: () => T): AsyncIterable<Awaited<T>>;
@@ -63,4 +57,4 @@ export type DeeplyAwaitedObject<T extends {}> = { [K in keyof T]: T[K] extends C
63
57
  export type DeeplyAwaited<T> = T extends PromiseLike<any> ? Awaited<T> : T extends {} ? Simplify<DeeplyAwaitedObject<T>> : Awaited<T>;
64
58
  export type AllDefined<T extends Record<string, unknown>> = { [P in keyof T]: Exclude<T[P], undefined>; };
65
59
  import type { ERef } from '@endo/far';
66
- //# sourceMappingURL=utils.d.ts.map
60
+ //# sourceMappingURL=ses-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ses-utils.d.ts","sourceRoot":"","sources":["ses-utils.js"],"names":[],"mappings":"AAeA,sCAAsC;AAEtC;;;;;GAKG;AAEH;;GAEG;AAEH;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,oCAFU,CAAC,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAE,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAKxE;AAsBK,mCAJM,CAAC,SACH,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,GAC7B,OAAO,CAAC,CAAC,EAAE,CAAC,CAiBxB;AAQM,oCALM,CAAC,SACH,MAAM,OAAO,CAAC,CAAC,CAAC,aAChB,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GACnC,UAAU,OAFN,OAAO,CAAC,CAAC,CAAC,CAEG,CAY3B;AAWI,oCANM,CAAC,MACH,CACN,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,KACvD,OAAO,CAAC,CAAC,CAAC,GACL,UAAU,cAFN,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,KACvD,OAAO,CAAC,CAAC,CAAC,CACS,CAmB1B;AAgBM,iCALgC,CAAC,SAA1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAE,OAC3B,CAAC,GACC,QAAQ,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAaxC;AAQD,+CAAoD;AAS7C,0BANM,CAAC,WACH,MAAM,CAAC,GAGL,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAYlC;AASG,0BANM,CAAC,WACH,MAAM,CAAC,GAGL,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAelC;AAEJ,mDAAmD;AACnD,kBADW,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CACsB;AAErE;;;;GAIG;AACH,wBAJU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,EACzC,GAAG,EAAE,CAAC,KACH,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,CAMhD;AAWK,gCAJO,CAAC,0BACJ,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,eAC5B,MAAM,mCA8GhB;;;;;;qBAvUY,CAAC,IACD,GAAG,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAE,GAAG,EAAE;uBAMzC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG;gCAIlB,CAAC,SAAN,EAAI,IACJ,GACP,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACnE;0BAIS,CAAC,IACD,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,GAC9B,OAAO,CAAC,CAAC,CAAC,GACV,CAAC,SAAS,EAAE,GACV,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAChC,OAAO,CAAC,CAAC,CAAC;uBAmGkB,CAAC,SAA1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAE,IACzB,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAE;0BA9HjC,WAAW"}
@@ -1,5 +1,9 @@
1
1
  // @ts-check
2
2
  // @jessie-check
3
+ /**
4
+ * @file Utility functions that are dependent upon a hardened environment,
5
+ * either directly or indirectly (e.g. by @endo imports).
6
+ */
3
7
 
4
8
  import { q, Fail, makeError, annotateError, X } from '@endo/errors';
5
9
  import { deeplyFulfilled, isObject } from '@endo/marshal';
@@ -9,8 +13,6 @@ import { asyncGenerate } from 'jessie.js';
9
13
 
10
14
  const { fromEntries, keys, values } = Object;
11
15
 
12
- export const BASIS_POINTS = 10_000n;
13
-
14
16
  /** @import {ERef} from '@endo/far' */
15
17
 
16
18
  /**
@@ -52,55 +54,6 @@ export const deeplyFulfilledObject = async obj => {
52
54
  return deeplyFulfilled(obj);
53
55
  };
54
56
 
55
- /**
56
- * @param {any} value
57
- * @param {string | undefined} name
58
- * @param {object | undefined} container
59
- * @param {(value: any, name: string, record: object) => any} mapper
60
- * @returns {any}
61
- */
62
- const deepMapObjectInternal = (value, name, container, mapper) => {
63
- if (container && typeof name === 'string') {
64
- const mapped = mapper(value, name, container);
65
- if (mapped !== value) {
66
- return mapped;
67
- }
68
- }
69
-
70
- if (typeof value !== 'object' || !value) {
71
- return value;
72
- }
73
-
74
- let wasMapped = false;
75
- const mappedEntries = Object.entries(value).map(([innerName, innerValue]) => {
76
- const mappedInnerValue = deepMapObjectInternal(
77
- innerValue,
78
- innerName,
79
- value,
80
- mapper,
81
- );
82
- wasMapped ||= mappedInnerValue !== innerValue;
83
- return [innerName, mappedInnerValue];
84
- });
85
-
86
- return wasMapped ? Object.fromEntries(mappedEntries) : value;
87
- };
88
-
89
- /**
90
- * Traverses a record object structure deeply, calling a replacer for each
91
- * enumerable string property values of an object. If none of the values are
92
- * changed, the original object is used as-is, maintaining its identity.
93
- *
94
- * When an object is found as a property value, the replacer is first called on
95
- * it. If not replaced, the object is then traversed.
96
- *
97
- * @param {object} obj
98
- * @param {(value: any, name: string, record: object) => any} mapper
99
- * @returns {object}
100
- */
101
- export const deepMapObject = (obj, mapper) =>
102
- deepMapObjectInternal(obj, undefined, undefined, mapper);
103
-
104
57
  /**
105
58
  * Tolerate absence of AggregateError in e.g. xsnap.
106
59
  *
@@ -184,27 +137,6 @@ export const withDeferredCleanup = async fn => {
184
137
  return aggregateTryFinally(() => fn(addCleanup), finalizer);
185
138
  };
186
139
 
187
- /**
188
- * Returns a function that uses a millisecond-based time-since-epoch capability
189
- * (such as `performance.now`) to measure execution time of an async function
190
- * and report the result in seconds to match our telemetry standard.
191
- *
192
- * @param {typeof import('perf_hooks').performance.now} currentTimeMillisec
193
- * @returns {<T>(
194
- * fn: () => Promise<T>,
195
- * ) => Promise<{ result: T; duration: number }>}
196
- */
197
- export const makeMeasureSeconds = currentTimeMillisec => {
198
- /** @param {() => any} fn */
199
- const measureSeconds = async fn => {
200
- const t0 = currentTimeMillisec();
201
- const result = await fn();
202
- const durationMillisec = currentTimeMillisec() - t0;
203
- return { result, duration: durationMillisec / 1000 };
204
- };
205
- return measureSeconds;
206
- };
207
-
208
140
  /**
209
141
  * @template {Record<string, unknown>} T
210
142
  * @typedef {{ [P in keyof T]: Exclude<T[P], undefined> }} AllDefined
@@ -9,6 +9,10 @@ export const defaultMarshaller: {
9
9
  serialize: import("@endo/marshal").ToCapData<string>;
10
10
  unserialize: import("@endo/marshal").FromCapData<string>;
11
11
  };
12
+ export namespace defaultSerializer {
13
+ let parse: (text: string) => unknown;
14
+ let stringify: (obj: any) => string;
15
+ }
12
16
  export const slotStringUnserialize: (capData: any) => any;
13
17
  export function makeFakeStorageKit(rootPath: string, rootOptions?: Parameters<typeof makeChainStorageRoot>[2]): {
14
18
  rootNode: import("@endo/exo").Guarded<{
@@ -20,6 +24,7 @@ export function makeFakeStorageKit(rootPath: string, rootOptions?: Parameters<ty
20
24
  setValue(value: string): Promise<void>;
21
25
  }>;
22
26
  data: Map<string, string>;
27
+ getValues: (path: string) => string[];
23
28
  messages: StorageMessage[];
24
29
  toStorage: ((message: StorageMessage) => string | number | any[] | {
25
30
  storeName: string;
@@ -38,7 +43,9 @@ export function documentStorageSchema(t: import("ava").ExecutionContext<unknown>
38
43
  }) & ({
39
44
  pattern: string;
40
45
  replacement: string;
41
- } | {})): Promise<void>;
46
+ } | {}) & {
47
+ showValue?: (v: string) => unknown;
48
+ }): Promise<void>;
42
49
  export type FakeStorageKit = ReturnType<typeof makeFakeStorageKit>;
43
50
  export type MockChainStorageRootMethods = {
44
51
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"storage-test-utils.d.ts","sourceRoot":"","sources":["storage-test-utils.js"],"names":[],"mappings":"AAwBO,yCAHI,MAAM,UACN,MAAM,6GAGC;AAElB;;;GAGG;AACH;;;;;EAEG;AA4CH,8CAtBuB,GAAG,KAAK,GAAG,CAsB+B;AAU1D,6CAHI,MAAM,gBACN,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;;;;;oBA2GjD,CAAA;;;;UAEiB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;;0BAjFxB,cAAc;;;0JAAd,cAAc;;;;EAqF7B;AAoBM,4CADO,oBAAoB,CA6BjC;AAQM,yCALI,OAAO,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,WACvC,oBAAoB,GAAG,cAAc,QACrC,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9D,CAAK;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,EAAE,CAAC,iBAkCnD;6BAtFa,UAAU,CAAC,OAAO,kBAAkB,CAAC;;;;;;;;aAIrC,CACT,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,UAAU,EACvB,KAAK,CAAC,EAAE,MAAM,KACX,OAAO;UAKD,MAAM,MAAM,EAAE;;mCAEd,WAAW,GAAG,2BAA2B;qCAjNJ,uBAAuB;iCAMF,uBAAuB;oCAAvB,uBAAuB;gCAAvB,uBAAuB"}
1
+ {"version":3,"file":"storage-test-utils.d.ts","sourceRoot":"","sources":["storage-test-utils.js"],"names":[],"mappings":"AAyBO,yCAHI,MAAM,UACN,MAAM,6GAGC;AAElB;;;GAGG;AACH;;;;;EAEG;;eAMU,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO;mBAEzB,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM;;AA8CjC,8CAtBuB,GAAG,KAAK,GAAG,CAsB+B;AAU1D,6CAHI,MAAM,gBACN,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;;;;;oBAiG3C,CADT;;;;UA4BoB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;sBAd3B,MAAM,KACJ,MAAM,EAAE;;0BAnFP,cAAc;;;0JAAd,cAAc;;;;EAqG7B;AAoBM,4CADO,oBAAoB,CA6BjC;AAUM,yCAPI,OAAO,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,WACvC,oBAAoB,GAAG,cAAc,QACrC,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9D,CAAK;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,EAAE,CAAC,GAAG;IAChD,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;CACpC,iBAkDL;6BAxGa,UAAU,CAAC,OAAO,kBAAkB,CAAC;;;;;;;;aAIrC,CACT,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,UAAU,EACvB,KAAK,CAAC,EAAE,MAAM,KACX,OAAO;UAKD,MAAM,MAAM,EAAE;;mCAEd,WAAW,GAAG,2BAA2B;qCA5OJ,uBAAuB;iCAOF,uBAAuB;oCAAvB,uBAAuB;gCAAvB,uBAAuB"}
@@ -2,9 +2,10 @@
2
2
  import { Fail } from '@endo/errors';
3
3
  import { Far } from '@endo/far';
4
4
  import { makeMarshal, Remotable } from '@endo/marshal';
5
- import { unmarshalFromVstorage } from './marshal.js';
6
5
  import { makeTracer } from './debug.js';
6
+ import { NonNullish } from './errors.js';
7
7
  import { isStreamCell, makeChainStorageRoot } from './lib-chainStorage.js';
8
+ import { unmarshalFromVstorage } from './marshal.js';
8
9
  import { bindAllMethods } from './method-tools.js';
9
10
  import { eventLoopIteration } from './testing-utils.js';
10
11
 
@@ -33,6 +34,16 @@ export const defaultMarshaller = makeMarshal(undefined, slotToRemotable, {
33
34
  serializeBodyFormat: 'smallcaps',
34
35
  });
35
36
 
37
+ /**
38
+ * Serialize/deserialize functions using {@link defaultMarshaller}
39
+ */
40
+ export const defaultSerializer = {
41
+ /** @type {(text: string) => unknown} */
42
+ parse: txt => defaultMarshaller.fromCapData(JSON.parse(txt)),
43
+ /** @type {(obj: any) => string} */
44
+ stringify: obj => JSON.stringify(defaultMarshaller.toCapData(obj)),
45
+ };
46
+
36
47
  /**
37
48
  * A deserializer which produces slot strings instead of Remotables, so if `a =
38
49
  * Far('iface')`, and serializing `{ a }` into `capData` assigned it slot
@@ -189,10 +200,26 @@ export const makeFakeStorageKit = (rootPath, rootOptions) => {
189
200
  },
190
201
  );
191
202
  const rootNode = makeChainStorageRoot(toStorage, rootPath, resolvedOptions);
203
+
204
+ /**
205
+ * Get the values at a sequence node
206
+ *
207
+ * @param {string} path
208
+ * @returns {string[]}
209
+ */
210
+ const getValues = path => {
211
+ assert(resolvedOptions.sequence);
212
+ const nodeData = data.get(path);
213
+ assert(nodeData, `no data at path ${path}`);
214
+ const wrapper = JSON.parse(nodeData);
215
+ return wrapper.values;
216
+ };
217
+
192
218
  return {
193
219
  rootNode,
194
220
  // eslint-disable-next-line object-shorthand
195
221
  data: /** @type {Map<string, string>} */ (data),
222
+ getValues,
196
223
  messages,
197
224
  toStorage,
198
225
  };
@@ -250,30 +277,48 @@ export const makeMockChainStorageRoot = () => {
250
277
  * @param {import('ava').ExecutionContext<unknown>} t
251
278
  * @param {MockChainStorageRoot | FakeStorageKit} storage
252
279
  * @param {({ note: string } | { node: string; owner: string }) &
253
- * ({ pattern: string; replacement: string } | {})} opts
280
+ * ({ pattern: string; replacement: string } | {}) & {
281
+ * showValue?: (v: string) => unknown;
282
+ * }} opts
254
283
  */
255
284
  export const documentStorageSchema = async (t, storage, opts) => {
256
285
  // chainStorage publication is unsynchronized
257
286
  await eventLoopIteration();
258
287
 
288
+ const getLast = (/** @type {string} */ cell) =>
289
+ JSON.parse(cell).values.at(-1) || assert.fail();
290
+ const { showValue = s => s } = opts;
291
+ /** @type {(d: Map<string, string>, k: string) => unknown} */
292
+ const getBodyDefault = (d, k) => showValue(getLast(NonNullish(d.get(k))));
293
+
259
294
  const [keys, getBody] =
260
295
  'keys' in storage
261
296
  ? [storage.keys(), (/** @type {string} */ k) => storage.getBody(k)]
262
- : [storage.data.keys(), (/** @type {string} */ k) => storage.data.get(k)];
297
+ : [
298
+ storage.data.keys(),
299
+ (/** @type {string} */ k) => getBodyDefault(storage.data, k),
300
+ ];
263
301
 
264
302
  const { pattern, replacement } =
265
303
  'pattern' in opts
266
304
  ? opts
267
305
  : { pattern: 'mockChainStorageRoot.', replacement: 'published.' };
268
- const illustration = [...keys].sort().map(
306
+
307
+ const pruned = [...keys]
308
+ .sort()
309
+ .filter(
310
+ 'node' in opts
311
+ ? key =>
312
+ key
313
+ .replace(pattern, replacement)
314
+ .startsWith(`published.${opts.node}`)
315
+ : _entry => true,
316
+ );
317
+
318
+ const illustration = pruned.map(
269
319
  /** @type {(k: string) => [string, unknown]} */
270
320
  key => [key.replace(pattern, replacement), getBody(key)],
271
321
  );
272
- const pruned = illustration.filter(
273
- 'node' in opts
274
- ? ([key, _]) => key.startsWith(`published.${opts.node}`)
275
- : _entry => true,
276
- );
277
322
 
278
323
  const note =
279
324
  'note' in opts
@@ -283,5 +328,5 @@ export const documentStorageSchema = async (t, storage, opts) => {
283
328
  The example below illustrates the schema of the data published there.
284
329
 
285
330
  See also board marshalling conventions (_to appear_).`;
286
- t.snapshot(pruned, note + boilerplate);
331
+ t.snapshot(illustration, note + boilerplate);
287
332
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["tokens.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;2BAEc,KAAK,GAAG,KAAK;AAA3B,4CAA4C;AAE5C;;;GAGG;AACH,yBAAkB"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["tokens.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;2BAEc,KAAK,GAAG,KAAK;AAA3B,4CAA4C;AAE5C;;;GAGG;AACH,mBAAY,KAAK,CAAC"}
package/src/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { ERef, RemotableBrand } from '@endo/eventual-send';
2
2
  import type { Primitive } from '@endo/pass-style';
3
3
  import type { Pattern } from '@endo/patterns';
4
- import type { Callable } from './utils.js';
4
+ import type { Callable } from './ses-utils.js';
5
5
  /**
6
6
  * A map corresponding with a total function such that `get(key)` is assumed to
7
7
  * always succeed.
@@ -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
@@ -2,7 +2,7 @@
2
2
  import type { ERef, RemotableBrand } from '@endo/eventual-send';
3
3
  import type { Primitive } from '@endo/pass-style';
4
4
  import type { Pattern } from '@endo/patterns';
5
- import type { Callable } from './utils.js';
5
+ import type { Callable } from './ses-utils.js';
6
6
 
7
7
  /**
8
8
  * A map corresponding with a total function such that `get(key)` is assumed to
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["utils.js"],"names":[],"mappings":"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"}