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