@agoric/internal 0.3.3-other-dev-3eb1a1d.0 → 0.3.3-other-dev-fbe72e7.0.fbe72e7

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 (77) hide show
  1. package/package.json +27 -23
  2. package/src/action-types.d.ts +2 -1
  3. package/src/action-types.d.ts.map +1 -1
  4. package/src/action-types.js +4 -4
  5. package/src/batched-deliver.d.ts.map +1 -1
  6. package/src/callback.d.ts +1 -1
  7. package/src/callback.d.ts.map +1 -1
  8. package/src/callback.js +7 -6
  9. package/src/chain-storage-paths.d.ts.map +1 -1
  10. package/src/chain-utils.d.ts +3 -1
  11. package/src/chain-utils.d.ts.map +1 -1
  12. package/src/chain-utils.js +6 -1
  13. package/src/cli-utils.d.ts +2 -0
  14. package/src/cli-utils.d.ts.map +1 -0
  15. package/src/cli-utils.js +21 -0
  16. package/src/config.d.ts +2 -4
  17. package/src/config.js +4 -2
  18. package/src/errors.d.ts +1 -1
  19. package/src/errors.d.ts.map +1 -1
  20. package/src/hex.d.ts +15 -0
  21. package/src/hex.d.ts.map +1 -0
  22. package/src/hex.js +105 -0
  23. package/src/index.d.ts +5 -3
  24. package/src/index.js +5 -4
  25. package/src/js-utils.d.ts +34 -1
  26. package/src/js-utils.d.ts.map +1 -1
  27. package/src/js-utils.js +162 -14
  28. package/src/lib-chainStorage.d.ts +26 -24
  29. package/src/lib-chainStorage.d.ts.map +1 -1
  30. package/src/lib-chainStorage.js +7 -15
  31. package/src/lib-nodejs/ava-unhandled-rejection.d.ts +13 -0
  32. package/src/lib-nodejs/ava-unhandled-rejection.d.ts.map +1 -0
  33. package/src/lib-nodejs/ava-unhandled-rejection.js +66 -0
  34. package/src/marshal.d.ts +15 -2
  35. package/src/marshal.d.ts.map +1 -1
  36. package/src/marshal.js +26 -7
  37. package/src/method-tools.d.ts.map +1 -1
  38. package/src/method-tools.js +8 -50
  39. package/src/metrics.d.ts +183 -0
  40. package/src/metrics.d.ts.map +1 -0
  41. package/src/metrics.js +476 -0
  42. package/src/module-utils.d.ts +2 -0
  43. package/src/module-utils.d.ts.map +1 -0
  44. package/src/module-utils.js +27 -0
  45. package/src/natural-sort.d.ts +2 -0
  46. package/src/natural-sort.d.ts.map +1 -0
  47. package/src/natural-sort.js +48 -0
  48. package/src/netstring.d.ts +2 -2
  49. package/src/netstring.d.ts.map +1 -1
  50. package/src/netstring.js +1 -0
  51. package/src/node/buffer-line-transform.d.ts +3 -3
  52. package/src/node/buffer-line-transform.d.ts.map +1 -1
  53. package/src/node/fs-stream.d.ts.map +1 -1
  54. package/src/node/fs-stream.js +23 -24
  55. package/src/priority-senders.d.ts +1 -0
  56. package/src/priority-senders.d.ts.map +1 -1
  57. package/src/priority-senders.js +3 -0
  58. package/src/queue.d.ts +1 -1
  59. package/src/queue.d.ts.map +1 -1
  60. package/src/ses-utils.d.ts +9 -1
  61. package/src/ses-utils.d.ts.map +1 -1
  62. package/src/ses-utils.js +79 -3
  63. package/src/storage-test-utils.d.ts +12 -4
  64. package/src/storage-test-utils.d.ts.map +1 -1
  65. package/src/storage-test-utils.js +81 -16
  66. package/src/tagged.d.ts +4 -1
  67. package/src/testing-utils.js +1 -1
  68. package/src/tmpDir.d.ts +2 -0
  69. package/src/tmpDir.d.ts.map +1 -0
  70. package/src/tmpDir.js +17 -0
  71. package/src/tokens.d.ts.map +1 -1
  72. package/src/typeGuards.d.ts +15 -0
  73. package/src/typeGuards.d.ts.map +1 -1
  74. package/src/typeGuards.js +12 -0
  75. package/src/types.d.ts +12 -0
  76. package/src/types.d.ts.map +1 -1
  77. package/src/types.ts +21 -0
