@aztec/bb.js 3.0.0-nightly.20251026 → 3.0.0-nightly.20251030-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 (147) hide show
  1. package/README.md +1 -1
  2. package/dest/browser/barretenberg/backend.js +13 -13
  3. package/dest/browser/barretenberg/index.d.ts +1 -1
  4. package/dest/browser/barretenberg/index.d.ts.map +1 -1
  5. package/dest/browser/barretenberg/index.js +2 -2
  6. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +1 -1
  7. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  8. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  9. package/dest/browser/bb_backends/wasm.d.ts +2 -9
  10. package/dest/browser/bb_backends/wasm.d.ts.map +1 -1
  11. package/dest/browser/bb_backends/wasm.js +3 -10
  12. package/dest/browser/bbapi_exception.d.ts +7 -0
  13. package/dest/browser/bbapi_exception.d.ts.map +1 -0
  14. package/dest/browser/bbapi_exception.js +14 -0
  15. package/dest/browser/cbind/generate.js +93 -1
  16. package/dest/browser/cbind/generated/api_types.d.ts +623 -377
  17. package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
  18. package/dest/browser/cbind/generated/api_types.js +778 -452
  19. package/dest/browser/cbind/generated/async.d.ts +15 -10
  20. package/dest/browser/cbind/generated/async.d.ts.map +1 -1
  21. package/dest/browser/cbind/generated/async.js +304 -96
  22. package/dest/browser/cbind/generated/curve_constants.d.ts +45 -0
  23. package/dest/browser/cbind/generated/curve_constants.d.ts.map +1 -0
  24. package/dest/browser/cbind/generated/curve_constants.js +45 -0
  25. package/dest/browser/cbind/generated/sync.d.ts +15 -10
  26. package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
  27. package/dest/browser/cbind/generated/sync.js +299 -96
  28. package/dest/browser/cbind/schema_compiler.d.ts.map +1 -1
  29. package/dest/browser/cbind/schema_compiler.js +24 -4
  30. package/dest/browser/index.d.ts +3 -1
  31. package/dest/browser/index.d.ts.map +1 -1
  32. package/dest/browser/index.js +4 -2
  33. package/dest/browser/serialize/index.d.ts +0 -1
  34. package/dest/browser/serialize/index.d.ts.map +1 -1
  35. package/dest/browser/serialize/index.js +1 -2
  36. package/dest/browser/types/fields.d.ts +6 -26
  37. package/dest/browser/types/fields.d.ts.map +1 -1
  38. package/dest/browser/types/fields.js +15 -56
  39. package/dest/browser/types/point.d.ts +8 -6
  40. package/dest/browser/types/point.d.ts.map +1 -1
  41. package/dest/browser/types/point.js +12 -15
  42. package/dest/node/barretenberg/backend.js +13 -13
  43. package/dest/node/barretenberg/index.d.ts +1 -1
  44. package/dest/node/barretenberg/index.d.ts.map +1 -1
  45. package/dest/node/barretenberg/index.js +2 -2
  46. package/dest/node/barretenberg/poseidon.bench.test.js +3 -2
  47. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  48. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +1 -1
  49. package/dest/node/bb_backends/wasm.d.ts +2 -9
  50. package/dest/node/bb_backends/wasm.d.ts.map +1 -1
  51. package/dest/node/bb_backends/wasm.js +3 -10
  52. package/dest/node/bbapi_exception.d.ts +7 -0
  53. package/dest/node/bbapi_exception.d.ts.map +1 -0
  54. package/dest/node/bbapi_exception.js +14 -0
  55. package/dest/node/cbind/generate.js +93 -1
  56. package/dest/node/cbind/generated/api_types.d.ts +623 -377
  57. package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
  58. package/dest/node/cbind/generated/api_types.js +778 -452
  59. package/dest/node/cbind/generated/async.d.ts +15 -10
  60. package/dest/node/cbind/generated/async.d.ts.map +1 -1
  61. package/dest/node/cbind/generated/async.js +304 -96
  62. package/dest/node/cbind/generated/curve_constants.d.ts +45 -0
  63. package/dest/node/cbind/generated/curve_constants.d.ts.map +1 -0
  64. package/dest/node/cbind/generated/curve_constants.js +45 -0
  65. package/dest/node/cbind/generated/sync.d.ts +15 -10
  66. package/dest/node/cbind/generated/sync.d.ts.map +1 -1
  67. package/dest/node/cbind/generated/sync.js +299 -96
  68. package/dest/node/cbind/schema_compiler.d.ts.map +1 -1
  69. package/dest/node/cbind/schema_compiler.js +24 -4
  70. package/dest/node/index.d.ts +3 -1
  71. package/dest/node/index.d.ts.map +1 -1
  72. package/dest/node/index.js +4 -2
  73. package/dest/node/serialize/index.d.ts +0 -1
  74. package/dest/node/serialize/index.d.ts.map +1 -1
  75. package/dest/node/serialize/index.js +1 -2
  76. package/dest/node/types/fields.d.ts +6 -26
  77. package/dest/node/types/fields.d.ts.map +1 -1
  78. package/dest/node/types/fields.js +15 -56
  79. package/dest/node/types/point.d.ts +8 -6
  80. package/dest/node/types/point.d.ts.map +1 -1
  81. package/dest/node/types/point.js +12 -15
  82. package/dest/node-cjs/barretenberg/backend.js +12 -12
  83. package/dest/node-cjs/barretenberg/index.d.ts +1 -1
  84. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
  85. package/dest/node-cjs/barretenberg/index.js +2 -2
  86. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +5 -4
  87. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  88. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +1 -1
  89. package/dest/node-cjs/bb_backends/wasm.d.ts +2 -9
  90. package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -1
  91. package/dest/node-cjs/bb_backends/wasm.js +3 -10
  92. package/dest/node-cjs/bbapi_exception.d.ts +7 -0
  93. package/dest/node-cjs/bbapi_exception.d.ts.map +1 -0
  94. package/dest/node-cjs/bbapi_exception.js +18 -0
  95. package/dest/node-cjs/cbind/generate.js +93 -1
  96. package/dest/node-cjs/cbind/generated/api_types.d.ts +623 -377
  97. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
  98. package/dest/node-cjs/cbind/generated/api_types.js +848 -492
  99. package/dest/node-cjs/cbind/generated/async.d.ts +15 -10
  100. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
  101. package/dest/node-cjs/cbind/generated/async.js +303 -95
  102. package/dest/node-cjs/cbind/generated/curve_constants.d.ts +45 -0
  103. package/dest/node-cjs/cbind/generated/curve_constants.d.ts.map +1 -0
  104. package/dest/node-cjs/cbind/generated/curve_constants.js +48 -0
  105. package/dest/node-cjs/cbind/generated/sync.d.ts +15 -10
  106. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
  107. package/dest/node-cjs/cbind/generated/sync.js +298 -95
  108. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -1
  109. package/dest/node-cjs/cbind/schema_compiler.js +24 -4
  110. package/dest/node-cjs/index.d.ts +3 -1
  111. package/dest/node-cjs/index.d.ts.map +1 -1
  112. package/dest/node-cjs/index.js +23 -8
  113. package/dest/node-cjs/serialize/index.d.ts +0 -1
  114. package/dest/node-cjs/serialize/index.d.ts.map +1 -1
  115. package/dest/node-cjs/serialize/index.js +1 -2
  116. package/dest/node-cjs/types/fields.d.ts +6 -26
  117. package/dest/node-cjs/types/fields.d.ts.map +1 -1
  118. package/dest/node-cjs/types/fields.js +15 -57
  119. package/dest/node-cjs/types/point.d.ts +8 -6
  120. package/dest/node-cjs/types/point.d.ts.map +1 -1
  121. package/dest/node-cjs/types/point.js +13 -16
  122. package/package.json +4 -3
  123. package/src/barretenberg/backend.ts +12 -12
  124. package/src/barretenberg/index.ts +1 -1
  125. package/src/barretenberg/poseidon.bench.test.ts +2 -1
  126. package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +4 -4
  127. package/src/bb_backends/wasm.ts +2 -9
  128. package/src/bbapi_exception.ts +13 -0
  129. package/src/cbind/generate.ts +99 -0
  130. package/src/cbind/schema_compiler.ts +25 -3
  131. package/src/index.ts +28 -1
  132. package/src/serialize/index.ts +0 -1
  133. package/src/types/fields.ts +14 -63
  134. package/src/types/point.ts +13 -19
  135. package/dest/browser/serialize/buffer_reader.d.ts +0 -28
  136. package/dest/browser/serialize/buffer_reader.d.ts.map +0 -1
  137. package/dest/browser/serialize/buffer_reader.js +0 -66
  138. package/dest/node/serialize/buffer_reader.d.ts +0 -28
  139. package/dest/node/serialize/buffer_reader.d.ts.map +0 -1
  140. package/dest/node/serialize/buffer_reader.js +0 -66
  141. package/dest/node-cjs/serialize/buffer_reader.d.ts +0 -28
  142. package/dest/node-cjs/serialize/buffer_reader.d.ts.map +0 -1
  143. package/dest/node-cjs/serialize/buffer_reader.js +0 -70
  144. package/src/cbind/generated/api_types.ts +0 -3757
  145. package/src/cbind/generated/async.ts +0 -504
  146. package/src/cbind/generated/sync.ts +0 -455
  147. package/src/serialize/buffer_reader.ts +0 -85
