@aztec/foundation 0.0.1-commit.d3ec352c → 0.0.1-commit.d431d1c

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 (270) hide show
  1. package/dest/array/index.d.ts +2 -1
  2. package/dest/array/index.d.ts.map +1 -1
  3. package/dest/array/index.js +1 -0
  4. package/dest/array/sorted_array.d.ts +10 -0
  5. package/dest/array/sorted_array.d.ts.map +1 -0
  6. package/dest/array/sorted_array.js +106 -0
  7. package/dest/branded-types/block_number.d.ts +4 -1
  8. package/dest/branded-types/block_number.d.ts.map +1 -1
  9. package/dest/branded-types/block_number.js +3 -0
  10. package/dest/branded-types/checkpoint_number.d.ts +10 -2
  11. package/dest/branded-types/checkpoint_number.d.ts.map +1 -1
  12. package/dest/branded-types/checkpoint_number.js +17 -8
  13. package/dest/branded-types/index.d.ts +3 -2
  14. package/dest/branded-types/index.d.ts.map +1 -1
  15. package/dest/branded-types/index.js +2 -1
  16. package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
  17. package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
  18. package/dest/branded-types/index_within_checkpoint.js +59 -0
  19. package/dest/buffer/buffer16.d.ts +5 -2
  20. package/dest/buffer/buffer16.d.ts.map +1 -1
  21. package/dest/buffer/buffer16.js +4 -2
  22. package/dest/buffer/buffer32.d.ts +5 -2
  23. package/dest/buffer/buffer32.d.ts.map +1 -1
  24. package/dest/buffer/buffer32.js +4 -2
  25. package/dest/config/env_var.d.ts +2 -2
  26. package/dest/config/env_var.d.ts.map +1 -1
  27. package/dest/config/index.d.ts +15 -4
  28. package/dest/config/index.d.ts.map +1 -1
  29. package/dest/config/index.js +32 -9
  30. package/dest/config/network_config.d.ts +13 -1
  31. package/dest/config/network_config.d.ts.map +1 -1
  32. package/dest/config/network_config.js +3 -1
  33. package/dest/config/parse-env.d.ts +3 -0
  34. package/dest/config/parse-env.d.ts.map +1 -0
  35. package/dest/config/parse-env.js +7 -0
  36. package/dest/config/secret_value.js +3 -1
  37. package/dest/crypto/bls/bn254_keystore.js +1 -1
  38. package/dest/crypto/bls/index.js +1 -1
  39. package/dest/crypto/bn254/index.d.ts +35 -51
  40. package/dest/crypto/bn254/index.d.ts.map +1 -1
  41. package/dest/crypto/bn254/index.js +51 -140
  42. package/dest/crypto/ecdsa/signature.d.ts +11 -2
  43. package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
  44. package/dest/crypto/ecdsa/signature.js +2 -2
  45. package/dest/crypto/grumpkin/index.d.ts +4 -2
  46. package/dest/crypto/grumpkin/index.d.ts.map +1 -1
  47. package/dest/crypto/grumpkin/index.js +2 -1
  48. package/dest/crypto/keys/index.d.ts +2 -2
  49. package/dest/crypto/keys/index.d.ts.map +1 -1
  50. package/dest/crypto/keys/index.js +1 -1
  51. package/dest/crypto/pedersen/pedersen.wasm.d.ts +2 -2
  52. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
  53. package/dest/crypto/pedersen/pedersen.wasm.js +1 -1
  54. package/dest/crypto/poseidon/index.d.ts +2 -2
  55. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  56. package/dest/crypto/poseidon/index.js +1 -1
  57. package/dest/crypto/random/randomness_singleton.d.ts +2 -2
  58. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  59. package/dest/crypto/random/randomness_singleton.js +3 -3
  60. package/dest/crypto/schnorr/index.d.ts +3 -2
  61. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  62. package/dest/crypto/schnorr/index.js +1 -1
  63. package/dest/crypto/schnorr/signature.d.ts +2 -2
  64. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  65. package/dest/crypto/schnorr/signature.js +2 -2
  66. package/dest/crypto/sha256/index.d.ts +2 -2
  67. package/dest/crypto/sha256/index.d.ts.map +1 -1
  68. package/dest/crypto/sha256/index.js +1 -1
  69. package/dest/crypto/sha512/index.d.ts +2 -2
  70. package/dest/crypto/sha512/index.d.ts.map +1 -1
  71. package/dest/crypto/sha512/index.js +1 -1
  72. package/dest/crypto/signature/index.d.ts +2 -2
  73. package/dest/crypto/signature/index.d.ts.map +1 -1
  74. package/dest/crypto/sync/pedersen/index.d.ts +2 -2
  75. package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
  76. package/dest/crypto/sync/pedersen/index.js +1 -1
  77. package/dest/crypto/sync/poseidon/index.d.ts +2 -2
  78. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
  79. package/dest/crypto/sync/poseidon/index.js +1 -1
  80. package/dest/{fields/bls12_fields.d.ts → curves/bls12/field.d.ts} +3 -3
  81. package/dest/curves/bls12/field.d.ts.map +1 -0
  82. package/dest/{fields/bls12_fields.js → curves/bls12/field.js} +12 -9
  83. package/dest/curves/bls12/index.d.ts +3 -0
  84. package/dest/curves/bls12/index.d.ts.map +1 -0
  85. package/dest/curves/bls12/index.js +2 -0
  86. package/dest/{fields/bls12_point.d.ts → curves/bls12/point.d.ts} +13 -4
  87. package/dest/curves/bls12/point.d.ts.map +1 -0
  88. package/dest/{fields/bls12_point.js → curves/bls12/point.js} +10 -8
  89. package/dest/{fields/fields.d.ts → curves/bn254/field.d.ts} +7 -15
  90. package/dest/curves/bn254/field.d.ts.map +1 -0
  91. package/dest/{fields/fields.js → curves/bn254/field.js} +35 -49
  92. package/dest/curves/bn254/index.d.ts +3 -0
  93. package/dest/curves/bn254/index.d.ts.map +1 -0
  94. package/dest/curves/bn254/index.js +2 -0
  95. package/dest/curves/bn254/point.d.ts +54 -0
  96. package/dest/curves/bn254/point.d.ts.map +1 -0
  97. package/dest/curves/bn254/point.js +143 -0
  98. package/dest/curves/grumpkin/index.d.ts +10 -0
  99. package/dest/curves/grumpkin/index.d.ts.map +1 -0
  100. package/dest/curves/grumpkin/index.js +3 -0
  101. package/dest/{fields → curves/grumpkin}/point.d.ts +13 -4
  102. package/dest/curves/grumpkin/point.d.ts.map +1 -0
  103. package/dest/{fields → curves/grumpkin}/point.js +7 -7
  104. package/dest/error/index.d.ts +4 -4
  105. package/dest/error/index.d.ts.map +1 -1
  106. package/dest/eth-address/index.d.ts +3 -2
  107. package/dest/eth-address/index.d.ts.map +1 -1
  108. package/dest/eth-address/index.js +10 -3
  109. package/dest/eth-signature/eth_signature.d.ts +4 -1
  110. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  111. package/dest/iterator/filter.d.ts +3 -0
  112. package/dest/iterator/filter.d.ts.map +1 -0
  113. package/dest/iterator/filter.js +7 -0
  114. package/dest/iterator/index.d.ts +2 -0
  115. package/dest/iterator/index.d.ts.map +1 -0
  116. package/dest/iterator/index.js +1 -0
  117. package/dest/json-rpc/fixtures/class_a.d.ts +3 -3
  118. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
  119. package/dest/json-rpc/fixtures/class_b.d.ts +3 -3
  120. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
  121. package/dest/log/pino-logger.d.ts +1 -1
  122. package/dest/log/pino-logger.d.ts.map +1 -1
  123. package/dest/log/pino-logger.js +1 -1
  124. package/dest/retry/index.d.ts +11 -1
  125. package/dest/retry/index.d.ts.map +1 -1
  126. package/dest/retry/index.js +11 -0
  127. package/dest/schemas/schemas.d.ts +7 -3
  128. package/dest/schemas/schemas.d.ts.map +1 -1
  129. package/dest/schemas/schemas.js +9 -3
  130. package/dest/schemas/types.d.ts +31 -1
  131. package/dest/schemas/types.d.ts.map +1 -1
  132. package/dest/schemas/types.js +25 -1
  133. package/dest/serialize/buffer_reader.d.ts +7 -4
  134. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  135. package/dest/serialize/buffer_reader.js +13 -4
  136. package/dest/serialize/field_reader.d.ts +2 -2
  137. package/dest/serialize/field_reader.d.ts.map +1 -1
  138. package/dest/serialize/field_reader.js +1 -1
  139. package/dest/serialize/free_funcs.d.ts +2 -2
  140. package/dest/serialize/free_funcs.d.ts.map +1 -1
  141. package/dest/serialize/free_funcs.js +1 -1
  142. package/dest/serialize/serialize.d.ts +2 -2
  143. package/dest/serialize/serialize.d.ts.map +1 -1
  144. package/dest/serialize/serialize.js +1 -1
  145. package/dest/sleep/index.d.ts +3 -1
  146. package/dest/sleep/index.d.ts.map +1 -1
  147. package/dest/sleep/index.js +4 -0
  148. package/dest/timer/date.d.ts +2 -1
  149. package/dest/timer/date.d.ts.map +1 -1
  150. package/dest/timer/date.js +3 -0
  151. package/dest/trees/{balanced_merkle_tree.d.ts → balanced_merkle_tree_root.d.ts} +1 -5
  152. package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
  153. package/dest/trees/{balanced_merkle_tree.js → balanced_merkle_tree_root.js} +1 -13
  154. package/dest/trees/hasher.d.ts +4 -1
  155. package/dest/trees/hasher.d.ts.map +1 -1
  156. package/dest/trees/hasher.js +15 -5
  157. package/dest/trees/index.d.ts +4 -4
  158. package/dest/trees/index.d.ts.map +1 -1
  159. package/dest/trees/index.js +3 -3
  160. package/dest/trees/indexed_merkle_tree.js +1 -1
  161. package/dest/trees/membership_witness.d.ts +8 -2
  162. package/dest/trees/membership_witness.d.ts.map +1 -1
  163. package/dest/trees/membership_witness.js +1 -1
  164. package/dest/trees/merkle_tree_calculator.js +1 -1
  165. package/dest/trees/sibling_path.d.ts +3 -2
  166. package/dest/trees/sibling_path.d.ts.map +1 -1
  167. package/dest/trees/sibling_path.js +2 -2
  168. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +2 -3
  169. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
  170. package/dest/trees/unbalanced_merkle_tree_calculator.js +1 -5
  171. package/dest/trees/{unbalanced_merkle_tree.d.ts → unbalanced_merkle_tree_root.d.ts} +3 -5
  172. package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
  173. package/dest/trees/{unbalanced_merkle_tree.js → unbalanced_merkle_tree_root.js} +11 -49
  174. package/dest/trees/unbalanced_tree_store.d.ts +5 -1
  175. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
  176. package/dest/trees/unbalanced_tree_store.js +49 -1
  177. package/dest/types/index.d.ts +4 -2
  178. package/dest/types/index.d.ts.map +1 -1
  179. package/dest/types/index.js +3 -0
  180. package/package.json +25 -7
  181. package/src/array/index.ts +1 -0
  182. package/src/array/sorted_array.ts +133 -0
  183. package/src/branded-types/block_number.ts +5 -0
  184. package/src/branded-types/checkpoint_number.ts +22 -7
  185. package/src/branded-types/index.ts +2 -1
  186. package/src/branded-types/index_within_checkpoint.ts +88 -0
  187. package/src/buffer/buffer16.ts +2 -2
  188. package/src/buffer/buffer32.ts +2 -2
  189. package/src/config/env_var.ts +30 -11
  190. package/src/config/index.ts +39 -6
  191. package/src/config/network_config.ts +2 -0
  192. package/src/config/parse-env.ts +4 -0
  193. package/src/crypto/bls/bn254_keystore.ts +1 -1
  194. package/src/crypto/bls/index.ts +1 -1
  195. package/src/crypto/bn254/index.ts +50 -159
  196. package/src/crypto/ecdsa/signature.ts +2 -2
  197. package/src/crypto/grumpkin/index.ts +3 -1
  198. package/src/crypto/keys/index.ts +1 -1
  199. package/src/crypto/pedersen/pedersen.wasm.ts +1 -1
  200. package/src/crypto/poseidon/index.ts +1 -1
  201. package/src/crypto/random/randomness_singleton.ts +2 -4
  202. package/src/crypto/schnorr/index.ts +2 -1
  203. package/src/crypto/schnorr/signature.ts +2 -2
  204. package/src/crypto/sha256/index.ts +1 -1
  205. package/src/crypto/sha512/index.ts +1 -1
  206. package/src/crypto/signature/index.ts +1 -1
  207. package/src/crypto/sync/pedersen/index.ts +1 -1
  208. package/src/crypto/sync/poseidon/index.ts +1 -1
  209. package/src/{fields/bls12_fields.ts → curves/bls12/field.ts} +6 -6
  210. package/src/curves/bls12/index.ts +2 -0
  211. package/src/{fields/bls12_point.ts → curves/bls12/point.ts} +7 -7
  212. package/src/{fields/fields.ts → curves/bn254/field.ts} +33 -56
  213. package/src/curves/bn254/index.ts +2 -0
  214. package/src/curves/bn254/point.ts +170 -0
  215. package/src/curves/grumpkin/index.ts +11 -0
  216. package/src/{fields → curves/grumpkin}/point.ts +7 -7
  217. package/src/eth-address/index.ts +8 -2
  218. package/src/iterator/filter.ts +11 -0
  219. package/src/iterator/index.ts +1 -0
  220. package/src/log/pino-logger.ts +2 -1
  221. package/src/retry/index.ts +18 -0
  222. package/src/schemas/schemas.ts +14 -3
  223. package/src/schemas/types.ts +33 -0
  224. package/src/serialize/buffer_reader.ts +21 -9
  225. package/src/serialize/field_reader.ts +1 -1
  226. package/src/serialize/free_funcs.ts +1 -1
  227. package/src/serialize/serialize.ts +1 -1
  228. package/src/sleep/index.ts +6 -0
  229. package/src/timer/date.ts +4 -0
  230. package/src/trees/{balanced_merkle_tree.ts → balanced_merkle_tree_root.ts} +1 -12
  231. package/src/trees/hasher.ts +13 -0
  232. package/src/trees/index.ts +3 -3
  233. package/src/trees/indexed_merkle_tree.ts +1 -1
  234. package/src/trees/membership_witness.ts +1 -1
  235. package/src/trees/merkle_tree_calculator.ts +1 -1
  236. package/src/trees/sibling_path.ts +2 -2
  237. package/src/trees/unbalanced_merkle_tree_calculator.ts +1 -12
  238. package/src/trees/{unbalanced_merkle_tree.ts → unbalanced_merkle_tree_root.ts} +17 -61
  239. package/src/trees/unbalanced_tree_store.ts +57 -2
  240. package/src/types/index.ts +6 -1
  241. package/dest/crypto/bn254/bn254_utils.d.ts +0 -39
  242. package/dest/crypto/bn254/bn254_utils.d.ts.map +0 -1
  243. package/dest/crypto/bn254/bn254_utils.js +0 -56
  244. package/dest/crypto/index.d.ts +0 -17
  245. package/dest/crypto/index.d.ts.map +0 -1
  246. package/dest/crypto/index.js +0 -16
  247. package/dest/fields/bls12_fields.d.ts.map +0 -1
  248. package/dest/fields/bls12_point.d.ts.map +0 -1
  249. package/dest/fields/coordinate.d.ts +0 -63
  250. package/dest/fields/coordinate.d.ts.map +0 -1
  251. package/dest/fields/coordinate.js +0 -96
  252. package/dest/fields/fields.d.ts.map +0 -1
  253. package/dest/fields/index.d.ts +0 -6
  254. package/dest/fields/index.d.ts.map +0 -1
  255. package/dest/fields/index.js +0 -5
  256. package/dest/fields/point.d.ts.map +0 -1
  257. package/dest/index.d.ts +0 -31
  258. package/dest/index.d.ts.map +0 -1
  259. package/dest/index.js +0 -31
  260. package/dest/json-rpc/server/telemetry.d.ts +0 -2
  261. package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
  262. package/dest/json-rpc/server/telemetry.js +0 -0
  263. package/dest/trees/balanced_merkle_tree.d.ts.map +0 -1
  264. package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
  265. package/src/crypto/bn254/bn254_utils.ts +0 -64
  266. package/src/crypto/index.ts +0 -16
  267. package/src/fields/coordinate.ts +0 -104
  268. package/src/fields/index.ts +0 -5
  269. package/src/index.ts +0 -31
  270. package/src/json-rpc/server/telemetry.ts +0 -0
