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