@aztec/foundation 0.65.0 → 0.65.2

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 (82) hide show
  1. package/dest/abi/abi.d.ts +9 -9
  2. package/dest/abi/abi.js +2 -2
  3. package/dest/abi/event_selector.d.ts +2 -4
  4. package/dest/abi/event_selector.d.ts.map +1 -1
  5. package/dest/abi/event_selector.js +6 -5
  6. package/dest/abi/function_selector.d.ts +2 -4
  7. package/dest/abi/function_selector.d.ts.map +1 -1
  8. package/dest/abi/function_selector.js +6 -5
  9. package/dest/abi/note_selector.d.ts +2 -5
  10. package/dest/abi/note_selector.d.ts.map +1 -1
  11. package/dest/abi/note_selector.js +5 -7
  12. package/dest/abi/selector.d.ts.map +1 -1
  13. package/dest/abi/selector.js +3 -2
  14. package/dest/aztec-address/index.d.ts +2 -4
  15. package/dest/aztec-address/index.d.ts.map +1 -1
  16. package/dest/aztec-address/index.js +6 -5
  17. package/dest/buffer/buffer32.d.ts +2 -12
  18. package/dest/buffer/buffer32.d.ts.map +1 -1
  19. package/dest/buffer/buffer32.js +3 -16
  20. package/dest/config/env_var.d.ts +1 -1
  21. package/dest/config/env_var.d.ts.map +1 -1
  22. package/dest/config/index.d.ts +1 -1
  23. package/dest/config/index.d.ts.map +1 -1
  24. package/dest/config/index.js +2 -2
  25. package/dest/crypto/poseidon/index.d.ts +1 -0
  26. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  27. package/dest/crypto/poseidon/index.js +7 -1
  28. package/dest/eth-address/index.d.ts +2 -9
  29. package/dest/eth-address/index.d.ts.map +1 -1
  30. package/dest/eth-address/index.js +7 -12
  31. package/dest/eth-signature/eth_signature.d.ts +5 -3
  32. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  33. package/dest/eth-signature/eth_signature.js +18 -9
  34. package/dest/fields/fields.d.ts +4 -8
  35. package/dest/fields/fields.d.ts.map +1 -1
  36. package/dest/fields/fields.js +10 -10
  37. package/dest/fields/point.d.ts +6 -4
  38. package/dest/fields/point.d.ts.map +1 -1
  39. package/dest/fields/point.js +14 -6
  40. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  41. package/dest/json-rpc/client/fetch.js +20 -14
  42. package/dest/json-rpc/convert.d.ts.map +1 -1
  43. package/dest/json-rpc/convert.js +5 -2
  44. package/dest/json-rpc/index.d.ts +1 -1
  45. package/dest/json-rpc/index.d.ts.map +1 -1
  46. package/dest/json-rpc/index.js +2 -2
  47. package/dest/noir/noir_package_config.d.ts +2 -2
  48. package/dest/schemas/schemas.d.ts +24 -43
  49. package/dest/schemas/schemas.d.ts.map +1 -1
  50. package/dest/schemas/schemas.js +29 -48
  51. package/dest/schemas/utils.d.ts +18 -7
  52. package/dest/schemas/utils.d.ts.map +1 -1
  53. package/dest/schemas/utils.js +20 -8
  54. package/dest/serialize/type_registry.d.ts.map +1 -1
  55. package/dest/serialize/type_registry.js +29 -2
  56. package/dest/string/index.d.ts +1 -0
  57. package/dest/string/index.d.ts.map +1 -1
  58. package/dest/string/index.js +4 -1
  59. package/dest/testing/test_data.js +2 -2
  60. package/package.json +2 -2
  61. package/src/abi/abi.ts +1 -1
  62. package/src/abi/event_selector.ts +6 -4
  63. package/src/abi/function_selector.ts +6 -4
  64. package/src/abi/note_selector.ts +4 -6
  65. package/src/abi/selector.ts +2 -1
  66. package/src/aztec-address/index.ts +6 -4
  67. package/src/buffer/buffer32.ts +3 -17
  68. package/src/config/env_var.ts +11 -2
  69. package/src/config/index.ts +1 -1
  70. package/src/crypto/poseidon/index.ts +11 -0
  71. package/src/eth-address/index.ts +6 -11
  72. package/src/eth-signature/eth_signature.ts +20 -9
  73. package/src/fields/fields.ts +11 -9
  74. package/src/fields/point.ts +15 -5
  75. package/src/json-rpc/client/fetch.ts +18 -13
  76. package/src/json-rpc/convert.ts +3 -1
  77. package/src/json-rpc/index.ts +1 -1
  78. package/src/schemas/schemas.ts +28 -51
  79. package/src/schemas/utils.ts +29 -10
  80. package/src/serialize/type_registry.ts +33 -1
  81. package/src/string/index.ts +4 -0
  82. package/src/testing/test_data.ts +1 -1
@@ -1,4 +1,4 @@
1
- import { format } from 'util';
1
+ import { format, inspect } from 'util';
2
2
  import { createDebugLogger } from '../../log/index.js';
3
3
  import { NoRetryError, makeBackoff, retry } from '../../retry/index.js';
4
4
  import { jsonStringify } from '../convert.js';