@@ -1,4 +1,4 @@
1
- import { Fq, Fr } from '../fields/fields.js';
1
+ import { Fq, Fr } from '../curves/bn254/field.js';
2
2
  import type { EnvVar } from './env_var.js';
3
3
  import { type NetworkNames, getActiveNetworkName } from './network_name.js';
4
4
  import { SecretValue } from './secret_value.js';
@@ -15,6 +15,14 @@ export interface ConfigMapping {
15
15
  isBoolean?: boolean;
16
16
  nested?: Record<string, ConfigMapping>;
17
17
  fallback?: EnvVar[];
18
+ /**
19
+ * List of deprecated env vars that are still supported but will log a warning.
20
+ * These should also be included in the fallback array for parsing.
21
+ */
22
+ deprecatedFallback?: {
23
+ env: EnvVar;
24
+ message?: string;
25
+ }[];
18
26
  }
19
27
  export declare function isBooleanConfigValue<T>(obj: T, key: keyof T): boolean;
20
28
  export type ConfigMappingsType<T> = Record<keyof T, ConfigMapping>;
@@ -49,6 +57,10 @@ export declare function numberConfigHelper(defaultVal: number): Pick<ConfigMappi
49
57
  * @returns Object with parseEnv and default values for a numerical config value
50
58
  */