package/package.json CHANGED
@@ -1,44 +1,48 @@
1
1
  {
2
2
  "name": "@agoric/internal",
3
- "version": "0.3.3-other-dev-3eb1a1d.0+3eb1a1d",
3
+ "version": "0.3.3-other-dev-fbe72e7.0.fbe72e7",
4
4
  "description": "Externally unsupported utilities internal to agoric-sdk",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
7
7
  "engines": {
8
- "node": "^18.12 || ^20.9"
8
+ "node": "^20.9 || ^22.11"
9
9
  },
10
10
  "scripts": {
11
11
  "build": "exit 0",
12
- "prepack": "tsc --build tsconfig.build.json",
13
- "postpack": "git clean -f '*.d.ts*' '*.tsbuildinfo'",
12
+ "prepack": "yarn run -T tsc --build tsconfig.build.json",
13
+ "postpack": "git clean -f '*.d.*ts*' '*.tsbuildinfo'",
14
14
  "test": "ava",
15
15
  "test:nyc": "exit 0",
16
16
  "test:xs": "exit 0",
17
17
  "lint-fix": "yarn lint:eslint --fix",
18
- "lint": "run-s --continue-on-error lint:*",
19
- "lint:eslint": "eslint .",
20
- "lint:types": "tsc"
18
+ "lint": "yarn run -T run-s --continue-on-error 'lint:*'",
19
+ "lint:eslint": "yarn run -T eslint .",
20
+ "lint:types": "yarn run -T tsc"
21
21
  },
22
22
  "dependencies": {
23
- "@agoric/base-zone": "0.1.1-other-dev-3eb1a1d.0+3eb1a1d",
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",
23
+ "@agoric/base-zone": "0.1.1-other-dev-fbe72e7.0.fbe72e7",
24
+ "@endo/common": "^1.2.13",
25
+ "@endo/compartment-mapper": "^1.6.3",
26
+ "@endo/errors": "^1.2.13",
27
+ "@endo/eventual-send": "^1.3.4",
28
+ "@endo/far": "^1.1.14",
29
+ "@endo/init": "^1.1.12",
30
+ "@endo/marshal": "^1.8.0",
31
+ "@endo/nat": "^5.1.3",
32
+ "@endo/pass-style": "^1.6.3",
33
+ "@endo/patterns": "^1.7.0",
34
+ "@endo/promise-kit": "^1.1.13",
35
+ "@endo/stream": "^1.2.13",
33
36
  "anylogger": "^0.21.0",
34
37
  "jessie.js": "^0.3.4"
35
38
  },
36
39
  "devDependencies": {
37
- "@agoric/cosmic-proto": "0.4.1-other-dev-3eb1a1d.0+3eb1a1d",
38
- "@endo/exo": "^1.5.7",
39
- "@endo/init": "^1.1.7",
40
+ "@agoric/cosmic-proto": "0.4.1-other-dev-fbe72e7.0.fbe72e7",
41
+ "@endo/exo": "^1.5.12",
42
+ "@endo/init": "^1.1.12",
43
+ "@fast-check/ava": "^2.0.1",
40
44
  "ava": "^5.3.0",
41
- "tsd": "^0.31.1"
45
+ "tsd": "^0.33.0"
42
46
  },
43
47
  "ava": {
44
48
  "require": [
@@ -58,7 +62,7 @@
58
62
  "access": "public"
59
63
  },
60
64
  "typeCoverage": {
61
- "atLeast": 93.14
65
+ "atLeast": 93.02
62
66
  },
63
- "gitHead": "3eb1a1d2d75b2b4a94807cd3bf759bc9fc531f05"
67
+ "gitHead": "fbe72e72107f9997f788674e668c660d92ec4492"
64
68
  }
@@ -46,6 +46,8 @@ export namespace QueuedActionType {
46
46
  let VBANK_BALANCE_UPDATE: "VBANK_BALANCE_UPDATE";
47
47
  let WALLET_ACTION: "WALLET_ACTION";
48
48
  let WALLET_SPEND_ACTION: "WALLET_SPEND_ACTION";
49
+ let VTRANSFER_IBC_EVENT: "VTRANSFER_IBC_EVENT";
50
+ let KERNEL_UPGRADE_EVENTS: "KERNEL_UPGRADE_EVENTS";
49
51
  }
50
52
  export const CORE_EVAL: "CORE_EVAL";
51
53
  export const DELIVER_INBOUND: "DELIVER_INBOUND";
@@ -55,7 +57,6 @@ export const PLEASE_PROVISION: "PLEASE_PROVISION";
55
57
  export const VBANK_BALANCE_UPDATE: "VBANK_BALANCE_UPDATE";
56
58
  export const WALLET_ACTION: "WALLET_ACTION";
57
59
  export const WALLET_SPEND_ACTION: "WALLET_SPEND_ACTION";
58
- export const CALCULATE_FEES_IN_BEANS: "CALCULATE_FEES_IN_BEANS";
59
60
  export const VTRANSFER_IBC_EVENT: "VTRANSFER_IBC_EVENT";
60
61
  export const KERNEL_UPGRADE_EVENTS: "KERNEL_UPGRADE_EVENTS";
61
62
  //# sourceMappingURL=action-types.d.ts.map
@@ -1 +1 @@
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,gEAAiE;AACjE,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"}
@@ -56,6 +56,8 @@ export const QueuedActionType = /** @type {const} */ ({
56
56
  VBANK_BALANCE_UPDATE: 'VBANK_BALANCE_UPDATE',
57
57
  WALLET_ACTION: 'WALLET_ACTION',
58
58
  WALLET_SPEND_ACTION: 'WALLET_SPEND_ACTION',
59
+ VTRANSFER_IBC_EVENT: 'VTRANSFER_IBC_EVENT',
60
+ KERNEL_UPGRADE_EVENTS: 'KERNEL_UPGRADE_EVENTS',
59
61
  });
60
62
  harden(QueuedActionType);
61
63
 
@@ -69,8 +71,6 @@ export const {
69
71
  VBANK_BALANCE_UPDATE,
70
72
  WALLET_ACTION,
71
73
  WALLET_SPEND_ACTION,
74
+ VTRANSFER_IBC_EVENT,
75
+ KERNEL_UPGRADE_EVENTS,
72
76
  } = QueuedActionType;
73
-
74
- export const CALCULATE_FEES_IN_BEANS = 'CALCULATE_FEES_IN_BEANS';
75
- export const VTRANSFER_IBC_EVENT = 'VTRANSFER_IBC_EVENT';
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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"}
package/src/callback.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // @ts-check
2
2
  import { Fail, makeError, q } from '@endo/errors';
3
3
  import { E } from '@endo/far';
4
- import { isObject, isPassableSymbol } from '@endo/marshal';
4
+ import { isPrimitive, isPassableSymbol } from '@endo/pass-style';
5
5
  import { getInterfaceMethodKeys } from '@endo/patterns';
6
6
 
7
7
  /** @import {ERef} from '@endo/far' */
@@ -102,7 +102,7 @@ harden(makeSyncFunctionCallback);
102
102
  * @returns {Callback<I>}
103
103
  */
104
104
  export const makeFunctionCallback = (target, ...bound) => {
105
- isObject(target) ||
105
+ !isPrimitive(target) ||
106
106
  Fail`function callback target must be a function presence: ${target}`;
107
107
  /** @type {unknown} */
108
108
  const cb = harden({ target, bound });
@@ -125,7 +125,7 @@ harden(makeFunctionCallback);
125
125
  * @returns {SyncCallback<I>}
126
126
  */
127
127
  export const makeSyncMethodCallback = (target, methodName, ...bound) => {
128
- isObject(target) ||
128
+ !isPrimitive(target) ||
129
129
  Fail`sync method callback target must be an object: ${target}`;
130
130
  typeof methodName === 'string' ||
131
131
  isPassableSymbol(methodName) ||
@@ -151,7 +151,8 @@ harden(makeSyncMethodCallback);
151
151
  * @returns {Callback<I>}
152
152
  */
153
153
  export const makeMethodCallback = (target, methodName, ...bound) => {
154
- isObject(target) || Fail`method callback target must be an object: ${target}`;
154
+ !isPrimitive(target) ||
155
+ Fail`method callback target must be an object: ${target}`;
155
156
  typeof methodName === 'string' ||
156
157
  isPassableSymbol(methodName) ||
157
158
  Fail`method name must be a string or passable symbol: ${methodName}`;
@@ -166,12 +167,12 @@ harden(makeMethodCallback);
166
167
  * @returns {callback is Callback<any>}
167
168
  */
168
169
  export const isCallback = callback => {
169
- if (!isObject(callback)) {
170
+ if (isPrimitive(callback)) {
170
171
  return false;
171
172
  }
172
173
  const { target, methodName, bound } = callback;
173
174
  return (
174
- isObject(target) &&
175
+ !isPrimitive(target) &&
175
176
  (methodName === undefined ||
176
177
  typeof methodName === 'string' ||
177
178
  isPassableSymbol(methodName)) &&
@@ -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"}
@@ -6,7 +6,7 @@ export type BlockInfo = {
6
6
  * POSIX Seconds Since the Epoch
7
7
  */
8
8
  blockTime: number;
9
- params: import("@agoric/cosmic-proto/swingset/swingset.js").ParamsSDKType;
9
+ params: JsonSafe<ParamsSDKType>;
10
10
  };
11
11
  /**
12
12
  * cosmosInitAction fields that are subject to consensus. See cosmosInitAction
@@ -21,5 +21,7 @@ export type InitMsg = BlockInfo & {
21
21
  amount: NatString;
22
22
  }[];
23
23
  };
24
+ import type { ParamsSDKType } from '@agoric/cosmic-proto/swingset/swingset.js';
25
+ import type { JsonSafe } from '@agoric/cosmic-proto/json-safe';
24
26
  import * as _ActionType from './action-types.js';
25
27
  //# sourceMappingURL=chain-utils.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"chain-utils.d.ts","sourceRoot":"","sources":["chain-utils.js"],"names":[],"mappings":"AA2CO,wCAHI,GAAG,GACD,OAAO,CAoBnB;wBA/Ca,GAAG,MAAM,EAAE;;iBASX,MAAM;;;;eACN,MAAM;YACN,SAAS,aAAa,CAAC;;;;;;sBAIxB,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;mCAjB4B,2CAA2C;8BAChD,gCAAgC;6BAN9B,mBAAmB"}
@@ -14,11 +14,16 @@ import * as _ActionType from './action-types.js';
14
14
 
15
15
  /** @typedef {`${bigint}`} NatString */
16
16
 
17
+ /**
18
+ * @import {ParamsSDKType} from '@agoric/cosmic-proto/swingset/swingset.js'
19
+ * @import {JsonSafe} from '@agoric/cosmic-proto/json-safe'
20
+ */
21
+
17
22
  /**
18
23
  * @typedef {object} BlockInfo
19
24
  * @property {number} blockHeight
20
25
  * @property {number} blockTime POSIX Seconds Since the Epoch
21
- * @property {import('@agoric/cosmic-proto/swingset/swingset.js').ParamsSDKType} params
26
+ * @property {JsonSafe<ParamsSDKType>} params
22
27
  */
23
28
 
24
29
  /**
@@ -0,0 +1,2 @@
1
+ export function toCLIOptions(record: Record<string, undefined | boolean | string | string[]>): string[];
2
+ //# sourceMappingURL=cli-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-utils.d.ts","sourceRoot":"","sources":["cli-utils.js"],"names":[],"mappings":"AAUO,qCAJI,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,GAErD,MAAM,EAAE,CAYjB"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Convert a string-keyed object into an array of CLI options, using each key as
3
+ * the name of a GNU-style long option `--${key}`, ignoring each key with an
4
+ * undefined value and converting boolean values into no-argument `--${key}` or
5
+ * `--no-${key}` options.
6
+ *
7
+ * @param {Record<string, undefined | boolean | string | string[]>} record -
8
+ * e.g. { color: 'blue' }
9
+ * @returns {string[]} - e.g. ['--color', 'blue']
10
+ */
11
+ export const toCLIOptions = record =>
12
+ Object.entries(record).flatMap(([key, value]) => {
13
+ if (value === undefined) return [];
14
+ if (value === true) return [`--${key}`];
15
+ if (value === false) return [`--no-${key}`];
16
+ if (Array.isArray(value)) {
17
+ // Represent as a repeated option.
18
+ return value.flatMap(v => [`--${key}`, v]);
19
+ }
20
+ return [`--${key}`, value];
21
+ });
package/src/config.d.ts CHANGED
@@ -14,10 +14,8 @@ export namespace BridgeId {
14
14
  let WALLET: "wallet";
15
15
  }
16
16
  export namespace CosmosInitKeyToBridgeId {
17
- import vbankPort = BANK;
18
- export { vbankPort };
19
- import vibcPort = DIBC;
20
- export { vibcPort };
17
+ let vbankPort: "bank";
18
+ let vibcPort: "dibc";
21
19
  }
22
20
  export namespace WalletName {
23
21
  let depositFacet: "depositFacet";
package/src/config.js CHANGED
@@ -31,10 +31,12 @@ export const BridgeId = /** @type {const} */ ({
31
31
  });
32
32
  harden(BridgeId);
33
33
 
34
+ /** @satisfies {Record<string, BridgeId>} */
34
35
  export const CosmosInitKeyToBridgeId = {
35
- vbankPort: BridgeId.BANK,
36
- vibcPort: BridgeId.DIBC,
36
+ vbankPort: 'bank',
37
+ vibcPort: 'dibc',
37
38
  };
39
+ harden(CosmosInitKeyToBridgeId);
38
40
 
39
41
  export const WalletName = /** @type {const} */ ({
40
42
  depositFacet: 'depositFacet',
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/hex.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ export function makePortableHexCodec(): HexCodec;
2
+ export function makeBufferishHexCodec(Bufferish: BufferishConstructor): HexCodec;
3
+ export const encodeHex: (buf: Uint8Array) => string;
4
+ export const decodeHex: (hex: string) => Uint8Array;
5
+ export type HexCodec = {
6
+ encodeHex: (buf: Uint8Array) => string;
7
+ decodeHex: (hex: string) => Uint8Array;
8
+ };
9
+ /**
10
+ * is the portion of the Node.js Buffer API we need for hex conversion.
11
+ */
12
+ export type BufferishConstructor = Pick<BufferConstructor, "from" | "isBuffer"> & {
13
+ prototype: Pick<Buffer, "toString"> & Uint8Array;
14
+ };
15
+ //# sourceMappingURL=hex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["hex.js"],"names":[],"mappings":"AAsCO,wCAFM,QAAQ,CAyBpB;AAgBM,iDAJI,oBAAoB,GAElB,QAAQ,CAoBpB;8BA7FmB,UAAU,KAAK,MAAM;8BACrB,MAAM,KAAK,UAAU;;eAD3B,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM;eAC3B,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU;;;;;mCA6D5B,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG;IACvD,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC;CAClD"}
package/src/hex.js ADDED
@@ -0,0 +1,105 @@
1
+ /**
2
+ * @typedef {object} HexCodec
3
+ * @property {(buf: Uint8Array) => string} encodeHex
4
+ * @property {(hex: string) => Uint8Array} decodeHex
5
+ */
6
+
7
+ /** @type {string[]} */
8
+ const encodings = Array.from({ length: 256 }, (_, b) =>
9
+ // Write the hex representation of the byte.
10
+ b.toString(16).padStart(2, '0'),
11
+ );
12
+
13
+ /**
14
+ * Create map entries for all four permutations of lowercase and uppercase
15
+ * transformations of the two hex digits per byte. The map is keyed by the hex
16
+ * string and the value is the byte value. This allows for fast lookups when
17
+ * decoding hex strings.
18
+ *
19
+ * @type {Map<string, number>}
20
+ */
21
+ const decodings = new Map(
22
+ encodings.flatMap((hexdigits, b) => {
23
+ const lo = hexdigits.toLowerCase();
24
+ const UP = hexdigits.toUpperCase();
25
+ return [
26
+ [lo, b],
27
+ [`${lo[0]}${UP[1]}`, b],
28
+ [`${UP[0]}${lo[1]}`, b],
29
+ [UP, b],
30
+ ];
31
+ }),
32
+ );
33
+
34
+ /**
35
+ * Create a hex codec that is portable across standard JS environments.
36
+ *
37
+ * @returns {HexCodec}
38
+ */
39
+ export const makePortableHexCodec = () => {
40
+ /** @type {HexCodec} */
41
+ const portableHexCodec = {
42
+ encodeHex: buf => Array.from(buf, b => encodings[b]).join(''),
43
+ decodeHex: hex => {
44
+ const inputLen = hex.length;
45
+ if (inputLen % 2 !== 0) {
46
+ throw new Error(`Invalid hex string: ${hex}`);
47
+ }
48
+ const buf = new Uint8Array(inputLen / 2);
49
+ for (let i = 0; i < inputLen; i += 2) {
50
+ const b = decodings.get(hex.slice(i, i + 2));
51
+ if (b === undefined) {
52
+ throw new Error(`Invalid hex string: ${hex}`);
53
+ }
54
+ // eslint-disable-next-line no-bitwise
55
+ buf[i >> 1] = b;
56
+ }
57
+ return buf;
58
+ },
59
+ };
60
+
61
+ return portableHexCodec;
62
+ };
63
+
64
+ /**
65
+ * @typedef {Pick<BufferConstructor, 'from' | 'isBuffer'> & {
66
+ * prototype: Pick<Buffer, 'toString'> & Uint8Array;
67
+ * }} BufferishConstructor
68
+ * is the portion of the Node.js Buffer API we need for hex conversion.
69
+ */
70
+
71
+ /**
72
+ * Create a hex codec using parts of the Node.js Buffer API.
73
+ *
74
+ * @param {BufferishConstructor} Bufferish the object that implements the
75
+ * necessary pieces of Buffer
76
+ * @returns {HexCodec}
77
+ */
78
+ export const makeBufferishHexCodec = Bufferish => {
79
+ /** @type {HexCodec} */
80
+ const attenuatedBufferHexCodec = {
81
+ encodeHex: buf =>
82
+ (Bufferish.isBuffer?.(buf) ? buf : Bufferish.from(buf)).toString('hex'),
83
+ decodeHex: hex => {
84
+ const buf = Bufferish.from(hex, 'hex');
85
+
86
+ // Coerce to Uint8Array to avoid leaking the abstraction.
87
+ const u8a = new Uint8Array(
88
+ buf.buffer,
89
+ buf.byteOffset,
90
+ buf.byteLength / Uint8Array.BYTES_PER_ELEMENT,
91
+ );
92
+ return u8a;
93
+ },
94
+ };
95
+ return attenuatedBufferHexCodec;
96
+ };
97
+
98
+ /**
99
+ * Export a hex codec that can work with standard JS engines, but takes
100
+ * advantage of optimizations on some platforms (like Node.js's Buffer API).
101
+ */
102
+ export const { encodeHex, decodeHex } =
103
+ typeof Buffer === 'undefined'
104
+ ? makePortableHexCodec()
105
+ : makeBufferishHexCodec(Buffer);
package/src/index.d.ts CHANGED
@@ -1,13 +1,15 @@
1
+ export * from "./cli-utils.js";
1
2
  export * from "./config.js";
2
3
  export * from "./debug.js";
3
4
  export * from "./errors.js";
4
5
  export * from "./js-utils.js";
5
6
  export * from "./method-tools.js";
7
+ export * from "./metrics.js";
8
+ export * from "./natural-sort.js";
6
9
  export * from "./ses-utils.js";
10
+ export * from "./tmpDir.js";
7
11
  export * from "./typeCheck.js";
8
12
  export * from "./typeGuards.js";
9
13
  export * from "./types-index.js";
10
- export { objectMap } from "@endo/common/object-map.js";
11
- export { objectMetaMap } from "@endo/common/object-meta-map.js";
12
- export { fromUniqueEntries } from "@endo/common/from-unique-entries.js";
14
+ export { pureDataMarshaller } from "./marshal.js";
13
15
  //# sourceMappingURL=index.d.ts.map
package/src/index.js CHANGED
@@ -2,18 +2,19 @@
2
2
 
3
3
  /// <reference types="ses" />
4
4
 
5
+ export * from './cli-utils.js';
5
6
  export * from './config.js';
6
7
  export * from './debug.js';
7
8
  export * from './errors.js';
8
9
  export * from './js-utils.js';
10
+ export { pureDataMarshaller } from './marshal.js';
9
11
  export * from './method-tools.js';
12
+ export * from './metrics.js';
13
+ export * from './natural-sort.js';
10
14
  export * from './ses-utils.js';
15
+ export * from './tmpDir.js';
11
16
  export * from './typeCheck.js';
12
17
  export * from './typeGuards.js';
13
18
 
14
19
  // eslint-disable-next-line import/export -- just types
15
20
  export * from './types-index.js';
16
-
17
- export { objectMap } from '@endo/common/object-map.js';
18
- export { objectMetaMap } from '@endo/common/object-meta-map.js';
19
- export { fromUniqueEntries } from '@endo/common/from-unique-entries.js';
package/src/js-utils.d.ts CHANGED
@@ -1,7 +1,40 @@
1
+ /** For overriding TypeScript inferring the type of `true` as boolean. */
2
+ export const TRUE: true;
3
+ /**
4
+ * @typedef {<O extends Record<string, unknown>>(
5
+ * obj: O,
6
+ * ) => { [K in keyof O]: K extends string ? [K, O[K]] : never }[keyof O][]} TypedEntries
7
+ */
8
+ export const typedEntries: TypedEntries;
9
+ /**
10
+ * @typedef {<
11
+ * const Entries extends ReadonlyArray<readonly [PropertyKey, unknown]>,
12
+ * >(
13
+ * entries: Entries,
14
+ * ) => { [Entry in Entries[number] as Entry[0]]: Entry[1] }} FromTypedEntries
15
+ */
16
+ export const fromTypedEntries: FromTypedEntries;
17
+ /**
18
+ * @typedef {<A extends unknown[], V>(
19
+ * arr: A,
20
+ * mapper: <K extends number>(el: A[K], idx: K, arr: A) => V,
21
+ * ) => V[]} TypedMap
22
+ */
23
+ export const typedMap: TypedMap;
24
+ export const logLevels: readonly ["debug", "log", "info", "warn", "error"];
1
25
  export function deepCopyJsonable<T>(value: T): T;
2
- export function deepMapObject(obj: object, mapper: (value: any, name: string, record: object) => any): object;
26
+ export function deepMapObject<O extends Record<string, unknown>, M>(obj: O, mapper: <T extends Record<string, unknown>, K extends string & keyof T>(value: T[K], name: K, record: T) => T[K] | M): O | { [K_1 in keyof O]: K_1 extends string ? O[K_1] | M : never; };
27
+ export function defineName<F extends Function>(name: string, fn: F): F;
28
+ export function objectMapMutable<O extends Record<string, unknown>, M>(obj: O, mapper: <K extends keyof O>(value: O[K], key: K) => M): { [K in keyof O]: K extends string ? M : never; };
29
+ export function provideLazyMap<K, V>(map: K extends WeakKey ? WeakMap<K, V> : Map<K, V>, key: K, makeValue: (key: K) => V): V;
3
30
  export function makeMeasureSeconds(currentTimeMillisec: () => number): <T>(fn: () => Promise<T>) => Promise<{
4
31
  result: T;
5
32
  duration: number;
6
33
  }>;
34
+ export function unprefixedProperties<P extends string, K extends string, V>(obj: Record<`${P}${K}`, V>, prefix: P): Record<K, V>;
35
+ export type TypedEntries = <O extends Record<string, unknown>>(obj: O) => { [K in keyof O]: K extends string ? [K, O[K]] : never; }[keyof O][];
36
+ export type FromTypedEntries = <const Entries extends ReadonlyArray<readonly [PropertyKey, unknown]>>(entries: Entries) => { [Entry in Entries[number] as Entry[0]]: Entry[1]; };
37
+ export type TypedMap = <A extends unknown[], V>(arr: A, mapper: <K extends number>(el: A[K], idx: K, arr: A) => V) => V[];
38
+ export type LogLevel = (typeof logLevels)[keyof readonly ["debug", "log", "info", "warn", "error"] & number];
39
+ export type LimitedConsole = Pick<Console, LogLevel>;
7
40
  //# sourceMappingURL=js-utils.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"js-utils.d.ts","sourceRoot":"","sources":["js-utils.js"],"names":[],"mappings":"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"}