@@ -16,19 +16,25 @@ const log = createDebugLogger('json-rpc:json_rpc_client');
16
16
  export async function defaultFetch(host, rpcMethod, body, useApiEndpoints, noRetry = false) {
17
17
  log.debug(format(`JsonRpcClient.fetch`, host, rpcMethod, '->', body));
18
18
  let resp;
19
- if (useApiEndpoints) {
20
- resp = await fetch(`${host}/${rpcMethod}`, {
21
- method: 'POST',
22
- body: jsonStringify(body),
23
- headers: { 'content-type': 'application/json' },
24
- });
19
+ try {
20
+ if (useApiEndpoints) {
21
+ resp = await fetch(`${host}/${rpcMethod}`, {
22
+ method: 'POST',
23
+ body: jsonStringify(body),
24
+ headers: { 'content-type': 'application/json' },
25
+ });
26
+ }
27
+ else {
28
+ resp = await fetch(host, {
29
+ method: 'POST',
30
+ body: jsonStringify({ ...body, method: rpcMethod }),
31
+ headers: { 'content-type': 'application/json' },
32
+ });
33
+ }
25
34
  }
26
- else {
27
- resp = await fetch(host, {
28
- method: 'POST',
29
- body: jsonStringify({ ...body, method: rpcMethod }),
30
- headers: { 'content-type': 'application/json' },
31
- });
35
+ catch (err) {
36
+ const errorMessage = `Error fetching from host ${host} with method ${rpcMethod}: ${inspect(err)}`;
37
+ throw new Error(errorMessage);
32
38
  }
33
39
  let responseJson;
34
40
  try {
@@ -63,4 +69,4 @@ export function makeFetch(retries, defaultNoRetry, log) {
63
69
  return await retry(() => defaultFetch(host, rpcMethod, body, useApiEndpoints, noRetry ?? defaultNoRetry), `JsonRpcClient request ${rpcMethod} to ${host}`, makeBackoff(retries), log, false);
64
70
  };
65
71
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbi1ycGMvY2xpZW50L2ZldGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFOUIsT0FBTyxFQUFvQixpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUMsTUFBTSxHQUFHLEdBQUcsaUJBQWlCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUUxRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFlBQVksQ0FDaEMsSUFBWSxFQUNaLFNBQWlCLEVBQ2pCLElBQVMsRUFDVCxlQUF3QixFQUN4QixPQUFPLEdBQUcsS0FBSztJQUVmLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEUsSUFBSSxJQUFjLENBQUM7SUFDbkIsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNwQixJQUFJLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksU0FBUyxFQUFFLEVBQUU7WUFDekMsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQztZQUN6QixPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUU7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDTixJQUFJLEdBQUcsTUFBTSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsSUFBSSxFQUFFLGFBQWEsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUNuRCxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUU7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDO0lBQ2pCLElBQUksQ0FBQztRQUNILFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNiLE1BQU0sWUFBWSxHQUFHLCtCQUErQixJQUFJLGFBQWEsU0FBUyxXQUFXLElBQUksQ0FBQyxNQUFNLEtBQUssWUFBWSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0SSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN6RCxNQUFNLElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQWlCLEVBQUUsY0FBdUIsRUFBRSxHQUFpQjtJQUNyRixPQUFPLEtBQUssRUFBRSxJQUFZLEVBQUUsU0FBaUIsRUFBRSxJQUFTLEVBQUUsZUFBd0IsRUFBRSxPQUFpQixFQUFFLEVBQUU7UUFDdkcsT0FBTyxNQUFNLEtBQUssQ0FDaEIsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxPQUFPLElBQUksY0FBYyxDQUFDLEVBQ3JGLHlCQUF5QixTQUFTLE9BQU8sSUFBSSxFQUFFLEVBQy9DLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFDcEIsR0FBRyxFQUNILEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbi1ycGMvY2xpZW50L2ZldGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlDLE1BQU0sR0FBRyxHQUFHLGlCQUFpQixDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFFMUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxZQUFZLENBQ2hDLElBQVksRUFDWixTQUFpQixFQUNqQixJQUFTLEVBQ1QsZUFBd0IsRUFDeEIsT0FBTyxHQUFHLEtBQUs7SUFFZixHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLElBQUksSUFBYyxDQUFDO0lBQ25CLElBQUksQ0FBQztRQUNILElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsSUFBSSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLFNBQVMsRUFBRSxFQUFFO2dCQUN6QyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDekIsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFO2FBQ2hELENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxHQUFHLE1BQU0sS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDdkIsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsSUFBSSxFQUFFLGFBQWEsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQztnQkFDbkQsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFO2FBQ2hELENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLE1BQU0sWUFBWSxHQUFHLDRCQUE0QixJQUFJLGdCQUFnQixTQUFTLEtBQUssT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbEcsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxZQUFZLENBQUM7SUFDakIsSUFBSSxDQUFDO1FBQ0gsWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2IsTUFBTSxZQUFZLEdBQUcsK0JBQStCLElBQUksYUFBYSxTQUFTLFdBQVcsSUFBSSxDQUFDLE1BQU0sS0FBSyxZQUFZLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RJLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pELE1BQU0sSUFBSSxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBaUIsRUFBRSxjQUF1QixFQUFFLEdBQWlCO0lBQ3JGLE9BQU8sS0FBSyxFQUFFLElBQVksRUFBRSxTQUFpQixFQUFFLElBQVMsRUFBRSxlQUF3QixFQUFFLE9BQWlCLEVBQUUsRUFBRTtRQUN2RyxPQUFPLE1BQU0sS0FBSyxDQUNoQixHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLE9BQU8sSUFBSSxjQUFjLENBQUMsRUFDckYseUJBQXlCLFNBQVMsT0FBTyxJQUFJLEVBQUUsRUFDL0MsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUNwQixHQUFHLEVBQ0gsS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/json-rpc/convert.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAkBrE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMjF"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/json-rpc/convert.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAoBrE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMjF"}
@@ -18,7 +18,10 @@ export function jsonStringify(obj, prettify) {
18
18
  if (typeof value === 'bigint') {
19
19
  return value.toString();
20
20
  }
21
- else if (typeof value === 'object' && Buffer.isBuffer(value)) {
21
+ else if (typeof value === 'object' && value && value.type === 'Buffer' && Array.isArray(value.data)) {
22
+ return Buffer.from(value.data).toString('base64');
23
+ }
24
+ else if (typeof value === 'object' && value && Buffer.isBuffer(value)) {
22
25
  return value.toString('base64');
23
26
  }
24
27
  else if (typeof value === 'object' && value instanceof Map) {
@@ -44,4 +47,4 @@ export function tryJsonStringify(obj, prettify) {
44
47
  return undefined;
45
48
  }
46
49
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qc29uLXJwYy9jb252ZXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFJaEM7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUksSUFBWSxFQUFFLE1BQWlCO0lBQ3BFLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVcsRUFBRSxRQUFrQjtJQUMzRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQ25CLEdBQUcsRUFDSCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNkLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvRCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUM3RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUM3RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDcEMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDLEVBQ0QsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDakIsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsR0FBUSxFQUFFLFFBQWtCO0lBQzNELElBQUksQ0FBQztRQUNILE9BQU8sYUFBYSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDIn0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qc29uLXJwYy9jb252ZXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFJaEM7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUksSUFBWSxFQUFFLE1BQWlCO0lBQ3BFLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVcsRUFBRSxRQUFrQjtJQUMzRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQ25CLEdBQUcsRUFDSCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNkLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3RHLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELENBQUM7YUFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hFLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxDQUFDO2FBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBQzdELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBQzdELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNwQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUMsRUFDRCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFRLEVBQUUsUUFBa0I7SUFDM0QsSUFBSSxDQUFDO1FBQ0gsT0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUMifQ==
@@ -1,2 +1,2 @@
1
- export { jsonStringify } from './convert.js';
1
+ export { jsonStringify, jsonParseWithSchema, tryJsonStringify } from './convert.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/json-rpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/json-rpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -1,2 +1,2 @@
1
- export { jsonStringify } from './convert.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvanNvbi1ycGMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQyJ9
1
+ export { jsonStringify, jsonParseWithSchema, tryJsonStringify } from './convert.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvanNvbi1ycGMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQyJ9
@@ -40,8 +40,8 @@ declare const noirPackageConfigSchema: z.ZodObject<{
40
40
  license?: string | undefined;
41
41
  }, {
42
42
  type?: "lib" | "contract" | "bin" | undefined;
43
- name?: string | undefined;
44
43
  description?: string | undefined;
44
+ name?: string | undefined;
45
45
  entry?: string | undefined;
46
46
  authors?: string[] | undefined;
47
47
  compiler_version?: string | undefined;
@@ -88,8 +88,8 @@ declare const noirPackageConfigSchema: z.ZodObject<{
88
88
  }, {
89
89
  package: {
90
90
  type?: "lib" | "contract" | "bin" | undefined;
91
- name?: string | undefined;
92
91
  description?: string | undefined;
92
+ name?: string | undefined;
93
93
  entry?: string | undefined;
94
94
  authors?: string[] | undefined;
95
95
  compiler_version?: string | undefined;
@@ -8,56 +8,37 @@ import { NoteSelector } from '../abi/note_selector.js';
8
8
  import { AztecAddress } from '../aztec-address/index.js';
9
9
  import { Buffer32 } from '../buffer/buffer32.js';
10
10
  import { EthAddress } from '../eth-address/index.js';
11
- import { Signature } from '../eth-signature/eth_signature.js';
12
11
  import { Fq, Fr } from '../fields/fields.js';
13
12
  import { Point } from '../fields/point.js';
14
13
  import { type ZodFor } from './types.js';
15
14
  /** Validation schemas for common types. Every schema must match its toJSON. */
16
15
  export declare const schemas: {
17
- /** Accepts both a 0x string and a structured `{ type: EthAddress, value: '0x...' }` */
18
- EthAddress: ZodFor<EthAddress>;
19
- /** Accepts both a 0x string and a structured `{ type: AztecAddress, value: '0x...' }` */
20
- AztecAddress: ZodFor<AztecAddress>;
21
- /** Accepts both a 0x string and a structured type. */
22
- FunctionSelector: ZodFor<FunctionSelector>;
23
- /** Accepts both a 0x string and a structured type. */
24
- NoteSelector: ZodFor<NoteSelector>;
25
- /** Accepts both a 0x string and a structured type. */
26
- EventSelector: ZodFor<EventSelector>;
27
- /** Field element. Accepts a 0x prefixed hex string or a structured type. */
28
- Fr: ZodFor<Fr>;
29
- /** Field element. Accepts a 0x prefixed hex string or a structured type. */
30
- Fq: ZodFor<Fq>;
31
- /** Point. Serialized as 0x prefixed string or a type. */
32
- Point: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
33
- x: ZodFor<Fr>;
34
- y: ZodFor<Fr>;
35
- isInfinite: z.ZodOptional<z.ZodBoolean>;
36
- }, "strip", z.ZodTypeAny, {
37
- x: Fr;
38
- y: Fr;
39
- isInfinite?: boolean | undefined;
40
- }, {
41
- x?: any;
42
- y?: any;
43
- isInfinite?: boolean | undefined;
44
- }>, z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>]>, Point, string | {
45
- x?: any;
46
- y?: any;
47
- isInfinite?: boolean | undefined;
48
- }>;
49
- /** Accepts a 0x string */
50
- Signature: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, `0x${string}`, string>, `0x${string}`, string>, Signature, string>;
51
- /** Coerces any input to bigint */
16
+ /** Accepts a hex string. */
17
+ EthAddress: z.ZodType<EthAddress, any, string>;
18
+ /** Accepts a hex string. */
19
+ AztecAddress: z.ZodType<AztecAddress, any, string>;
20
+ /** Accepts a hex string. */
21
+ FunctionSelector: z.ZodType<FunctionSelector, any, string>;
22
+ /** Accepts a hex string. */
23
+ NoteSelector: z.ZodType<NoteSelector, any, string>;
24
+ /** Accepts a hex string. */
25
+ EventSelector: z.ZodType<EventSelector, any, string>;
26
+ /** Accepts a hex string. */
27
+ Fr: z.ZodType<Fr, any, string>;
28
+ /** Accepts a hex string. */
29
+ Fq: z.ZodType<Fq, any, string>;
30
+ /** Point. Serialized as a hex string. */
31
+ Point: z.ZodType<Point, any, string>;
32
+ /** Coerces any input to bigint. */
52
33
  BigInt: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
53
- /** Coerces any input to integer number */
34
+ /** Coerces any input to integer number. */
54
35
  Integer: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
55
- /** Coerces input to UInt32 */
36
+ /** Coerces input to UInt32. */
56
37
  UInt32: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
57
- /** Accepts a hex string as a Buffer32 type */
38
+ /** Accepts a hex string as a Buffer32 type. */
58
39
  Buffer32: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Buffer32, string>;
59
- /** Accepts a base64 string or a structured `{ type: 'Buffer', data: [byte, byte...] }` as a buffer */
60
- BufferB64: z.ZodUnion<[z.ZodEffects<z.ZodString, Buffer, string>, z.ZodEffects<z.ZodObject<{
40
+ /** Accepts a base64 string or an object `{ type: 'Buffer', data: [byte, byte...] }` as a buffer. */
41
+ Buffer: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Buffer, string>, z.ZodEffects<z.ZodObject<{
61
42
  type: z.ZodLiteral<"Buffer">;
62
43
  data: z.ZodArray<z.ZodNumber, "many">;
63
44
  }, "strip", z.ZodTypeAny, {
@@ -70,9 +51,9 @@ export declare const schemas: {
70
51
  type: "Buffer";
71
52
  data: number[];
72
53
  }>]>;
73
- /** Accepts a hex string with optional 0x prefix as a buffer */
54
+ /** Accepts a hex string as a buffer. */
74
55
  BufferHex: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, Buffer, string>;
75
- /** Hex string with an optional 0x prefix, which gets removed as part of the parsing */
56
+ /** Hex string with an optional 0x prefix which gets removed as part of the parsing. */
76
57
  HexString: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
77
58
  };
78
59
  export declare const AbiDecodedSchema: ZodFor<AbiDecoded>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/schemas.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAMzC,+EAA+E;AAC/E,eAAO,MAAM,OAAO;IAClB,uFAAuF;;IAGvF,yFAAyF;;IAGzF,sDAAsD;;IAGtD,sDAAsD;;IAGtD,sDAAsD;;IAGtD,4EAA4E;;IAG5E,4EAA4E;;IAG5E,yDAAyD;;;;;;;;;;;;;;;;;;IAYzD,0BAA0B;;IAO1B,kCAAkC;;IAGlC,0CAA0C;;IAG1C,8BAA8B;;IAS9B,8CAA8C;;IAG9C,sGAAsG;;;;;;;;;;;;;;IActG,+DAA+D;;IAO/D,uFAAuF;;CAExF,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAM9C,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/schemas.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC,+EAA+E;AAC/E,eAAO,MAAM,OAAO;IAClB,4BAA4B;;IAG5B,4BAA4B;;IAG5B,4BAA4B;;IAG5B,4BAA4B;;IAG5B,4BAA4B;;IAG5B,4BAA4B;;IAG5B,4BAA4B;;IAG5B,yCAAyC;;IAGzC,mCAAmC;;IAGnC,2CAA2C;;IAG3C,+BAA+B;;IAS/B,+CAA+C;;IAG/C,oGAAoG;;;;;;;;;;;;;;IAWpG,wCAAwC;;IAOxC,uFAAuF;;CAExF,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAM9C,CAAC"}
@@ -5,76 +5,57 @@ import { NoteSelector } from '../abi/note_selector.js';
5
5
  import { AztecAddress } from '../aztec-address/index.js';
6
6
  import { Buffer32 } from '../buffer/buffer32.js';
7
7
  import { EthAddress } from '../eth-address/index.js';
8
- import { Signature } from '../eth-signature/eth_signature.js';
9
8
  import { Fq, Fr } from '../fields/fields.js';
10
9
  import { Point } from '../fields/point.js';
11
- import { hasHexPrefix, isHex, withoutHexPrefix } from '../string/index.js';
12
- import { hexSchema, maybeStructuredStringSchemaFor } from './utils.js';
13
- const FrSchema = maybeStructuredStringSchemaFor('Fr', Fr, isHex);
14
- const FqSchema = maybeStructuredStringSchemaFor('Fq', Fq, isHex);
10
+ import { isHex, withoutHexPrefix } from '../string/index.js';
11
+ import { bufferSchema, hexSchema } from './utils.js';
15
12
  /** Validation schemas for common types. Every schema must match its toJSON. */
16
13
  export const schemas = {
17
- /** Accepts both a 0x string and a structured `{ type: EthAddress, value: '0x...' }` */
18
- EthAddress: maybeStructuredStringSchemaFor('EthAddress', EthAddress, EthAddress.isAddress),
19
- /** Accepts both a 0x string and a structured `{ type: AztecAddress, value: '0x...' }` */
20
- AztecAddress: maybeStructuredStringSchemaFor('AztecAddress', AztecAddress, AztecAddress.isAddress),
21
- /** Accepts both a 0x string and a structured type. */
22
- FunctionSelector: maybeStructuredStringSchemaFor('FunctionSelector', FunctionSelector),
23
- /** Accepts both a 0x string and a structured type. */
24
- NoteSelector: maybeStructuredStringSchemaFor('NoteSelector', NoteSelector),
25
- /** Accepts both a 0x string and a structured type. */
26
- EventSelector: maybeStructuredStringSchemaFor('EventSelector', EventSelector),
27
- /** Field element. Accepts a 0x prefixed hex string or a structured type. */
28
- Fr: FrSchema,
29
- /** Field element. Accepts a 0x prefixed hex string or a structured type. */
30
- Fq: FqSchema,
31
- /** Point. Serialized as 0x prefixed string or a type. */
32
- Point: z
33
- .object({
34
- x: FrSchema,
35
- y: FrSchema,
36
- isInfinite: z.boolean().optional(),
37
- })
38
- .or(hexSchema)
39
- .transform(value => typeof value === 'string' ? Point.fromString(value) : new Point(value.x, value.y, value.isInfinite ?? false)),
40
- /** Accepts a 0x string */
41
- Signature: z
42
- .string()
43
- .refine(hasHexPrefix, 'No hex prefix')
44
- .refine(Signature.isValid0xString, 'Not a valid Ethereum signature')
45
- .transform(Signature.from0xString),
46
- /** Coerces any input to bigint */
14
+ /** Accepts a hex string. */
15
+ EthAddress: EthAddress.schema,
16
+ /** Accepts a hex string. */
17
+ AztecAddress: AztecAddress.schema,
18
+ /** Accepts a hex string. */
19
+ FunctionSelector: FunctionSelector.schema,
20
+ /** Accepts a hex string. */
21
+ NoteSelector: NoteSelector.schema,
22
+ /** Accepts a hex string. */
23
+ EventSelector: EventSelector.schema,
24
+ /** Accepts a hex string. */
25
+ Fr: Fr.schema,
26
+ /** Accepts a hex string. */
27
+ Fq: Fq.schema,
28
+ /** Point. Serialized as a hex string. */
29
+ Point: Point.schema,
30
+ /** Coerces any input to bigint. */
47
31
  BigInt: z.union([z.bigint(), z.number(), z.string()]).pipe(z.coerce.bigint()),
48
- /** Coerces any input to integer number */
32
+ /** Coerces any input to integer number. */
49
33
  Integer: z.union([z.bigint(), z.number(), z.string()]).pipe(z.coerce.number().int()),
50
- /** Coerces input to UInt32 */
34
+ /** Coerces input to UInt32. */
51
35
  UInt32: z.union([z.bigint(), z.number(), z.string()]).pipe(z.coerce
52
36
  .number()
53
37
  .int()
54
38
  .min(0)
55
39
  .max(2 ** 32 - 1)),
56
- /** Accepts a hex string as a Buffer32 type */
40
+ /** Accepts a hex string as a Buffer32 type. */
57
41
  Buffer32: z.string().refine(isHex, 'Not a valid hex string').transform(Buffer32.fromString),
58
- /** Accepts a base64 string or a structured `{ type: 'Buffer', data: [byte, byte...] }` as a buffer */
59
- BufferB64: z.union([
60
- z
61
- .string()
62
- .base64()
63
- .transform(data => Buffer.from(data, 'base64')),
42
+ /** Accepts a base64 string or an object `{ type: 'Buffer', data: [byte, byte...] }` as a buffer. */
43
+ Buffer: z.union([
44
+ bufferSchema,
64
45
  z
65
46
  .object({
66
47
  type: z.literal('Buffer'),
67
- data: z.array(z.number().int().max(255)),
48
+ data: z.array(z.number().int().min(0).max(255)),
68
49
  })
69
50
  .transform(({ data }) => Buffer.from(data)),
70
51
  ]),
71
- /** Accepts a hex string with optional 0x prefix as a buffer */
52
+ /** Accepts a hex string as a buffer. */
72
53
  BufferHex: z
73
54
  .string()
74
55
  .refine(isHex, 'Not a valid hex string')
75
56
  .transform(withoutHexPrefix)
76
57
  .transform(data => Buffer.from(data, 'hex')),
77
- /** Hex string with an optional 0x prefix, which gets removed as part of the parsing */
58
+ /** Hex string with an optional 0x prefix which gets removed as part of the parsing. */
78
59
  HexString: hexSchema,
79
60
  };
80
61
  export const AbiDecodedSchema = z.union([
@@ -84,4 +65,4 @@ export const AbiDecodedSchema = z.union([
84
65
  z.array(z.lazy(() => AbiDecodedSchema)),
85
66
  z.record(z.lazy(() => AbiDecodedSchema)),
86
67
  ]);
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWFzL3NjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUd4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdkUsTUFBTSxRQUFRLEdBQUcsOEJBQThCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNqRSxNQUFNLFFBQVEsR0FBRyw4QkFBOEIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRWpFLCtFQUErRTtBQUMvRSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsdUZBQXVGO0lBQ3ZGLFVBQVUsRUFBRSw4QkFBOEIsQ0FBQyxZQUFZLEVB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
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWFzL3NjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUd4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyRCwrRUFBK0U7QUFDL0UsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ3JCLDRCQUE0QjtJQUM1QixVQUFVLEVBQUUsVUFBVSxDQUFDLE1BQU07SUFFN0IsNEJBQTRCO0lBQzVCLFlBQVksRUFBRSxZQUFZLENBQUMsTUFBTTtJQUVqQyw0QkFBNEI7SUFDNUIsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsTUFBTTtJQUV6Qyw0QkFBNEI7SUFDNUIsWUFBWSxFQUFFLFlBQVksQ0FBQyxNQUFNO0lBRWpDLDRCQUE0QjtJQUM1QixhQUFhLEVBQUUsYUFBYSxDQUFDLE1BQU07SUFFbkMsNEJBQTRCO0lB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
@@ -3,6 +3,8 @@
3
3
  import { type ParseInput, type ParseReturnType, ZodOptional, type ZodType, type ZodTypeAny, z } from 'zod';
4
4
  import { type ZodFor } from './types.js';
5
5
  export declare const hexSchema: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
6
+ /** Schema for a buffer represented as a base64 string. */
7
+ export declare const bufferSchema: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Buffer, string>;
6
8
  export declare class ZodNullableOptional<T extends ZodTypeAny> extends ZodOptional<T> {
7
9
  _isNullableOptional: boolean;
8
10
  _parse(input: ParseInput): ParseReturnType<this['_output']>;
@@ -14,6 +16,9 @@ export declare class ZodNullableOptional<T extends ZodTypeAny> extends ZodOption
14
16
  * need to convert nulls to undefineds as we parse.
15
17
  */
16
18
  export declare function optional<T extends ZodTypeAny>(schema: T): ZodNullableOptional<T>;
19
+ type ToJsonIs<T, TRet> = T extends {
20
+ toJSON(): TRet;
21
+ } ? T : never;
17
22
  /**
18
23
  * Creates a schema that accepts a hex string and uses it to hydrate an instance.
19
24
  * @param klazz - Class that implements either fromString or fromBuffer.
@@ -23,18 +28,24 @@ export declare function hexSchemaFor<TClass extends {
23
28
  fromString(str: string): any;
24
29
  } | {
25
30
  fromBuffer(buf: Buffer): any;
26
- }>(klazz: TClass): ZodType<TClass extends {
31
+ }>(klazz: TClass, refinement?: (input: string) => boolean): ZodType<TClass extends {
27
32
  fromString(str: string): infer TInstance;
28
33
  } | {
29
34
  fromBuffer(buf: Buffer): infer TInstance;
30
- } ? TInstance : never, any, string>;
31
- export declare function maybeStructuredStringSchemaFor<TClass extends {
32
- fromString(str: string): any;
33
- }>(name: string, klazz: TClass, refinement?: (input: string) => boolean): ZodFor<TClass extends {
34
- fromString(str: string): infer TInstance;
35
- } ? TInstance : never>;
35
+ } ? ToJsonIs<TInstance, string> : never, any, string>;
36
+ /**
37
+ * Creates a schema that accepts a base64 string and uses it to hydrate an instance.
38
+ * @param klazz - Class that implements fromBuffer.
39
+ * @returns A schema for the class.
40
+ */
41
+ export declare function bufferSchemaFor<TClass extends {
42
+ fromBuffer(buf: Buffer): any;
43
+ }>(klazz: TClass): ZodType<TClass extends {
44
+ fromBuffer(buf: Buffer): infer TInstance;
45
+ } ? ToJsonIs<TInstance, Buffer> : never, any, string>;
36
46
  /** Creates a schema for a js Map type that matches the serialization used in jsonStringify. */
37
47
  export declare function mapSchema<TKey, TValue>(key: ZodFor<TKey>, value: ZodFor<TValue>): ZodFor<Map<TKey, TValue>>;
38
48
  /** Creates a schema for a js Set type that matches the serialization used in jsonStringify. */
39
49
  export declare function setSchema<T>(value: ZodFor<T>): ZodFor<Set<T>>;
50
+ export {};
40
51
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/schemas/utils.ts"],"names":[],"mappings":";;AAAA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,eAAe,EAEpB,WAAW,EAEX,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,CAAC,EACF,MAAM,KAAK,CAAC;AAGb,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,SAAS,yEAAiF,CAAC;AAExG,qBAAa,mBAAmB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC3E,mBAAmB,UAAQ;IAElB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;WAQpD,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC;CAM9E;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,0BAEvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,SAAS;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7G,KAAK,EAAE,MAAM,GACZ,OAAO,CACR,MAAM,SAAS;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,SAAS,CAAA;CAAE,GAAG;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,SAAS,CAAA;CAAE,GACtG,SAAS,GACT,KAAK,EACT,GAAG,EACH,MAAM,CACP,CAIA;AAGD,wBAAgB,8BAA8B,CAAC,MAAM,SAAS;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC5F,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GACtC,MAAM,CAAC,MAAM,SAAS;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,SAAS,CAAA;CAAE,GAAG,SAAS,GAAG,KAAK,CAAC,CAKzF;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAE3G;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAE7D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/schemas/utils.ts"],"names":[],"mappings":";;AAAA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,eAAe,EAEpB,WAAW,EAEX,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,CAAC,EACF,MAAM,KAAK,CAAC;AAGb,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,SAAS,yEAAiF,CAAC;AAKxG,0DAA0D;AAC1D,eAAO,MAAM,YAAY,yEAKwB,CAAC;AAElD,qBAAa,mBAAmB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC3E,mBAAmB,UAAQ;IAElB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;WAQpD,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC;CAM9E;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,MAAM,EAAE,CAAC,0BAEvD;AAED,KAAK,QAAQ,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS;IAAE,MAAM,IAAI,IAAI,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,SAAS;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7G,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GACtC,OAAO,CACR,MAAM,SAAS;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,SAAS,CAAA;CAAE,GAAG;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,SAAS,CAAA;CAAE,GACtG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,GAC3B,KAAK,EACT,GAAG,EACH,MAAM,CACP,CAMA;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,SAAS;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC7E,KAAK,EAAE,MAAM,GACZ,OAAO,CACR,MAAM,SAAS;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,SAAS,CAAA;CAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,KAAK,EACjG,GAAG,EACH,MAAM,CACP,CAEA;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAE3G;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAE7D"}
@@ -1,6 +1,15 @@
1
1
  import { OK, ZodFirstPartyTypeKind, ZodOptional, ZodParsedType, z, } from 'zod';
2
2
  import { isHex, withoutHexPrefix } from '../string/index.js';
3
3
  export const hexSchema = z.string().refine(isHex, 'Not a valid hex string').transform(withoutHexPrefix);
4
+ // Copied from zod internals, which was copied from https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript
5
+ const base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;
6
+ /** Schema for a buffer represented as a base64 string. */
7
+ export const bufferSchema = z
8
+ .string()
9
+ // We only test the str for base64 if it's shorter than 1024 bytes, otherwise we've run into maximum
10
+ // stack size exceeded errors when trying to validate excessively long strings (such as contract bytecode).
11
+ .refine(str => str.length > 1024 || base64Regex.test(str), 'Not a valid base64 string')
12
+ .transform(data => Buffer.from(data, 'base64'));
4
13
  export class ZodNullableOptional extends ZodOptional {
5
14
  constructor() {
6
15
  super(...arguments);
@@ -33,17 +42,20 @@ export function optional(schema) {
33
42
  * @param klazz - Class that implements either fromString or fromBuffer.
34
43
  * @returns A schema for the class.
35
44
  */
36
- export function hexSchemaFor(klazz) {
45
+ export function hexSchemaFor(klazz, refinement) {
46
+ const stringSchema = refinement ? z.string().refine(refinement, `Not a valid instance`) : z.string();
47
+ const hexSchema = stringSchema.refine(isHex, 'Not a valid hex string').transform(withoutHexPrefix);
37
48
  return 'fromString' in klazz
38
49
  ? hexSchema.transform(klazz.fromString.bind(klazz))
39
50
  : hexSchema.transform(str => Buffer.from(str, 'hex')).transform(klazz.fromBuffer.bind(klazz));
40
51
  }
41
- // TODO(palla/schemas): Delete this class once all serialization of the type { type: string, value: string } are removed.
42
- export function maybeStructuredStringSchemaFor(name, klazz, refinement) {
43
- const stringSchema = refinement ? z.string().refine(refinement, `Not a valid ${name}`) : z.string();
44
- return z
45
- .union([stringSchema, z.object({ type: z.literal(name), value: stringSchema })])
46
- .transform(input => klazz.fromString(typeof input === 'string' ? input : input.value));
52
+ /**
53
+ * Creates a schema that accepts a base64 string and uses it to hydrate an instance.
54
+ * @param klazz - Class that implements fromBuffer.
55
+ * @returns A schema for the class.
56
+ */
57
+ export function bufferSchemaFor(klazz) {
58
+ return bufferSchema.transform(klazz.fromBuffer.bind(klazz));
47
59
  }
48
60
  /** Creates a schema for a js Map type that matches the serialization used in jsonStringify. */
49
61
  export function mapSchema(key, value) {
@@ -53,4 +65,4 @@ export function mapSchema(key, value) {
53
65
  export function setSchema(value) {
54
66
  return z.array(value).transform(entries => new Set(entries));
55
67
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NoZW1hcy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsRUFBRSxFQUdGLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsYUFBYSxFQUdiLENBQUMsR0FDRixNQUFNLEtBQUssQ0FBQztBQUViLE9BQU8sRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUc3RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUV4RyxNQUFNLE9BQU8sbUJBQTBDLFNBQVEsV0FBYztJQUE3RTs7UUFDRSx3QkFBbUIsR0FBRyxJQUFJLENBQUM7SUFnQjdCLENBQUM7SUFkVSxNQUFNLENBQUMsS0FBaUI7UUFDL0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLFVBQVUsS0FBSyxhQUFhLENBQUMsU0FBUyxJQUFJLFVBQVUsS0FBSyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEYsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxNQUFNLENBQVUsTUFBTSxDQUF1QixJQUFPO1FBQ2xELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQztZQUM3QixTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxxQkFBcUIsQ0FBQyxXQUFXO1NBQzVDLENBQVEsQ0FBQztJQUNaLENBQUM7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUF1QixNQUFTO0lBQ3RELE9BQU8sbUJBQW1CLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsS0FBYTtJQVFiLE9BQU8sWUFBWSxJQUFJLEtBQUs7UUFDMUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ2xHLENBQUM7QUFFRCx5SEFBeUg7QUFDekgsTUFBTSxVQUFVLDhCQUE4QixDQUM1QyxJQUFZLEVBQ1osS0FBYSxFQUNiLFVBQXVDO0lBRXZDLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDcEcsT0FBTyxDQUFDO1NBQ0wsS0FBSyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzNGLENBQUM7QUFFRCwrRkFBK0Y7QUFDL0YsTUFBTSxVQUFVLFNBQVMsQ0FBZSxHQUFpQixFQUFFLEtBQXFCO0lBQzlFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUM7QUFFRCwrRkFBK0Y7QUFDL0YsTUFBTSxVQUFVLFNBQVMsQ0FBSSxLQUFnQjtJQUMzQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDIn0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NoZW1hcy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsRUFBRSxFQUdGLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsYUFBYSxFQUdiLENBQUMsR0FDRixNQUFNLEtBQUssQ0FBQztBQUViLE9BQU8sRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUc3RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUV4RyxpSkFBaUo7QUFDakosTUFBTSxXQUFXLEdBQUcsa0VBQWtFLENBQUM7QUFFdkYsMERBQTBEO0FBQzFELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDO0tBQzFCLE1BQU0sRUFBRTtJQUNULG9HQUFvRztJQUNwRywyR0FBMkc7S0FDMUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSwyQkFBMkIsQ0FBQztLQUN0RixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBRWxELE1BQU0sT0FBTyxtQkFBMEMsU0FBUSxXQUFjO0lBQTdFOztRQUNFLHdCQUFtQixHQUFHLElBQUksQ0FBQztJQWdCN0IsQ0FBQztJQWRVLE1BQU0sQ0FBQyxLQUFpQjtRQUMvQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksVUFBVSxLQUFLLGFBQWEsQ0FBQyxTQUFTLElBQUks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
@@ -1 +1 @@
1
- {"version":3,"file":"type_registry.d.ts","sourceRoot":"","sources":["../../src/serialize/type_registry.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0C;WAEnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,GAAG,IAAI;WAI7D,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;CAG3E;AAGD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,OAE1C;AAGD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAW9C"}
1
+ {"version":3,"file":"type_registry.d.ts","sourceRoot":"","sources":["../../src/serialize/type_registry.ts"],"names":[],"mappings":"AAEA,KAAK,cAAc,GAAG;IAAE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0C;WAEnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,GAAG,IAAI;WAI7D,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;CAG3E;AAmBD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,OAgB1C;AAGD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAW9C"}
@@ -1,3 +1,4 @@
1
+ import { mapValues } from '../collection/object.js';
1
2
  /**
2
3
  * Register a class here that has a toJSON method that returns:
3
4
  * ```
@@ -18,9 +19,35 @@ export class TypeRegistry {
18
19
  }
19
20
  }
20
21
  TypeRegistry.registry = new Map();
22
+ function replace(value) {
23
+ if (value &&
24
+ typeof value === 'object' &&
25
+ 'toString' in value &&
26
+ TypeRegistry.getConstructor(value.constructor.name)) {
27
+ return {
28
+ type: value.constructor.name,
29
+ value: value.toString(),
30
+ };
31
+ }
32
+ return value;
33
+ }
21
34
  // Resolver function that enables JSON serialization of BigInts.
22
35
  export function resolver(_, value) {
23
- return typeof value === 'bigint' ? value.toString() + 'n' : value;
36
+ if (typeof value === 'bigint') {
37
+ return value.toString() + 'n';
38
+ }
39
+ if (typeof value === 'object' && value) {
40
+ if (Array.isArray(value)) {
41
+ return value.map(replace);
42
+ }
43
+ else if (Buffer.isBuffer(value)) {
44
+ return { type: 'buffer', value: value.toString('hex') };
45
+ }
46
+ else {
47
+ return mapValues(value, replace);
48
+ }
49
+ }
50
+ return value;
24
51
  }
25
52
  // Reviver function that uses TypeRegistry to instantiate objects.
26
53
  export function reviver(key, value) {
@@ -35,4 +62,4 @@ export function reviver(key, value) {
35
62
  }
36
63
  return value;
37
64
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZV9yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJpYWxpemUvdHlwZV9yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFHaEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFnQixFQUFFLFdBQTJCO1FBQ2xFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFnQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7O0FBUmMscUJBQVEsR0FBZ0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQVduRSxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLFFBQVEsQ0FBQyxDQUFNLEVBQUUsS0FBVTtJQUN6QyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxrRUFBa0U7QUFDbEUsTUFBTSxVQUFVLE9BQU8sQ0FBQyxHQUFXLEVBQUUsS0FBVTtJQUM3QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdEQsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksTUFBTSxJQUFJLEtBQUssSUFBSSxPQUFPLElBQUksS0FBSyxFQUFFLENBQUM7UUFDOUUsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIn0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZV9yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJpYWxpemUvdHlwZV9yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJcEQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBR2hCLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBZ0IsRUFBRSxXQUEyQjtRQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBZ0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDOztBQVJjLHFCQUFRLEdBQWdDLElBQUksR0FBRyxFQUFFLENBQUM7QUFXbkUsU0FBUyxPQUFPLENBQUksS0FBUTtJQUMxQixJQUNFLEtBQUs7UUFDTCxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLFVBQVUsSUFBSSxLQUFLO1FBQ25CLFlBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFDbkQsQ0FBQztRQUNELE9BQU87WUFDTCxJQUFJLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJO1lBQzVCLEtBQUssRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFO1NBQ3hCLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxRQUFRLENBQUMsQ0FBTSxFQUFFLEtBQVU7SUFDekMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxHQUFHLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3ZDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMxRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELGtFQUFrRTtBQUNsRSxNQUFNLFVBQVUsT0FBTyxDQUFDLEdBQVcsRUFBRSxLQUFVO0lBQzdDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN0RCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxNQUFNLElBQUksS0FBSyxJQUFJLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUM5RSxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMifQ==
@@ -4,6 +4,7 @@ export declare function hasHexPrefix(str: string): str is `0x${string}`;
4
4
  export declare function withoutHexPrefix(str: string): string;
5
5
  export declare function isHex(str: string): boolean;
6
6
  export declare function hexToBuffer(str: string): Buffer;
7
+ export declare function bufferToHex(buffer: Buffer): `0x${string}`;
7
8
  export declare function pluralize(str: string, count: number | bigint, plural?: string): string;
8
9
  export declare function count(count: number | bigint, str: string, plural?: string): string;
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":";;AAAA,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,KAAK,MAAM,EAAE,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE1C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtF;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAElF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/string/index.ts"],"names":[],"mappings":";;AAAA,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,KAAK,MAAM,EAAE,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE1C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAEzD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtF;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAElF"}
@@ -10,10 +10,13 @@ export function isHex(str) {
10
10
  export function hexToBuffer(str) {
11
11
  return Buffer.from(withoutHexPrefix(str), 'hex');
12
12
  }
13
+ export function bufferToHex(buffer) {
14
+ return `0x${buffer.toString('hex')}`;
15
+ }
13
16
  export function pluralize(str, count, plural) {
14
17
  return count === 1 || count === 1n ? str : plural ?? `${str}s`;
15
18
  }
16
19
  export function count(count, str, plural) {
17
20
  return `${count} ${pluralize(str, count, plural)}`;
18
21
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RyaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBVztJQUN0QyxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFXO0lBQzFDLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDaEQsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBVztJQUMvQixPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxHQUFXLEVBQUUsS0FBc0IsRUFBRSxNQUFlO0lBQzVFLE9BQU8sS0FBSyxLQUFLLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQ2pFLENBQUM7QUFFRCxNQUFNLFVBQVUsS0FBSyxDQUFDLEtBQXNCLEVBQUUsR0FBVyxFQUFFLE1BQWU7SUFDeEUsT0FBTyxHQUFHLEtBQUssSUFBSSxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO0FBQ3JELENBQUMifQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RyaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBVztJQUN0QyxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFXO0lBQzFDLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDaEQsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBVztJQUMvQixPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUFjO0lBQ3hDLE9BQU8sS0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsR0FBVyxFQUFFLEtBQXNCLEVBQUUsTUFBZTtJQUM1RSxPQUFPLEtBQUssS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQztBQUNqRSxDQUFDO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FBQyxLQUFzQixFQUFFLEdBQVcsRUFBRSxNQUFlO0lBQ3hFLE9BQU8sR0FBRyxLQUFLLElBQUksU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztBQUNyRCxDQUFDIn0=
@@ -55,7 +55,7 @@ export function updateInlineTestData(targetFileFromRepoRoot, itemName, value) {
55
55
  const logger = createConsoleLogger('aztec:testing:test_data');
56
56
  const targetFile = getPathToFile(targetFileFromRepoRoot);
57
57
  const contents = readFileSync(targetFile, 'utf8').toString();
58
- const regex = new RegExp(`let ${itemName} = [\\s\\S]*?;`, 'g');
58
+ const regex = new RegExp(`let ${itemName} =[\\s\\S]*?;`, 'g');
59
59
  if (!regex.exec(contents)) {
60
60
  throw new Error(`Test data marker for ${itemName} not found in ${targetFile}`);
61
61
  }
@@ -70,4 +70,4 @@ function getPathToFile(targetFileFromRepoRoot) {
70
70
  }
71
71
  return join(repoRoot, targetFileFromRepoRoot);
72
72
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvdGVzdF9kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE1BQU0sUUFBUSxHQUFpQyxFQUFFLENBQUM7QUFFbEQsc0RBQXNEO0FBQ3RELE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxFQUFFLENBQUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUM7QUFDN0csQ0FBQztBQUVELHFGQUFxRjtBQUNyRixNQUFNLFVBQVUsWUFBWSxDQUFJLFFBQWdCLEVBQUUsSUFBTztJQUN2RCxJQUFJLENBQUMseUJBQXlCLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLE9BQU87SUFDVCxDQUFDO0lBRUQsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxlQUFlLENBQUM7SUFDbkQsTUFBTSxZQUFZLEdBQUcsR0FBRyxRQUFRLElBQUksUUFBUSxFQUFFLENBQUM7SUFFL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQzVCLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7SUFD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
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3RpbmcvdGVzdF9kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE1BQU0sUUFBUSxHQUFpQyxFQUFFLENBQUM7QUFFbEQsc0RBQXNEO0FBQ3RELE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxFQUFFLENBQUMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUM7QUFDN0csQ0FBQztBQUVELHFGQUFxRjtBQUNyRixNQUFNLFVBQVUsWUFBWSxDQUFJLFFBQWdCLEVBQUUsSUFBTztJQUN2RCxJQUFJLENBQUMseUJBQXlCLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLE9BQU87SUFDVCxDQUFDO0lBRUQsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxlQUFlLENBQUM7SUFDbkQsTUFBTSxZQUFZLEdBQUcsR0FBRyxRQUFRLElBQUksUUFBUSxFQUFFLENBQUM7SUFFL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQzVCLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7SUFD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