51
59
  export declare function floatConfigHelper(defaultVal: number, validationFn?: (val: number) => void): Pick<ConfigMapping, 'parseEnv' | 'defaultValue'>;
60
+ /**
61
+ * Parses an environment variable to a 0-1 percentage value
62
+ */
63
+ export declare function percentageConfigHelper(defaultVal: number): Pick<ConfigMapping, 'parseEnv' | 'defaultValue'>;
52
64
  /**
53
65
  * Generates parseEnv and default values for a numerical config value.
54
66
  * @param defaultVal - The default numerical value to use if the environment variable is not set or is invalid
@@ -72,8 +84,7 @@ export declare function booleanConfigHelper(defaultVal?: boolean): Required<Pick
72
84
  export declare function secretValueConfigHelper<T>(parse: (val: string | undefined) => T): Required<Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
73
85
  parseVal: (val: string) => SecretValue<T>;
74
86
  }>;
75
- /** Parses an env var as boolean. Returns true only if value is 1, true, or TRUE. */
76
- export declare function parseBooleanEnv(val: string | undefined): boolean;
87
+ export { parseBooleanEnv } from './parse-env.js';
77
88
  export declare function secretStringConfigHelper(): Required<Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & {
78
89
  parseVal: (val: string) => SecretValue<string | undefined>;
79
90
  }>;
