@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.
- package/README.md +1 -1
- package/dest/browser/barretenberg/backend.js +13 -13
- package/dest/browser/barretenberg/index.d.ts +1 -1
- package/dest/browser/barretenberg/index.d.ts.map +1 -1
- package/dest/browser/barretenberg/index.js +2 -2
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
- package/dest/browser/bb_backends/wasm.d.ts +2 -9
- package/dest/browser/bb_backends/wasm.d.ts.map +1 -1
- package/dest/browser/bb_backends/wasm.js +3 -10
- package/dest/browser/bbapi_exception.d.ts +7 -0
- package/dest/browser/bbapi_exception.d.ts.map +1 -0
- package/dest/browser/bbapi_exception.js +14 -0
- package/dest/browser/cbind/generate.js +93 -1
- package/dest/browser/cbind/generated/api_types.d.ts +623 -377
- package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/browser/cbind/generated/api_types.js +778 -452
- package/dest/browser/cbind/generated/async.d.ts +15 -10
- package/dest/browser/cbind/generated/async.d.ts.map +1 -1
- package/dest/browser/cbind/generated/async.js +304 -96
- package/dest/browser/cbind/generated/curve_constants.d.ts +45 -0
- package/dest/browser/cbind/generated/curve_constants.d.ts.map +1 -0
- package/dest/browser/cbind/generated/curve_constants.js +45 -0
- package/dest/browser/cbind/generated/sync.d.ts +15 -10
- package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
- package/dest/browser/cbind/generated/sync.js +299 -96
- package/dest/browser/cbind/schema_compiler.d.ts.map +1 -1
- package/dest/browser/cbind/schema_compiler.js +24 -4
- package/dest/browser/index.d.ts +3 -1
- package/dest/browser/index.d.ts.map +1 -1
- package/dest/browser/index.js +4 -2
- package/dest/browser/serialize/index.d.ts +0 -1
- package/dest/browser/serialize/index.d.ts.map +1 -1
- package/dest/browser/serialize/index.js +1 -2
- package/dest/browser/types/fields.d.ts +6 -26
- package/dest/browser/types/fields.d.ts.map +1 -1
- package/dest/browser/types/fields.js +15 -56
- package/dest/browser/types/point.d.ts +8 -6
- package/dest/browser/types/point.d.ts.map +1 -1
- package/dest/browser/types/point.js +12 -15
- package/dest/node/barretenberg/backend.js +13 -13
- package/dest/node/barretenberg/index.d.ts +1 -1
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +2 -2
- package/dest/node/barretenberg/poseidon.bench.test.js +3 -2
- package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +1 -1
- package/dest/node/bb_backends/wasm.d.ts +2 -9
- package/dest/node/bb_backends/wasm.d.ts.map +1 -1
- package/dest/node/bb_backends/wasm.js +3 -10
- package/dest/node/bbapi_exception.d.ts +7 -0
- package/dest/node/bbapi_exception.d.ts.map +1 -0
- package/dest/node/bbapi_exception.js +14 -0
- package/dest/node/cbind/generate.js +93 -1
- package/dest/node/cbind/generated/api_types.d.ts +623 -377
- package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node/cbind/generated/api_types.js +778 -452
- package/dest/node/cbind/generated/async.d.ts +15 -10
- package/dest/node/cbind/generated/async.d.ts.map +1 -1
- package/dest/node/cbind/generated/async.js +304 -96
- package/dest/node/cbind/generated/curve_constants.d.ts +45 -0
- package/dest/node/cbind/generated/curve_constants.d.ts.map +1 -0
- package/dest/node/cbind/generated/curve_constants.js +45 -0
- package/dest/node/cbind/generated/sync.d.ts +15 -10
- package/dest/node/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node/cbind/generated/sync.js +299 -96
- package/dest/node/cbind/schema_compiler.d.ts.map +1 -1
- package/dest/node/cbind/schema_compiler.js +24 -4
- package/dest/node/index.d.ts +3 -1
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +4 -2
- package/dest/node/serialize/index.d.ts +0 -1
- package/dest/node/serialize/index.d.ts.map +1 -1
- package/dest/node/serialize/index.js +1 -2
- package/dest/node/types/fields.d.ts +6 -26
- package/dest/node/types/fields.d.ts.map +1 -1
- package/dest/node/types/fields.js +15 -56
- package/dest/node/types/point.d.ts +8 -6
- package/dest/node/types/point.d.ts.map +1 -1
- package/dest/node/types/point.js +12 -15
- package/dest/node-cjs/barretenberg/backend.js +12 -12
- package/dest/node-cjs/barretenberg/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +2 -2
- package/dest/node-cjs/barretenberg/poseidon.bench.test.js +5 -4
- package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +1 -1
- package/dest/node-cjs/bb_backends/wasm.d.ts +2 -9
- package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/wasm.js +3 -10
- package/dest/node-cjs/bbapi_exception.d.ts +7 -0
- package/dest/node-cjs/bbapi_exception.d.ts.map +1 -0
- package/dest/node-cjs/bbapi_exception.js +18 -0
- package/dest/node-cjs/cbind/generate.js +93 -1
- package/dest/node-cjs/cbind/generated/api_types.d.ts +623 -377
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/api_types.js +848 -492
- package/dest/node-cjs/cbind/generated/async.d.ts +15 -10
- package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/async.js +303 -95
- package/dest/node-cjs/cbind/generated/curve_constants.d.ts +45 -0
- package/dest/node-cjs/cbind/generated/curve_constants.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generated/curve_constants.js +48 -0
- package/dest/node-cjs/cbind/generated/sync.d.ts +15 -10
- package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/sync.js +298 -95
- package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -1
- package/dest/node-cjs/cbind/schema_compiler.js +24 -4
- package/dest/node-cjs/index.d.ts +3 -1
- package/dest/node-cjs/index.d.ts.map +1 -1
- package/dest/node-cjs/index.js +23 -8
- package/dest/node-cjs/serialize/index.d.ts +0 -1
- package/dest/node-cjs/serialize/index.d.ts.map +1 -1
- package/dest/node-cjs/serialize/index.js +1 -2
- package/dest/node-cjs/types/fields.d.ts +6 -26
- package/dest/node-cjs/types/fields.d.ts.map +1 -1
- package/dest/node-cjs/types/fields.js +15 -57
- package/dest/node-cjs/types/point.d.ts +8 -6
- package/dest/node-cjs/types/point.d.ts.map +1 -1
- package/dest/node-cjs/types/point.js +13 -16
- package/package.json +4 -3
- package/src/barretenberg/backend.ts +12 -12
- package/src/barretenberg/index.ts +1 -1
- package/src/barretenberg/poseidon.bench.test.ts +2 -1
- package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +4 -4
- package/src/bb_backends/wasm.ts +2 -9
- package/src/bbapi_exception.ts +13 -0
- package/src/cbind/generate.ts +99 -0
- package/src/cbind/schema_compiler.ts +25 -3
- package/src/index.ts +28 -1
- package/src/serialize/index.ts +0 -1
- package/src/types/fields.ts +14 -63
- package/src/types/point.ts +13 -19
- package/dest/browser/serialize/buffer_reader.d.ts +0 -28
- package/dest/browser/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/browser/serialize/buffer_reader.js +0 -66
- package/dest/node/serialize/buffer_reader.d.ts +0 -28
- package/dest/node/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/node/serialize/buffer_reader.js +0 -66
- package/dest/node-cjs/serialize/buffer_reader.d.ts +0 -28
- package/dest/node-cjs/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/node-cjs/serialize/buffer_reader.js +0 -70
- package/src/cbind/generated/api_types.ts +0 -3757
- package/src/cbind/generated/async.ts +0 -504
- package/src/cbind/generated/sync.ts +0 -455
- package/src/serialize/buffer_reader.ts +0 -85
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// AUTOGENERATED FILE - DO NOT EDIT
|
|
2
2
|
import { Decoder, Encoder } from 'msgpackr';
|
|
3
|
-
import {
|
|
3
|
+
import { BBApiException } from '../../bbapi_exception.js';
|
|
4
|
+
import { fromAesDecrypt, fromAesEncrypt, fromBlake2s, fromBlake2sToField, fromBn254FqSqrt, fromBn254FrSqrt, fromBn254G1FromCompressed, fromBn254G1IsOnCurve, fromBn254G1Mul, fromBn254G2Mul, fromChonkAccumulate, fromChonkCheckPrecomputedVk, fromChonkComputeIvcVk, fromChonkComputeStandaloneVk, fromChonkLoad, fromChonkProve, fromChonkStart, fromChonkStats, fromChonkVerify, fromCircuitComputeVk, fromCircuitProve, fromCircuitStats, fromCircuitVerify, fromCircuitWriteSolidityVerifier, fromEcdsaSecp256k1ComputePublicKey, fromEcdsaSecp256k1ConstructSignature, fromEcdsaSecp256k1RecoverPublicKey, fromEcdsaSecp256k1VerifySignature, fromEcdsaSecp256r1ComputePublicKey, fromEcdsaSecp256r1ConstructSignature, fromEcdsaSecp256r1RecoverPublicKey, fromEcdsaSecp256r1VerifySignature, fromGrumpkinAdd, fromGrumpkinBatchMul, fromGrumpkinGetRandomFr, fromGrumpkinMul, fromGrumpkinReduce512, fromMegaVkAsFields, fromPedersenCommit, fromPedersenHash, fromPedersenHashBuffer, fromPoseidon2Hash, fromPoseidon2HashAccumulate, fromPoseidon2Permutation, fromSchnorrComputePublicKey, fromSchnorrConstructSignature, fromSchnorrVerifySignature, fromSecp256k1GetRandomFr, fromSecp256k1Mul, fromSecp256k1Reduce512, fromShutdown, fromSrsInitGrumpkinSrs, fromSrsInitSrs, fromVkAsFields, toAesDecryptResponse, toAesEncryptResponse, toBlake2sResponse, toBlake2sToFieldResponse, toBn254FqSqrtResponse, toBn254FrSqrtResponse, toBn254G1FromCompressedResponse, toBn254G1IsOnCurveResponse, toBn254G1MulResponse, toBn254G2MulResponse, toChonkAccumulateResponse, toChonkCheckPrecomputedVkResponse, toChonkComputeIvcVkResponse, toChonkComputeStandaloneVkResponse, toChonkLoadResponse, toChonkProveResponse, toChonkStartResponse, toChonkStatsResponse, toChonkVerifyResponse, toCircuitComputeVkResponse, toCircuitInfoResponse, toCircuitProveResponse, toCircuitVerifyResponse, toCircuitWriteSolidityVerifierResponse, toEcdsaSecp256k1ComputePublicKeyResponse, toEcdsaSecp256k1ConstructSignatureResponse, toEcdsaSecp256k1RecoverPublicKeyResponse, toEcdsaSecp256k1VerifySignatureResponse, toEcdsaSecp256r1ComputePublicKeyResponse, toEcdsaSecp256r1ConstructSignatureResponse, toEcdsaSecp256r1RecoverPublicKeyResponse, toEcdsaSecp256r1VerifySignatureResponse, toGrumpkinAddResponse, toGrumpkinBatchMulResponse, toGrumpkinGetRandomFrResponse, toGrumpkinMulResponse, toGrumpkinReduce512Response, toMegaVkAsFieldsResponse, toPedersenCommitResponse, toPedersenHashBufferResponse, toPedersenHashResponse, toPoseidon2HashAccumulateResponse, toPoseidon2HashResponse, toPoseidon2PermutationResponse, toSchnorrComputePublicKeyResponse, toSchnorrConstructSignatureResponse, toSchnorrVerifySignatureResponse, toSecp256k1GetRandomFrResponse, toSecp256k1MulResponse, toSecp256k1Reduce512Response, toShutdownResponse, toSrsInitGrumpkinSrsResponse, toSrsInitSrsResponse, toVkAsFieldsResponse } from './api_types.js';
|
|
4
5
|
function msgpackCall(backend, input) { const inputBuffer = new Encoder({ useRecords: false }).pack(input); const encodedResult = backend.call(inputBuffer); return new Decoder({ useRecords: false }).unpack(encodedResult); }
|
|
5
6
|
export class SyncApi {
|
|
6
7
|
constructor(backend) {
|
|
@@ -9,392 +10,594 @@ export class SyncApi {
|
|
|
9
10
|
circuitProve(command) {
|
|
10
11
|
const msgpackCommand = fromCircuitProve(command);
|
|
11
12
|
const [variantName, result] = msgpackCall(this.backend, [["CircuitProve", msgpackCommand]]);
|
|
13
|
+
if (variantName === 'ErrorResponse') {
|
|
14
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
15
|
+
}
|
|
12
16
|
if (variantName !== 'CircuitProveResponse') {
|
|
13
|
-
throw new
|
|
17
|
+
throw new BBApiException(`Expected variant name 'CircuitProveResponse' but got '${variantName}'`);
|
|
14
18
|
}
|
|
15
19
|
return toCircuitProveResponse(result);
|
|
16
20
|
}
|
|
17
21
|
circuitComputeVk(command) {
|
|
18
22
|
const msgpackCommand = fromCircuitComputeVk(command);
|
|
19
23
|
const [variantName, result] = msgpackCall(this.backend, [["CircuitComputeVk", msgpackCommand]]);
|
|
24
|
+
if (variantName === 'ErrorResponse') {
|
|
25
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
26
|
+
}
|
|
20
27
|
if (variantName !== 'CircuitComputeVkResponse') {
|
|
21
|
-
throw new
|
|
28
|
+
throw new BBApiException(`Expected variant name 'CircuitComputeVkResponse' but got '${variantName}'`);
|
|
22
29
|
}
|
|
23
30
|
return toCircuitComputeVkResponse(result);
|
|
24
31
|
}
|
|
25
32
|
circuitStats(command) {
|
|
26
33
|
const msgpackCommand = fromCircuitStats(command);
|
|
27
34
|
const [variantName, result] = msgpackCall(this.backend, [["CircuitStats", msgpackCommand]]);
|
|
35
|
+
if (variantName === 'ErrorResponse') {
|
|
36
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
37
|
+
}
|
|
28
38
|
if (variantName !== 'CircuitInfoResponse') {
|
|
29
|
-
throw new
|
|
39
|
+
throw new BBApiException(`Expected variant name 'CircuitInfoResponse' but got '${variantName}'`);
|
|
30
40
|
}
|
|
31
41
|
return toCircuitInfoResponse(result);
|
|
32
42
|
}
|
|
33
43
|
circuitVerify(command) {
|
|
34
44
|
const msgpackCommand = fromCircuitVerify(command);
|
|
35
45
|
const [variantName, result] = msgpackCall(this.backend, [["CircuitVerify", msgpackCommand]]);
|
|
46
|
+
if (variantName === 'ErrorResponse') {
|
|
47
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
48
|
+
}
|
|
36
49
|
if (variantName !== 'CircuitVerifyResponse') {
|
|
37
|
-
throw new
|
|
50
|
+
throw new BBApiException(`Expected variant name 'CircuitVerifyResponse' but got '${variantName}'`);
|
|
38
51
|
}
|
|
39
52
|
return toCircuitVerifyResponse(result);
|
|
40
53
|
}
|
|
41
|
-
|
|
42
|
-
const msgpackCommand =
|
|
43
|
-
const [variantName, result] = msgpackCall(this.backend, [["
|
|
44
|
-
if (variantName
|
|
45
|
-
throw new
|
|
54
|
+
chonkComputeStandaloneVk(command) {
|
|
55
|
+
const msgpackCommand = fromChonkComputeStandaloneVk(command);
|
|
56
|
+
const [variantName, result] = msgpackCall(this.backend, [["ChonkComputeStandaloneVk", msgpackCommand]]);
|
|
57
|
+
if (variantName === 'ErrorResponse') {
|
|
58
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
46
59
|
}
|
|
47
|
-
|
|
60
|
+
if (variantName !== 'ChonkComputeStandaloneVkResponse') {
|
|
61
|
+
throw new BBApiException(`Expected variant name 'ChonkComputeStandaloneVkResponse' but got '${variantName}'`);
|
|
62
|
+
}
|
|
63
|
+
return toChonkComputeStandaloneVkResponse(result);
|
|
48
64
|
}
|
|
49
|
-
|
|
50
|
-
const msgpackCommand =
|
|
51
|
-
const [variantName, result] = msgpackCall(this.backend, [["
|
|
52
|
-
if (variantName
|
|
53
|
-
throw new
|
|
65
|
+
chonkComputeIvcVk(command) {
|
|
66
|
+
const msgpackCommand = fromChonkComputeIvcVk(command);
|
|
67
|
+
const [variantName, result] = msgpackCall(this.backend, [["ChonkComputeIvcVk", msgpackCommand]]);
|
|
68
|
+
if (variantName === 'ErrorResponse') {
|
|
69
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
70
|
+
}
|
|
71
|
+
if (variantName !== 'ChonkComputeIvcVkResponse') {
|
|
72
|
+
throw new BBApiException(`Expected variant name 'ChonkComputeIvcVkResponse' but got '${variantName}'`);
|
|
54
73
|
}
|
|
55
|
-
return
|
|
74
|
+
return toChonkComputeIvcVkResponse(result);
|
|
56
75
|
}
|
|
57
|
-
|
|
58
|
-
const msgpackCommand =
|
|
59
|
-
const [variantName, result] = msgpackCall(this.backend, [["
|
|
60
|
-
if (variantName
|
|
61
|
-
throw new
|
|
76
|
+
chonkStart(command) {
|
|
77
|
+
const msgpackCommand = fromChonkStart(command);
|
|
78
|
+
const [variantName, result] = msgpackCall(this.backend, [["ChonkStart", msgpackCommand]]);
|
|
79
|
+
if (variantName === 'ErrorResponse') {
|
|
80
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
62
81
|
}
|
|
63
|
-
|
|
82
|
+
if (variantName !== 'ChonkStartResponse') {
|
|
83
|
+
throw new BBApiException(`Expected variant name 'ChonkStartResponse' but got '${variantName}'`);
|
|
84
|
+
}
|
|
85
|
+
return toChonkStartResponse(result);
|
|
64
86
|
}
|
|
65
|
-
|
|
66
|
-
const msgpackCommand =
|
|
67
|
-
const [variantName, result] = msgpackCall(this.backend, [["
|
|
68
|
-
if (variantName
|
|
69
|
-
throw new
|
|
87
|
+
chonkLoad(command) {
|
|
88
|
+
const msgpackCommand = fromChonkLoad(command);
|
|
89
|
+
const [variantName, result] = msgpackCall(this.backend, [["ChonkLoad", msgpackCommand]]);
|
|
90
|
+
if (variantName === 'ErrorResponse') {
|
|
91
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
92
|
+
}
|
|
93
|
+
if (variantName !== 'ChonkLoadResponse') {
|
|
94
|
+
throw new BBApiException(`Expected variant name 'ChonkLoadResponse' but got '${variantName}'`);
|
|
70
95
|
}
|
|
71
|
-
return
|
|
96
|
+
return toChonkLoadResponse(result);
|
|
72
97
|
}
|
|
73
|
-
|
|
74
|
-
const msgpackCommand =
|
|
75
|
-
const [variantName, result] = msgpackCall(this.backend, [["
|
|
76
|
-
if (variantName
|
|
77
|
-
throw new
|
|
98
|
+
chonkAccumulate(command) {
|
|
99
|
+
const msgpackCommand = fromChonkAccumulate(command);
|
|
100
|
+
const [variantName, result] = msgpackCall(this.backend, [["ChonkAccumulate", msgpackCommand]]);
|
|
101
|
+
if (variantName === 'ErrorResponse') {
|
|
102
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
78
103
|
}
|
|
79
|
-
|
|
104
|
+
if (variantName !== 'ChonkAccumulateResponse') {
|
|
105
|
+
throw new BBApiException(`Expected variant name 'ChonkAccumulateResponse' but got '${variantName}'`);
|
|
106
|
+
}
|
|
107
|
+
return toChonkAccumulateResponse(result);
|
|
80
108
|
}
|
|
81
|
-
|
|
82
|
-
const msgpackCommand =
|
|
83
|
-
const [variantName, result] = msgpackCall(this.backend, [["
|
|
84
|
-
if (variantName
|
|
85
|
-
throw new
|
|
109
|
+
chonkProve(command) {
|
|
110
|
+
const msgpackCommand = fromChonkProve(command);
|
|
111
|
+
const [variantName, result] = msgpackCall(this.backend, [["ChonkProve", msgpackCommand]]);
|
|
112
|
+
if (variantName === 'ErrorResponse') {
|
|
113
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
114
|
+
}
|
|
115
|
+
if (variantName !== 'ChonkProveResponse') {
|
|
116
|
+
throw new BBApiException(`Expected variant name 'ChonkProveResponse' but got '${variantName}'`);
|
|
86
117
|
}
|
|
87
|
-
return
|
|
118
|
+
return toChonkProveResponse(result);
|
|
88
119
|
}
|
|
89
|
-
|
|
90
|
-
const msgpackCommand =
|
|
91
|
-
const [variantName, result] = msgpackCall(this.backend, [["
|
|
92
|
-
if (variantName
|
|
93
|
-
throw new
|
|
120
|
+
chonkVerify(command) {
|
|
121
|
+
const msgpackCommand = fromChonkVerify(command);
|
|
122
|
+
const [variantName, result] = msgpackCall(this.backend, [["ChonkVerify", msgpackCommand]]);
|
|
123
|
+
if (variantName === 'ErrorResponse') {
|
|
124
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
94
125
|
}
|
|
95
|
-
|
|
126
|
+
if (variantName !== 'ChonkVerifyResponse') {
|
|
127
|
+
throw new BBApiException(`Expected variant name 'ChonkVerifyResponse' but got '${variantName}'`);
|
|
128
|
+
}
|
|
129
|
+
return toChonkVerifyResponse(result);
|
|
96
130
|
}
|
|
97
131
|
vkAsFields(command) {
|
|
98
132
|
const msgpackCommand = fromVkAsFields(command);
|
|
99
133
|
const [variantName, result] = msgpackCall(this.backend, [["VkAsFields", msgpackCommand]]);
|
|
134
|
+
if (variantName === 'ErrorResponse') {
|
|
135
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
136
|
+
}
|
|
100
137
|
if (variantName !== 'VkAsFieldsResponse') {
|
|
101
|
-
throw new
|
|
138
|
+
throw new BBApiException(`Expected variant name 'VkAsFieldsResponse' but got '${variantName}'`);
|
|
102
139
|
}
|
|
103
140
|
return toVkAsFieldsResponse(result);
|
|
104
141
|
}
|
|
105
142
|
megaVkAsFields(command) {
|
|
106
143
|
const msgpackCommand = fromMegaVkAsFields(command);
|
|
107
144
|
const [variantName, result] = msgpackCall(this.backend, [["MegaVkAsFields", msgpackCommand]]);
|
|
145
|
+
if (variantName === 'ErrorResponse') {
|
|
146
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
147
|
+
}
|
|
108
148
|
if (variantName !== 'MegaVkAsFieldsResponse') {
|
|
109
|
-
throw new
|
|
149
|
+
throw new BBApiException(`Expected variant name 'MegaVkAsFieldsResponse' but got '${variantName}'`);
|
|
110
150
|
}
|
|
111
151
|
return toMegaVkAsFieldsResponse(result);
|
|
112
152
|
}
|
|
113
153
|
circuitWriteSolidityVerifier(command) {
|
|
114
154
|
const msgpackCommand = fromCircuitWriteSolidityVerifier(command);
|
|
115
155
|
const [variantName, result] = msgpackCall(this.backend, [["CircuitWriteSolidityVerifier", msgpackCommand]]);
|
|
156
|
+
if (variantName === 'ErrorResponse') {
|
|
157
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
158
|
+
}
|
|
116
159
|
if (variantName !== 'CircuitWriteSolidityVerifierResponse') {
|
|
117
|
-
throw new
|
|
160
|
+
throw new BBApiException(`Expected variant name 'CircuitWriteSolidityVerifierResponse' but got '${variantName}'`);
|
|
118
161
|
}
|
|
119
162
|
return toCircuitWriteSolidityVerifierResponse(result);
|
|
120
163
|
}
|
|
121
|
-
|
|
122
|
-
const msgpackCommand =
|
|
123
|
-
const [variantName, result] = msgpackCall(this.backend, [["
|
|
124
|
-
if (variantName
|
|
125
|
-
throw new
|
|
164
|
+
chonkCheckPrecomputedVk(command) {
|
|
165
|
+
const msgpackCommand = fromChonkCheckPrecomputedVk(command);
|
|
166
|
+
const [variantName, result] = msgpackCall(this.backend, [["ChonkCheckPrecomputedVk", msgpackCommand]]);
|
|
167
|
+
if (variantName === 'ErrorResponse') {
|
|
168
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
126
169
|
}
|
|
127
|
-
|
|
170
|
+
if (variantName !== 'ChonkCheckPrecomputedVkResponse') {
|
|
171
|
+
throw new BBApiException(`Expected variant name 'ChonkCheckPrecomputedVkResponse' but got '${variantName}'`);
|
|
172
|
+
}
|
|
173
|
+
return toChonkCheckPrecomputedVkResponse(result);
|
|
128
174
|
}
|
|
129
|
-
|
|
130
|
-
const msgpackCommand =
|
|
131
|
-
const [variantName, result] = msgpackCall(this.backend, [["
|
|
132
|
-
if (variantName
|
|
133
|
-
throw new
|
|
175
|
+
chonkStats(command) {
|
|
176
|
+
const msgpackCommand = fromChonkStats(command);
|
|
177
|
+
const [variantName, result] = msgpackCall(this.backend, [["ChonkStats", msgpackCommand]]);
|
|
178
|
+
if (variantName === 'ErrorResponse') {
|
|
179
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
180
|
+
}
|
|
181
|
+
if (variantName !== 'ChonkStatsResponse') {
|
|
182
|
+
throw new BBApiException(`Expected variant name 'ChonkStatsResponse' but got '${variantName}'`);
|
|
134
183
|
}
|
|
135
|
-
return
|
|
184
|
+
return toChonkStatsResponse(result);
|
|
136
185
|
}
|
|
137
186
|
poseidon2Hash(command) {
|
|
138
187
|
const msgpackCommand = fromPoseidon2Hash(command);
|
|
139
188
|
const [variantName, result] = msgpackCall(this.backend, [["Poseidon2Hash", msgpackCommand]]);
|
|
189
|
+
if (variantName === 'ErrorResponse') {
|
|
190
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
191
|
+
}
|
|
140
192
|
if (variantName !== 'Poseidon2HashResponse') {
|
|
141
|
-
throw new
|
|
193
|
+
throw new BBApiException(`Expected variant name 'Poseidon2HashResponse' but got '${variantName}'`);
|
|
142
194
|
}
|
|
143
195
|
return toPoseidon2HashResponse(result);
|
|
144
196
|
}
|
|
145
197
|
poseidon2Permutation(command) {
|
|
146
198
|
const msgpackCommand = fromPoseidon2Permutation(command);
|
|
147
199
|
const [variantName, result] = msgpackCall(this.backend, [["Poseidon2Permutation", msgpackCommand]]);
|
|
200
|
+
if (variantName === 'ErrorResponse') {
|
|
201
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
202
|
+
}
|
|
148
203
|
if (variantName !== 'Poseidon2PermutationResponse') {
|
|
149
|
-
throw new
|
|
204
|
+
throw new BBApiException(`Expected variant name 'Poseidon2PermutationResponse' but got '${variantName}'`);
|
|
150
205
|
}
|
|
151
206
|
return toPoseidon2PermutationResponse(result);
|
|
152
207
|
}
|
|
153
208
|
poseidon2HashAccumulate(command) {
|
|
154
209
|
const msgpackCommand = fromPoseidon2HashAccumulate(command);
|
|
155
210
|
const [variantName, result] = msgpackCall(this.backend, [["Poseidon2HashAccumulate", msgpackCommand]]);
|
|
211
|
+
if (variantName === 'ErrorResponse') {
|
|
212
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
213
|
+
}
|
|
156
214
|
if (variantName !== 'Poseidon2HashAccumulateResponse') {
|
|
157
|
-
throw new
|
|
215
|
+
throw new BBApiException(`Expected variant name 'Poseidon2HashAccumulateResponse' but got '${variantName}'`);
|
|
158
216
|
}
|
|
159
217
|
return toPoseidon2HashAccumulateResponse(result);
|
|
160
218
|
}
|
|
161
219
|
pedersenCommit(command) {
|
|
162
220
|
const msgpackCommand = fromPedersenCommit(command);
|
|
163
221
|
const [variantName, result] = msgpackCall(this.backend, [["PedersenCommit", msgpackCommand]]);
|
|
222
|
+
if (variantName === 'ErrorResponse') {
|
|
223
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
224
|
+
}
|
|
164
225
|
if (variantName !== 'PedersenCommitResponse') {
|
|
165
|
-
throw new
|
|
226
|
+
throw new BBApiException(`Expected variant name 'PedersenCommitResponse' but got '${variantName}'`);
|
|
166
227
|
}
|
|
167
228
|
return toPedersenCommitResponse(result);
|
|
168
229
|
}
|
|
169
230
|
pedersenHash(command) {
|
|
170
231
|
const msgpackCommand = fromPedersenHash(command);
|
|
171
232
|
const [variantName, result] = msgpackCall(this.backend, [["PedersenHash", msgpackCommand]]);
|
|
233
|
+
if (variantName === 'ErrorResponse') {
|
|
234
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
235
|
+
}
|
|
172
236
|
if (variantName !== 'PedersenHashResponse') {
|
|
173
|
-
throw new
|
|
237
|
+
throw new BBApiException(`Expected variant name 'PedersenHashResponse' but got '${variantName}'`);
|
|
174
238
|
}
|
|
175
239
|
return toPedersenHashResponse(result);
|
|
176
240
|
}
|
|
177
241
|
pedersenHashBuffer(command) {
|
|
178
242
|
const msgpackCommand = fromPedersenHashBuffer(command);
|
|
179
243
|
const [variantName, result] = msgpackCall(this.backend, [["PedersenHashBuffer", msgpackCommand]]);
|
|
244
|
+
if (variantName === 'ErrorResponse') {
|
|
245
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
246
|
+
}
|
|
180
247
|
if (variantName !== 'PedersenHashBufferResponse') {
|
|
181
|
-
throw new
|
|
248
|
+
throw new BBApiException(`Expected variant name 'PedersenHashBufferResponse' but got '${variantName}'`);
|
|
182
249
|
}
|
|
183
250
|
return toPedersenHashBufferResponse(result);
|
|
184
251
|
}
|
|
185
252
|
blake2s(command) {
|
|
186
253
|
const msgpackCommand = fromBlake2s(command);
|
|
187
254
|
const [variantName, result] = msgpackCall(this.backend, [["Blake2s", msgpackCommand]]);
|
|
255
|
+
if (variantName === 'ErrorResponse') {
|
|
256
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
257
|
+
}
|
|
188
258
|
if (variantName !== 'Blake2sResponse') {
|
|
189
|
-
throw new
|
|
259
|
+
throw new BBApiException(`Expected variant name 'Blake2sResponse' but got '${variantName}'`);
|
|
190
260
|
}
|
|
191
261
|
return toBlake2sResponse(result);
|
|
192
262
|
}
|
|
193
263
|
blake2sToField(command) {
|
|
194
264
|
const msgpackCommand = fromBlake2sToField(command);
|
|
195
265
|
const [variantName, result] = msgpackCall(this.backend, [["Blake2sToField", msgpackCommand]]);
|
|
266
|
+
if (variantName === 'ErrorResponse') {
|
|
267
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
268
|
+
}
|
|
196
269
|
if (variantName !== 'Blake2sToFieldResponse') {
|
|
197
|
-
throw new
|
|
270
|
+
throw new BBApiException(`Expected variant name 'Blake2sToFieldResponse' but got '${variantName}'`);
|
|
198
271
|
}
|
|
199
272
|
return toBlake2sToFieldResponse(result);
|
|
200
273
|
}
|
|
201
274
|
aesEncrypt(command) {
|
|
202
275
|
const msgpackCommand = fromAesEncrypt(command);
|
|
203
276
|
const [variantName, result] = msgpackCall(this.backend, [["AesEncrypt", msgpackCommand]]);
|
|
277
|
+
if (variantName === 'ErrorResponse') {
|
|
278
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
279
|
+
}
|
|
204
280
|
if (variantName !== 'AesEncryptResponse') {
|
|
205
|
-
throw new
|
|
281
|
+
throw new BBApiException(`Expected variant name 'AesEncryptResponse' but got '${variantName}'`);
|
|
206
282
|
}
|
|
207
283
|
return toAesEncryptResponse(result);
|
|
208
284
|
}
|
|
209
285
|
aesDecrypt(command) {
|
|
210
286
|
const msgpackCommand = fromAesDecrypt(command);
|
|
211
287
|
const [variantName, result] = msgpackCall(this.backend, [["AesDecrypt", msgpackCommand]]);
|
|
288
|
+
if (variantName === 'ErrorResponse') {
|
|
289
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
290
|
+
}
|
|
212
291
|
if (variantName !== 'AesDecryptResponse') {
|
|
213
|
-
throw new
|
|
292
|
+
throw new BBApiException(`Expected variant name 'AesDecryptResponse' but got '${variantName}'`);
|
|
214
293
|
}
|
|
215
294
|
return toAesDecryptResponse(result);
|
|
216
295
|
}
|
|
217
296
|
grumpkinMul(command) {
|
|
218
297
|
const msgpackCommand = fromGrumpkinMul(command);
|
|
219
298
|
const [variantName, result] = msgpackCall(this.backend, [["GrumpkinMul", msgpackCommand]]);
|
|
299
|
+
if (variantName === 'ErrorResponse') {
|
|
300
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
301
|
+
}
|
|
220
302
|
if (variantName !== 'GrumpkinMulResponse') {
|
|
221
|
-
throw new
|
|
303
|
+
throw new BBApiException(`Expected variant name 'GrumpkinMulResponse' but got '${variantName}'`);
|
|
222
304
|
}
|
|
223
305
|
return toGrumpkinMulResponse(result);
|
|
224
306
|
}
|
|
225
307
|
grumpkinAdd(command) {
|
|
226
308
|
const msgpackCommand = fromGrumpkinAdd(command);
|
|
227
309
|
const [variantName, result] = msgpackCall(this.backend, [["GrumpkinAdd", msgpackCommand]]);
|
|
310
|
+
if (variantName === 'ErrorResponse') {
|
|
311
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
312
|
+
}
|
|
228
313
|
if (variantName !== 'GrumpkinAddResponse') {
|
|
229
|
-
throw new
|
|
314
|
+
throw new BBApiException(`Expected variant name 'GrumpkinAddResponse' but got '${variantName}'`);
|
|
230
315
|
}
|
|
231
316
|
return toGrumpkinAddResponse(result);
|
|
232
317
|
}
|
|
233
318
|
grumpkinBatchMul(command) {
|
|
234
319
|
const msgpackCommand = fromGrumpkinBatchMul(command);
|
|
235
320
|
const [variantName, result] = msgpackCall(this.backend, [["GrumpkinBatchMul", msgpackCommand]]);
|
|
321
|
+
if (variantName === 'ErrorResponse') {
|
|
322
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
323
|
+
}
|
|
236
324
|
if (variantName !== 'GrumpkinBatchMulResponse') {
|
|
237
|
-
throw new
|
|
325
|
+
throw new BBApiException(`Expected variant name 'GrumpkinBatchMulResponse' but got '${variantName}'`);
|
|
238
326
|
}
|
|
239
327
|
return toGrumpkinBatchMulResponse(result);
|
|
240
328
|
}
|
|
241
329
|
grumpkinGetRandomFr(command) {
|
|
242
330
|
const msgpackCommand = fromGrumpkinGetRandomFr(command);
|
|
243
331
|
const [variantName, result] = msgpackCall(this.backend, [["GrumpkinGetRandomFr", msgpackCommand]]);
|
|
332
|
+
if (variantName === 'ErrorResponse') {
|
|
333
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
334
|
+
}
|
|
244
335
|
if (variantName !== 'GrumpkinGetRandomFrResponse') {
|
|
245
|
-
throw new
|
|
336
|
+
throw new BBApiException(`Expected variant name 'GrumpkinGetRandomFrResponse' but got '${variantName}'`);
|
|
246
337
|
}
|
|
247
338
|
return toGrumpkinGetRandomFrResponse(result);
|
|
248
339
|
}
|
|
249
340
|
grumpkinReduce512(command) {
|
|
250
341
|
const msgpackCommand = fromGrumpkinReduce512(command);
|
|
251
342
|
const [variantName, result] = msgpackCall(this.backend, [["GrumpkinReduce512", msgpackCommand]]);
|
|
343
|
+
if (variantName === 'ErrorResponse') {
|
|
344
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
345
|
+
}
|
|
252
346
|
if (variantName !== 'GrumpkinReduce512Response') {
|
|
253
|
-
throw new
|
|
347
|
+
throw new BBApiException(`Expected variant name 'GrumpkinReduce512Response' but got '${variantName}'`);
|
|
254
348
|
}
|
|
255
349
|
return toGrumpkinReduce512Response(result);
|
|
256
350
|
}
|
|
257
351
|
secp256k1Mul(command) {
|
|
258
352
|
const msgpackCommand = fromSecp256k1Mul(command);
|
|
259
353
|
const [variantName, result] = msgpackCall(this.backend, [["Secp256k1Mul", msgpackCommand]]);
|
|
354
|
+
if (variantName === 'ErrorResponse') {
|
|
355
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
356
|
+
}
|
|
260
357
|
if (variantName !== 'Secp256k1MulResponse') {
|
|
261
|
-
throw new
|
|
358
|
+
throw new BBApiException(`Expected variant name 'Secp256k1MulResponse' but got '${variantName}'`);
|
|
262
359
|
}
|
|
263
360
|
return toSecp256k1MulResponse(result);
|
|
264
361
|
}
|
|
265
362
|
secp256k1GetRandomFr(command) {
|
|
266
363
|
const msgpackCommand = fromSecp256k1GetRandomFr(command);
|
|
267
364
|
const [variantName, result] = msgpackCall(this.backend, [["Secp256k1GetRandomFr", msgpackCommand]]);
|
|
365
|
+
if (variantName === 'ErrorResponse') {
|
|
366
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
367
|
+
}
|
|
268
368
|
if (variantName !== 'Secp256k1GetRandomFrResponse') {
|
|
269
|
-
throw new
|
|
369
|
+
throw new BBApiException(`Expected variant name 'Secp256k1GetRandomFrResponse' but got '${variantName}'`);
|
|
270
370
|
}
|
|
271
371
|
return toSecp256k1GetRandomFrResponse(result);
|
|
272
372
|
}
|
|
273
373
|
secp256k1Reduce512(command) {
|
|
274
374
|
const msgpackCommand = fromSecp256k1Reduce512(command);
|
|
275
375
|
const [variantName, result] = msgpackCall(this.backend, [["Secp256k1Reduce512", msgpackCommand]]);
|
|
376
|
+
if (variantName === 'ErrorResponse') {
|
|
377
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
378
|
+
}
|
|
276
379
|
if (variantName !== 'Secp256k1Reduce512Response') {
|
|
277
|
-
throw new
|
|
380
|
+
throw new BBApiException(`Expected variant name 'Secp256k1Reduce512Response' but got '${variantName}'`);
|
|
278
381
|
}
|
|
279
382
|
return toSecp256k1Reduce512Response(result);
|
|
280
383
|
}
|
|
281
384
|
bn254FrSqrt(command) {
|
|
282
385
|
const msgpackCommand = fromBn254FrSqrt(command);
|
|
283
386
|
const [variantName, result] = msgpackCall(this.backend, [["Bn254FrSqrt", msgpackCommand]]);
|
|
387
|
+
if (variantName === 'ErrorResponse') {
|
|
388
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
389
|
+
}
|
|
284
390
|
if (variantName !== 'Bn254FrSqrtResponse') {
|
|
285
|
-
throw new
|
|
391
|
+
throw new BBApiException(`Expected variant name 'Bn254FrSqrtResponse' but got '${variantName}'`);
|
|
286
392
|
}
|
|
287
393
|
return toBn254FrSqrtResponse(result);
|
|
288
394
|
}
|
|
395
|
+
bn254FqSqrt(command) {
|
|
396
|
+
const msgpackCommand = fromBn254FqSqrt(command);
|
|
397
|
+
const [variantName, result] = msgpackCall(this.backend, [["Bn254FqSqrt", msgpackCommand]]);
|
|
398
|
+
if (variantName === 'ErrorResponse') {
|
|
399
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
400
|
+
}
|
|
401
|
+
if (variantName !== 'Bn254FqSqrtResponse') {
|
|
402
|
+
throw new BBApiException(`Expected variant name 'Bn254FqSqrtResponse' but got '${variantName}'`);
|
|
403
|
+
}
|
|
404
|
+
return toBn254FqSqrtResponse(result);
|
|
405
|
+
}
|
|
406
|
+
bn254G1Mul(command) {
|
|
407
|
+
const msgpackCommand = fromBn254G1Mul(command);
|
|
408
|
+
const [variantName, result] = msgpackCall(this.backend, [["Bn254G1Mul", msgpackCommand]]);
|
|
409
|
+
if (variantName === 'ErrorResponse') {
|
|
410
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
411
|
+
}
|
|
412
|
+
if (variantName !== 'Bn254G1MulResponse') {
|
|
413
|
+
throw new BBApiException(`Expected variant name 'Bn254G1MulResponse' but got '${variantName}'`);
|
|
414
|
+
}
|
|
415
|
+
return toBn254G1MulResponse(result);
|
|
416
|
+
}
|
|
417
|
+
bn254G2Mul(command) {
|
|
418
|
+
const msgpackCommand = fromBn254G2Mul(command);
|
|
419
|
+
const [variantName, result] = msgpackCall(this.backend, [["Bn254G2Mul", msgpackCommand]]);
|
|
420
|
+
if (variantName === 'ErrorResponse') {
|
|
421
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
422
|
+
}
|
|
423
|
+
if (variantName !== 'Bn254G2MulResponse') {
|
|
424
|
+
throw new BBApiException(`Expected variant name 'Bn254G2MulResponse' but got '${variantName}'`);
|
|
425
|
+
}
|
|
426
|
+
return toBn254G2MulResponse(result);
|
|
427
|
+
}
|
|
428
|
+
bn254G1IsOnCurve(command) {
|
|
429
|
+
const msgpackCommand = fromBn254G1IsOnCurve(command);
|
|
430
|
+
const [variantName, result] = msgpackCall(this.backend, [["Bn254G1IsOnCurve", msgpackCommand]]);
|
|
431
|
+
if (variantName === 'ErrorResponse') {
|
|
432
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
433
|
+
}
|
|
434
|
+
if (variantName !== 'Bn254G1IsOnCurveResponse') {
|
|
435
|
+
throw new BBApiException(`Expected variant name 'Bn254G1IsOnCurveResponse' but got '${variantName}'`);
|
|
436
|
+
}
|
|
437
|
+
return toBn254G1IsOnCurveResponse(result);
|
|
438
|
+
}
|
|
439
|
+
bn254G1FromCompressed(command) {
|
|
440
|
+
const msgpackCommand = fromBn254G1FromCompressed(command);
|
|
441
|
+
const [variantName, result] = msgpackCall(this.backend, [["Bn254G1FromCompressed", msgpackCommand]]);
|
|
442
|
+
if (variantName === 'ErrorResponse') {
|
|
443
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
444
|
+
}
|
|
445
|
+
if (variantName !== 'Bn254G1FromCompressedResponse') {
|
|
446
|
+
throw new BBApiException(`Expected variant name 'Bn254G1FromCompressedResponse' but got '${variantName}'`);
|
|
447
|
+
}
|
|
448
|
+
return toBn254G1FromCompressedResponse(result);
|
|
449
|
+
}
|
|
289
450
|
schnorrComputePublicKey(command) {
|
|
290
451
|
const msgpackCommand = fromSchnorrComputePublicKey(command);
|
|
291
452
|
const [variantName, result] = msgpackCall(this.backend, [["SchnorrComputePublicKey", msgpackCommand]]);
|
|
453
|
+
if (variantName === 'ErrorResponse') {
|
|
454
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
455
|
+
}
|
|
292
456
|
if (variantName !== 'SchnorrComputePublicKeyResponse') {
|
|
293
|
-
throw new
|
|
457
|
+
throw new BBApiException(`Expected variant name 'SchnorrComputePublicKeyResponse' but got '${variantName}'`);
|
|
294
458
|
}
|
|
295
459
|
return toSchnorrComputePublicKeyResponse(result);
|
|
296
460
|
}
|
|
297
461
|
schnorrConstructSignature(command) {
|
|
298
462
|
const msgpackCommand = fromSchnorrConstructSignature(command);
|
|
299
463
|
const [variantName, result] = msgpackCall(this.backend, [["SchnorrConstructSignature", msgpackCommand]]);
|
|
464
|
+
if (variantName === 'ErrorResponse') {
|
|
465
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
466
|
+
}
|
|
300
467
|
if (variantName !== 'SchnorrConstructSignatureResponse') {
|
|
301
|
-
throw new
|
|
468
|
+
throw new BBApiException(`Expected variant name 'SchnorrConstructSignatureResponse' but got '${variantName}'`);
|
|
302
469
|
}
|
|
303
470
|
return toSchnorrConstructSignatureResponse(result);
|
|
304
471
|
}
|
|
305
472
|
schnorrVerifySignature(command) {
|
|
306
473
|
const msgpackCommand = fromSchnorrVerifySignature(command);
|
|
307
474
|
const [variantName, result] = msgpackCall(this.backend, [["SchnorrVerifySignature", msgpackCommand]]);
|
|
475
|
+
if (variantName === 'ErrorResponse') {
|
|
476
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
477
|
+
}
|
|
308
478
|
if (variantName !== 'SchnorrVerifySignatureResponse') {
|
|
309
|
-
throw new
|
|
479
|
+
throw new BBApiException(`Expected variant name 'SchnorrVerifySignatureResponse' but got '${variantName}'`);
|
|
310
480
|
}
|
|
311
481
|
return toSchnorrVerifySignatureResponse(result);
|
|
312
482
|
}
|
|
313
483
|
ecdsaSecp256k1ComputePublicKey(command) {
|
|
314
484
|
const msgpackCommand = fromEcdsaSecp256k1ComputePublicKey(command);
|
|
315
485
|
const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256k1ComputePublicKey", msgpackCommand]]);
|
|
486
|
+
if (variantName === 'ErrorResponse') {
|
|
487
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
488
|
+
}
|
|
316
489
|
if (variantName !== 'EcdsaSecp256k1ComputePublicKeyResponse') {
|
|
317
|
-
throw new
|
|
490
|
+
throw new BBApiException(`Expected variant name 'EcdsaSecp256k1ComputePublicKeyResponse' but got '${variantName}'`);
|
|
318
491
|
}
|
|
319
492
|
return toEcdsaSecp256k1ComputePublicKeyResponse(result);
|
|
320
493
|
}
|
|
321
494
|
ecdsaSecp256r1ComputePublicKey(command) {
|
|
322
495
|
const msgpackCommand = fromEcdsaSecp256r1ComputePublicKey(command);
|
|
323
496
|
const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256r1ComputePublicKey", msgpackCommand]]);
|
|
497
|
+
if (variantName === 'ErrorResponse') {
|
|
498
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
499
|
+
}
|
|
324
500
|
if (variantName !== 'EcdsaSecp256r1ComputePublicKeyResponse') {
|
|
325
|
-
throw new
|
|
501
|
+
throw new BBApiException(`Expected variant name 'EcdsaSecp256r1ComputePublicKeyResponse' but got '${variantName}'`);
|
|
326
502
|
}
|
|
327
503
|
return toEcdsaSecp256r1ComputePublicKeyResponse(result);
|
|
328
504
|
}
|
|
329
505
|
ecdsaSecp256k1ConstructSignature(command) {
|
|
330
506
|
const msgpackCommand = fromEcdsaSecp256k1ConstructSignature(command);
|
|
331
507
|
const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256k1ConstructSignature", msgpackCommand]]);
|
|
508
|
+
if (variantName === 'ErrorResponse') {
|
|
509
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
510
|
+
}
|
|
332
511
|
if (variantName !== 'EcdsaSecp256k1ConstructSignatureResponse') {
|
|
333
|
-
throw new
|
|
512
|
+
throw new BBApiException(`Expected variant name 'EcdsaSecp256k1ConstructSignatureResponse' but got '${variantName}'`);
|
|
334
513
|
}
|
|
335
514
|
return toEcdsaSecp256k1ConstructSignatureResponse(result);
|
|
336
515
|
}
|
|
337
516
|
ecdsaSecp256r1ConstructSignature(command) {
|
|
338
517
|
const msgpackCommand = fromEcdsaSecp256r1ConstructSignature(command);
|
|
339
518
|
const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256r1ConstructSignature", msgpackCommand]]);
|
|
519
|
+
if (variantName === 'ErrorResponse') {
|
|
520
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
521
|
+
}
|
|
340
522
|
if (variantName !== 'EcdsaSecp256r1ConstructSignatureResponse') {
|
|
341
|
-
throw new
|
|
523
|
+
throw new BBApiException(`Expected variant name 'EcdsaSecp256r1ConstructSignatureResponse' but got '${variantName}'`);
|
|
342
524
|
}
|
|
343
525
|
return toEcdsaSecp256r1ConstructSignatureResponse(result);
|
|
344
526
|
}
|
|
345
527
|
ecdsaSecp256k1RecoverPublicKey(command) {
|
|
346
528
|
const msgpackCommand = fromEcdsaSecp256k1RecoverPublicKey(command);
|
|
347
529
|
const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256k1RecoverPublicKey", msgpackCommand]]);
|
|
530
|
+
if (variantName === 'ErrorResponse') {
|
|
531
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
532
|
+
}
|
|
348
533
|
if (variantName !== 'EcdsaSecp256k1RecoverPublicKeyResponse') {
|
|
349
|
-
throw new
|
|
534
|
+
throw new BBApiException(`Expected variant name 'EcdsaSecp256k1RecoverPublicKeyResponse' but got '${variantName}'`);
|
|
350
535
|
}
|
|
351
536
|
return toEcdsaSecp256k1RecoverPublicKeyResponse(result);
|
|
352
537
|
}
|
|
353
538
|
ecdsaSecp256r1RecoverPublicKey(command) {
|
|
354
539
|
const msgpackCommand = fromEcdsaSecp256r1RecoverPublicKey(command);
|
|
355
540
|
const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256r1RecoverPublicKey", msgpackCommand]]);
|
|
541
|
+
if (variantName === 'ErrorResponse') {
|
|
542
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
543
|
+
}
|
|
356
544
|
if (variantName !== 'EcdsaSecp256r1RecoverPublicKeyResponse') {
|
|
357
|
-
throw new
|
|
545
|
+
throw new BBApiException(`Expected variant name 'EcdsaSecp256r1RecoverPublicKeyResponse' but got '${variantName}'`);
|
|
358
546
|
}
|
|
359
547
|
return toEcdsaSecp256r1RecoverPublicKeyResponse(result);
|
|
360
548
|
}
|
|
361
549
|
ecdsaSecp256k1VerifySignature(command) {
|
|
362
550
|
const msgpackCommand = fromEcdsaSecp256k1VerifySignature(command);
|
|
363
551
|
const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256k1VerifySignature", msgpackCommand]]);
|
|
552
|
+
if (variantName === 'ErrorResponse') {
|
|
553
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
554
|
+
}
|
|
364
555
|
if (variantName !== 'EcdsaSecp256k1VerifySignatureResponse') {
|
|
365
|
-
throw new
|
|
556
|
+
throw new BBApiException(`Expected variant name 'EcdsaSecp256k1VerifySignatureResponse' but got '${variantName}'`);
|
|
366
557
|
}
|
|
367
558
|
return toEcdsaSecp256k1VerifySignatureResponse(result);
|
|
368
559
|
}
|
|
369
560
|
ecdsaSecp256r1VerifySignature(command) {
|
|
370
561
|
const msgpackCommand = fromEcdsaSecp256r1VerifySignature(command);
|
|
371
562
|
const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256r1VerifySignature", msgpackCommand]]);
|
|
563
|
+
if (variantName === 'ErrorResponse') {
|
|
564
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
565
|
+
}
|
|
372
566
|
if (variantName !== 'EcdsaSecp256r1VerifySignatureResponse') {
|
|
373
|
-
throw new
|
|
567
|
+
throw new BBApiException(`Expected variant name 'EcdsaSecp256r1VerifySignatureResponse' but got '${variantName}'`);
|
|
374
568
|
}
|
|
375
569
|
return toEcdsaSecp256r1VerifySignatureResponse(result);
|
|
376
570
|
}
|
|
377
571
|
srsInitSrs(command) {
|
|
378
572
|
const msgpackCommand = fromSrsInitSrs(command);
|
|
379
573
|
const [variantName, result] = msgpackCall(this.backend, [["SrsInitSrs", msgpackCommand]]);
|
|
574
|
+
if (variantName === 'ErrorResponse') {
|
|
575
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
576
|
+
}
|
|
380
577
|
if (variantName !== 'SrsInitSrsResponse') {
|
|
381
|
-
throw new
|
|
578
|
+
throw new BBApiException(`Expected variant name 'SrsInitSrsResponse' but got '${variantName}'`);
|
|
382
579
|
}
|
|
383
580
|
return toSrsInitSrsResponse(result);
|
|
384
581
|
}
|
|
385
582
|
srsInitGrumpkinSrs(command) {
|
|
386
583
|
const msgpackCommand = fromSrsInitGrumpkinSrs(command);
|
|
387
584
|
const [variantName, result] = msgpackCall(this.backend, [["SrsInitGrumpkinSrs", msgpackCommand]]);
|
|
585
|
+
if (variantName === 'ErrorResponse') {
|
|
586
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
587
|
+
}
|
|
388
588
|
if (variantName !== 'SrsInitGrumpkinSrsResponse') {
|
|
389
|
-
throw new
|
|
589
|
+
throw new BBApiException(`Expected variant name 'SrsInitGrumpkinSrsResponse' but got '${variantName}'`);
|
|
390
590
|
}
|
|
391
591
|
return toSrsInitGrumpkinSrsResponse(result);
|
|
392
592
|
}
|
|
393
593
|
shutdown(command) {
|
|
394
594
|
const msgpackCommand = fromShutdown(command);
|
|
395
595
|
const [variantName, result] = msgpackCall(this.backend, [["Shutdown", msgpackCommand]]);
|
|
596
|
+
if (variantName === 'ErrorResponse') {
|
|
597
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
598
|
+
}
|
|
396
599
|
if (variantName !== 'ShutdownResponse') {
|
|
397
|
-
throw new
|
|
600
|
+
throw new BBApiException(`Expected variant name 'ShutdownResponse' but got '${variantName}'`);
|
|
398
601
|
}
|
|
399
602
|
return toShutdownResponse(result);
|
|
400
603
|
}
|
|
@@ -403,4 +606,4 @@ export class SyncApi {
|
|
|
403
606
|
this.backend.destroy();
|
|
404
607
|
}
|
|
405
608
|
}
|
|
406
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYmluZC9nZW5lcmF0ZWQvc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQ0FBbUM7QUFHbkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUMsT0FBTyxFQUE2K0UsY0FBYyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGdDQUFnQyxFQUFFLHVCQUF1QixFQUFFLCtCQUErQixFQUFFLHlCQUF5QixFQUFFLGdDQUFnQyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLGtDQUFrQyxFQUFFLG9DQUFvQyxFQUFFLGtDQUFrQyxFQUFFLGlDQUFpQyxFQUFFLGtDQUFrQyxFQUFFLG9DQUFvQyxFQUFFLGtDQUFrQyxFQUFFLGlDQUFpQyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUUsMkJBQTJCLEVBQUUsNkJBQTZCLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUscUJBQXFCLEVBQUUsMEJBQTBCLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsc0NBQXNDLEVBQUUsNkJBQTZC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
|
|
609
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYmluZC9nZW5lcmF0ZWQvc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQ0FBbUM7QUFHbkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBa3RGLGNBQWMsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUseUJBQXlCLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSxxQkFBcUIsRUFBRSw0QkFBNEIsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGdDQUFnQyxFQUFFLGtDQUFrQyxFQUFFLG9DQUFvQyxFQUFFLGtDQUFrQyxFQUFFLGlDQUFpQyxFQUFFLGtDQUFrQyxFQUFFLG9DQUFvQyxFQUFFLGtDQUFrQyxFQUFFLGlDQUFpQyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUUsMkJBQTJCLEVBQUUsNkJBQTZCLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsd0JB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
|