@@ -1 +1 @@
1
- {"version":3,"file":"schema_compiler.d.ts","sourceRoot":"","sources":["../../../src/cbind/schema_compiler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,MAAM,MAAM,GACd,MAAM,GACN,YAAY,GACZ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GACnB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACzB,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,GACpB,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,GACrB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GACxC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,GACxB,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC3B,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhC,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAkBD,qBAAa,cAAc;IAMb,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,gBAAgB,CAA0B;IAElD,OAAO,CAAC,eAAe,CAAqB;gBAExB,MAAM,EAAE,cAAc;IAE1C;;OAEG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IA8BvE;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAgBvC;;OAEG;IACH,OAAO,IAAI,MAAM;IAyFjB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,gBAAgB;IAuCxB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,kBAAkB;IAmG1B,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,eAAe;IAuCvB,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,gBAAgB;IA6CxB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;CA0B1B;AAGD,wBAAgB,yBAAyB,IAAI,cAAc,CAK1D;AAED,wBAAgB,qBAAqB,IAAI,cAAc,CAQtD;AAED,wBAAgB,sBAAsB,IAAI,cAAc,CAQvD"}
1
+ {"version":3,"file":"schema_compiler.d.ts","sourceRoot":"","sources":["../../../src/cbind/schema_compiler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,MAAM,MAAM,GACd,MAAM,GACN,YAAY,GACZ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,GACnB,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACzB,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,GACpB,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,GACrB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GACxC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,GACxB,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC3B,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhC,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAkBD,qBAAa,cAAc;IAMb,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,gBAAgB,CAA0B;IAElD,OAAO,CAAC,eAAe,CAAqB;gBAExB,MAAM,EAAE,cAAc;IAE1C;;OAEG;IACH,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAqCvE;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAgBvC;;OAEG;IACH,OAAO,IAAI,MAAM;IAyFjB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,gBAAgB;IAuCxB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,kBAAkB;IAmG1B,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,eAAe;IAuCvB,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,gBAAgB;IA6CxB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;CAgC1B;AAGD,wBAAgB,yBAAyB,IAAI,cAAc,CAK1D;AAED,wBAAgB,qBAAqB,IAAI,cAAc,CAStD;AAED,wBAAgB,sBAAsB,IAAI,cAAc,CASvD"}
@@ -44,9 +44,14 @@ class SchemaCompiler {
44
44
  }
45
45
  const commands = commandsSchema[1];
46
46
  const responses = responsesSchema[1];
47
+ // Filter out ErrorResponse - it's a special error variant, not a command response
48
+ const normalResponses = responses.filter(([name]) => name !== 'ErrorResponse');
49
+ if (commands.length !== normalResponses.length) {
50
+ throw new Error(`Command count (${commands.length}) does not match response count (${normalResponses.length})`);
51
+ }
47
52
  for (let i = 0; i < commands.length; i++) {
48
53
  const [commandName] = commands[i];
49
- const [responseName] = responses[i];
54
+ const [responseName] = normalResponses[i];
50
55
  this.functionMetadata.push({
51
56
  name: camelCase(commandName),
52
57
  commandType: pascalCase(commandName),
@@ -313,6 +318,13 @@ class SchemaCompiler {
313
318
  return { typeName: 'string' };
314
319
  case 'bin32':
315
320
  return { typeName: 'Uint8Array' };
321
+ case 'field2':
322
+ // field2 is an extension field type (fq2) represented as a tuple of two Uint8Arrays
323
+ return {
324
+ typeName: 'Field2',
325
+ msgpackTypeName: '[Uint8Array, Uint8Array]',
326
+ declaration: 'export type Field2 = [Uint8Array, Uint8Array];',
327
+ };
316
328
  default:
317
329
  return { typeName: pascalCase(schema) };
318
330
  }
@@ -539,8 +551,11 @@ ${destroyMethod}
539
551
  return ` ${name}(command: ${commandType}): Promise<${responseType}> {
540
552
  const msgpackCommand = from${commandType}(command);
541
553
  return msgpackCall(this.backend, [["${capitalize(name)}", msgpackCommand]]).then(([variantName, result]: [string, any]) => {
554
+ if (variantName === 'ErrorResponse') {
555
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
556
+ }
542
557
  if (variantName !== '${responseType}') {
543
- throw new Error(\`Expected variant name '${responseType}' but got '\${variantName}'\`);
558
+ throw new BBApiException(\`Expected variant name '${responseType}' but got '\${variantName}'\`);
544
559
  }
545
560
  return to${responseType}(result);
546
561
  });
@@ -550,8 +565,11 @@ ${destroyMethod}
550
565
  return ` ${name}(command: ${commandType}): ${responseType} {
551
566
  const msgpackCommand = from${commandType}(command);
552
567
  const [variantName, result] = msgpackCall(this.backend, [["${capitalize(name)}", msgpackCommand]]);
568
+ if (variantName === 'ErrorResponse') {
569
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
570
+ }
553
571
  if (variantName !== '${responseType}') {
554
- throw new Error(\`Expected variant name '${responseType}' but got '\${variantName}'\`);
572
+ throw new BBApiException(\`Expected variant name '${responseType}' but got '\${variantName}'\`);
555
573
  }
556
574
  return to${responseType}(result);
557
575
  }`;
@@ -571,6 +589,7 @@ function createSyncApiCompiler() {
571
589
  imports: [
572
590
  `import { IMsgpackBackendSync } from '../../bb_backends/interface.js';`,
573
591
  `import { Decoder, Encoder } from 'msgpackr';`,
592
+ `import { BBApiException } from '../../bbapi_exception.js';`,
574
593
  ],
575
594
  });
576
595
  }
@@ -580,7 +599,8 @@ function createAsyncApiCompiler() {
580
599
  imports: [
581
600
  `import { IMsgpackBackendAsync } from '../../bb_backends/interface.js';`,
582
601
  `import { Decoder, Encoder } from 'msgpackr';`,
602
+ `import { BBApiException } from '../../bbapi_exception.js';`,
583
603
  ],
584
604
  });
585
605
  }
586
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hX2NvbXBpbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NiaW5kL3NjaGVtYV9jb21waWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQXVyQkgsOERBS0M7QUFFRCxzREFRQztBQUVELHdEQVFDO0FBenFCRCxtQkFBbUI7QUFDbkIsU0FBUyxVQUFVLENBQUMsQ0FBUztJQUMzQixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsQ0FBUztJQUMxQixPQUFPLENBQUM7U0FDTCxLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3pHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxDQUFTO0lBQzNCLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFhLGNBQWM7SUFNekIsWUFBb0IsTUFBc0I7UUFBdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFMbEMsY0FBUyxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFDO1FBQ3hDLHFCQUFnQixHQUF1QixFQUFFLENB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
606
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hX2NvbXBpbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NiaW5kL3NjaGVtYV9jb21waWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQTJzQkgsOERBS0M7QUFFRCxzREFTQztBQUVELHdEQVNDO0FBL3JCRCxtQkFBbUI7QUFDbkIsU0FBUyxVQUFVLENBQUMsQ0FBUztJQUMzQixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsQ0FBUztJQUMxQixPQUFPLENBQUM7U0FDTCxLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3pHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxDQUFTO0lBQzNCLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFhLGNBQWM7SUFNekIsWUFBb0IsTUFBc0I7UUFBdEIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFMbEMsY0FBUyxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFDO1FBQ3hDLHFCQUFnQixHQUF1QixFQUFFLENB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
@@ -1,6 +1,8 @@
1
1
  export { Crs, GrumpkinCrs } from './crs/index.js';
2
2
  export { type BackendOptions, BackendType, Barretenberg, BarretenbergSync, UltraHonkVerifierBackend, UltraHonkBackend, AztecClientBackend, } from './barretenberg/index.js';
3
3
  export { randomBytes } from './random/index.js';
4
- export { Fr } from './types/index.js';
5
4
  export { splitHonkProof, reconstructHonkProof, deflattenFields, type ProofData } from './proof/index.js';
5
+ export { BBApiException } from './bbapi_exception.js';
6
+ export type { Bn254G1Point, Bn254G2Point, GrumpkinPoint, Secp256k1Point, Secp256r1Point, Field2, } from './cbind/generated/api_types.js';
7
+ export { BN254_FQ_MODULUS, BN254_FR_MODULUS, BN254_G1_GENERATOR, BN254_G2_GENERATOR, GRUMPKIN_FR_MODULUS, GRUMPKIN_FQ_MODULUS, GRUMPKIN_G1_GENERATOR, SECP256K1_FR_MODULUS, SECP256K1_FQ_MODULUS, SECP256K1_G1_GENERATOR, SECP256R1_FR_MODULUS, SECP256R1_FQ_MODULUS, SECP256R1_G1_GENERATOR, } from './cbind/generated/curve_constants.js';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,KAAK,cAAc,EACnB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,KAAK,cAAc,EACnB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,cAAc,EACd,MAAM,GACP,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,sCAAsC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deflattenFields = exports.reconstructHonkProof = exports.splitHonkProof = exports.Fr = exports.randomBytes = exports.AztecClientBackend = exports.UltraHonkBackend = exports.UltraHonkVerifierBackend = exports.BarretenbergSync = exports.Barretenberg = exports.BackendType = exports.GrumpkinCrs = exports.Crs = void 0;
3
+ exports.SECP256R1_G1_GENERATOR = exports.SECP256R1_FQ_MODULUS = exports.SECP256R1_FR_MODULUS = exports.SECP256K1_G1_GENERATOR = exports.SECP256K1_FQ_MODULUS = exports.SECP256K1_FR_MODULUS = exports.GRUMPKIN_G1_GENERATOR = exports.GRUMPKIN_FQ_MODULUS = exports.GRUMPKIN_FR_MODULUS = exports.BN254_G2_GENERATOR = exports.BN254_G1_GENERATOR = exports.BN254_FR_MODULUS = exports.BN254_FQ_MODULUS = exports.BBApiException = exports.deflattenFields = exports.reconstructHonkProof = exports.splitHonkProof = exports.randomBytes = exports.AztecClientBackend = exports.UltraHonkBackend = exports.UltraHonkVerifierBackend = exports.BarretenbergSync = exports.Barretenberg = exports.BackendType = exports.GrumpkinCrs = exports.Crs = void 0;
4
4
  var index_js_1 = require("./crs/index.js");
5
5
  Object.defineProperty(exports, "Crs", { enumerable: true, get: function () { return index_js_1.Crs; } });
6
6
  Object.defineProperty(exports, "GrumpkinCrs", { enumerable: true, get: function () { return index_js_1.GrumpkinCrs; } });
@@ -13,10 +13,25 @@ Object.defineProperty(exports, "UltraHonkBackend", { enumerable: true, get: func
13
13
  Object.defineProperty(exports, "AztecClientBackend", { enumerable: true, get: function () { return index_js_2.AztecClientBackend; } });
14
14
  var index_js_3 = require("./random/index.js");
15
15
  Object.defineProperty(exports, "randomBytes", { enumerable: true, get: function () { return index_js_3.randomBytes; } });
16
- var index_js_4 = require("./types/index.js");
17
- Object.defineProperty(exports, "Fr", { enumerable: true, get: function () { return index_js_4.Fr; } });
18
- var index_js_5 = require("./proof/index.js");
19
- Object.defineProperty(exports, "splitHonkProof", { enumerable: true, get: function () { return index_js_5.splitHonkProof; } });
20
- Object.defineProperty(exports, "reconstructHonkProof", { enumerable: true, get: function () { return index_js_5.reconstructHonkProof; } });
21
- Object.defineProperty(exports, "deflattenFields", { enumerable: true, get: function () { return index_js_5.deflattenFields; } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQWtEO0FBQXpDLCtGQUFBLEdBQUcsT0FBQTtBQUFFLHVHQUFBLFdBQVcsT0FBQTtBQUN6QixvREFRaUM7QUFOL0IsdUdBQUEsV0FBVyxPQUFBO0FBQ1gsd0dBQUEsWUFBWSxPQUFBO0FBQ1osNEdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsb0hBQUEsd0JBQXdCLE9BQUE7QUFDeEIsNEdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsOEdBQUEsa0JBQWtCLE9BQUE7QUFHcEIsOENBQWdEO0FBQXZDLHVHQUFBLFdBQVcsT0FBQTtBQUNwQiw2Q0FBc0M7QUFBN0IsOEZBQUEsRUFBRSxPQUFBO0FBQ1gsNkNBQXlHO0FBQWhHLDBHQUFBLGNBQWMsT0FBQTtBQUFFLGdIQUFBLG9CQUFvQixPQUFBO0FBQUUsMkdBQUEsZUFBZSxPQUFBIn0=
16
+ var index_js_4 = require("./proof/index.js");
17
+ Object.defineProperty(exports, "splitHonkProof", { enumerable: true, get: function () { return index_js_4.splitHonkProof; } });
18
+ Object.defineProperty(exports, "reconstructHonkProof", { enumerable: true, get: function () { return index_js_4.reconstructHonkProof; } });
19
+ Object.defineProperty(exports, "deflattenFields", { enumerable: true, get: function () { return index_js_4.deflattenFields; } });
20
+ var bbapi_exception_js_1 = require("./bbapi_exception.js");
21
+ Object.defineProperty(exports, "BBApiException", { enumerable: true, get: function () { return bbapi_exception_js_1.BBApiException; } });
22
+ // Export curve constants for use in foundation
23
+ var curve_constants_js_1 = require("./cbind/generated/curve_constants.js");
24
+ Object.defineProperty(exports, "BN254_FQ_MODULUS", { enumerable: true, get: function () { return curve_constants_js_1.BN254_FQ_MODULUS; } });
25
+ Object.defineProperty(exports, "BN254_FR_MODULUS", { enumerable: true, get: function () { return curve_constants_js_1.BN254_FR_MODULUS; } });
26
+ Object.defineProperty(exports, "BN254_G1_GENERATOR", { enumerable: true, get: function () { return curve_constants_js_1.BN254_G1_GENERATOR; } });
27
+ Object.defineProperty(exports, "BN254_G2_GENERATOR", { enumerable: true, get: function () { return curve_constants_js_1.BN254_G2_GENERATOR; } });
28
+ Object.defineProperty(exports, "GRUMPKIN_FR_MODULUS", { enumerable: true, get: function () { return curve_constants_js_1.GRUMPKIN_FR_MODULUS; } });
29
+ Object.defineProperty(exports, "GRUMPKIN_FQ_MODULUS", { enumerable: true, get: function () { return curve_constants_js_1.GRUMPKIN_FQ_MODULUS; } });
30
+ Object.defineProperty(exports, "GRUMPKIN_G1_GENERATOR", { enumerable: true, get: function () { return curve_constants_js_1.GRUMPKIN_G1_GENERATOR; } });
31
+ Object.defineProperty(exports, "SECP256K1_FR_MODULUS", { enumerable: true, get: function () { return curve_constants_js_1.SECP256K1_FR_MODULUS; } });
32
+ Object.defineProperty(exports, "SECP256K1_FQ_MODULUS", { enumerable: true, get: function () { return curve_constants_js_1.SECP256K1_FQ_MODULUS; } });
33
+ Object.defineProperty(exports, "SECP256K1_G1_GENERATOR", { enumerable: true, get: function () { return curve_constants_js_1.SECP256K1_G1_GENERATOR; } });
34
+ Object.defineProperty(exports, "SECP256R1_FR_MODULUS", { enumerable: true, get: function () { return curve_constants_js_1.SECP256R1_FR_MODULUS; } });
35
+ Object.defineProperty(exports, "SECP256R1_FQ_MODULUS", { enumerable: true, get: function () { return curve_constants_js_1.SECP256R1_FQ_MODULUS; } });
36
+ Object.defineProperty(exports, "SECP256R1_G1_GENERATOR", { enumerable: true, get: function () { return curve_constants_js_1.SECP256R1_G1_GENERATOR; } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQWtEO0FBQXpDLCtGQUFBLEdBQUcsT0FBQTtBQUFFLHVHQUFBLFdBQVcsT0FBQTtBQUN6QixvREFRaUM7QUFOL0IsdUdBQUEsV0FBVyxPQUFBO0FBQ1gsd0dBQUEsWUFBWSxPQUFBO0FBQ1osNEdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsb0hBQUEsd0JBQXdCLE9BQUE7QUFDeEIsNEdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsOEdBQUEsa0JBQWtCLE9BQUE7QUFHcEIsOENBQWdEO0FBQXZDLHVHQUFBLFdBQVcsT0FBQTtBQUNwQiw2Q0FBeUc7QUFBaEcsMEdBQUEsY0FBYyxPQUFBO0FBQUUsZ0hBQUEsb0JBQW9CLE9BQUE7QUFBRSwyR0FBQSxlQUFlLE9BQUE7QUFDOUQsMkRBQXNEO0FBQTdDLG9IQUFBLGNBQWMsT0FBQTtBQVl2QiwrQ0FBK0M7QUFDL0MsMkVBYzhDO0FBYjVDLHNIQUFBLGdCQUFnQixPQUFBO0FBQ2hCLHNIQUFBLGdCQUFnQixPQUFBO0FBQ2hCLHdIQUFBLGtCQUFrQixPQUFBO0FBQ2xCLHdIQUFBLGtCQUFrQixPQUFBO0FBQ2xCLHlIQUFBLG1CQUFtQixPQUFBO0FBQ25CLHlIQUFBLG1CQUFtQixPQUFBO0FBQ25CLDJIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLDBIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDBIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDRIQUFBLHNCQUFzQixPQUFBO0FBQ3RCLDBIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDBIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDRIQUFBLHNCQUFzQixPQUFBIn0=
@@ -1,3 +1,2 @@
1
- export * from './buffer_reader.js';
2
1
  export * from './serialize.js';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/serialize/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/serialize/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./buffer_reader.js"), exports);
5
4
  tslib_1.__exportStar(require("./serialize.js"), exports);
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VyaWFsaXplL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZEQUFtQztBQUNuQyx5REFBK0IifQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VyaWFsaXplL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUErQiJ9
@@ -1,8 +1,8 @@
1
- import { BufferReader } from '../serialize/index.js';
2
1
  /**
3
- * Fr field class.
4
- * @dev This class is used to represent elements of BN254 scalar field or elements in the base field of Grumpkin.
5
- * (Grumpkin's scalar field corresponds to BN254's base field and vice versa.)
2
+ * Internal Fr field class for tests.
3
+ * @dev This minimal implementation is provided for testing barretenberg directly.
4
+ * Projects using bb.js should create their own field abstraction using the curve constants
5
+ * exported from the barretenberg binary (see CurveConstants generation).
6
6
  */
7
7
  export declare class Fr {
8
8
  static ZERO: Fr;
@@ -12,32 +12,12 @@ export declare class Fr {
12
12
  value: Uint8Array;
13
13
  constructor(value: Uint8Array | Buffer | bigint);
14
14
  static random(): Fr;
15
- static fromBuffer(buffer: Uint8Array | Buffer | BufferReader): Fr;
16
- static fromBufferReduce(buffer: Uint8Array | BufferReader): Fr;
15
+ static fromBuffer(buffer: Uint8Array | Buffer): Fr;
16
+ static fromBufferReduce(buffer: Uint8Array | Buffer): Fr;
17
17
  static fromString(str: string): Fr;
18
18
  toBuffer(): Uint8Array<ArrayBufferLike>;
19
19
  toString(): string;
20
20
  equals(rhs: Fr): boolean;
21
21
  isZero(): boolean;
22
22
  }
23
- /**
24
- * Fq field class.
25
- * @dev This class is used to represent elements of BN254 base field or elements in the scalar field of Grumpkin.
26
- * (Grumpkin's scalar field corresponds to BN254's base field and vice versa.)
27
- */
28
- export declare class Fq {
29
- readonly value: bigint;
30
- static MODULUS: bigint;
31
- static MAX_VALUE: bigint;
32
- static SIZE_IN_BYTES: number;
33
- constructor(value: bigint);
34
- static random(): Fq;
35
- static fromBuffer(buffer: Uint8Array | Buffer | BufferReader): Fq;
36
- static fromBufferReduce(buffer: Uint8Array | Buffer | BufferReader): Fq;
37
- static fromString(str: string): Fq;
38
- toBuffer(): Buffer<ArrayBufferLike>;
39
- toString(): string;
40
- equals(rhs: Fq): boolean;
41
- isZero(): boolean;
42
- }
43
23
  //# sourceMappingURL=fields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/types/fields.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD;;;;GAIG;AACH,qBAAa,EAAE;IACb,MAAM,CAAC,IAAI,KAAc;IACzB,MAAM,CAAC,OAAO,SAAuE;IACrF,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,aAAa,SAAM;IAC1B,KAAK,EAAE,UAAU,CAAC;gBAEN,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM;IAiB/C,MAAM,CAAC,MAAM;IAKb,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY;IAK5D,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY;IAKzD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,QAAQ;IAIR,QAAQ;IAIR,MAAM,CAAC,GAAG,EAAE,EAAE;IAId,MAAM;CAGP;AAED;;;;GAIG;AACH,qBAAa,EAAE;aAKe,KAAK,EAAE,MAAM;IAJzC,MAAM,CAAC,OAAO,SAAuE;IACrF,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,aAAa,SAAM;gBAEE,KAAK,EAAE,MAAM;IAMzC,MAAM,CAAC,MAAM;IAKb,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY;IAK5D,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY;IAKlE,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,QAAQ;IAIR,QAAQ;IAIR,MAAM,CAAC,GAAG,EAAE,EAAE;IAId,MAAM;CAGP"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/types/fields.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,qBAAa,EAAE;IACb,MAAM,CAAC,IAAI,KAAc;IACzB,MAAM,CAAC,OAAO,SAAuE;IACrF,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,aAAa,SAAM;IAC1B,KAAK,EAAE,UAAU,CAAC;gBAEN,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM;IAiB/C,MAAM,CAAC,MAAM;IAKb,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAO7C,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAOnD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,QAAQ;IAIR,QAAQ;IAIR,MAAM,CAAC,GAAG,EAAE,EAAE;IAId,MAAM;CAGP"}
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
- var _a, _b;
2
+ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Fq = exports.Fr = void 0;
4
+ exports.Fr = void 0;
5
5
  const index_js_1 = require("../random/index.js");
6
6
  const index_js_2 = require("../bigint-array/index.js");
7
- const index_js_3 = require("../serialize/index.js");
8
- // TODO(#4189): Replace with implementation in yarn-project/foundation/src/fields/fields.ts
9
7
  /**
10
- * Fr field class.
11
- * @dev This class is used to represent elements of BN254 scalar field or elements in the base field of Grumpkin.
12
- * (Grumpkin's scalar field corresponds to BN254's base field and vice versa.)
8
+ * Internal Fr field class for tests.
9
+ * @dev This minimal implementation is provided for testing barretenberg directly.
10
+ * Projects using bb.js should create their own field abstraction using the curve constants
11
+ * exported from the barretenberg binary (see CurveConstants generation).
13
12
  */
14
13
  class Fr {
15
14
  constructor(value) {
@@ -30,12 +29,16 @@ class Fr {
30
29
  return new this(r);
31
30
  }
32
31
  static fromBuffer(buffer) {
33
- const reader = index_js_3.BufferReader.asReader(buffer);
34
- return new this(reader.readBytes(this.SIZE_IN_BYTES));
32
+ if (buffer.length !== this.SIZE_IN_BYTES) {
33
+ throw new Error(`Expected ${this.SIZE_IN_BYTES} bytes, got ${buffer.length}`);
34
+ }
35
+ return new this(buffer);
35
36
  }
36
37
  static fromBufferReduce(buffer) {
37
- const reader = index_js_3.BufferReader.asReader(buffer);
38
- return new this((0, index_js_2.uint8ArrayToBigIntBE)(reader.readBytes(this.SIZE_IN_BYTES)) % _a.MODULUS);
38
+ if (buffer.length !== this.SIZE_IN_BYTES) {
39
+ throw new Error(`Expected ${this.SIZE_IN_BYTES} bytes, got ${buffer.length}`);
40
+ }
41
+ return new this((0, index_js_2.uint8ArrayToBigIntBE)(buffer instanceof Buffer ? new Uint8Array(buffer) : buffer) % _a.MODULUS);
39
42
  }
40
43
  static fromString(str) {
41
44
  return this.fromBuffer(Buffer.from(str.replace(/^0x/i, ''), 'hex'));
@@ -59,49 +62,4 @@ Fr.ZERO = new _a(0n);
59
62
  Fr.MODULUS = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n;
60
63
  Fr.MAX_VALUE = _a.MODULUS - 1n;
61
64
  Fr.SIZE_IN_BYTES = 32;
62
- /**
63
- * Fq field class.
64
- * @dev This class is used to represent elements of BN254 base field or elements in the scalar field of Grumpkin.
65
- * (Grumpkin's scalar field corresponds to BN254's base field and vice versa.)
66
- */
67
- class Fq {
68
- constructor(value) {
69
- this.value = value;
70
- if (value > _b.MAX_VALUE) {
71
- throw new Error(`Fq out of range ${value}.`);
72
- }
73
- }
74
- static random() {
75
- const r = (0, index_js_2.uint8ArrayToBigIntBE)((0, index_js_1.randomBytes)(64)) % _b.MODULUS;
76
- return new this(r);
77
- }
78
- static fromBuffer(buffer) {
79
- const reader = index_js_3.BufferReader.asReader(buffer);
80
- return new this((0, index_js_2.uint8ArrayToBigIntBE)(reader.readBytes(this.SIZE_IN_BYTES)));
81
- }
82
- static fromBufferReduce(buffer) {
83
- const reader = index_js_3.BufferReader.asReader(buffer);
84
- return new this((0, index_js_2.uint8ArrayToBigIntBE)(reader.readBytes(this.SIZE_IN_BYTES)) % Fr.MODULUS);
85
- }
86
- static fromString(str) {
87
- return this.fromBuffer(Buffer.from(str.replace(/^0x/i, ''), 'hex'));
88
- }
89
- toBuffer() {
90
- return (0, index_js_2.bigIntToBufferBE)(this.value, _b.SIZE_IN_BYTES);
91
- }
92
- toString() {
93
- return '0x' + this.value.toString(16);
94
- }
95
- equals(rhs) {
96
- return this.value === rhs.value;
97
- }
98
- isZero() {
99
- return this.value === 0n;
100
- }
101
- }
102
- exports.Fq = Fq;
103
- _b = Fq;
104
- Fq.MODULUS = 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47n;
105
- Fq.MAX_VALUE = _b.MODULUS - 1n;
106
- Fq.SIZE_IN_BYTES = 32;
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2ZpZWxkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsaURBQWlEO0FBQ2pELHVEQUtrQztBQUNsQyxvREFBcUQ7QUFFckQsMkZBQTJGO0FBQzNGOzs7O0dBSUc7QUFDSCxNQUFhLEVBQUU7SUFPYixZQUFZLEtBQW1DO1FBQzdDLCtFQUErRTtRQUMvRSxNQUFNLFdBQVcsR0FDZixPQUFPLEtBQUssS0FBSyxRQUFRO1lBQ3ZCLENBQUMsQ0FBQyxLQUFLO1lBQ1AsQ0FBQyxDQUFDLEtBQUssWUFBWSxNQUFNO2dCQUN2QixDQUFDLENBQUMsSUFBQSxrQ0FBdUIsRUFBQyxLQUFLLENBQUM7Z0JBQ2hDLENBQUMsQ0FBQyxJQUFBLCtCQUFvQixFQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBDLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsd0NBQXdDLENBQUMsQ0FBQztRQUMvRixDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUs7WUFDUixPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUEsK0JBQW9CLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssWUFBWSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDdEgsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNO1FBQ1gsTUFBTSxDQUFDLEdBQUcsSUFBQSwrQkFBb0IsRUFBQyxJQUFBLHNCQUFXLEVBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQzdELE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckIs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
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2ZpZWxkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsaURBQWlEO0FBQ2pELHVEQUtrQztBQUVsQzs7Ozs7R0FLRztBQUNILE1BQWEsRUFBRTtJQU9iLFlBQVksS0FBbUM7UUFDN0MsK0VBQStFO1FBQy9FLE1BQU0sV0FBVyxHQUNmLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLEtBQUs7WUFDUCxDQUFDLENBQUMsS0FBSyxZQUFZLE1BQU07Z0JBQ3ZCLENBQUMsQ0FBQyxJQUFBLGtDQUF1QixFQUFDLEtBQUssQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLElBQUEsK0JBQW9CLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQy9GLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSztZQUNSLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBQSwrQkFBb0IsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxZQUFZLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN0SCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU07UUFDWCxNQUFNLENBQUMsR0FBRyxJQUFBLCtCQUFvQixFQUFDLElBQUEsc0JBQVcsRUFBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDN0QsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUEyQjtRQUMzQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxJQUFJLENBQUMsYUFBYSxlQUFlLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7UUFDRCxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBMkI7UUFDakQsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLGFBQWEsZUFBZSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFBLCtCQUFvQixFQUFDLE1BQU0sWUFBWSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBVztRQUMzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEgsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O0FBN0RILGdCQThEQzs7QUE3RFEsT0FBSSxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxBQUFiLENBQWM7QUFDbEIsVUFBTyxHQUFHLG1FQUFtRSxBQUF0RSxDQUF1RTtBQUM5RSxZQUFTLEdBQUcsRUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLEFBQXBCLENBQXFCO0FBQzlCLGdCQUFhLEdBQUcsRUFBRSxBQUFMLENBQU0ifQ==
@@ -1,16 +1,18 @@
1
- import { Fr } from './index.js';
2
- import { BufferReader } from '../serialize/buffer_reader.js';
1
+ import { Fr } from './fields.js';
2
+ /**
3
+ * Internal Point class for tests.
4
+ * @dev This minimal implementation is provided for testing barretenberg directly.
5
+ * Projects using bb.js should create their own point abstraction using the curve point
6
+ * types and operations exported from the barretenberg API.
7
+ */
3
8
  export declare class Point {
4
9
  readonly x: Fr;
5
10
  readonly y: Fr;
6
11
  static SIZE_IN_BYTES: number;
7
12
  static EMPTY: Point;
8
13
  constructor(x: Fr, y: Fr);
9
- static random(): Point;
10
- static fromBuffer(buffer: Uint8Array | BufferReader): Point;
11
- static fromString(address: string): Point;
14
+ static fromBuffer(buffer: Uint8Array): Point;
12
15
  toBuffer(): Buffer<ArrayBuffer>;
13
- toString(): string;
14
16
  equals(rhs: Point): boolean;
15
17
  }
16
18
  //# sourceMappingURL=point.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/types/point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,qBAAa,KAAK;aAKE,CAAC,EAAE,EAAE;aACL,CAAC,EAAE,EAAE;IALvB,MAAM,CAAC,aAAa,SAAM;IAC1B,MAAM,CAAC,KAAK,QAA+B;gBAGzB,CAAC,EAAE,EAAE,EACL,CAAC,EAAE,EAAE;IAGvB,MAAM,CAAC,MAAM;IAKb,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY;IAKnD,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM;IAIjC,QAAQ;IAIR,QAAQ;IAIR,MAAM,CAAC,GAAG,EAAE,KAAK;CAGlB"}
1
+ {"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/types/point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC;;;;;GAKG;AACH,qBAAa,KAAK;aAKE,CAAC,EAAE,EAAE;aACL,CAAC,EAAE,EAAE;IALvB,MAAM,CAAC,aAAa,SAAM;IAC1B,MAAM,CAAC,KAAK,QAA+B;gBAGzB,CAAC,EAAE,EAAE,EACL,CAAC,EAAE,EAAE;IAGvB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU;IAOpC,QAAQ;IAIR,MAAM,CAAC,GAAG,EAAE,KAAK;CAGlB"}
@@ -1,35 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Point = void 0;
4
- const index_js_1 = require("./index.js");
5
- const buffer_reader_js_1 = require("../serialize/buffer_reader.js");
4
+ const fields_js_1 = require("./fields.js");
5
+ /**
6
+ * Internal Point class for tests.
7
+ * @dev This minimal implementation is provided for testing barretenberg directly.
8
+ * Projects using bb.js should create their own point abstraction using the curve point
9
+ * types and operations exported from the barretenberg API.
10
+ */
6
11
  class Point {
7
12
  constructor(x, y) {
8
13
  this.x = x;
9
14
  this.y = y;
10
15
  }
11
- static random() {
12
- // TODO: This is not a point on the curve!
13
- return new Point(index_js_1.Fr.random(), index_js_1.Fr.random());
14
- }
15
16
  static fromBuffer(buffer) {
16
- const reader = buffer_reader_js_1.BufferReader.asReader(buffer);
17
- return new this(index_js_1.Fr.fromBuffer(reader), index_js_1.Fr.fromBuffer(reader));
18
- }
19
- static fromString(address) {
20
- return Point.fromBuffer(Buffer.from(address.replace(/^0x/i, ''), 'hex'));
17
+ if (buffer.length !== this.SIZE_IN_BYTES) {
18
+ throw new Error(`Expected ${this.SIZE_IN_BYTES} bytes, got ${buffer.length}`);
19
+ }
20
+ return new this(fields_js_1.Fr.fromBuffer(buffer.subarray(0, 32)), fields_js_1.Fr.fromBuffer(buffer.subarray(32, 64)));
21
21
  }
22
22
  toBuffer() {
23
23
  return Buffer.concat([this.x.toBuffer(), this.y.toBuffer()]);
24
24
  }
25
- toString() {
26
- return '0x' + this.toBuffer().toString('hex');
27
- }
28
25
  equals(rhs) {
29
26
  return this.x.equals(rhs.x) && this.y.equals(rhs.y);
30
27
  }
31
28
  }
32
29
  exports.Point = Point;
33
30
  Point.SIZE_IN_BYTES = 64;
34
- Point.EMPTY = new Point(index_js_1.Fr.ZERO, index_js_1.Fr.ZERO);
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQWdDO0FBQ2hDLG9FQUE2RDtBQUU3RCxNQUFhLEtBQUs7SUFJaEIsWUFDa0IsQ0FBSyxFQUNMLENBQUs7UUFETCxNQUFDLEdBQUQsQ0FBQyxDQUFJO1FBQ0wsTUFBQyxHQUFELENBQUMsQ0FBSTtJQUNwQixDQUFDO0lBRUosTUFBTSxDQUFDLE1BQU07UUFDWCwwQ0FBMEM7UUFDMUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxhQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsYUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBaUM7UUFDakQsTUFBTSxNQUFNLEdBQUcsK0JBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLElBQUksQ0FBQyxhQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLGFBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFlO1FBQy9CLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7QUFqQ0gsc0JBa0NDO0FBakNRLG1CQUFhLEdBQUcsRUFBRSxDQUFDO0FBQ25CLFdBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxhQUFFLENBQUMsSUFBSSxFQUFFLGFBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyJ9
31
+ Point.EMPTY = new Point(fields_js_1.Fr.ZERO, fields_js_1.Fr.ZERO);
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZXMvcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQWlDO0FBRWpDOzs7OztHQUtHO0FBQ0gsTUFBYSxLQUFLO0lBSWhCLFlBQ2tCLENBQUssRUFDTCxDQUFLO1FBREwsTUFBQyxHQUFELENBQUMsQ0FBSTtRQUNMLE1BQUMsR0FBRCxDQUFDLENBQUk7SUFDcEIsQ0FBQztJQUVKLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBa0I7UUFDbEMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLGFBQWEsZUFBZSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsY0FBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDOztBQXRCSCxzQkF1QkM7QUF0QlEsbUJBQWEsR0FBRyxFQUFFLENBQUM7QUFDbkIsV0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLGNBQUUsQ0FBQyxJQUFJLEVBQUUsY0FBRSxDQUFDLElBQUksQ0FBQyxDQUFDIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aztec/bb.js",
3
3
  "packageManager": "yarn@4.5.2",
4
- "version": "3.0.0-nightly.20251026",
4
+ "version": "3.0.0-nightly.20251030-2",
5
5
  "homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/barretenberg/ts",
6
6
  "license": "MIT",
7
7
  "type": "module",
@@ -22,8 +22,9 @@
22
22
  ],
23
23
  "scripts": {
24
24
  "clean": "rm -rf ./dest .tsbuildinfo .tsbuildinfo.cjs ./src/cbind/generated",
25
- "build": "yarn clean && yarn generate && yarn build:wasm && yarn build:esm && yarn build:cjs && yarn build:browser",
26
- "build:wasm": "./scripts/build_wasm.sh",
25
+ "build": "yarn clean && yarn generate && yarn build:wasm && yarn build:native && yarn build:esm && yarn build:cjs && yarn build:browser",
26
+ "build:wasm": "./scripts/copy_wasm.sh",
27
+ "build:native": "./scripts/copy_native.sh",
27
28
  "build:esm": "tsc -b tsconfig.esm.json",
28
29
  "build:cjs": "tsc -b tsconfig.cjs.json && ./scripts/cjs_postprocess.sh",
29
30
  "build:browser": "tsc -b tsconfig.browser.json && ./scripts/browser_postprocess.sh",