@@ -110,4 +121,4 @@ export declare function pickConfigMappings<T, K extends keyof T>(configMappings:
110
121
  * @returns {T} - The configuration object with default values.
111
122
  */
112
123
  export declare function getDefaultConfig<T>(configMappings: ConfigMappingsType<T>): T;
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztBQUM3QyxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ3JDLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRixNQUFNLFdBQVcsYUFBYTtJQUM1QixHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssR0FBRyxDQUFDO0lBQ2hDLFlBQVksQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNuQixZQUFZLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssTUFBTSxDQUFDO0lBQ3BDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ3BCLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdkMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDckI7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFB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
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztBQUM3QyxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ3JDLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRixNQUFNLFdBQVcsYUFBYTtJQUM1QixHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssR0FBRyxDQUFDO0lBQ2hDLFlBQVksQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUNuQixZQUFZLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEtBQUssTUFBTSxDQUFDO0lBQ3BDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ3BCLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdkMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDcEI7OztPQUdHO0lBQ0gsa0JBQWtCLENBQUMsRUFBRTtRQUFFLEdBQUcsRUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import { Fq, Fr } from '../fields/fields.js';
1
+ import { Fq, Fr } from '../curves/bn254/field.js';
2
+ import { createConsoleLogger } from '../log/console.js';
2
3
  import { getActiveNetworkName } from './network_name.js';
4
+ import { parseBooleanEnv } from './parse-env.js';
3
5
  import { SecretValue } from './secret_value.js';
4
6
  export { SecretValue, getActiveNetworkName };
5
7
  export { NetworkConfigMapSchema, NetworkConfigSchema } from './network_config.js';
@@ -41,12 +43,25 @@ export function isBooleanConfigValue(obj, key) {
41
43
  export function getConfigFromMappings(configMappings) {
42
44
  const config = {};
43
45
  for(const key in configMappings){
44
- const { env, parseEnv, defaultValue, nested, fallback } = configMappings[key];
46
+ const { env, parseEnv, defaultValue, nested, fallback, deprecatedFallback } = configMappings[key];
45
47
  if (nested) {
46
48
  config[key] = getConfigFromMappings(nested);
47
49
  } else {
48
50
  // Use the shared utility function
49
51
  config[key] = getValueFromEnvWithFallback(env, parseEnv, defaultValue, fallback);
52
+ // Check for deprecated env vars and warn if logger is set
53
+ if (deprecatedFallback?.length) {
54
+ const userLog = createConsoleLogger('[DEPRECATED]');
55
+ for (const { env: deprecatedEnv, message } of deprecatedFallback){
56
+ if (process.env[deprecatedEnv]) {
57
+ const warningMessage = message ?? `Environment variable ${deprecatedEnv} is deprecated. Please use ${env} instead.`;
58
+ userLog(warningMessage, {
59
+ deprecatedEnvVar: deprecatedEnv,
60
+ newEnvVar: env
61
+ });
62
+ }
63
+ }
64
+ }
50
65
  }
51
66
  }
52
67
  return config;
@@ -83,6 +98,20 @@ export function getConfigFromMappings(configMappings) {
83
98
  defaultValue: defaultVal
84
99
  };
85
100
  }
101
+ /**
102
+ * Parses an environment variable to a 0-1 percentage value
103
+ */ export function percentageConfigHelper(defaultVal) {
104
+ return {
105
+ parseEnv: (val)=>{
106
+ const parsed = safeParseFloat(val, defaultVal);
107
+ if (parsed < 0 || parsed > 1) {
108
+ throw new TypeError(`Invalid percentage value: ${parsed} should be between 0 and 1`);
109
+ }
110
+ return parsed;
111
+ },
112
+ defaultValue: defaultVal
113
+ };
114
+ }
86
115
  /**
87
116
  * Generates parseEnv and default values for a numerical config value.
88
117
  * @param defaultVal - The default numerical value to use if the environment variable is not set or is invalid
@@ -148,13 +177,7 @@ export function secretValueConfigHelper(parse) {
148
177
  isBoolean: true
149
178
  };
150
179
  }
151
- /** Parses an env var as boolean. Returns true only if value is 1, true, or TRUE. */ export function parseBooleanEnv(val) {
152
- return val !== undefined && [
153
- '1',
154
- 'true',
155
- 'TRUE'
156
- ].includes(val);
157
- }
180
+ export { parseBooleanEnv } from './parse-env.js';
158
181
  export function secretStringConfigHelper(defaultValue) {
159
182
  const parse = (val)=>new SecretValue(val);
160
183
  return {
@@ -2,41 +2,53 @@ import { z } from 'zod';
2
2
  export declare const NetworkConfigSchema: z.ZodObject<{
3
3
  bootnodes: z.ZodArray<z.ZodString, "many">;
4
4
  snapshots: z.ZodArray<z.ZodString, "many">;
5
+ blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
5
6
  registryAddress: z.ZodString;
6
7
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
7
8
  l1ChainId: z.ZodNumber;
9
+ blockDurationMs: z.ZodOptional<z.ZodNumber>;
8
10
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
9
11
  bootnodes: z.ZodArray<z.ZodString, "many">;
10
12
  snapshots: z.ZodArray<z.ZodString, "many">;
13
+ blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11
14
  registryAddress: z.ZodString;
12
15
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
13
16
  l1ChainId: z.ZodNumber;
17
+ blockDurationMs: z.ZodOptional<z.ZodNumber>;
14
18
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
15
19
  bootnodes: z.ZodArray<z.ZodString, "many">;
16
20
  snapshots: z.ZodArray<z.ZodString, "many">;
21
+ blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
17
22
  registryAddress: z.ZodString;
18
23
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
19
24
  l1ChainId: z.ZodNumber;
25
+ blockDurationMs: z.ZodOptional<z.ZodNumber>;
20
26
  }, z.ZodTypeAny, "passthrough">>;
21
27
  export declare const NetworkConfigMapSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
22
28
  bootnodes: z.ZodArray<z.ZodString, "many">;
23
29
  snapshots: z.ZodArray<z.ZodString, "many">;
30
+ blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
24
31
  registryAddress: z.ZodString;
25
32
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
26
33
  l1ChainId: z.ZodNumber;
34
+ blockDurationMs: z.ZodOptional<z.ZodNumber>;
27
35
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
28
36
  bootnodes: z.ZodArray<z.ZodString, "many">;
29
37
  snapshots: z.ZodArray<z.ZodString, "many">;
38
+ blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
30
39
  registryAddress: z.ZodString;
31
40
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
32
41
  l1ChainId: z.ZodNumber;
42
+ blockDurationMs: z.ZodOptional<z.ZodNumber>;
33
43
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
34
44
  bootnodes: z.ZodArray<z.ZodString, "many">;
35
45
  snapshots: z.ZodArray<z.ZodString, "many">;
46
+ blobFileStoreUrls: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
36
47
  registryAddress: z.ZodString;
37
48
  feeAssetHandlerAddress: z.ZodOptional<z.ZodString>;
38
49
  l1ChainId: z.ZodNumber;
50
+ blockDurationMs: z.ZodOptional<z.ZodNumber>;
39
51
  }, z.ZodTypeAny, "passthrough">>>;
40
52
  export type NetworkConfig = z.infer<typeof NetworkConfigSchema>;
41
53
  export type NetworkConfigMap = z.infer<typeof NetworkConfigMapSchema>;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixlQUFPLE1BQU0sbUJBQW1COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0NBUWhCLENBQUM7QUFFakIsZUFBTyxNQUFNLHNCQUFzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQUE0QyxDQUFDO0FBRWhGLE1BQU0sTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLG1CQUFtQixDQUFDLENBQUM7QUFDaEUsTUFBTSxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxzQkFBc0IsQ0FBQyxDQUFDIn0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya19jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvbmV0d29ya19jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixlQUFPLE1BQU0sbUJBQW1COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0NBVWhCLENBQUM7QUFFakIsZUFBTyxNQUFNLHNCQUFzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQUE0QyxDQUFDO0FBRWhGLE1BQU0sTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLG1CQUFtQixDQUFDLENBQUM7QUFDaEUsTUFBTSxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxzQkFBc0IsQ0FBQyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;gCAQhB,CAAC;AAEjB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;iCAA4C,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"network_config.d.ts","sourceRoot":"","sources":["../../src/config/network_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;gCAUhB,CAAC;AAEjB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;iCAA4C,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -2,8 +2,10 @@ import { z } from 'zod';
2
2
  export const NetworkConfigSchema = z.object({
3
3
  bootnodes: z.array(z.string()),
4
4
  snapshots: z.array(z.string()),
5
+ blobFileStoreUrls: z.array(z.string()).optional(),
5
6
  registryAddress: z.string(),
6
7
  feeAssetHandlerAddress: z.string().optional(),
7
- l1ChainId: z.number()
8
+ l1ChainId: z.number(),
9
+ blockDurationMs: z.number().positive().optional()
8
10
  }).passthrough(); // Allow additional unknown fields to pass through
9
11
  export const NetworkConfigMapSchema = z.record(z.string(), NetworkConfigSchema);
@@ -0,0 +1,3 @@
1
+ /** Parses an env var as boolean. Returns true only if value is 1, true, or TRUE. */
2
+ export declare function parseBooleanEnv(val: string | undefined): boolean;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZW52LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3BhcnNlLWVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvRkFBb0Y7QUFDcEYsd0JBQWdCLGVBQWUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxPQUFPLENBRWhFIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-env.d.ts","sourceRoot":"","sources":["../../src/config/parse-env.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEhE"}
@@ -0,0 +1,7 @@
1
+ /** Parses an env var as boolean. Returns true only if value is 1, true, or TRUE. */ export function parseBooleanEnv(val) {
2
+ return val !== undefined && [
3
+ '1',
4
+ 'true',
5
+ 'TRUE'
6
+ ].includes(val);
7
+ }
@@ -1,4 +1,6 @@
1
+ var _computedKey;
1
2
  import { inspect } from 'util';
3
+ _computedKey = inspect.custom;
2
4
  /**
3
5
  * A class wrapping a secret value to protect it from accidently being leaked in logs
4
6
  */ export class SecretValue {
@@ -23,7 +25,7 @@ import { inspect } from 'util';
23
25
  */ toJSON() {
24
26
  return this.redactedValue;
25
27
  }
26
- [inspect.custom]() {
28
+ [_computedKey]() {
27
29
  return this.toString();
28
30
  }
29
31
  /**
@@ -1,4 +1,4 @@
1
- import { randomBytes } from '@aztec/foundation/crypto';
1
+ import { randomBytes } from '@aztec/foundation/crypto/random';
2
2
  import { createCipheriv, createDecipheriv, createHash, pbkdf2Sync, randomUUID } from 'crypto';
3
3
  import { readFileSync } from 'fs';
4
4
  import { z } from 'zod';
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { mod } from '@noble/curves/abstract/modular';
3
3
  import { bytesToNumberBE } from '@noble/curves/abstract/utils';
4
4
  import { hmac } from '@noble/hashes/hmac';
@@ -1,55 +1,39 @@
1
- import { Fq, Fr } from '../../fields/fields.js';
2
1
  /**
3
- * BN254 G1 point using foundation field classes.
4
- * Represents a point on the BN254 elliptic curve in affine coordinates.
2
+ * BN254 utility functions for point operations.
3
+ * Provides compression, decompression, and public key generation for the BN254 curve.
4
+ * Uses the bb.js Barretenberg backend for point operations.
5
5
  */
6
- export declare class Bn254G1Point {
7
- readonly x: Fq;
8
- readonly y: Fq;
9
- constructor(x: Fq, y: Fq);
10
- private toBbApiPoint;
11
- private static fromBbApiPoint;
12
- isOnCurve(): Promise<boolean>;
13
- /**
14
- * Get the generator point for BN254 G1, or perform scalar multiplication.
15
- * When called without arguments, returns the base generator point.
16
- * When called with a scalar, returns scalar * generator (useful for public key derivation).
17
- */
18
- static generator(scalar?: Fr): Promise<Bn254G1Point>;
19
- /**
20
- * Decompress a BN254 G1 point from compressed form (32 bytes).
21
- * The compressed format encodes the x-coordinate and the sign bit of the y-coordinate
22
- * in the most significant bit.
23
- */
24
- static fromCompressed(compressed: Buffer): Promise<Bn254G1Point>;
25
- /**
26
- * Compress this BN254 G1 point to 32 bytes.
27
- * The compressed format encodes the x-coordinate and the sign bit of the y-coordinate
28
- * in the most significant bit (bit 255).
29
- */
30
- compress(): Buffer;
31
- equals(other: Bn254G1Point): boolean;
32
- toString(): string;
33
- }
34
6
  /**
35
- * BN254 G2 point using foundation field classes.
36
- * Represents a point on the BN254 G2 curve (twist curve) in affine coordinates.
37
- * G2 points use extension field coordinates (Fq2).
7
+ * Generate a compressed BN254 G1 public key from a private key.
8
+ *
9
+ * @param privateKeyHex - Private key as 0x-prefixed hex string
10
+ * @returns Compressed G1 point (32 bytes with sign bit in MSB)
38
11
  */
39
- export declare class Bn254G2Point {
40
- readonly x: [Fq, Fq];
41
- readonly y: [Fq, Fq];
42
- constructor(x: [Fq, Fq], y: [Fq, Fq]);
43
- private toBbApiPoint;
44
- private static fromBbApiPoint;
45
- /**
46
- * Get the generator point for BN254 G2, or perform scalar multiplication.
47
- * When called without arguments, returns the base generator point.
48
- * When called with a scalar, returns scalar * generator.
49
- */
50
- static generator(scalar?: Fr): Promise<Bn254G2Point>;
51
- equals(other: Bn254G2Point): boolean;
52
- toString(): string;
53
- }
54
- export { computeBn254G1PublicKeyCompressed, computeBn254G1PublicKey, computeBn254G2PublicKey } from './bn254_utils.js';
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vYm4yNTQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRDs7O0dBR0c7QUFDSCxxQkFBYSxZQUFZO2FBRUwsQ0FBQyxFQUFFLEVBQUU7YUFDTCxDQUFDLEVBQUUsRUFBRTtJQUZ2QixZQUNrQixDQUFDLEVBQUUsRUFBRSxFQUNMLENBQUMsRUFBRSxFQUFFLEVBQ25CO0lBRUosT0FBTyxDQUFDLFlBQVk7SUFPcEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjO0lBSXZCLFNBQVMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBT2xDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQWEsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBaUJ6RDtJQUVEOzs7O09BSUc7SUFDSCxPQUFhLGNBQWMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FZckU7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FTakI7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFlBQVksR0FBRyxPQUFPLENBRW5DO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCxxQkFBYSxZQUFZO2FBRUwsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUNYLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFGN0IsWUFDa0IsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUNYLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFDekI7SUFFSixPQUFPLENBQUMsWUFBWTtJQU9wQixPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWM7SUFPN0I7Ozs7T0FJRztJQUNILE9BQWEsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBaUJ6RDtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FPbkM7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtDQUNGO0FBR0QsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUMifQ==
12
+ export declare function computeBn254G1PublicKeyCompressed(privateKeyHex: string): Promise<string>;
13
+ /**
14
+ * Generate uncompressed BN254 G1 public key from a private key.
15
+ *
16
+ * @param privateKeyHex - Private key as 0x-prefixed hex string
17
+ * @returns G1 point in affine coordinates
18
+ */
19
+ export declare function computeBn254G1PublicKey(privateKeyHex: string): Promise<{
20
+ x: bigint;
21
+ y: bigint;
22
+ }>;
23
+ /**
24
+ * Generate BN254 G2 public key from a private key.
25
+ *
26
+ * @param privateKeyHex - Private key as 0x-prefixed hex string
27
+ * @returns G2 point in affine coordinates
28
+ */
29
+ export declare function computeBn254G2PublicKey(privateKeyHex: string): Promise<{
30
+ x: {
31
+ c0: bigint;
32
+ c1: bigint;
33
+ };
34
+ y: {
35
+ c0: bigint;
36
+ c1: bigint;
37
+ };
38
+ }>;
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vYm4yNTQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7Ozs7R0FJRztBQUVIOzs7OztHQUtHO0FBQ0gsd0JBQXNCLGlDQUFpQyxDQUFDLGFBQWEsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQVU5RjtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLHVCQUF1QixDQUFDLGFBQWEsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDO0lBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUFDLENBQUMsRUFBRSxNQUFNLENBQUE7Q0FBRSxDQUFDLENBUXRHO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBc0IsdUJBQXVCLENBQUMsYUFBYSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDNUUsQ0FBQyxFQUFFO1FBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQztRQUFDLEVBQUUsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDO0lBQzlCLENBQUMsRUFBRTtRQUFFLEVBQUUsRUFBRSxNQUFNLENBQUM7UUFBQyxFQUFFLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQztDQUMvQixDQUFDLENBV0QifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/bn254/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAEhD;;;GAGG;AACH,qBAAa,YAAY;aAEL,CAAC,EAAE,EAAE;aACL,CAAC,EAAE,EAAE;IAFvB,YACkB,CAAC,EAAE,EAAE,EACL,CAAC,EAAE,EAAE,EACnB;IAEJ,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,MAAM,CAAC,cAAc;IAIvB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAOlC;IAED;;;;OAIG;IACH,OAAa,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAiBzD;IAED;;;;OAIG;IACH,OAAa,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAYrE;IAED;;;;OAIG;IACH,QAAQ,IAAI,MAAM,CASjB;IAED,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAEnC;IAED,QAAQ,IAAI,MAAM,CAEjB;CACF;AAED;;;;GAIG;AACH,qBAAa,YAAY;aAEL,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;aACX,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IAF7B,YACkB,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EACX,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EACzB;IAEJ,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,MAAM,CAAC,cAAc;IAO7B;;;;OAIG;IACH,OAAa,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAiBzD;IAED,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAOnC;IAED,QAAQ,IAAI,MAAM,CAEjB;CACF;AAGD,OAAO,EAAE,iCAAiC,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/bn254/index.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAsB,iCAAiC,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU9F;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAQtG;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5E,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/B,CAAC,CAWD"}
@@ -1,145 +1,56 @@
1
- import { BN254_G1_GENERATOR, BN254_G2_GENERATOR, BarretenbergSync } from '@aztec/bb.js';
2
- import { Fq } from '../../fields/fields.js';
1
+ import { Fr } from '../../curves/bn254/field.js';
2
+ import { Bn254G1Point, Bn254G2Point } from '../../curves/bn254/point.js';
3
3
  /**
4
- * BN254 G1 point using foundation field classes.
5
- * Represents a point on the BN254 elliptic curve in affine coordinates.
6
- */ export class Bn254G1Point {
7
- x;
8
- y;
9
- constructor(x, y){
10
- this.x = x;
11
- this.y = y;
12
- }
13
- toBbApiPoint() {
14
- return {
15
- x: this.x.toBuffer(),
16
- y: this.y.toBuffer()
17
- };
18
- }
19
- static fromBbApiPoint(point) {
20
- return new Bn254G1Point(Fq.fromBuffer(Buffer.from(point.x)), Fq.fromBuffer(Buffer.from(point.y)));
21
- }
22
- async isOnCurve() {
23
- await BarretenbergSync.initSingleton();
24
- const api = BarretenbergSync.getSingleton();
25
- const apiPoint = this.toBbApiPoint();
26
- const response = api.bn254G1IsOnCurve({
27
- point: apiPoint
28
- });
29
- return response.isOnCurve;
30
- }
31
- /**
32
- * Get the generator point for BN254 G1, or perform scalar multiplication.
33
- * When called without arguments, returns the base generator point.
34
- * When called with a scalar, returns scalar * generator (useful for public key derivation).
35
- */ static async generator(scalar) {
36
- if (!scalar) {
37
- return new Bn254G1Point(Fq.fromBuffer(Buffer.from(BN254_G1_GENERATOR.x)), Fq.fromBuffer(Buffer.from(BN254_G1_GENERATOR.y)));
38
- }
39
- await BarretenbergSync.initSingleton();
40
- const api = BarretenbergSync.getSingleton();
41
- const response = api.bn254G1Mul({
42
- point: BN254_G1_GENERATOR,
43
- scalar: scalar.toBuffer()
44
- });
45
- return Bn254G1Point.fromBbApiPoint(response.point);
46
- }
47
- /**
48
- * Decompress a BN254 G1 point from compressed form (32 bytes).
49
- * The compressed format encodes the x-coordinate and the sign bit of the y-coordinate
50
- * in the most significant bit.
51
- */ static async fromCompressed(compressed) {
52
- if (compressed.length !== 32) {
53
- throw new Error('Invalid compressed point length');
54
- }
55
- await BarretenbergSync.initSingleton();
56
- const api = BarretenbergSync.getSingleton();
57
- const response = api.bn254G1FromCompressed({
58
- compressed: new Uint8Array(compressed)
59
- });
60
- return Bn254G1Point.fromBbApiPoint(response.point);
61
- }
62
- /**
63
- * Compress this BN254 G1 point to 32 bytes.
64
- * The compressed format encodes the x-coordinate and the sign bit of the y-coordinate
65
- * in the most significant bit (bit 255).
66
- */ compress() {
67
- const xBytes = this.x.toBuffer();
68
- // Get the least significant bit of y to determine the sign
69
- const yLsb = this.y.toBigInt() & 1n;
70
- // If y is odd, set the most significant bit (bit 255) of the output
71
- if (yLsb === 1n) {
72
- xBytes[0] |= 0x80;
73
- }
74
- return xBytes;
75
- }
76
- equals(other) {
77
- return this.x.equals(other.x) && this.y.equals(other.y);
78
- }
79
- toString() {
80
- return `Bn254G1Point(x: ${this.x.toString()}, y: ${this.y.toString()})`;
81
- }
4
+ * BN254 utility functions for point operations.
5
+ * Provides compression, decompression, and public key generation for the BN254 curve.
6
+ * Uses the bb.js Barretenberg backend for point operations.
7
+ */ /**
8
+ * Generate a compressed BN254 G1 public key from a private key.
9
+ *
10
+ * @param privateKeyHex - Private key as 0x-prefixed hex string
11
+ * @returns Compressed G1 point (32 bytes with sign bit in MSB)
12
+ */ export async function computeBn254G1PublicKeyCompressed(privateKeyHex) {
13
+ const sk = BigInt(privateKeyHex);
14
+ const skReduced = sk % Fr.MODULUS;
15
+ // Generate G1 point on BN254 curve using bb.js
16
+ const scalar = Fr.fromString(skReduced.toString());
17
+ const pk1 = await Bn254G1Point.generator(scalar);
18
+ // Compress the point using the primitive method
19
+ return '0x' + pk1.compress().toString('hex');
20
+ }
21
+ /**
22
+ * Generate uncompressed BN254 G1 public key from a private key.
23
+ *
24
+ * @param privateKeyHex - Private key as 0x-prefixed hex string
25
+ * @returns G1 point in affine coordinates
26
+ */ export async function computeBn254G1PublicKey(privateKeyHex) {
27
+ const sk = BigInt(privateKeyHex);
28
+ const skReduced = sk % Fr.MODULUS;
29
+ const scalar = Fr.fromString(skReduced.toString());
30
+ const pk1 = await Bn254G1Point.generator(scalar);
31
+ return {
32
+ x: pk1.x.toBigInt(),
33
+ y: pk1.y.toBigInt()
34
+ };
82
35
  }
83
36
  /**
84
- * BN254 G2 point using foundation field classes.
85
- * Represents a point on the BN254 G2 curve (twist curve) in affine coordinates.
86
- * G2 points use extension field coordinates (Fq2).
87
- */ export class Bn254G2Point {
88
- x;
89
- y;
90
- constructor(x, y){
91
- this.x = x;
92
- this.y = y;
93
- }
94
- toBbApiPoint() {
95
- return {
96
- x: [
97
- this.x[0].toBuffer(),
98
- this.x[1].toBuffer()
99
- ],
100
- y: [
101
- this.y[0].toBuffer(),
102
- this.y[1].toBuffer()
103
- ]
104
- };
105
- }
106
- static fromBbApiPoint(point) {
107
- return new Bn254G2Point([
108
- Fq.fromBuffer(Buffer.from(point.x[0])),
109
- Fq.fromBuffer(Buffer.from(point.x[1]))
110
- ], [
111
- Fq.fromBuffer(Buffer.from(point.y[0])),
112
- Fq.fromBuffer(Buffer.from(point.y[1]))
113
- ]);
114
- }
115
- /**
116
- * Get the generator point for BN254 G2, or perform scalar multiplication.
117
- * When called without arguments, returns the base generator point.
118
- * When called with a scalar, returns scalar * generator.
119
- */ static async generator(scalar) {
120
- if (!scalar) {
121
- return new Bn254G2Point([
122
- Fq.fromBuffer(Buffer.from(BN254_G2_GENERATOR.x[0])),
123
- Fq.fromBuffer(Buffer.from(BN254_G2_GENERATOR.x[1]))
124
- ], [
125
- Fq.fromBuffer(Buffer.from(BN254_G2_GENERATOR.y[0])),
126
- Fq.fromBuffer(Buffer.from(BN254_G2_GENERATOR.y[1]))
127
- ]);
37
+ * Generate BN254 G2 public key from a private key.
38
+ *
39
+ * @param privateKeyHex - Private key as 0x-prefixed hex string
40
+ * @returns G2 point in affine coordinates
41
+ */ export async function computeBn254G2PublicKey(privateKeyHex) {
42
+ const sk = BigInt(privateKeyHex);
43
+ const skReduced = sk % Fr.MODULUS;
44
+ const scalar = Fr.fromString(skReduced.toString());
45
+ const pk2 = await Bn254G2Point.generator(scalar);
46
+ return {
47
+ x: {
48
+ c0: pk2.x[0].toBigInt(),
49
+ c1: pk2.x[1].toBigInt()
50
+ },
51
+ y: {
52
+ c0: pk2.y[0].toBigInt(),
53
+ c1: pk2.y[1].toBigInt()
128
54
  }
129
- await BarretenbergSync.initSingleton();
130
- const api = BarretenbergSync.getSingleton();
131
- const response = api.bn254G2Mul({
132
- point: BN254_G2_GENERATOR,
133
- scalar: scalar.toBuffer()
134
- });
135
- return Bn254G2Point.fromBbApiPoint(response.point);
136
- }
137
- equals(other) {
138
- return this.x[0].equals(other.x[0]) && this.x[1].equals(other.x[1]) && this.y[0].equals(other.y[0]) && this.y[1].equals(other.y[1]);
139
- }
140
- toString() {
141
- return `Bn254G2Point(x: (${this.x[0].toString()}, ${this.x[1].toString()}), y: (${this.y[0].toString()}, ${this.y[1].toString()}))`;
142
- }
55
+ };
143
56
  }
144
- // Re-export BN254 point utility functions
145
- export { computeBn254G1PublicKeyCompressed, computeBn254G1PublicKey, computeBn254G2PublicKey } from './bn254_utils.js';
@@ -1,12 +1,21 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { Signature } from '../signature/index.js';
3
3
  /**
4
4
  * ECDSA signature used for transactions.
5
5
  * @see cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa.hpp
6
6
  */
7
7
  export declare class EcdsaSignature implements Signature {
8
+ /**
9
+ * The r byte-array (32 bytes) in an ECDSA signature.
10
+ */
8
11
  r: Buffer;
12
+ /**
13
+ * The s byte-array (32 bytes) in an ECDSA signature.
14
+ */
9
15
  s: Buffer;
16
+ /**
17
+ * The recovery id (1 byte) in an ECDSA signature.
18
+ */
10
19
  v: Buffer;
11
20
  constructor(
12
21
  /**
@@ -57,4 +66,4 @@ export declare class EcdsaSignature implements Signature {
57
66
  */
58
67
  toFields(includeV?: boolean): Fr[];
59
68
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL2VjZHNhL3NpZ25hdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHOUMsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gscUJBQWEsY0FBZSxZQUFXLFNBQVM7SUFLckMsQ0FBQyxFQUFFLE1BQU07SUFJVCxDQUFDLEVBQUUsTUFBTTtJQUlULENBQUMsRUFBRSxNQUFNO0lBWmxCO0lBQ0U7O09BRUc7SUFDSSxDQUFDLEVBQUUsTUFBTTtJQUNoQjs7T0FFRztJQUNJLENBQUMsRUFBRSxNQUFNO0lBQ2hCOztPQUVHO0lBQ0ksQ0FBQyxFQUFFLE1BQU0sRUFXakI7SUFFRDs7O09BR0c7SUFDSCxRQUFRLHdCQUVQO0lBRUQ7Ozs7T0FJRztJQUNILE9BQWMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLGtCQUV0QztJQUVEOzs7Ozs7T0FNRztJQUNILE9BQWMsV0FBVyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFFeEQ7SUFFRDs7O09BR0c7SUFDSCxPQUFjLE1BQU0sbUJBRW5CO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxXQUVQO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxRQUFRLFVBQVEsR0FBRyxFQUFFLEVBQUUsQ0FZL0I7Q0FDRiJ9
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL2VjZHNhL3NpZ25hdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gscUJBQWEsY0FBZSxZQUFXLFNBQVM7SUFFNUM7O09BRUc7SUFDSSxDQUFDLEVBQUUsTUFBTTtJQUNoQjs7T0FFRztJQUNJLENBQUMsRUFBRSxNQUFNO0lBQ2hCOztPQUVHO0lBQ0ksQ0FBQyxFQUFFLE1BQU07SUFabEI7SUFDRTs7T0FFRztJQUNJLENBQUMsRUFBRSxNQUFNO0lBQ2hCOztPQUVHO0lBQ0ksQ0FBQyxFQUFFLE1BQU07SUFDaEI7O09BRUc7SUFDSSxDQUFDLEVBQUUsTUFBTSxFQVdqQjtJQUVEOzs7T0FHRztJQUNILFFBQVEsd0JBRVA7SUFFRDs7OztPQUlHO0lBQ0gsT0FBYyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sa0JBRXRDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsT0FBYyxXQUFXLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUV4RDtJQUVEOzs7T0FHRztJQUNILE9BQWMsTUFBTSxtQkFFbkI7SUFFRDs7O09BR0c7SUFDSCxRQUFRLFdBRVA7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLFFBQVEsVUFBUSxHQUFHLEVBQUUsRUFBRSxDQVkvQjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/ecdsa/signature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,cAAe,YAAW,SAAS;IAKrC,CAAC,EAAE,MAAM;IAIT,CAAC,EAAE,MAAM;IAIT,CAAC,EAAE,MAAM;IAZlB;IACE;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM,EAWjB;IAED;;;OAGG;IACH,QAAQ,wBAEP;IAED;;;;OAIG;IACH,OAAc,UAAU,CAAC,MAAM,EAAE,MAAM,kBAEtC;IAED;;;;;;OAMG;IACH,OAAc,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,kBAExD;IAED;;;OAGG;IACH,OAAc,MAAM,mBAEnB;IAED;;;OAGG;IACH,QAAQ,WAEP;IAED;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,UAAQ,GAAG,EAAE,EAAE,CAY/B;CACF"}
1
+ {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/ecdsa/signature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,cAAe,YAAW,SAAS;IAE5C;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAZlB;IACE;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM,EAWjB;IAED;;;OAGG;IACH,QAAQ,wBAEP;IAED;;;;OAIG;IACH,OAAc,UAAU,CAAC,MAAM,EAAE,MAAM,kBAEtC;IAED;;;;;;OAMG;IACH,OAAc,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,kBAExD;IAED;;;OAGG;IACH,OAAc,MAAM,mBAEnB;IAED;;;OAGG;IACH,QAAQ,WAEP;IAED;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,UAAQ,GAAG,EAAE,EAAE,CAY/B;CACF"}