@aztec/bb.js 0.0.1-commit.fce3e4f → 0.0.1-commit.fffb133c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/build/amd64-linux/bb +0 -0
  2. package/build/amd64-linux/nodejs_module.node +0 -0
  3. package/build/amd64-macos/bb +0 -0
  4. package/build/amd64-macos/nodejs_module.node +0 -0
  5. package/build/arm64-linux/bb +0 -0
  6. package/build/arm64-linux/nodejs_module.node +0 -0
  7. package/build/arm64-macos/bb +0 -0
  8. package/build/arm64-macos/nodejs_module.node +0 -0
  9. package/dest/browser/barretenberg/backend.d.ts +49 -17
  10. package/dest/browser/barretenberg/backend.d.ts.map +1 -1
  11. package/dest/browser/barretenberg/backend.js +111 -11
  12. package/dest/browser/barretenberg/index.d.ts +2 -2
  13. package/dest/browser/barretenberg/index.d.ts.map +1 -1
  14. package/dest/browser/barretenberg/index.js +2 -2
  15. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +1 -1
  16. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  17. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  18. package/dest/browser/bb_backends/index.d.ts +3 -1
  19. package/dest/browser/bb_backends/index.d.ts.map +1 -1
  20. package/dest/browser/cbind/generate.d.ts +5 -2
  21. package/dest/browser/cbind/generate.d.ts.map +1 -1
  22. package/dest/browser/cbind/generate.js +47 -25
  23. package/dest/browser/cbind/generated/api_types.d.ts +766 -1687
  24. package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
  25. package/dest/browser/cbind/generated/api_types.js +1465 -1555
  26. package/dest/browser/cbind/generated/async.d.ts +3 -5
  27. package/dest/browser/cbind/generated/async.d.ts.map +1 -1
  28. package/dest/browser/cbind/generated/async.js +13 -33
  29. package/dest/browser/cbind/generated/sync.d.ts +3 -5
  30. package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
  31. package/dest/browser/cbind/generated/sync.js +13 -31
  32. package/dest/browser/cbind/naming.d.ts +16 -0
  33. package/dest/browser/cbind/naming.d.ts.map +1 -0
  34. package/dest/browser/cbind/naming.js +24 -0
  35. package/dest/browser/cbind/rust_codegen.d.ts +26 -0
  36. package/dest/browser/cbind/rust_codegen.d.ts.map +1 -0
  37. package/dest/browser/cbind/rust_codegen.js +461 -0
  38. package/dest/browser/cbind/schema_visitor.d.ts +47 -0
  39. package/dest/browser/cbind/schema_visitor.d.ts.map +1 -0
  40. package/dest/browser/cbind/schema_visitor.js +158 -0
  41. package/dest/browser/cbind/typescript_codegen.d.ts +30 -0
  42. package/dest/browser/cbind/typescript_codegen.d.ts.map +1 -0
  43. package/dest/browser/cbind/typescript_codegen.js +365 -0
  44. package/dest/browser/index.d.ts +2 -2
  45. package/dest/browser/index.d.ts.map +1 -1
  46. package/dest/browser/index.js +2 -2
  47. package/dest/node/barretenberg/backend.d.ts +49 -17
  48. package/dest/node/barretenberg/backend.d.ts.map +1 -1
  49. package/dest/node/barretenberg/backend.js +111 -11
  50. package/dest/node/barretenberg/backend.test.d.ts +2 -0
  51. package/dest/node/barretenberg/backend.test.d.ts.map +1 -0
  52. package/dest/node/barretenberg/backend.test.js +103 -0
  53. package/dest/node/barretenberg/index.d.ts +2 -2
  54. package/dest/node/barretenberg/index.d.ts.map +1 -1
  55. package/dest/node/barretenberg/index.js +2 -2
  56. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  57. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +1 -1
  58. package/dest/node/bb_backends/index.d.ts +3 -1
  59. package/dest/node/bb_backends/index.d.ts.map +1 -1
  60. package/dest/node/bb_backends/node/index.d.ts +1 -1
  61. package/dest/node/bb_backends/node/index.d.ts.map +1 -1
  62. package/dest/node/bb_backends/node/index.js +5 -5
  63. package/dest/node/bb_backends/node/native_shm.d.ts +3 -2
  64. package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
  65. package/dest/node/bb_backends/node/native_shm.js +40 -21
  66. package/dest/node/bb_backends/node/native_shm_async.d.ts +2 -2
  67. package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -1
  68. package/dest/node/bb_backends/node/native_shm_async.js +17 -21
  69. package/dest/node/bb_backends/node/native_socket.d.ts +1 -1
  70. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
  71. package/dest/node/bb_backends/node/native_socket.js +7 -5
  72. package/dest/node/bb_backends/node/platform.d.ts +1 -1
  73. package/dest/node/bb_backends/node/platform.d.ts.map +1 -1
  74. package/dest/node/bb_backends/node/platform.js +7 -2
  75. package/dest/node/cbind/generate.d.ts +5 -2
  76. package/dest/node/cbind/generate.d.ts.map +1 -1
  77. package/dest/node/cbind/generate.js +47 -25
  78. package/dest/node/cbind/generated/api_types.d.ts +766 -1687
  79. package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
  80. package/dest/node/cbind/generated/api_types.js +1465 -1555
  81. package/dest/node/cbind/generated/async.d.ts +3 -5
  82. package/dest/node/cbind/generated/async.d.ts.map +1 -1
  83. package/dest/node/cbind/generated/async.js +13 -33
  84. package/dest/node/cbind/generated/sync.d.ts +3 -5
  85. package/dest/node/cbind/generated/sync.d.ts.map +1 -1
  86. package/dest/node/cbind/generated/sync.js +13 -31
  87. package/dest/node/cbind/naming.d.ts +16 -0
  88. package/dest/node/cbind/naming.d.ts.map +1 -0
  89. package/dest/node/cbind/naming.js +24 -0
  90. package/dest/node/cbind/rust_codegen.d.ts +26 -0
  91. package/dest/node/cbind/rust_codegen.d.ts.map +1 -0
  92. package/dest/node/cbind/rust_codegen.js +461 -0
  93. package/dest/node/cbind/schema_visitor.d.ts +47 -0
  94. package/dest/node/cbind/schema_visitor.d.ts.map +1 -0
  95. package/dest/node/cbind/schema_visitor.js +158 -0
  96. package/dest/node/cbind/typescript_codegen.d.ts +30 -0
  97. package/dest/node/cbind/typescript_codegen.d.ts.map +1 -0
  98. package/dest/node/cbind/typescript_codegen.js +365 -0
  99. package/dest/node/index.d.ts +2 -2
  100. package/dest/node/index.d.ts.map +1 -1
  101. package/dest/node/index.js +2 -2
  102. package/dest/node-cjs/barretenberg/backend.d.ts +49 -17
  103. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
  104. package/dest/node-cjs/barretenberg/backend.js +113 -11
  105. package/dest/node-cjs/barretenberg/backend.test.d.ts +2 -0
  106. package/dest/node-cjs/barretenberg/backend.test.d.ts.map +1 -0
  107. package/dest/node-cjs/barretenberg/backend.test.js +105 -0
  108. package/dest/node-cjs/barretenberg/index.d.ts +2 -2
  109. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
  110. package/dest/node-cjs/barretenberg/index.js +4 -2
  111. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  112. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +1 -1
  113. package/dest/node-cjs/bb_backends/index.d.ts +3 -1
  114. package/dest/node-cjs/bb_backends/index.d.ts.map +1 -1
  115. package/dest/node-cjs/bb_backends/node/index.d.ts +1 -1
  116. package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -1
  117. package/dest/node-cjs/bb_backends/node/index.js +5 -5
  118. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +3 -2
  119. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
  120. package/dest/node-cjs/bb_backends/node/native_shm.js +39 -20
  121. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +2 -2
  122. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -1
  123. package/dest/node-cjs/bb_backends/node/native_shm_async.js +17 -21
  124. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +1 -1
  125. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
  126. package/dest/node-cjs/bb_backends/node/native_socket.js +7 -5
  127. package/dest/node-cjs/bb_backends/node/platform.d.ts +1 -1
  128. package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -1
  129. package/dest/node-cjs/bb_backends/node/platform.js +7 -2
  130. package/dest/node-cjs/cbind/generate.d.ts +5 -2
  131. package/dest/node-cjs/cbind/generate.d.ts.map +1 -1
  132. package/dest/node-cjs/cbind/generate.js +47 -25
  133. package/dest/node-cjs/cbind/generated/api_types.d.ts +766 -1687
  134. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
  135. package/dest/node-cjs/cbind/generated/api_types.js +1671 -1771
  136. package/dest/node-cjs/cbind/generated/async.d.ts +3 -5
  137. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
  138. package/dest/node-cjs/cbind/generated/async.js +12 -32
  139. package/dest/node-cjs/cbind/generated/sync.d.ts +3 -5
  140. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
  141. package/dest/node-cjs/cbind/generated/sync.js +12 -30
  142. package/dest/node-cjs/cbind/naming.d.ts +16 -0
  143. package/dest/node-cjs/cbind/naming.d.ts.map +1 -0
  144. package/dest/node-cjs/cbind/naming.js +28 -0
  145. package/dest/node-cjs/cbind/rust_codegen.d.ts +26 -0
  146. package/dest/node-cjs/cbind/rust_codegen.d.ts.map +1 -0
  147. package/dest/node-cjs/cbind/rust_codegen.js +465 -0
  148. package/dest/node-cjs/cbind/schema_visitor.d.ts +47 -0
  149. package/dest/node-cjs/cbind/schema_visitor.d.ts.map +1 -0
  150. package/dest/node-cjs/cbind/schema_visitor.js +162 -0
  151. package/dest/node-cjs/cbind/typescript_codegen.d.ts +30 -0
  152. package/dest/node-cjs/cbind/typescript_codegen.d.ts.map +1 -0
  153. package/dest/node-cjs/cbind/typescript_codegen.js +369 -0
  154. package/dest/node-cjs/index.d.ts +2 -2
  155. package/dest/node-cjs/index.d.ts.map +1 -1
  156. package/dest/node-cjs/index.js +4 -2
  157. package/package.json +1 -1
  158. package/src/barretenberg/backend.test.ts +122 -0
  159. package/src/barretenberg/backend.ts +151 -25
  160. package/src/barretenberg/index.ts +9 -1
  161. package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +1 -1
  162. package/src/bb_backends/index.ts +3 -0
  163. package/src/bb_backends/node/index.ts +9 -4
  164. package/src/bb_backends/node/native_shm.ts +38 -19
  165. package/src/bb_backends/node/native_shm_async.ts +15 -19
  166. package/src/bb_backends/node/native_socket.ts +7 -5
  167. package/src/bb_backends/node/platform.ts +6 -1
  168. package/src/cbind/generate.ts +51 -32
  169. package/src/cbind/naming.ts +27 -0
  170. package/src/cbind/rust_codegen.ts +504 -0
  171. package/src/cbind/schema_visitor.ts +219 -0
  172. package/src/cbind/typescript_codegen.ts +419 -0
  173. package/src/index.ts +4 -0
  174. package/dest/browser/cbind/schema_compiler.d.ts +0 -68
  175. package/dest/browser/cbind/schema_compiler.d.ts.map +0 -1
  176. package/dest/browser/cbind/schema_compiler.js +0 -600
  177. package/dest/node/cbind/schema_compiler.d.ts +0 -68
  178. package/dest/node/cbind/schema_compiler.d.ts.map +0 -1
  179. package/dest/node/cbind/schema_compiler.js +0 -600
  180. package/dest/node-cjs/cbind/schema_compiler.d.ts +0 -68
  181. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +0 -1
  182. package/dest/node-cjs/cbind/schema_compiler.js +0 -607
  183. package/src/cbind/schema_compiler.ts +0 -745
@@ -1,443 +1,401 @@
1
1
  export type Field2 = [Uint8Array, Uint8Array];
2
- export type Fq = Uint8Array;
3
- export type Fr = Uint8Array;
4
- export type Secp256k1Fq = Uint8Array;
5
- export type Secp256k1Fr = Uint8Array;
6
- export type Secp256r1Fq = Uint8Array;
7
- export type Secp256r1Fr = Uint8Array;
8
- export type Uint256T = Uint8Array;
9
- export interface AesDecrypt {
10
- ciphertext: Uint8Array;
11
- iv: Uint8Array;
12
- key: Uint8Array;
13
- length: number;
2
+ export interface CircuitComputeVkResponse {
3
+ bytes: Uint8Array;
4
+ fields: Uint8Array[];
5
+ hash: Uint8Array;
14
6
  }
15
- interface MsgpackAesDecrypt {
16
- ciphertext: Uint8Array;
17
- iv: Uint8Array;
18
- key: Uint8Array;
19
- length: number;
7
+ export interface CircuitInput {
8
+ name: string;
9
+ bytecode: Uint8Array;
10
+ verificationKey: Uint8Array;
20
11
  }
21
- export interface AesDecryptResponse {
22
- plaintext: Uint8Array;
12
+ export interface ProofSystemSettings {
13
+ ipaAccumulation: boolean;
14
+ oracleHashType: string;
15
+ disableZk: boolean;
16
+ optimizedSolidityVerifier: boolean;
23
17
  }
24
- interface MsgpackAesDecryptResponse {
25
- plaintext: Uint8Array;
18
+ export interface CircuitProve {
19
+ circuit: CircuitInput;
20
+ witness: Uint8Array;
21
+ settings: ProofSystemSettings;
26
22
  }
27
- export interface AesEncrypt {
28
- plaintext: Uint8Array;
29
- iv: Uint8Array;
30
- key: Uint8Array;
31
- length: number;
23
+ export interface CircuitInputNoVK {
24
+ name: string;
25
+ bytecode: Uint8Array;
32
26
  }
33
- interface MsgpackAesEncrypt {
34
- plaintext: Uint8Array;
35
- iv: Uint8Array;
36
- key: Uint8Array;
37
- length: number;
27
+ export interface CircuitComputeVk {
28
+ circuit: CircuitInputNoVK;
29
+ settings: ProofSystemSettings;
38
30
  }
39
- export interface AesEncryptResponse {
40
- ciphertext: Uint8Array;
31
+ export interface CircuitStats {
32
+ circuit: CircuitInput;
33
+ includeGatesPerOpcode: boolean;
34
+ settings: ProofSystemSettings;
41
35
  }
42
- interface MsgpackAesEncryptResponse {
43
- ciphertext: Uint8Array;
36
+ export interface CircuitVerify {
37
+ verificationKey: Uint8Array;
38
+ publicInputs: Uint8Array[];
39
+ proof: Uint8Array[];
40
+ settings: ProofSystemSettings;
44
41
  }
45
- export interface Blake2s {
46
- data: Uint8Array;
42
+ export interface ChonkComputeVk {
43
+ circuit: CircuitInputNoVK;
47
44
  }
48
- interface MsgpackBlake2s {
49
- data: Uint8Array;
45
+ export interface ChonkStart {
46
+ numCircuits: number;
50
47
  }
51
- export interface Blake2sResponse {
52
- hash: Uint8Array;
48
+ export interface ChonkLoad {
49
+ circuit: CircuitInput;
53
50
  }
54
- interface MsgpackBlake2sResponse {
55
- hash: Uint8Array;
51
+ export interface ChonkAccumulate {
52
+ witness: Uint8Array;
56
53
  }
57
- export interface Blake2sToField {
58
- data: Uint8Array;
54
+ export interface ChonkProve {
59
55
  }
60
- interface MsgpackBlake2sToField {
61
- data: Uint8Array;
56
+ export interface GoblinProof {
57
+ mergeProof: Uint8Array[];
58
+ eccvmProof: Uint8Array[];
59
+ ipaProof: Uint8Array[];
60
+ translatorProof: Uint8Array[];
62
61
  }
63
- export interface Blake2sToFieldResponse {
64
- field: Fr;
62
+ export interface ChonkProof {
63
+ megaProof: Uint8Array[];
64
+ goblinProof: GoblinProof;
65
65
  }
66
- interface MsgpackBlake2sToFieldResponse {
67
- field: Uint8Array;
66
+ export interface ChonkVerify {
67
+ proof: ChonkProof;
68
+ vk: Uint8Array;
68
69
  }
69
- export interface Bn254FqSqrt {
70
- input: Fq;
70
+ export interface VkAsFields {
71
+ verificationKey: Uint8Array;
71
72
  }
72
- interface MsgpackBn254FqSqrt {
73
- input: Uint8Array;
73
+ export interface MegaVkAsFields {
74
+ verificationKey: Uint8Array;
74
75
  }
75
- export interface Bn254FqSqrtResponse {
76
- isSquareRoot: boolean;
77
- value: Fq;
76
+ export interface CircuitWriteSolidityVerifier {
77
+ verificationKey: Uint8Array;
78
+ settings: ProofSystemSettings;
78
79
  }
79
- interface MsgpackBn254FqSqrtResponse {
80
- is_square_root: boolean;
81
- value: Uint8Array;
80
+ export interface ChonkCheckPrecomputedVk {
81
+ circuit: CircuitInput;
82
82
  }
83
- export interface Bn254FrSqrt {
84
- input: Fr;
83
+ export interface ChonkStats {
84
+ circuit: CircuitInputNoVK;
85
+ includeGatesPerOpcode: boolean;
85
86
  }
86
- interface MsgpackBn254FrSqrt {
87
- input: Uint8Array;
87
+ export interface Poseidon2Hash {
88
+ inputs: Uint8Array[];
88
89
  }
89
- export interface Bn254FrSqrtResponse {
90
- isSquareRoot: boolean;
91
- value: Fr;
90
+ export interface Poseidon2Permutation {
91
+ inputs: Uint8Array[];
92
92
  }
93
- interface MsgpackBn254FrSqrtResponse {
94
- is_square_root: boolean;
95
- value: Uint8Array;
93
+ export interface PedersenCommit {
94
+ inputs: Uint8Array[];
95
+ hashIndex: number;
96
96
  }
97
- export interface Bn254G1FromCompressed {
98
- compressed: Uint8Array;
97
+ export interface PedersenHash {
98
+ inputs: Uint8Array[];
99
+ hashIndex: number;
99
100
  }
100
- interface MsgpackBn254G1FromCompressed {
101
- compressed: Uint8Array;
101
+ export interface PedersenHashBuffer {
102
+ input: Uint8Array;
103
+ hashIndex: number;
102
104
  }
103
- export interface Bn254G1FromCompressedResponse {
104
- point: Bn254G1Point;
105
+ export interface Blake2s {
106
+ data: Uint8Array;
105
107
  }
106
- interface MsgpackBn254G1FromCompressedResponse {
107
- point: MsgpackBn254G1Point;
108
+ export interface Blake2sToField {
109
+ data: Uint8Array;
108
110
  }
109
- export interface Bn254G1IsOnCurve {
110
- point: Bn254G1Point;
111
+ export interface AesEncrypt {
112
+ plaintext: Uint8Array;
113
+ iv: Uint8Array;
114
+ key: Uint8Array;
115
+ length: number;
111
116
  }
112
- interface MsgpackBn254G1IsOnCurve {
113
- point: MsgpackBn254G1Point;
117
+ export interface AesDecrypt {
118
+ ciphertext: Uint8Array;
119
+ iv: Uint8Array;
120
+ key: Uint8Array;
121
+ length: number;
114
122
  }
115
- export interface Bn254G1IsOnCurveResponse {
116
- isOnCurve: boolean;
123
+ export interface GrumpkinPoint {
124
+ x: Uint8Array;
125
+ y: Uint8Array;
117
126
  }
118
- interface MsgpackBn254G1IsOnCurveResponse {
119
- is_on_curve: boolean;
127
+ export interface GrumpkinMul {
128
+ point: GrumpkinPoint;
129
+ scalar: Uint8Array;
120
130
  }
121
- export interface Bn254G1Mul {
122
- point: Bn254G1Point;
123
- scalar: Fr;
131
+ export interface GrumpkinAdd {
132
+ pointA: GrumpkinPoint;
133
+ pointB: GrumpkinPoint;
124
134
  }
125
- interface MsgpackBn254G1Mul {
126
- point: MsgpackBn254G1Point;
135
+ export interface GrumpkinBatchMul {
136
+ points: GrumpkinPoint[];
127
137
  scalar: Uint8Array;
128
138
  }
129
- export interface Bn254G1MulResponse {
130
- point: Bn254G1Point;
131
- }
132
- interface MsgpackBn254G1MulResponse {
133
- point: MsgpackBn254G1Point;
139
+ export interface GrumpkinGetRandomFr {
140
+ dummy: number;
134
141
  }
135
- export interface Bn254G1Point {
136
- x: Fq;
137
- y: Fq;
142
+ export interface GrumpkinReduce512 {
143
+ input: Uint8Array;
138
144
  }
139
- interface MsgpackBn254G1Point {
145
+ export interface Secp256k1Point {
140
146
  x: Uint8Array;
141
147
  y: Uint8Array;
142
148
  }
143
- export interface Bn254G2Mul {
144
- point: Bn254G2Point;
145
- scalar: Fr;
146
- }
147
- interface MsgpackBn254G2Mul {
148
- point: MsgpackBn254G2Point;
149
+ export interface Secp256k1Mul {
150
+ point: Secp256k1Point;
149
151
  scalar: Uint8Array;
150
152
  }
151
- export interface Bn254G2MulResponse {
152
- point: Bn254G2Point;
153
+ export interface Secp256k1GetRandomFr {
154
+ dummy: number;
153
155
  }
154
- interface MsgpackBn254G2MulResponse {
155
- point: MsgpackBn254G2Point;
156
+ export interface Secp256k1Reduce512 {
157
+ input: Uint8Array;
156
158
  }
157
- export interface Bn254G2Point {
158
- x: Field2;
159
- y: Field2;
159
+ export interface Bn254FrSqrt {
160
+ input: Uint8Array;
160
161
  }
161
- interface MsgpackBn254G2Point {
162
+ export interface Bn254FqSqrt {
163
+ input: Uint8Array;
164
+ }
165
+ export interface Bn254G1Point {
166
+ x: Uint8Array;
167
+ y: Uint8Array;
168
+ }
169
+ export interface Bn254G1Mul {
170
+ point: Bn254G1Point;
171
+ scalar: Uint8Array;
172
+ }
173
+ export interface Bn254G2Point {
162
174
  x: [Uint8Array, Uint8Array];
163
175
  y: [Uint8Array, Uint8Array];
164
176
  }
165
- export interface ChonkAccumulate {
166
- witness: Uint8Array;
177
+ export interface Bn254G2Mul {
178
+ point: Bn254G2Point;
179
+ scalar: Uint8Array;
167
180
  }
168
- interface MsgpackChonkAccumulate {
169
- witness: Uint8Array;
181
+ export interface Bn254G1IsOnCurve {
182
+ point: Bn254G1Point;
170
183
  }
171
- export interface ChonkAccumulateResponse {
184
+ export interface Bn254G1FromCompressed {
185
+ compressed: Uint8Array;
172
186
  }
173
- interface MsgpackChonkAccumulateResponse {
187
+ export interface SchnorrComputePublicKey {
188
+ privateKey: Uint8Array;
174
189
  }
175
- export interface ChonkCheckPrecomputedVk {
176
- circuit: CircuitInput;
190
+ export interface SchnorrConstructSignature {
191
+ message: Uint8Array;
192
+ privateKey: Uint8Array;
177
193
  }
178
- interface MsgpackChonkCheckPrecomputedVk {
179
- circuit: MsgpackCircuitInput;
194
+ export interface SchnorrVerifySignature {
195
+ message: Uint8Array;
196
+ publicKey: GrumpkinPoint;
197
+ s: Uint8Array;
198
+ e: Uint8Array;
180
199
  }
181
- export interface ChonkCheckPrecomputedVkResponse {
182
- valid: boolean;
183
- actualVk: Uint8Array;
200
+ export interface EcdsaSecp256k1ComputePublicKey {
201
+ privateKey: Uint8Array;
184
202
  }
185
- interface MsgpackChonkCheckPrecomputedVkResponse {
186
- valid: boolean;
187
- actual_vk: Uint8Array;
203
+ export interface EcdsaSecp256r1ComputePublicKey {
204
+ privateKey: Uint8Array;
188
205
  }
189
- export interface ChonkComputeIvcVk {
190
- circuit: CircuitInputNoVK;
206
+ export interface EcdsaSecp256k1ConstructSignature {
207
+ message: Uint8Array;
208
+ privateKey: Uint8Array;
191
209
  }
192
- interface MsgpackChonkComputeIvcVk {
193
- circuit: MsgpackCircuitInputNoVK;
210
+ export interface EcdsaSecp256r1ConstructSignature {
211
+ message: Uint8Array;
212
+ privateKey: Uint8Array;
194
213
  }
195
- export interface ChonkComputeIvcVkResponse {
196
- bytes: Uint8Array;
214
+ export interface EcdsaSecp256k1RecoverPublicKey {
215
+ message: Uint8Array;
216
+ r: Uint8Array;
217
+ s: Uint8Array;
218
+ v: number;
197
219
  }
198
- interface MsgpackChonkComputeIvcVkResponse {
199
- bytes: Uint8Array;
220
+ export interface EcdsaSecp256r1RecoverPublicKey {
221
+ message: Uint8Array;
222
+ r: Uint8Array;
223
+ s: Uint8Array;
224
+ v: number;
200
225
  }
201
- export interface ChonkComputeStandaloneVk {
202
- circuit: CircuitInputNoVK;
226
+ export interface EcdsaSecp256k1VerifySignature {
227
+ message: Uint8Array;
228
+ publicKey: Secp256k1Point;
229
+ r: Uint8Array;
230
+ s: Uint8Array;
231
+ v: number;
203
232
  }
204
- interface MsgpackChonkComputeStandaloneVk {
205
- circuit: MsgpackCircuitInputNoVK;
233
+ export interface Secp256r1Point {
234
+ x: Uint8Array;
235
+ y: Uint8Array;
206
236
  }
207
- export interface ChonkComputeStandaloneVkResponse {
208
- bytes: Uint8Array;
209
- fields: Fr[];
237
+ export interface EcdsaSecp256r1VerifySignature {
238
+ message: Uint8Array;
239
+ publicKey: Secp256r1Point;
240
+ r: Uint8Array;
241
+ s: Uint8Array;
242
+ v: number;
210
243
  }
211
- interface MsgpackChonkComputeStandaloneVkResponse {
212
- bytes: Uint8Array;
213
- fields: Uint8Array[];
244
+ export interface SrsInitSrs {
245
+ pointsBuf: Uint8Array;
246
+ numPoints: number;
247
+ g2Point: Uint8Array;
214
248
  }
215
- export interface ChonkLoad {
216
- circuit: CircuitInput;
249
+ export interface SrsInitGrumpkinSrs {
250
+ pointsBuf: Uint8Array;
251
+ numPoints: number;
217
252
  }
218
- interface MsgpackChonkLoad {
219
- circuit: MsgpackCircuitInput;
253
+ export interface Shutdown {
220
254
  }
221
- export interface ChonkLoadResponse {
255
+ export interface ErrorResponse {
256
+ message: string;
222
257
  }
223
- interface MsgpackChonkLoadResponse {
258
+ export interface CircuitProveResponse {
259
+ publicInputs: Uint8Array[];
260
+ proof: Uint8Array[];
261
+ vk: CircuitComputeVkResponse;
224
262
  }
225
- export interface ChonkProof {
226
- megaProof: Fr[];
227
- goblinProof: GoblinProof;
263
+ export interface CircuitInfoResponse {
264
+ numGates: number;
265
+ numGatesDyadic: number;
266
+ numAcirOpcodes: number;
267
+ gatesPerOpcode: number[];
228
268
  }
229
- interface MsgpackChonkProof {
230
- mega_proof: Uint8Array[];
231
- goblin_proof: MsgpackGoblinProof;
269
+ export interface CircuitVerifyResponse {
270
+ verified: boolean;
232
271
  }
233
- export interface ChonkProve {
272
+ export interface ChonkComputeVkResponse {
273
+ bytes: Uint8Array;
274
+ fields: Uint8Array[];
234
275
  }
235
- interface MsgpackChonkProve {
276
+ export interface ChonkStartResponse {
236
277
  }
237
- export interface ChonkProveResponse {
238
- proof: ChonkProof;
278
+ export interface ChonkLoadResponse {
239
279
  }
240
- interface MsgpackChonkProveResponse {
241
- proof: MsgpackChonkProof;
280
+ export interface ChonkAccumulateResponse {
242
281
  }
243
- export interface ChonkStart {
244
- numCircuits: number;
282
+ export interface ChonkProveResponse {
283
+ proof: ChonkProof;
245
284
  }
246
- interface MsgpackChonkStart {
247
- num_circuits: number;
285
+ export interface ChonkVerifyResponse {
286
+ valid: boolean;
248
287
  }
249
- export interface ChonkStartResponse {
288
+ export interface VkAsFieldsResponse {
289
+ fields: Uint8Array[];
250
290
  }
251
- interface MsgpackChonkStartResponse {
291
+ export interface MegaVkAsFieldsResponse {
292
+ fields: Uint8Array[];
252
293
  }
253
- export interface ChonkStats {
254
- circuit: CircuitInputNoVK;
255
- includeGatesPerOpcode: boolean;
294
+ export interface CircuitWriteSolidityVerifierResponse {
295
+ solidityCode: string;
256
296
  }
257
- interface MsgpackChonkStats {
258
- circuit: MsgpackCircuitInputNoVK;
259
- include_gates_per_opcode: boolean;
297
+ export interface ChonkCheckPrecomputedVkResponse {
298
+ valid: boolean;
299
+ actualVk: Uint8Array;
260
300
  }
261
301
  export interface ChonkStatsResponse {
262
302
  acirOpcodes: number;
263
303
  circuitSize: number;
264
304
  gatesPerOpcode: number[];
265
305
  }
266
- interface MsgpackChonkStatsResponse {
267
- acir_opcodes: number;
268
- circuit_size: number;
269
- gates_per_opcode: number[];
270
- }
271
- export interface ChonkVerify {
272
- proof: ChonkProof;
273
- vk: Uint8Array;
274
- }
275
- interface MsgpackChonkVerify {
276
- proof: MsgpackChonkProof;
277
- vk: Uint8Array;
278
- }
279
- export interface ChonkVerifyResponse {
280
- valid: boolean;
281
- }
282
- interface MsgpackChonkVerifyResponse {
283
- valid: boolean;
306
+ export interface Poseidon2HashResponse {
307
+ hash: Uint8Array;
284
308
  }
285
- export interface CircuitComputeVk {
286
- circuit: CircuitInputNoVK;
287
- settings: ProofSystemSettings;
309
+ export interface Poseidon2PermutationResponse {
310
+ outputs: Uint8Array[];
288
311
  }
289
- interface MsgpackCircuitComputeVk {
290
- circuit: MsgpackCircuitInputNoVK;
291
- settings: MsgpackProofSystemSettings;
312
+ export interface PedersenCommitResponse {
313
+ point: GrumpkinPoint;
292
314
  }
293
- export interface CircuitComputeVkResponse {
294
- bytes: Uint8Array;
295
- fields: Uint256T[];
315
+ export interface PedersenHashResponse {
296
316
  hash: Uint8Array;
297
317
  }
298
- interface MsgpackCircuitComputeVkResponse {
299
- bytes: Uint8Array;
300
- fields: Uint8Array[];
318
+ export interface PedersenHashBufferResponse {
301
319
  hash: Uint8Array;
302
320
  }
303
- export interface CircuitInfoResponse {
304
- numGates: number;
305
- numGatesDyadic: number;
306
- numAcirOpcodes: number;
307
- gatesPerOpcode: number[];
308
- }
309
- interface MsgpackCircuitInfoResponse {
310
- num_gates: number;
311
- num_gates_dyadic: number;
312
- num_acir_opcodes: number;
313
- gates_per_opcode: number[];
314
- }
315
- export interface CircuitInput {
316
- name: string;
317
- bytecode: Uint8Array;
318
- verificationKey: Uint8Array;
319
- }
320
- interface MsgpackCircuitInput {
321
- name: string;
322
- bytecode: Uint8Array;
323
- verification_key: Uint8Array;
321
+ export interface Blake2sResponse {
322
+ hash: Uint8Array;
324
323
  }
325
- export interface CircuitInputNoVK {
326
- name: string;
327
- bytecode: Uint8Array;
324
+ export interface Blake2sToFieldResponse {
325
+ field: Uint8Array;
328
326
  }
329
- interface MsgpackCircuitInputNoVK {
330
- name: string;
331
- bytecode: Uint8Array;
327
+ export interface AesEncryptResponse {
328
+ ciphertext: Uint8Array;
332
329
  }
333
- export interface CircuitProve {
334
- circuit: CircuitInput;
335
- witness: Uint8Array;
336
- settings: ProofSystemSettings;
330
+ export interface AesDecryptResponse {
331
+ plaintext: Uint8Array;
337
332
  }
338
- interface MsgpackCircuitProve {
339
- circuit: MsgpackCircuitInput;
340
- witness: Uint8Array;
341
- settings: MsgpackProofSystemSettings;
333
+ export interface GrumpkinMulResponse {
334
+ point: GrumpkinPoint;
342
335
  }
343
- export interface CircuitProveResponse {
344
- publicInputs: Uint256T[];
345
- proof: Uint256T[];
346
- vk: CircuitComputeVkResponse;
336
+ export interface GrumpkinAddResponse {
337
+ point: GrumpkinPoint;
347
338
  }
348
- interface MsgpackCircuitProveResponse {
349
- public_inputs: Uint8Array[];
350
- proof: Uint8Array[];
351
- vk: MsgpackCircuitComputeVkResponse;
339
+ export interface GrumpkinBatchMulResponse {
340
+ points: GrumpkinPoint[];
352
341
  }
353
- export interface CircuitStats {
354
- circuit: CircuitInput;
355
- includeGatesPerOpcode: boolean;
356
- settings: ProofSystemSettings;
342
+ export interface GrumpkinGetRandomFrResponse {
343
+ value: Uint8Array;
357
344
  }
358
- interface MsgpackCircuitStats {
359
- circuit: MsgpackCircuitInput;
360
- include_gates_per_opcode: boolean;
361
- settings: MsgpackProofSystemSettings;
345
+ export interface GrumpkinReduce512Response {
346
+ value: Uint8Array;
362
347
  }
363
- export interface CircuitVerify {
364
- verificationKey: Uint8Array;
365
- publicInputs: Uint256T[];
366
- proof: Uint256T[];
367
- settings: ProofSystemSettings;
348
+ export interface Secp256k1MulResponse {
349
+ point: Secp256k1Point;
368
350
  }
369
- interface MsgpackCircuitVerify {
370
- verification_key: Uint8Array;
371
- public_inputs: Uint8Array[];
372
- proof: Uint8Array[];
373
- settings: MsgpackProofSystemSettings;
351
+ export interface Secp256k1GetRandomFrResponse {
352
+ value: Uint8Array;
374
353
  }
375
- export interface CircuitVerifyResponse {
376
- verified: boolean;
354
+ export interface Secp256k1Reduce512Response {
355
+ value: Uint8Array;
377
356
  }
378
- interface MsgpackCircuitVerifyResponse {
379
- verified: boolean;
357
+ export interface Bn254FrSqrtResponse {
358
+ isSquareRoot: boolean;
359
+ value: Uint8Array;
380
360
  }
381
- export interface CircuitWriteSolidityVerifier {
382
- verificationKey: Uint8Array;
383
- settings: ProofSystemSettings;
361
+ export interface Bn254FqSqrtResponse {
362
+ isSquareRoot: boolean;
363
+ value: Uint8Array;
384
364
  }
385
- interface MsgpackCircuitWriteSolidityVerifier {
386
- verification_key: Uint8Array;
387
- settings: MsgpackProofSystemSettings;
365
+ export interface Bn254G1MulResponse {
366
+ point: Bn254G1Point;
388
367
  }
389
- export interface CircuitWriteSolidityVerifierResponse {
390
- solidityCode: string;
368
+ export interface Bn254G2MulResponse {
369
+ point: Bn254G2Point;
391
370
  }
392
- interface MsgpackCircuitWriteSolidityVerifierResponse {
393
- solidity_code: string;
371
+ export interface Bn254G1IsOnCurveResponse {
372
+ isOnCurve: boolean;
394
373
  }
395
- export interface ECCVMProof {
396
- preIpaProof: Fr[];
397
- ipaProof: Fr[];
374
+ export interface Bn254G1FromCompressedResponse {
375
+ point: Bn254G1Point;
398
376
  }
399
- interface MsgpackECCVMProof {
400
- pre_ipa_proof: Uint8Array[];
401
- ipa_proof: Uint8Array[];
377
+ export interface SchnorrComputePublicKeyResponse {
378
+ publicKey: GrumpkinPoint;
402
379
  }
403
- export interface EcdsaSecp256k1ComputePublicKey {
404
- privateKey: Secp256k1Fr;
380
+ export interface SchnorrConstructSignatureResponse {
381
+ s: Uint8Array;
382
+ e: Uint8Array;
405
383
  }
406
- interface MsgpackEcdsaSecp256k1ComputePublicKey {
407
- private_key: Uint8Array;
384
+ export interface SchnorrVerifySignatureResponse {
385
+ verified: boolean;
408
386
  }
409
387
  export interface EcdsaSecp256k1ComputePublicKeyResponse {
410
388
  publicKey: Secp256k1Point;
411
389
  }
412
- interface MsgpackEcdsaSecp256k1ComputePublicKeyResponse {
413
- public_key: MsgpackSecp256k1Point;
414
- }
415
- export interface EcdsaSecp256k1ConstructSignature {
416
- message: Uint8Array;
417
- privateKey: Secp256k1Fr;
418
- }
419
- interface MsgpackEcdsaSecp256k1ConstructSignature {
420
- message: Uint8Array;
421
- private_key: Uint8Array;
390
+ export interface EcdsaSecp256r1ComputePublicKeyResponse {
391
+ publicKey: Secp256r1Point;
422
392
  }
423
393
  export interface EcdsaSecp256k1ConstructSignatureResponse {
424
394
  r: Uint8Array;
425
395
  s: Uint8Array;
426
396
  v: number;
427
397
  }
428
- interface MsgpackEcdsaSecp256k1ConstructSignatureResponse {
429
- r: Uint8Array;
430
- s: Uint8Array;
431
- v: number;
432
- }
433
- export interface EcdsaSecp256k1RecoverPublicKey {
434
- message: Uint8Array;
435
- r: Uint8Array;
436
- s: Uint8Array;
437
- v: number;
438
- }
439
- interface MsgpackEcdsaSecp256k1RecoverPublicKey {
440
- message: Uint8Array;
398
+ export interface EcdsaSecp256r1ConstructSignatureResponse {
441
399
  r: Uint8Array;
442
400
  s: Uint8Array;
443
401
  v: number;
@@ -445,1558 +403,680 @@ interface MsgpackEcdsaSecp256k1RecoverPublicKey {
445
403
  export interface EcdsaSecp256k1RecoverPublicKeyResponse {
446
404
  publicKey: Secp256k1Point;
447
405
  }
448
- interface MsgpackEcdsaSecp256k1RecoverPublicKeyResponse {
449
- public_key: MsgpackSecp256k1Point;
450
- }
451
- export interface EcdsaSecp256k1VerifySignature {
452
- message: Uint8Array;
453
- publicKey: Secp256k1Point;
454
- r: Uint8Array;
455
- s: Uint8Array;
456
- v: number;
457
- }
458
- interface MsgpackEcdsaSecp256k1VerifySignature {
459
- message: Uint8Array;
460
- public_key: MsgpackSecp256k1Point;
461
- r: Uint8Array;
462
- s: Uint8Array;
463
- v: number;
406
+ export interface EcdsaSecp256r1RecoverPublicKeyResponse {
407
+ publicKey: Secp256r1Point;
464
408
  }
465
409
  export interface EcdsaSecp256k1VerifySignatureResponse {
466
410
  verified: boolean;
467
411
  }
468
- interface MsgpackEcdsaSecp256k1VerifySignatureResponse {
412
+ export interface EcdsaSecp256r1VerifySignatureResponse {
469
413
  verified: boolean;
470
414
  }
471
- export interface EcdsaSecp256r1ComputePublicKey {
472
- privateKey: Secp256r1Fr;
473
- }
474
- interface MsgpackEcdsaSecp256r1ComputePublicKey {
475
- private_key: Uint8Array;
476
- }
477
- export interface EcdsaSecp256r1ComputePublicKeyResponse {
478
- publicKey: Secp256r1Point;
479
- }
480
- interface MsgpackEcdsaSecp256r1ComputePublicKeyResponse {
481
- public_key: MsgpackSecp256r1Point;
415
+ export interface SrsInitSrsResponse {
416
+ dummy: number;
482
417
  }
483
- export interface EcdsaSecp256r1ConstructSignature {
484
- message: Uint8Array;
485
- privateKey: Secp256r1Fr;
418
+ export interface SrsInitGrumpkinSrsResponse {
419
+ dummy: number;
486
420
  }
487
- interface MsgpackEcdsaSecp256r1ConstructSignature {
488
- message: Uint8Array;
489
- private_key: Uint8Array;
421
+ export interface ShutdownResponse {
490
422
  }
491
- export interface EcdsaSecp256r1ConstructSignatureResponse {
492
- r: Uint8Array;
493
- s: Uint8Array;
494
- v: number;
423
+ interface MsgpackCircuitComputeVkResponse {
424
+ bytes: Uint8Array;
425
+ fields: Uint8Array[];
426
+ hash: Uint8Array;
495
427
  }
496
- interface MsgpackEcdsaSecp256r1ConstructSignatureResponse {
497
- r: Uint8Array;
498
- s: Uint8Array;
499
- v: number;
428
+ interface MsgpackCircuitInput {
429
+ name: string;
430
+ bytecode: Uint8Array;
431
+ verification_key: Uint8Array;
500
432
  }
501
- export interface EcdsaSecp256r1RecoverPublicKey {
502
- message: Uint8Array;
503
- r: Uint8Array;
504
- s: Uint8Array;
505
- v: number;
433
+ interface MsgpackProofSystemSettings {
434
+ ipa_accumulation: boolean;
435
+ oracle_hash_type: string;
436
+ disable_zk: boolean;
437
+ optimized_solidity_verifier: boolean;
506
438
  }
507
- interface MsgpackEcdsaSecp256r1RecoverPublicKey {
508
- message: Uint8Array;
509
- r: Uint8Array;
510
- s: Uint8Array;
511
- v: number;
439
+ interface MsgpackCircuitProve {
440
+ circuit: MsgpackCircuitInput;
441
+ witness: Uint8Array;
442
+ settings: MsgpackProofSystemSettings;
512
443
  }
513
- export interface EcdsaSecp256r1RecoverPublicKeyResponse {
514
- publicKey: Secp256r1Point;
444
+ interface MsgpackCircuitInputNoVK {
445
+ name: string;
446
+ bytecode: Uint8Array;
515
447
  }
516
- interface MsgpackEcdsaSecp256r1RecoverPublicKeyResponse {
517
- public_key: MsgpackSecp256r1Point;
448
+ interface MsgpackCircuitComputeVk {
449
+ circuit: MsgpackCircuitInputNoVK;
450
+ settings: MsgpackProofSystemSettings;
518
451
  }
519
- export interface EcdsaSecp256r1VerifySignature {
520
- message: Uint8Array;
521
- publicKey: Secp256r1Point;
522
- r: Uint8Array;
523
- s: Uint8Array;
524
- v: number;
452
+ interface MsgpackCircuitStats {
453
+ circuit: MsgpackCircuitInput;
454
+ include_gates_per_opcode: boolean;
455
+ settings: MsgpackProofSystemSettings;
525
456
  }
526
- interface MsgpackEcdsaSecp256r1VerifySignature {
527
- message: Uint8Array;
528
- public_key: MsgpackSecp256r1Point;
529
- r: Uint8Array;
530
- s: Uint8Array;
531
- v: number;
457
+ interface MsgpackCircuitVerify {
458
+ verification_key: Uint8Array;
459
+ public_inputs: Uint8Array[];
460
+ proof: Uint8Array[];
461
+ settings: MsgpackProofSystemSettings;
532
462
  }
533
- export interface EcdsaSecp256r1VerifySignatureResponse {
534
- verified: boolean;
463
+ interface MsgpackChonkComputeVk {
464
+ circuit: MsgpackCircuitInputNoVK;
535
465
  }
536
- interface MsgpackEcdsaSecp256r1VerifySignatureResponse {
537
- verified: boolean;
466
+ interface MsgpackChonkStart {
467
+ num_circuits: number;
538
468
  }
539
- export interface ErrorResponse {
540
- message: string;
469
+ interface MsgpackChonkLoad {
470
+ circuit: MsgpackCircuitInput;
541
471
  }
542
- interface MsgpackErrorResponse {
543
- message: string;
472
+ interface MsgpackChonkAccumulate {
473
+ witness: Uint8Array;
544
474
  }
545
- export interface GoblinProof {
546
- mergeProof: Fr[];
547
- eccvmProof: ECCVMProof;
548
- translatorProof: Fr[];
475
+ interface MsgpackChonkProve {
549
476
  }
550
477
  interface MsgpackGoblinProof {
551
478
  merge_proof: Uint8Array[];
552
- eccvm_proof: MsgpackECCVMProof;
479
+ eccvm_proof: Uint8Array[];
480
+ ipa_proof: Uint8Array[];
553
481
  translator_proof: Uint8Array[];
554
482
  }
555
- export interface GrumpkinAdd {
556
- pointA: GrumpkinPoint;
557
- pointB: GrumpkinPoint;
558
- }
559
- interface MsgpackGrumpkinAdd {
560
- point_a: MsgpackGrumpkinPoint;
561
- point_b: MsgpackGrumpkinPoint;
483
+ interface MsgpackChonkProof {
484
+ mega_proof: Uint8Array[];
485
+ goblin_proof: MsgpackGoblinProof;
562
486
  }
563
- export interface GrumpkinAddResponse {
564
- point: GrumpkinPoint;
487
+ interface MsgpackChonkVerify {
488
+ proof: MsgpackChonkProof;
489
+ vk: Uint8Array;
565
490
  }
566
- interface MsgpackGrumpkinAddResponse {
567
- point: MsgpackGrumpkinPoint;
491
+ interface MsgpackVkAsFields {
492
+ verification_key: Uint8Array;
568
493
  }
569
- export interface GrumpkinBatchMul {
570
- points: GrumpkinPoint[];
571
- scalar: Fq;
494
+ interface MsgpackMegaVkAsFields {
495
+ verification_key: Uint8Array;
572
496
  }
573
- interface MsgpackGrumpkinBatchMul {
574
- points: MsgpackGrumpkinPoint[];
575
- scalar: Uint8Array;
497
+ interface MsgpackCircuitWriteSolidityVerifier {
498
+ verification_key: Uint8Array;
499
+ settings: MsgpackProofSystemSettings;
576
500
  }
577
- export interface GrumpkinBatchMulResponse {
578
- points: GrumpkinPoint[];
501
+ interface MsgpackChonkCheckPrecomputedVk {
502
+ circuit: MsgpackCircuitInput;
579
503
  }
580
- interface MsgpackGrumpkinBatchMulResponse {
581
- points: MsgpackGrumpkinPoint[];
504
+ interface MsgpackChonkStats {
505
+ circuit: MsgpackCircuitInputNoVK;
506
+ include_gates_per_opcode: boolean;
582
507
  }
583
- export interface GrumpkinGetRandomFr {
584
- dummy: number;
508
+ interface MsgpackPoseidon2Hash {
509
+ inputs: Uint8Array[];
585
510
  }
586
- interface MsgpackGrumpkinGetRandomFr {
587
- dummy: number;
511
+ interface MsgpackPoseidon2Permutation {
512
+ inputs: Uint8Array[];
588
513
  }
589
- export interface GrumpkinGetRandomFrResponse {
590
- value: Fr;
514
+ interface MsgpackPedersenCommit {
515
+ inputs: Uint8Array[];
516
+ hash_index: number;
591
517
  }
592
- interface MsgpackGrumpkinGetRandomFrResponse {
593
- value: Uint8Array;
518
+ interface MsgpackPedersenHash {
519
+ inputs: Uint8Array[];
520
+ hash_index: number;
594
521
  }
595
- export interface GrumpkinMul {
596
- point: GrumpkinPoint;
597
- scalar: Fq;
522
+ interface MsgpackPedersenHashBuffer {
523
+ input: Uint8Array;
524
+ hash_index: number;
598
525
  }
599
- interface MsgpackGrumpkinMul {
600
- point: MsgpackGrumpkinPoint;
601
- scalar: Uint8Array;
526
+ interface MsgpackBlake2s {
527
+ data: Uint8Array;
602
528
  }
603
- export interface GrumpkinMulResponse {
604
- point: GrumpkinPoint;
529
+ interface MsgpackBlake2sToField {
530
+ data: Uint8Array;
605
531
  }
606
- interface MsgpackGrumpkinMulResponse {
607
- point: MsgpackGrumpkinPoint;
532
+ interface MsgpackAesEncrypt {
533
+ plaintext: Uint8Array;
534
+ iv: Uint8Array;
535
+ key: Uint8Array;
536
+ length: number;
608
537
  }
609
- export interface GrumpkinPoint {
610
- x: Fr;
611
- y: Fr;
538
+ interface MsgpackAesDecrypt {
539
+ ciphertext: Uint8Array;
540
+ iv: Uint8Array;
541
+ key: Uint8Array;
542
+ length: number;
612
543
  }
613
544
  interface MsgpackGrumpkinPoint {
614
545
  x: Uint8Array;
615
546
  y: Uint8Array;
616
547
  }
617
- export interface GrumpkinReduce512 {
618
- input: Uint8Array;
548
+ interface MsgpackGrumpkinMul {
549
+ point: MsgpackGrumpkinPoint;
550
+ scalar: Uint8Array;
551
+ }
552
+ interface MsgpackGrumpkinAdd {
553
+ point_a: MsgpackGrumpkinPoint;
554
+ point_b: MsgpackGrumpkinPoint;
555
+ }
556
+ interface MsgpackGrumpkinBatchMul {
557
+ points: MsgpackGrumpkinPoint[];
558
+ scalar: Uint8Array;
559
+ }
560
+ interface MsgpackGrumpkinGetRandomFr {
561
+ dummy: number;
619
562
  }
620
563
  interface MsgpackGrumpkinReduce512 {
621
564
  input: Uint8Array;
622
565
  }
623
- export interface GrumpkinReduce512Response {
624
- value: Fr;
566
+ interface MsgpackSecp256k1Point {
567
+ x: Uint8Array;
568
+ y: Uint8Array;
625
569
  }
626
- interface MsgpackGrumpkinReduce512Response {
627
- value: Uint8Array;
570
+ interface MsgpackSecp256k1Mul {
571
+ point: MsgpackSecp256k1Point;
572
+ scalar: Uint8Array;
628
573
  }
629
- export interface MegaVkAsFields {
630
- verificationKey: Uint8Array;
631
- }
632
- interface MsgpackMegaVkAsFields {
633
- verification_key: Uint8Array;
634
- }
635
- export interface MegaVkAsFieldsResponse {
636
- fields: Fr[];
637
- }
638
- interface MsgpackMegaVkAsFieldsResponse {
639
- fields: Uint8Array[];
640
- }
641
- export interface PedersenCommit {
642
- inputs: Fr[];
643
- hashIndex: number;
644
- }
645
- interface MsgpackPedersenCommit {
646
- inputs: Uint8Array[];
647
- hash_index: number;
648
- }
649
- export interface PedersenCommitResponse {
650
- point: GrumpkinPoint;
651
- }
652
- interface MsgpackPedersenCommitResponse {
653
- point: MsgpackGrumpkinPoint;
654
- }
655
- export interface PedersenHash {
656
- inputs: Fr[];
657
- hashIndex: number;
658
- }
659
- interface MsgpackPedersenHash {
660
- inputs: Uint8Array[];
661
- hash_index: number;
574
+ interface MsgpackSecp256k1GetRandomFr {
575
+ dummy: number;
662
576
  }
663
- export interface PedersenHashBuffer {
577
+ interface MsgpackSecp256k1Reduce512 {
664
578
  input: Uint8Array;
665
- hashIndex: number;
666
579
  }
667
- interface MsgpackPedersenHashBuffer {
580
+ interface MsgpackBn254FrSqrt {
668
581
  input: Uint8Array;
669
- hash_index: number;
670
- }
671
- export interface PedersenHashBufferResponse {
672
- hash: Fr;
673
- }
674
- interface MsgpackPedersenHashBufferResponse {
675
- hash: Uint8Array;
676
- }
677
- export interface PedersenHashResponse {
678
- hash: Fr;
679
- }
680
- interface MsgpackPedersenHashResponse {
681
- hash: Uint8Array;
682
- }
683
- export interface Poseidon2Hash {
684
- inputs: Fr[];
685
- }
686
- interface MsgpackPoseidon2Hash {
687
- inputs: Uint8Array[];
688
- }
689
- export interface Poseidon2HashAccumulate {
690
- inputs: Fr[];
691
- }
692
- interface MsgpackPoseidon2HashAccumulate {
693
- inputs: Uint8Array[];
694
- }
695
- export interface Poseidon2HashAccumulateResponse {
696
- hash: Fr;
697
- }
698
- interface MsgpackPoseidon2HashAccumulateResponse {
699
- hash: Uint8Array;
700
- }
701
- export interface Poseidon2HashResponse {
702
- hash: Fr;
703
- }
704
- interface MsgpackPoseidon2HashResponse {
705
- hash: Uint8Array;
706
582
  }
707
- export interface Poseidon2Permutation {
708
- inputs: Fr[];
583
+ interface MsgpackBn254FqSqrt {
584
+ input: Uint8Array;
709
585
  }
710
- interface MsgpackPoseidon2Permutation {
711
- inputs: Uint8Array[];
586
+ interface MsgpackBn254G1Point {
587
+ x: Uint8Array;
588
+ y: Uint8Array;
712
589
  }
713
- export interface Poseidon2PermutationResponse {
714
- outputs: Fr[];
590
+ interface MsgpackBn254G1Mul {
591
+ point: MsgpackBn254G1Point;
592
+ scalar: Uint8Array;
715
593
  }
716
- interface MsgpackPoseidon2PermutationResponse {
717
- outputs: Uint8Array[];
594
+ interface MsgpackBn254G2Point {
595
+ x: [Uint8Array, Uint8Array];
596
+ y: [Uint8Array, Uint8Array];
718
597
  }
719
- export interface ProofSystemSettings {
720
- ipaAccumulation: boolean;
721
- oracleHashType: string;
722
- disableZk: boolean;
723
- optimizedSolidityVerifier: boolean;
598
+ interface MsgpackBn254G2Mul {
599
+ point: MsgpackBn254G2Point;
600
+ scalar: Uint8Array;
724
601
  }
725
- interface MsgpackProofSystemSettings {
726
- ipa_accumulation: boolean;
727
- oracle_hash_type: string;
728
- disable_zk: boolean;
729
- optimized_solidity_verifier: boolean;
602
+ interface MsgpackBn254G1IsOnCurve {
603
+ point: MsgpackBn254G1Point;
730
604
  }
731
- export interface SchnorrComputePublicKey {
732
- privateKey: Fq;
605
+ interface MsgpackBn254G1FromCompressed {
606
+ compressed: Uint8Array;
733
607
  }
734
608
  interface MsgpackSchnorrComputePublicKey {
735
609
  private_key: Uint8Array;
736
610
  }
737
- export interface SchnorrComputePublicKeyResponse {
738
- publicKey: GrumpkinPoint;
611
+ interface MsgpackSchnorrConstructSignature {
612
+ message: Uint8Array;
613
+ private_key: Uint8Array;
739
614
  }
740
- interface MsgpackSchnorrComputePublicKeyResponse {
615
+ interface MsgpackSchnorrVerifySignature {
616
+ message: Uint8Array;
741
617
  public_key: MsgpackGrumpkinPoint;
618
+ s: Uint8Array;
619
+ e: Uint8Array;
742
620
  }
743
- export interface SchnorrConstructSignature {
621
+ interface MsgpackEcdsaSecp256k1ComputePublicKey {
622
+ private_key: Uint8Array;
623
+ }
624
+ interface MsgpackEcdsaSecp256r1ComputePublicKey {
625
+ private_key: Uint8Array;
626
+ }
627
+ interface MsgpackEcdsaSecp256k1ConstructSignature {
744
628
  message: Uint8Array;
745
- privateKey: Fq;
629
+ private_key: Uint8Array;
746
630
  }
747
- interface MsgpackSchnorrConstructSignature {
631
+ interface MsgpackEcdsaSecp256r1ConstructSignature {
748
632
  message: Uint8Array;
749
633
  private_key: Uint8Array;
750
634
  }
751
- export interface SchnorrConstructSignatureResponse {
635
+ interface MsgpackEcdsaSecp256k1RecoverPublicKey {
636
+ message: Uint8Array;
637
+ r: Uint8Array;
752
638
  s: Uint8Array;
753
- e: Uint8Array;
639
+ v: number;
754
640
  }
755
- interface MsgpackSchnorrConstructSignatureResponse {
641
+ interface MsgpackEcdsaSecp256r1RecoverPublicKey {
642
+ message: Uint8Array;
643
+ r: Uint8Array;
756
644
  s: Uint8Array;
757
- e: Uint8Array;
645
+ v: number;
758
646
  }
759
- export interface SchnorrVerifySignature {
647
+ interface MsgpackEcdsaSecp256k1VerifySignature {
760
648
  message: Uint8Array;
761
- publicKey: GrumpkinPoint;
649
+ public_key: MsgpackSecp256k1Point;
650
+ r: Uint8Array;
762
651
  s: Uint8Array;
763
- e: Uint8Array;
652
+ v: number;
764
653
  }
765
- interface MsgpackSchnorrVerifySignature {
654
+ interface MsgpackSecp256r1Point {
655
+ x: Uint8Array;
656
+ y: Uint8Array;
657
+ }
658
+ interface MsgpackEcdsaSecp256r1VerifySignature {
766
659
  message: Uint8Array;
767
- public_key: MsgpackGrumpkinPoint;
660
+ public_key: MsgpackSecp256r1Point;
661
+ r: Uint8Array;
768
662
  s: Uint8Array;
769
- e: Uint8Array;
663
+ v: number;
770
664
  }
771
- export interface SchnorrVerifySignatureResponse {
772
- verified: boolean;
665
+ interface MsgpackSrsInitSrs {
666
+ points_buf: Uint8Array;
667
+ num_points: number;
668
+ g2_point: Uint8Array;
773
669
  }
774
- interface MsgpackSchnorrVerifySignatureResponse {
775
- verified: boolean;
670
+ interface MsgpackSrsInitGrumpkinSrs {
671
+ points_buf: Uint8Array;
672
+ num_points: number;
776
673
  }
777
- export interface Secp256k1GetRandomFr {
778
- dummy: number;
674
+ interface MsgpackShutdown {
779
675
  }
780
- interface MsgpackSecp256k1GetRandomFr {
781
- dummy: number;
676
+ interface MsgpackErrorResponse {
677
+ message: string;
782
678
  }
783
- export interface Secp256k1GetRandomFrResponse {
784
- value: Secp256k1Fr;
679
+ interface MsgpackCircuitProveResponse {
680
+ public_inputs: Uint8Array[];
681
+ proof: Uint8Array[];
682
+ vk: MsgpackCircuitComputeVkResponse;
785
683
  }
786
- interface MsgpackSecp256k1GetRandomFrResponse {
787
- value: Uint8Array;
684
+ interface MsgpackCircuitInfoResponse {
685
+ num_gates: number;
686
+ num_gates_dyadic: number;
687
+ num_acir_opcodes: number;
688
+ gates_per_opcode: number[];
788
689
  }
789
- export interface Secp256k1Mul {
790
- point: Secp256k1Point;
791
- scalar: Secp256k1Fr;
690
+ interface MsgpackCircuitVerifyResponse {
691
+ verified: boolean;
792
692
  }
793
- interface MsgpackSecp256k1Mul {
794
- point: MsgpackSecp256k1Point;
795
- scalar: Uint8Array;
693
+ interface MsgpackChonkComputeVkResponse {
694
+ bytes: Uint8Array;
695
+ fields: Uint8Array[];
796
696
  }
797
- export interface Secp256k1MulResponse {
798
- point: Secp256k1Point;
697
+ interface MsgpackChonkStartResponse {
799
698
  }
800
- interface MsgpackSecp256k1MulResponse {
801
- point: MsgpackSecp256k1Point;
699
+ interface MsgpackChonkLoadResponse {
802
700
  }
803
- export interface Secp256k1Point {
804
- x: Secp256k1Fq;
805
- y: Secp256k1Fq;
701
+ interface MsgpackChonkAccumulateResponse {
806
702
  }
807
- interface MsgpackSecp256k1Point {
808
- x: Uint8Array;
809
- y: Uint8Array;
703
+ interface MsgpackChonkProveResponse {
704
+ proof: MsgpackChonkProof;
810
705
  }
811
- export interface Secp256k1Reduce512 {
812
- input: Uint8Array;
706
+ interface MsgpackChonkVerifyResponse {
707
+ valid: boolean;
813
708
  }
814
- interface MsgpackSecp256k1Reduce512 {
815
- input: Uint8Array;
709
+ interface MsgpackVkAsFieldsResponse {
710
+ fields: Uint8Array[];
816
711
  }
817
- export interface Secp256k1Reduce512Response {
818
- value: Secp256k1Fr;
712
+ interface MsgpackMegaVkAsFieldsResponse {
713
+ fields: Uint8Array[];
819
714
  }
820
- interface MsgpackSecp256k1Reduce512Response {
821
- value: Uint8Array;
715
+ interface MsgpackCircuitWriteSolidityVerifierResponse {
716
+ solidity_code: string;
822
717
  }
823
- export interface Secp256r1Point {
824
- x: Secp256r1Fq;
825
- y: Secp256r1Fq;
718
+ interface MsgpackChonkCheckPrecomputedVkResponse {
719
+ valid: boolean;
720
+ actual_vk: Uint8Array;
826
721
  }
827
- interface MsgpackSecp256r1Point {
828
- x: Uint8Array;
829
- y: Uint8Array;
722
+ interface MsgpackChonkStatsResponse {
723
+ acir_opcodes: number;
724
+ circuit_size: number;
725
+ gates_per_opcode: number[];
830
726
  }
831
- export interface Shutdown {
727
+ interface MsgpackPoseidon2HashResponse {
728
+ hash: Uint8Array;
832
729
  }
833
- interface MsgpackShutdown {
730
+ interface MsgpackPoseidon2PermutationResponse {
731
+ outputs: Uint8Array[];
834
732
  }
835
- export interface ShutdownResponse {
733
+ interface MsgpackPedersenCommitResponse {
734
+ point: MsgpackGrumpkinPoint;
836
735
  }
837
- interface MsgpackShutdownResponse {
736
+ interface MsgpackPedersenHashResponse {
737
+ hash: Uint8Array;
838
738
  }
839
- export interface SrsInitGrumpkinSrs {
840
- pointsBuf: Uint8Array;
841
- numPoints: number;
739
+ interface MsgpackPedersenHashBufferResponse {
740
+ hash: Uint8Array;
842
741
  }
843
- interface MsgpackSrsInitGrumpkinSrs {
844
- points_buf: Uint8Array;
845
- num_points: number;
742
+ interface MsgpackBlake2sResponse {
743
+ hash: Uint8Array;
846
744
  }
847
- export interface SrsInitGrumpkinSrsResponse {
848
- dummy: number;
745
+ interface MsgpackBlake2sToFieldResponse {
746
+ field: Uint8Array;
849
747
  }
850
- interface MsgpackSrsInitGrumpkinSrsResponse {
851
- dummy: number;
852
- }
853
- export interface SrsInitSrs {
854
- pointsBuf: Uint8Array;
855
- numPoints: number;
856
- g2Point: Uint8Array;
857
- }
858
- interface MsgpackSrsInitSrs {
859
- points_buf: Uint8Array;
860
- num_points: number;
861
- g2_point: Uint8Array;
862
- }
863
- export interface SrsInitSrsResponse {
864
- dummy: number;
865
- }
866
- interface MsgpackSrsInitSrsResponse {
867
- dummy: number;
868
- }
869
- export interface VkAsFields {
870
- verificationKey: Uint8Array;
871
- }
872
- interface MsgpackVkAsFields {
873
- verification_key: Uint8Array;
874
- }
875
- export interface VkAsFieldsResponse {
876
- fields: Fr[];
877
- }
878
- interface MsgpackVkAsFieldsResponse {
879
- fields: Uint8Array[];
880
- }
881
- export interface AesDecrypt {
882
- ciphertext: Uint8Array;
883
- iv: Uint8Array;
884
- key: Uint8Array;
885
- length: number;
886
- }
887
- interface MsgpackAesDecrypt {
748
+ interface MsgpackAesEncryptResponse {
888
749
  ciphertext: Uint8Array;
889
- iv: Uint8Array;
890
- key: Uint8Array;
891
- length: number;
892
- }
893
- export interface AesDecryptResponse {
894
- plaintext: Uint8Array;
895
750
  }
896
751
  interface MsgpackAesDecryptResponse {
897
752
  plaintext: Uint8Array;
898
753
  }
899
- export interface AesEncrypt {
900
- plaintext: Uint8Array;
901
- iv: Uint8Array;
902
- key: Uint8Array;
903
- length: number;
904
- }
905
- interface MsgpackAesEncrypt {
906
- plaintext: Uint8Array;
907
- iv: Uint8Array;
908
- key: Uint8Array;
909
- length: number;
910
- }
911
- export interface AesEncryptResponse {
912
- ciphertext: Uint8Array;
913
- }
914
- interface MsgpackAesEncryptResponse {
915
- ciphertext: Uint8Array;
916
- }
917
- export interface Blake2s {
918
- data: Uint8Array;
919
- }
920
- interface MsgpackBlake2s {
921
- data: Uint8Array;
922
- }
923
- export interface Blake2sResponse {
924
- hash: Uint8Array;
925
- }
926
- interface MsgpackBlake2sResponse {
927
- hash: Uint8Array;
928
- }
929
- export interface Blake2sToField {
930
- data: Uint8Array;
931
- }
932
- interface MsgpackBlake2sToField {
933
- data: Uint8Array;
934
- }
935
- export interface Blake2sToFieldResponse {
936
- field: Fr;
937
- }
938
- interface MsgpackBlake2sToFieldResponse {
939
- field: Uint8Array;
754
+ interface MsgpackGrumpkinMulResponse {
755
+ point: MsgpackGrumpkinPoint;
940
756
  }
941
- export interface Bn254FqSqrt {
942
- input: Fq;
757
+ interface MsgpackGrumpkinAddResponse {
758
+ point: MsgpackGrumpkinPoint;
943
759
  }
944
- interface MsgpackBn254FqSqrt {
945
- input: Uint8Array;
760
+ interface MsgpackGrumpkinBatchMulResponse {
761
+ points: MsgpackGrumpkinPoint[];
946
762
  }
947
- export interface Bn254FqSqrtResponse {
948
- isSquareRoot: boolean;
949
- value: Fq;
763
+ interface MsgpackGrumpkinGetRandomFrResponse {
764
+ value: Uint8Array;
950
765
  }
951
- interface MsgpackBn254FqSqrtResponse {
952
- is_square_root: boolean;
766
+ interface MsgpackGrumpkinReduce512Response {
953
767
  value: Uint8Array;
954
768
  }
955
- export interface Bn254FrSqrt {
956
- input: Fr;
769
+ interface MsgpackSecp256k1MulResponse {
770
+ point: MsgpackSecp256k1Point;
957
771
  }
958
- interface MsgpackBn254FrSqrt {
959
- input: Uint8Array;
772
+ interface MsgpackSecp256k1GetRandomFrResponse {
773
+ value: Uint8Array;
960
774
  }
961
- export interface Bn254FrSqrtResponse {
962
- isSquareRoot: boolean;
963
- value: Fr;
775
+ interface MsgpackSecp256k1Reduce512Response {
776
+ value: Uint8Array;
964
777
  }
965
778
  interface MsgpackBn254FrSqrtResponse {
966
779
  is_square_root: boolean;
967
780
  value: Uint8Array;
968
781
  }
969
- export interface Bn254G1FromCompressed {
970
- compressed: Uint8Array;
971
- }
972
- interface MsgpackBn254G1FromCompressed {
973
- compressed: Uint8Array;
974
- }
975
- export interface Bn254G1FromCompressedResponse {
976
- point: Bn254G1Point;
977
- }
978
- interface MsgpackBn254G1FromCompressedResponse {
979
- point: MsgpackBn254G1Point;
980
- }
981
- export interface Bn254G1IsOnCurve {
982
- point: Bn254G1Point;
983
- }
984
- interface MsgpackBn254G1IsOnCurve {
985
- point: MsgpackBn254G1Point;
986
- }
987
- export interface Bn254G1IsOnCurveResponse {
988
- isOnCurve: boolean;
989
- }
990
- interface MsgpackBn254G1IsOnCurveResponse {
991
- is_on_curve: boolean;
992
- }
993
- export interface Bn254G1Mul {
994
- point: Bn254G1Point;
995
- scalar: Fr;
996
- }
997
- interface MsgpackBn254G1Mul {
998
- point: MsgpackBn254G1Point;
999
- scalar: Uint8Array;
1000
- }
1001
- export interface Bn254G1MulResponse {
1002
- point: Bn254G1Point;
782
+ interface MsgpackBn254FqSqrtResponse {
783
+ is_square_root: boolean;
784
+ value: Uint8Array;
1003
785
  }
1004
786
  interface MsgpackBn254G1MulResponse {
1005
787
  point: MsgpackBn254G1Point;
1006
788
  }
1007
- export interface Bn254G1Point {
1008
- x: Fq;
1009
- y: Fq;
1010
- }
1011
- interface MsgpackBn254G1Point {
1012
- x: Uint8Array;
1013
- y: Uint8Array;
1014
- }
1015
- export interface Bn254G2Mul {
1016
- point: Bn254G2Point;
1017
- scalar: Fr;
1018
- }
1019
- interface MsgpackBn254G2Mul {
1020
- point: MsgpackBn254G2Point;
1021
- scalar: Uint8Array;
1022
- }
1023
- export interface Bn254G2MulResponse {
1024
- point: Bn254G2Point;
1025
- }
1026
789
  interface MsgpackBn254G2MulResponse {
1027
790
  point: MsgpackBn254G2Point;
1028
791
  }
1029
- export interface Bn254G2Point {
1030
- x: Field2;
1031
- y: Field2;
1032
- }
1033
- interface MsgpackBn254G2Point {
1034
- x: [Uint8Array, Uint8Array];
1035
- y: [Uint8Array, Uint8Array];
1036
- }
1037
- export interface ChonkAccumulate {
1038
- witness: Uint8Array;
1039
- }
1040
- interface MsgpackChonkAccumulate {
1041
- witness: Uint8Array;
1042
- }
1043
- export interface ChonkAccumulateResponse {
1044
- }
1045
- interface MsgpackChonkAccumulateResponse {
1046
- }
1047
- export interface ChonkCheckPrecomputedVk {
1048
- circuit: CircuitInput;
1049
- }
1050
- interface MsgpackChonkCheckPrecomputedVk {
1051
- circuit: MsgpackCircuitInput;
1052
- }
1053
- export interface ChonkCheckPrecomputedVkResponse {
1054
- valid: boolean;
1055
- actualVk: Uint8Array;
1056
- }
1057
- interface MsgpackChonkCheckPrecomputedVkResponse {
1058
- valid: boolean;
1059
- actual_vk: Uint8Array;
1060
- }
1061
- export interface ChonkComputeIvcVk {
1062
- circuit: CircuitInputNoVK;
1063
- }
1064
- interface MsgpackChonkComputeIvcVk {
1065
- circuit: MsgpackCircuitInputNoVK;
1066
- }
1067
- export interface ChonkComputeIvcVkResponse {
1068
- bytes: Uint8Array;
792
+ interface MsgpackBn254G1IsOnCurveResponse {
793
+ is_on_curve: boolean;
1069
794
  }
1070
- interface MsgpackChonkComputeIvcVkResponse {
1071
- bytes: Uint8Array;
795
+ interface MsgpackBn254G1FromCompressedResponse {
796
+ point: MsgpackBn254G1Point;
1072
797
  }
1073
- export interface ChonkComputeStandaloneVk {
1074
- circuit: CircuitInputNoVK;
798
+ interface MsgpackSchnorrComputePublicKeyResponse {
799
+ public_key: MsgpackGrumpkinPoint;
1075
800
  }
1076
- interface MsgpackChonkComputeStandaloneVk {
1077
- circuit: MsgpackCircuitInputNoVK;
801
+ interface MsgpackSchnorrConstructSignatureResponse {
802
+ s: Uint8Array;
803
+ e: Uint8Array;
1078
804
  }
1079
- export interface ChonkComputeStandaloneVkResponse {
1080
- bytes: Uint8Array;
1081
- fields: Fr[];
805
+ interface MsgpackSchnorrVerifySignatureResponse {
806
+ verified: boolean;
1082
807
  }
1083
- interface MsgpackChonkComputeStandaloneVkResponse {
1084
- bytes: Uint8Array;
1085
- fields: Uint8Array[];
808
+ interface MsgpackEcdsaSecp256k1ComputePublicKeyResponse {
809
+ public_key: MsgpackSecp256k1Point;
1086
810
  }
1087
- export interface ChonkLoad {
1088
- circuit: CircuitInput;
811
+ interface MsgpackEcdsaSecp256r1ComputePublicKeyResponse {
812
+ public_key: MsgpackSecp256r1Point;
1089
813
  }
1090
- interface MsgpackChonkLoad {
1091
- circuit: MsgpackCircuitInput;
814
+ interface MsgpackEcdsaSecp256k1ConstructSignatureResponse {
815
+ r: Uint8Array;
816
+ s: Uint8Array;
817
+ v: number;
1092
818
  }
1093
- export interface ChonkLoadResponse {
819
+ interface MsgpackEcdsaSecp256r1ConstructSignatureResponse {
820
+ r: Uint8Array;
821
+ s: Uint8Array;
822
+ v: number;
1094
823
  }
1095
- interface MsgpackChonkLoadResponse {
824
+ interface MsgpackEcdsaSecp256k1RecoverPublicKeyResponse {
825
+ public_key: MsgpackSecp256k1Point;
1096
826
  }
1097
- export interface ChonkProof {
1098
- megaProof: Fr[];
1099
- goblinProof: GoblinProof;
827
+ interface MsgpackEcdsaSecp256r1RecoverPublicKeyResponse {
828
+ public_key: MsgpackSecp256r1Point;
1100
829
  }
1101
- interface MsgpackChonkProof {
1102
- mega_proof: Uint8Array[];
1103
- goblin_proof: MsgpackGoblinProof;
830
+ interface MsgpackEcdsaSecp256k1VerifySignatureResponse {
831
+ verified: boolean;
1104
832
  }
1105
- export interface ChonkProve {
833
+ interface MsgpackEcdsaSecp256r1VerifySignatureResponse {
834
+ verified: boolean;
1106
835
  }
1107
- interface MsgpackChonkProve {
836
+ interface MsgpackSrsInitSrsResponse {
837
+ dummy: number;
1108
838
  }
1109
- export interface ChonkProveResponse {
1110
- proof: ChonkProof;
839
+ interface MsgpackSrsInitGrumpkinSrsResponse {
840
+ dummy: number;
1111
841
  }
1112
- interface MsgpackChonkProveResponse {
1113
- proof: MsgpackChonkProof;
842
+ interface MsgpackShutdownResponse {
1114
843
  }
1115
- export interface ChonkStart {
1116
- numCircuits: number;
1117
- }
1118
- interface MsgpackChonkStart {
1119
- num_circuits: number;
1120
- }
1121
- export interface ChonkStartResponse {
1122
- }
1123
- interface MsgpackChonkStartResponse {
1124
- }
1125
- export interface ChonkStats {
1126
- circuit: CircuitInputNoVK;
1127
- includeGatesPerOpcode: boolean;
1128
- }
1129
- interface MsgpackChonkStats {
1130
- circuit: MsgpackCircuitInputNoVK;
1131
- include_gates_per_opcode: boolean;
1132
- }
1133
- export interface ChonkStatsResponse {
1134
- acirOpcodes: number;
1135
- circuitSize: number;
1136
- gatesPerOpcode: number[];
1137
- }
1138
- interface MsgpackChonkStatsResponse {
1139
- acir_opcodes: number;
1140
- circuit_size: number;
1141
- gates_per_opcode: number[];
1142
- }
1143
- export interface ChonkVerify {
1144
- proof: ChonkProof;
1145
- vk: Uint8Array;
1146
- }
1147
- interface MsgpackChonkVerify {
1148
- proof: MsgpackChonkProof;
1149
- vk: Uint8Array;
1150
- }
1151
- export interface ChonkVerifyResponse {
1152
- valid: boolean;
1153
- }
1154
- interface MsgpackChonkVerifyResponse {
1155
- valid: boolean;
1156
- }
1157
- export interface CircuitComputeVk {
1158
- circuit: CircuitInputNoVK;
1159
- settings: ProofSystemSettings;
1160
- }
1161
- interface MsgpackCircuitComputeVk {
1162
- circuit: MsgpackCircuitInputNoVK;
1163
- settings: MsgpackProofSystemSettings;
1164
- }
1165
- export interface CircuitComputeVkResponse {
1166
- bytes: Uint8Array;
1167
- fields: Uint256T[];
1168
- hash: Uint8Array;
1169
- }
1170
- interface MsgpackCircuitComputeVkResponse {
1171
- bytes: Uint8Array;
1172
- fields: Uint8Array[];
1173
- hash: Uint8Array;
1174
- }
1175
- export interface CircuitInfoResponse {
1176
- numGates: number;
1177
- numGatesDyadic: number;
1178
- numAcirOpcodes: number;
1179
- gatesPerOpcode: number[];
1180
- }
1181
- interface MsgpackCircuitInfoResponse {
1182
- num_gates: number;
1183
- num_gates_dyadic: number;
1184
- num_acir_opcodes: number;
1185
- gates_per_opcode: number[];
1186
- }
1187
- export interface CircuitInput {
1188
- name: string;
1189
- bytecode: Uint8Array;
1190
- verificationKey: Uint8Array;
1191
- }
1192
- interface MsgpackCircuitInput {
1193
- name: string;
1194
- bytecode: Uint8Array;
1195
- verification_key: Uint8Array;
1196
- }
1197
- export interface CircuitInputNoVK {
1198
- name: string;
1199
- bytecode: Uint8Array;
1200
- }
1201
- interface MsgpackCircuitInputNoVK {
1202
- name: string;
1203
- bytecode: Uint8Array;
1204
- }
1205
- export interface CircuitProve {
1206
- circuit: CircuitInput;
1207
- witness: Uint8Array;
1208
- settings: ProofSystemSettings;
1209
- }
1210
- interface MsgpackCircuitProve {
1211
- circuit: MsgpackCircuitInput;
1212
- witness: Uint8Array;
1213
- settings: MsgpackProofSystemSettings;
1214
- }
1215
- export interface CircuitProveResponse {
1216
- publicInputs: Uint256T[];
1217
- proof: Uint256T[];
1218
- vk: CircuitComputeVkResponse;
1219
- }
1220
- interface MsgpackCircuitProveResponse {
1221
- public_inputs: Uint8Array[];
1222
- proof: Uint8Array[];
1223
- vk: MsgpackCircuitComputeVkResponse;
1224
- }
1225
- export interface CircuitStats {
1226
- circuit: CircuitInput;
1227
- includeGatesPerOpcode: boolean;
1228
- settings: ProofSystemSettings;
1229
- }
1230
- interface MsgpackCircuitStats {
1231
- circuit: MsgpackCircuitInput;
1232
- include_gates_per_opcode: boolean;
1233
- settings: MsgpackProofSystemSettings;
1234
- }
1235
- export interface CircuitVerify {
1236
- verificationKey: Uint8Array;
1237
- publicInputs: Uint256T[];
1238
- proof: Uint256T[];
1239
- settings: ProofSystemSettings;
1240
- }
1241
- interface MsgpackCircuitVerify {
1242
- verification_key: Uint8Array;
1243
- public_inputs: Uint8Array[];
1244
- proof: Uint8Array[];
1245
- settings: MsgpackProofSystemSettings;
1246
- }
1247
- export interface CircuitVerifyResponse {
1248
- verified: boolean;
1249
- }
1250
- interface MsgpackCircuitVerifyResponse {
1251
- verified: boolean;
1252
- }
1253
- export interface CircuitWriteSolidityVerifier {
1254
- verificationKey: Uint8Array;
1255
- settings: ProofSystemSettings;
1256
- }
1257
- interface MsgpackCircuitWriteSolidityVerifier {
1258
- verification_key: Uint8Array;
1259
- settings: MsgpackProofSystemSettings;
1260
- }
1261
- export interface CircuitWriteSolidityVerifierResponse {
1262
- solidityCode: string;
1263
- }
1264
- interface MsgpackCircuitWriteSolidityVerifierResponse {
1265
- solidity_code: string;
1266
- }
1267
- export interface ECCVMProof {
1268
- preIpaProof: Fr[];
1269
- ipaProof: Fr[];
1270
- }
1271
- interface MsgpackECCVMProof {
1272
- pre_ipa_proof: Uint8Array[];
1273
- ipa_proof: Uint8Array[];
1274
- }
1275
- export interface EcdsaSecp256k1ComputePublicKey {
1276
- privateKey: Secp256k1Fr;
1277
- }
1278
- interface MsgpackEcdsaSecp256k1ComputePublicKey {
1279
- private_key: Uint8Array;
1280
- }
1281
- export interface EcdsaSecp256k1ComputePublicKeyResponse {
1282
- publicKey: Secp256k1Point;
1283
- }
1284
- interface MsgpackEcdsaSecp256k1ComputePublicKeyResponse {
1285
- public_key: MsgpackSecp256k1Point;
1286
- }
1287
- export interface EcdsaSecp256k1ConstructSignature {
1288
- message: Uint8Array;
1289
- privateKey: Secp256k1Fr;
1290
- }
1291
- interface MsgpackEcdsaSecp256k1ConstructSignature {
1292
- message: Uint8Array;
1293
- private_key: Uint8Array;
1294
- }
1295
- export interface EcdsaSecp256k1ConstructSignatureResponse {
1296
- r: Uint8Array;
1297
- s: Uint8Array;
1298
- v: number;
1299
- }
1300
- interface MsgpackEcdsaSecp256k1ConstructSignatureResponse {
1301
- r: Uint8Array;
1302
- s: Uint8Array;
1303
- v: number;
1304
- }
1305
- export interface EcdsaSecp256k1RecoverPublicKey {
1306
- message: Uint8Array;
1307
- r: Uint8Array;
1308
- s: Uint8Array;
1309
- v: number;
1310
- }
1311
- interface MsgpackEcdsaSecp256k1RecoverPublicKey {
1312
- message: Uint8Array;
1313
- r: Uint8Array;
1314
- s: Uint8Array;
1315
- v: number;
1316
- }
1317
- export interface EcdsaSecp256k1RecoverPublicKeyResponse {
1318
- publicKey: Secp256k1Point;
1319
- }
1320
- interface MsgpackEcdsaSecp256k1RecoverPublicKeyResponse {
1321
- public_key: MsgpackSecp256k1Point;
1322
- }
1323
- export interface EcdsaSecp256k1VerifySignature {
1324
- message: Uint8Array;
1325
- publicKey: Secp256k1Point;
1326
- r: Uint8Array;
1327
- s: Uint8Array;
1328
- v: number;
1329
- }
1330
- interface MsgpackEcdsaSecp256k1VerifySignature {
1331
- message: Uint8Array;
1332
- public_key: MsgpackSecp256k1Point;
1333
- r: Uint8Array;
1334
- s: Uint8Array;
1335
- v: number;
1336
- }
1337
- export interface EcdsaSecp256k1VerifySignatureResponse {
1338
- verified: boolean;
1339
- }
1340
- interface MsgpackEcdsaSecp256k1VerifySignatureResponse {
1341
- verified: boolean;
1342
- }
1343
- export interface EcdsaSecp256r1ComputePublicKey {
1344
- privateKey: Secp256r1Fr;
1345
- }
1346
- interface MsgpackEcdsaSecp256r1ComputePublicKey {
1347
- private_key: Uint8Array;
1348
- }
1349
- export interface EcdsaSecp256r1ComputePublicKeyResponse {
1350
- publicKey: Secp256r1Point;
1351
- }
1352
- interface MsgpackEcdsaSecp256r1ComputePublicKeyResponse {
1353
- public_key: MsgpackSecp256r1Point;
1354
- }
1355
- export interface EcdsaSecp256r1ConstructSignature {
1356
- message: Uint8Array;
1357
- privateKey: Secp256r1Fr;
1358
- }
1359
- interface MsgpackEcdsaSecp256r1ConstructSignature {
1360
- message: Uint8Array;
1361
- private_key: Uint8Array;
1362
- }
1363
- export interface EcdsaSecp256r1ConstructSignatureResponse {
1364
- r: Uint8Array;
1365
- s: Uint8Array;
1366
- v: number;
1367
- }
1368
- interface MsgpackEcdsaSecp256r1ConstructSignatureResponse {
1369
- r: Uint8Array;
1370
- s: Uint8Array;
1371
- v: number;
1372
- }
1373
- export interface EcdsaSecp256r1RecoverPublicKey {
1374
- message: Uint8Array;
1375
- r: Uint8Array;
1376
- s: Uint8Array;
1377
- v: number;
1378
- }
1379
- interface MsgpackEcdsaSecp256r1RecoverPublicKey {
1380
- message: Uint8Array;
1381
- r: Uint8Array;
1382
- s: Uint8Array;
1383
- v: number;
1384
- }
1385
- export interface EcdsaSecp256r1RecoverPublicKeyResponse {
1386
- publicKey: Secp256r1Point;
1387
- }
1388
- interface MsgpackEcdsaSecp256r1RecoverPublicKeyResponse {
1389
- public_key: MsgpackSecp256r1Point;
1390
- }
1391
- export interface EcdsaSecp256r1VerifySignature {
1392
- message: Uint8Array;
1393
- publicKey: Secp256r1Point;
1394
- r: Uint8Array;
1395
- s: Uint8Array;
1396
- v: number;
1397
- }
1398
- interface MsgpackEcdsaSecp256r1VerifySignature {
1399
- message: Uint8Array;
1400
- public_key: MsgpackSecp256r1Point;
1401
- r: Uint8Array;
1402
- s: Uint8Array;
1403
- v: number;
1404
- }
1405
- export interface EcdsaSecp256r1VerifySignatureResponse {
1406
- verified: boolean;
1407
- }
1408
- interface MsgpackEcdsaSecp256r1VerifySignatureResponse {
1409
- verified: boolean;
1410
- }
1411
- export interface ErrorResponse {
1412
- message: string;
1413
- }
1414
- interface MsgpackErrorResponse {
1415
- message: string;
1416
- }
1417
- export interface GoblinProof {
1418
- mergeProof: Fr[];
1419
- eccvmProof: ECCVMProof;
1420
- translatorProof: Fr[];
1421
- }
1422
- interface MsgpackGoblinProof {
1423
- merge_proof: Uint8Array[];
1424
- eccvm_proof: MsgpackECCVMProof;
1425
- translator_proof: Uint8Array[];
1426
- }
1427
- export interface GrumpkinAdd {
1428
- pointA: GrumpkinPoint;
1429
- pointB: GrumpkinPoint;
1430
- }
1431
- interface MsgpackGrumpkinAdd {
1432
- point_a: MsgpackGrumpkinPoint;
1433
- point_b: MsgpackGrumpkinPoint;
1434
- }
1435
- export interface GrumpkinAddResponse {
1436
- point: GrumpkinPoint;
1437
- }
1438
- interface MsgpackGrumpkinAddResponse {
1439
- point: MsgpackGrumpkinPoint;
1440
- }
1441
- export interface GrumpkinBatchMul {
1442
- points: GrumpkinPoint[];
1443
- scalar: Fq;
1444
- }
1445
- interface MsgpackGrumpkinBatchMul {
1446
- points: MsgpackGrumpkinPoint[];
1447
- scalar: Uint8Array;
1448
- }
1449
- export interface GrumpkinBatchMulResponse {
1450
- points: GrumpkinPoint[];
1451
- }
1452
- interface MsgpackGrumpkinBatchMulResponse {
1453
- points: MsgpackGrumpkinPoint[];
1454
- }
1455
- export interface GrumpkinGetRandomFr {
1456
- dummy: number;
1457
- }
1458
- interface MsgpackGrumpkinGetRandomFr {
1459
- dummy: number;
1460
- }
1461
- export interface GrumpkinGetRandomFrResponse {
1462
- value: Fr;
1463
- }
1464
- interface MsgpackGrumpkinGetRandomFrResponse {
1465
- value: Uint8Array;
1466
- }
1467
- export interface GrumpkinMul {
1468
- point: GrumpkinPoint;
1469
- scalar: Fq;
1470
- }
1471
- interface MsgpackGrumpkinMul {
1472
- point: MsgpackGrumpkinPoint;
1473
- scalar: Uint8Array;
1474
- }
1475
- export interface GrumpkinMulResponse {
1476
- point: GrumpkinPoint;
1477
- }
1478
- interface MsgpackGrumpkinMulResponse {
1479
- point: MsgpackGrumpkinPoint;
1480
- }
1481
- export interface GrumpkinPoint {
1482
- x: Fr;
1483
- y: Fr;
1484
- }
1485
- interface MsgpackGrumpkinPoint {
1486
- x: Uint8Array;
1487
- y: Uint8Array;
1488
- }
1489
- export interface GrumpkinReduce512 {
1490
- input: Uint8Array;
1491
- }
1492
- interface MsgpackGrumpkinReduce512 {
1493
- input: Uint8Array;
1494
- }
1495
- export interface GrumpkinReduce512Response {
1496
- value: Fr;
1497
- }
1498
- interface MsgpackGrumpkinReduce512Response {
1499
- value: Uint8Array;
1500
- }
1501
- export interface MegaVkAsFields {
1502
- verificationKey: Uint8Array;
1503
- }
1504
- interface MsgpackMegaVkAsFields {
1505
- verification_key: Uint8Array;
1506
- }
1507
- export interface MegaVkAsFieldsResponse {
1508
- fields: Fr[];
1509
- }
1510
- interface MsgpackMegaVkAsFieldsResponse {
1511
- fields: Uint8Array[];
1512
- }
1513
- export interface PedersenCommit {
1514
- inputs: Fr[];
1515
- hashIndex: number;
1516
- }
1517
- interface MsgpackPedersenCommit {
1518
- inputs: Uint8Array[];
1519
- hash_index: number;
1520
- }
1521
- export interface PedersenCommitResponse {
1522
- point: GrumpkinPoint;
1523
- }
1524
- interface MsgpackPedersenCommitResponse {
1525
- point: MsgpackGrumpkinPoint;
1526
- }
1527
- export interface PedersenHash {
1528
- inputs: Fr[];
1529
- hashIndex: number;
1530
- }
1531
- interface MsgpackPedersenHash {
1532
- inputs: Uint8Array[];
1533
- hash_index: number;
1534
- }
1535
- export interface PedersenHashBuffer {
1536
- input: Uint8Array;
1537
- hashIndex: number;
1538
- }
1539
- interface MsgpackPedersenHashBuffer {
1540
- input: Uint8Array;
1541
- hash_index: number;
1542
- }
1543
- export interface PedersenHashBufferResponse {
1544
- hash: Fr;
1545
- }
1546
- interface MsgpackPedersenHashBufferResponse {
1547
- hash: Uint8Array;
1548
- }
1549
- export interface PedersenHashResponse {
1550
- hash: Fr;
1551
- }
1552
- interface MsgpackPedersenHashResponse {
1553
- hash: Uint8Array;
1554
- }
1555
- export interface Poseidon2Hash {
1556
- inputs: Fr[];
1557
- }
1558
- interface MsgpackPoseidon2Hash {
1559
- inputs: Uint8Array[];
1560
- }
1561
- export interface Poseidon2HashAccumulate {
1562
- inputs: Fr[];
1563
- }
1564
- interface MsgpackPoseidon2HashAccumulate {
1565
- inputs: Uint8Array[];
1566
- }
1567
- export interface Poseidon2HashAccumulateResponse {
1568
- hash: Fr;
1569
- }
1570
- interface MsgpackPoseidon2HashAccumulateResponse {
1571
- hash: Uint8Array;
1572
- }
1573
- export interface Poseidon2HashResponse {
1574
- hash: Fr;
1575
- }
1576
- interface MsgpackPoseidon2HashResponse {
1577
- hash: Uint8Array;
1578
- }
1579
- export interface Poseidon2Permutation {
1580
- inputs: Fr[];
1581
- }
1582
- interface MsgpackPoseidon2Permutation {
1583
- inputs: Uint8Array[];
1584
- }
1585
- export interface Poseidon2PermutationResponse {
1586
- outputs: Fr[];
1587
- }
1588
- interface MsgpackPoseidon2PermutationResponse {
1589
- outputs: Uint8Array[];
1590
- }
1591
- export interface ProofSystemSettings {
1592
- ipaAccumulation: boolean;
1593
- oracleHashType: string;
1594
- disableZk: boolean;
1595
- optimizedSolidityVerifier: boolean;
1596
- }
1597
- interface MsgpackProofSystemSettings {
1598
- ipa_accumulation: boolean;
1599
- oracle_hash_type: string;
1600
- disable_zk: boolean;
1601
- optimized_solidity_verifier: boolean;
1602
- }
1603
- export interface SchnorrComputePublicKey {
1604
- privateKey: Fq;
1605
- }
1606
- interface MsgpackSchnorrComputePublicKey {
1607
- private_key: Uint8Array;
1608
- }
1609
- export interface SchnorrComputePublicKeyResponse {
1610
- publicKey: GrumpkinPoint;
1611
- }
1612
- interface MsgpackSchnorrComputePublicKeyResponse {
1613
- public_key: MsgpackGrumpkinPoint;
1614
- }
1615
- export interface SchnorrConstructSignature {
1616
- message: Uint8Array;
1617
- privateKey: Fq;
1618
- }
1619
- interface MsgpackSchnorrConstructSignature {
1620
- message: Uint8Array;
1621
- private_key: Uint8Array;
1622
- }
1623
- export interface SchnorrConstructSignatureResponse {
1624
- s: Uint8Array;
1625
- e: Uint8Array;
1626
- }
1627
- interface MsgpackSchnorrConstructSignatureResponse {
1628
- s: Uint8Array;
1629
- e: Uint8Array;
1630
- }
1631
- export interface SchnorrVerifySignature {
1632
- message: Uint8Array;
1633
- publicKey: GrumpkinPoint;
1634
- s: Uint8Array;
1635
- e: Uint8Array;
1636
- }
1637
- interface MsgpackSchnorrVerifySignature {
1638
- message: Uint8Array;
1639
- public_key: MsgpackGrumpkinPoint;
1640
- s: Uint8Array;
1641
- e: Uint8Array;
1642
- }
1643
- export interface SchnorrVerifySignatureResponse {
1644
- verified: boolean;
1645
- }
1646
- interface MsgpackSchnorrVerifySignatureResponse {
1647
- verified: boolean;
1648
- }
1649
- export interface Secp256k1GetRandomFr {
1650
- dummy: number;
1651
- }
1652
- interface MsgpackSecp256k1GetRandomFr {
1653
- dummy: number;
1654
- }
1655
- export interface Secp256k1GetRandomFrResponse {
1656
- value: Secp256k1Fr;
1657
- }
1658
- interface MsgpackSecp256k1GetRandomFrResponse {
1659
- value: Uint8Array;
1660
- }
1661
- export interface Secp256k1Mul {
1662
- point: Secp256k1Point;
1663
- scalar: Secp256k1Fr;
1664
- }
1665
- interface MsgpackSecp256k1Mul {
1666
- point: MsgpackSecp256k1Point;
1667
- scalar: Uint8Array;
1668
- }
1669
- export interface Secp256k1MulResponse {
1670
- point: Secp256k1Point;
1671
- }
1672
- interface MsgpackSecp256k1MulResponse {
1673
- point: MsgpackSecp256k1Point;
1674
- }
1675
- export interface Secp256k1Point {
1676
- x: Secp256k1Fq;
1677
- y: Secp256k1Fq;
1678
- }
1679
- interface MsgpackSecp256k1Point {
1680
- x: Uint8Array;
1681
- y: Uint8Array;
1682
- }
1683
- export interface Secp256k1Reduce512 {
1684
- input: Uint8Array;
1685
- }
1686
- interface MsgpackSecp256k1Reduce512 {
1687
- input: Uint8Array;
1688
- }
1689
- export interface Secp256k1Reduce512Response {
1690
- value: Secp256k1Fr;
1691
- }
1692
- interface MsgpackSecp256k1Reduce512Response {
1693
- value: Uint8Array;
1694
- }
1695
- export interface Secp256r1Point {
1696
- x: Secp256r1Fq;
1697
- y: Secp256r1Fq;
1698
- }
1699
- interface MsgpackSecp256r1Point {
1700
- x: Uint8Array;
1701
- y: Uint8Array;
1702
- }
1703
- export interface Shutdown {
1704
- }
1705
- interface MsgpackShutdown {
1706
- }
1707
- export interface ShutdownResponse {
1708
- }
1709
- interface MsgpackShutdownResponse {
1710
- }
1711
- export interface SrsInitGrumpkinSrs {
1712
- pointsBuf: Uint8Array;
1713
- numPoints: number;
1714
- }
1715
- interface MsgpackSrsInitGrumpkinSrs {
1716
- points_buf: Uint8Array;
1717
- num_points: number;
1718
- }
1719
- export interface SrsInitGrumpkinSrsResponse {
1720
- dummy: number;
1721
- }
1722
- interface MsgpackSrsInitGrumpkinSrsResponse {
1723
- dummy: number;
1724
- }
1725
- export interface SrsInitSrs {
1726
- pointsBuf: Uint8Array;
1727
- numPoints: number;
1728
- g2Point: Uint8Array;
1729
- }
1730
- interface MsgpackSrsInitSrs {
1731
- points_buf: Uint8Array;
1732
- num_points: number;
1733
- g2_point: Uint8Array;
1734
- }
1735
- export interface SrsInitSrsResponse {
1736
- dummy: number;
1737
- }
1738
- interface MsgpackSrsInitSrsResponse {
1739
- dummy: number;
1740
- }
1741
- export interface VkAsFields {
1742
- verificationKey: Uint8Array;
1743
- }
1744
- interface MsgpackVkAsFields {
1745
- verification_key: Uint8Array;
1746
- }
1747
- export interface VkAsFieldsResponse {
1748
- fields: Fr[];
1749
- }
1750
- interface MsgpackVkAsFieldsResponse {
1751
- fields: Uint8Array[];
1752
- }
1753
- export declare function toAesDecrypt(o: MsgpackAesDecrypt): AesDecrypt;
1754
- export declare function fromAesDecrypt(o: AesDecrypt): MsgpackAesDecrypt;
1755
- export declare function toAesDecryptResponse(o: MsgpackAesDecryptResponse): AesDecryptResponse;
1756
- export declare function fromAesDecryptResponse(o: AesDecryptResponse): MsgpackAesDecryptResponse;
1757
- export declare function toAesEncrypt(o: MsgpackAesEncrypt): AesEncrypt;
1758
- export declare function fromAesEncrypt(o: AesEncrypt): MsgpackAesEncrypt;
1759
- export declare function toAesEncryptResponse(o: MsgpackAesEncryptResponse): AesEncryptResponse;
1760
- export declare function fromAesEncryptResponse(o: AesEncryptResponse): MsgpackAesEncryptResponse;
844
+ export declare function toCircuitComputeVkResponse(o: MsgpackCircuitComputeVkResponse): CircuitComputeVkResponse;
845
+ export declare function toCircuitInput(o: MsgpackCircuitInput): CircuitInput;
846
+ export declare function toProofSystemSettings(o: MsgpackProofSystemSettings): ProofSystemSettings;
847
+ export declare function toCircuitProve(o: MsgpackCircuitProve): CircuitProve;
848
+ export declare function toCircuitInputNoVK(o: MsgpackCircuitInputNoVK): CircuitInputNoVK;
849
+ export declare function toCircuitComputeVk(o: MsgpackCircuitComputeVk): CircuitComputeVk;
850
+ export declare function toCircuitStats(o: MsgpackCircuitStats): CircuitStats;
851
+ export declare function toCircuitVerify(o: MsgpackCircuitVerify): CircuitVerify;
852
+ export declare function toChonkComputeVk(o: MsgpackChonkComputeVk): ChonkComputeVk;
853
+ export declare function toChonkStart(o: MsgpackChonkStart): ChonkStart;
854
+ export declare function toChonkLoad(o: MsgpackChonkLoad): ChonkLoad;
855
+ export declare function toChonkAccumulate(o: MsgpackChonkAccumulate): ChonkAccumulate;
856
+ export declare function toChonkProve(o: MsgpackChonkProve): ChonkProve;
857
+ export declare function toGoblinProof(o: MsgpackGoblinProof): GoblinProof;
858
+ export declare function toChonkProof(o: MsgpackChonkProof): ChonkProof;
859
+ export declare function toChonkVerify(o: MsgpackChonkVerify): ChonkVerify;
860
+ export declare function toVkAsFields(o: MsgpackVkAsFields): VkAsFields;
861
+ export declare function toMegaVkAsFields(o: MsgpackMegaVkAsFields): MegaVkAsFields;
862
+ export declare function toCircuitWriteSolidityVerifier(o: MsgpackCircuitWriteSolidityVerifier): CircuitWriteSolidityVerifier;
863
+ export declare function toChonkCheckPrecomputedVk(o: MsgpackChonkCheckPrecomputedVk): ChonkCheckPrecomputedVk;
864
+ export declare function toChonkStats(o: MsgpackChonkStats): ChonkStats;
865
+ export declare function toPoseidon2Hash(o: MsgpackPoseidon2Hash): Poseidon2Hash;
866
+ export declare function toPoseidon2Permutation(o: MsgpackPoseidon2Permutation): Poseidon2Permutation;
867
+ export declare function toPedersenCommit(o: MsgpackPedersenCommit): PedersenCommit;
868
+ export declare function toPedersenHash(o: MsgpackPedersenHash): PedersenHash;
869
+ export declare function toPedersenHashBuffer(o: MsgpackPedersenHashBuffer): PedersenHashBuffer;
1761
870
  export declare function toBlake2s(o: MsgpackBlake2s): Blake2s;
1762
- export declare function fromBlake2s(o: Blake2s): MsgpackBlake2s;
1763
- export declare function toBlake2sResponse(o: MsgpackBlake2sResponse): Blake2sResponse;
1764
- export declare function fromBlake2sResponse(o: Blake2sResponse): MsgpackBlake2sResponse;
1765
871
  export declare function toBlake2sToField(o: MsgpackBlake2sToField): Blake2sToField;
1766
- export declare function fromBlake2sToField(o: Blake2sToField): MsgpackBlake2sToField;
1767
- export declare function toBlake2sToFieldResponse(o: MsgpackBlake2sToFieldResponse): Blake2sToFieldResponse;
1768
- export declare function fromBlake2sToFieldResponse(o: Blake2sToFieldResponse): MsgpackBlake2sToFieldResponse;
1769
- export declare function toBn254FqSqrt(o: MsgpackBn254FqSqrt): Bn254FqSqrt;
1770
- export declare function fromBn254FqSqrt(o: Bn254FqSqrt): MsgpackBn254FqSqrt;
1771
- export declare function toBn254FqSqrtResponse(o: MsgpackBn254FqSqrtResponse): Bn254FqSqrtResponse;
1772
- export declare function fromBn254FqSqrtResponse(o: Bn254FqSqrtResponse): MsgpackBn254FqSqrtResponse;
872
+ export declare function toAesEncrypt(o: MsgpackAesEncrypt): AesEncrypt;
873
+ export declare function toAesDecrypt(o: MsgpackAesDecrypt): AesDecrypt;
874
+ export declare function toGrumpkinPoint(o: MsgpackGrumpkinPoint): GrumpkinPoint;
875
+ export declare function toGrumpkinMul(o: MsgpackGrumpkinMul): GrumpkinMul;
876
+ export declare function toGrumpkinAdd(o: MsgpackGrumpkinAdd): GrumpkinAdd;
877
+ export declare function toGrumpkinBatchMul(o: MsgpackGrumpkinBatchMul): GrumpkinBatchMul;
878
+ export declare function toGrumpkinGetRandomFr(o: MsgpackGrumpkinGetRandomFr): GrumpkinGetRandomFr;
879
+ export declare function toGrumpkinReduce512(o: MsgpackGrumpkinReduce512): GrumpkinReduce512;
880
+ export declare function toSecp256k1Point(o: MsgpackSecp256k1Point): Secp256k1Point;
881
+ export declare function toSecp256k1Mul(o: MsgpackSecp256k1Mul): Secp256k1Mul;
882
+ export declare function toSecp256k1GetRandomFr(o: MsgpackSecp256k1GetRandomFr): Secp256k1GetRandomFr;
883
+ export declare function toSecp256k1Reduce512(o: MsgpackSecp256k1Reduce512): Secp256k1Reduce512;
1773
884
  export declare function toBn254FrSqrt(o: MsgpackBn254FrSqrt): Bn254FrSqrt;
1774
- export declare function fromBn254FrSqrt(o: Bn254FrSqrt): MsgpackBn254FrSqrt;
1775
- export declare function toBn254FrSqrtResponse(o: MsgpackBn254FrSqrtResponse): Bn254FrSqrtResponse;
1776
- export declare function fromBn254FrSqrtResponse(o: Bn254FrSqrtResponse): MsgpackBn254FrSqrtResponse;
1777
- export declare function toBn254G1FromCompressed(o: MsgpackBn254G1FromCompressed): Bn254G1FromCompressed;
1778
- export declare function fromBn254G1FromCompressed(o: Bn254G1FromCompressed): MsgpackBn254G1FromCompressed;
1779
- export declare function toBn254G1FromCompressedResponse(o: MsgpackBn254G1FromCompressedResponse): Bn254G1FromCompressedResponse;
1780
- export declare function fromBn254G1FromCompressedResponse(o: Bn254G1FromCompressedResponse): MsgpackBn254G1FromCompressedResponse;
1781
- export declare function toBn254G1IsOnCurve(o: MsgpackBn254G1IsOnCurve): Bn254G1IsOnCurve;
1782
- export declare function fromBn254G1IsOnCurve(o: Bn254G1IsOnCurve): MsgpackBn254G1IsOnCurve;
1783
- export declare function toBn254G1IsOnCurveResponse(o: MsgpackBn254G1IsOnCurveResponse): Bn254G1IsOnCurveResponse;
1784
- export declare function fromBn254G1IsOnCurveResponse(o: Bn254G1IsOnCurveResponse): MsgpackBn254G1IsOnCurveResponse;
1785
- export declare function toBn254G1Mul(o: MsgpackBn254G1Mul): Bn254G1Mul;
1786
- export declare function fromBn254G1Mul(o: Bn254G1Mul): MsgpackBn254G1Mul;
1787
- export declare function toBn254G1MulResponse(o: MsgpackBn254G1MulResponse): Bn254G1MulResponse;
1788
- export declare function fromBn254G1MulResponse(o: Bn254G1MulResponse): MsgpackBn254G1MulResponse;
885
+ export declare function toBn254FqSqrt(o: MsgpackBn254FqSqrt): Bn254FqSqrt;
1789
886
  export declare function toBn254G1Point(o: MsgpackBn254G1Point): Bn254G1Point;
1790
- export declare function fromBn254G1Point(o: Bn254G1Point): MsgpackBn254G1Point;
1791
- export declare function toBn254G2Mul(o: MsgpackBn254G2Mul): Bn254G2Mul;
1792
- export declare function fromBn254G2Mul(o: Bn254G2Mul): MsgpackBn254G2Mul;
1793
- export declare function toBn254G2MulResponse(o: MsgpackBn254G2MulResponse): Bn254G2MulResponse;
1794
- export declare function fromBn254G2MulResponse(o: Bn254G2MulResponse): MsgpackBn254G2MulResponse;
887
+ export declare function toBn254G1Mul(o: MsgpackBn254G1Mul): Bn254G1Mul;
1795
888
  export declare function toBn254G2Point(o: MsgpackBn254G2Point): Bn254G2Point;
1796
- export declare function fromBn254G2Point(o: Bn254G2Point): MsgpackBn254G2Point;
1797
- export declare function toChonkAccumulate(o: MsgpackChonkAccumulate): ChonkAccumulate;
1798
- export declare function fromChonkAccumulate(o: ChonkAccumulate): MsgpackChonkAccumulate;
1799
- export declare function toChonkAccumulateResponse(o: MsgpackChonkAccumulateResponse): ChonkAccumulateResponse;
1800
- export declare function fromChonkAccumulateResponse(o: ChonkAccumulateResponse): MsgpackChonkAccumulateResponse;
1801
- export declare function toChonkCheckPrecomputedVk(o: MsgpackChonkCheckPrecomputedVk): ChonkCheckPrecomputedVk;
1802
- export declare function fromChonkCheckPrecomputedVk(o: ChonkCheckPrecomputedVk): MsgpackChonkCheckPrecomputedVk;
1803
- export declare function toChonkCheckPrecomputedVkResponse(o: MsgpackChonkCheckPrecomputedVkResponse): ChonkCheckPrecomputedVkResponse;
1804
- export declare function fromChonkCheckPrecomputedVkResponse(o: ChonkCheckPrecomputedVkResponse): MsgpackChonkCheckPrecomputedVkResponse;
1805
- export declare function toChonkComputeIvcVk(o: MsgpackChonkComputeIvcVk): ChonkComputeIvcVk;
1806
- export declare function fromChonkComputeIvcVk(o: ChonkComputeIvcVk): MsgpackChonkComputeIvcVk;
1807
- export declare function toChonkComputeIvcVkResponse(o: MsgpackChonkComputeIvcVkResponse): ChonkComputeIvcVkResponse;
1808
- export declare function fromChonkComputeIvcVkResponse(o: ChonkComputeIvcVkResponse): MsgpackChonkComputeIvcVkResponse;
1809
- export declare function toChonkComputeStandaloneVk(o: MsgpackChonkComputeStandaloneVk): ChonkComputeStandaloneVk;
1810
- export declare function fromChonkComputeStandaloneVk(o: ChonkComputeStandaloneVk): MsgpackChonkComputeStandaloneVk;
1811
- export declare function toChonkComputeStandaloneVkResponse(o: MsgpackChonkComputeStandaloneVkResponse): ChonkComputeStandaloneVkResponse;
1812
- export declare function fromChonkComputeStandaloneVkResponse(o: ChonkComputeStandaloneVkResponse): MsgpackChonkComputeStandaloneVkResponse;
1813
- export declare function toChonkLoad(o: MsgpackChonkLoad): ChonkLoad;
1814
- export declare function fromChonkLoad(o: ChonkLoad): MsgpackChonkLoad;
889
+ export declare function toBn254G2Mul(o: MsgpackBn254G2Mul): Bn254G2Mul;
890
+ export declare function toBn254G1IsOnCurve(o: MsgpackBn254G1IsOnCurve): Bn254G1IsOnCurve;
891
+ export declare function toBn254G1FromCompressed(o: MsgpackBn254G1FromCompressed): Bn254G1FromCompressed;
892
+ export declare function toSchnorrComputePublicKey(o: MsgpackSchnorrComputePublicKey): SchnorrComputePublicKey;
893
+ export declare function toSchnorrConstructSignature(o: MsgpackSchnorrConstructSignature): SchnorrConstructSignature;
894
+ export declare function toSchnorrVerifySignature(o: MsgpackSchnorrVerifySignature): SchnorrVerifySignature;
895
+ export declare function toEcdsaSecp256k1ComputePublicKey(o: MsgpackEcdsaSecp256k1ComputePublicKey): EcdsaSecp256k1ComputePublicKey;
896
+ export declare function toEcdsaSecp256r1ComputePublicKey(o: MsgpackEcdsaSecp256r1ComputePublicKey): EcdsaSecp256r1ComputePublicKey;
897
+ export declare function toEcdsaSecp256k1ConstructSignature(o: MsgpackEcdsaSecp256k1ConstructSignature): EcdsaSecp256k1ConstructSignature;
898
+ export declare function toEcdsaSecp256r1ConstructSignature(o: MsgpackEcdsaSecp256r1ConstructSignature): EcdsaSecp256r1ConstructSignature;
899
+ export declare function toEcdsaSecp256k1RecoverPublicKey(o: MsgpackEcdsaSecp256k1RecoverPublicKey): EcdsaSecp256k1RecoverPublicKey;
900
+ export declare function toEcdsaSecp256r1RecoverPublicKey(o: MsgpackEcdsaSecp256r1RecoverPublicKey): EcdsaSecp256r1RecoverPublicKey;
901
+ export declare function toEcdsaSecp256k1VerifySignature(o: MsgpackEcdsaSecp256k1VerifySignature): EcdsaSecp256k1VerifySignature;
902
+ export declare function toSecp256r1Point(o: MsgpackSecp256r1Point): Secp256r1Point;
903
+ export declare function toEcdsaSecp256r1VerifySignature(o: MsgpackEcdsaSecp256r1VerifySignature): EcdsaSecp256r1VerifySignature;
904
+ export declare function toSrsInitSrs(o: MsgpackSrsInitSrs): SrsInitSrs;
905
+ export declare function toSrsInitGrumpkinSrs(o: MsgpackSrsInitGrumpkinSrs): SrsInitGrumpkinSrs;
906
+ export declare function toShutdown(o: MsgpackShutdown): Shutdown;
907
+ export declare function toErrorResponse(o: MsgpackErrorResponse): ErrorResponse;
908
+ export declare function toCircuitProveResponse(o: MsgpackCircuitProveResponse): CircuitProveResponse;
909
+ export declare function toCircuitInfoResponse(o: MsgpackCircuitInfoResponse): CircuitInfoResponse;
910
+ export declare function toCircuitVerifyResponse(o: MsgpackCircuitVerifyResponse): CircuitVerifyResponse;
911
+ export declare function toChonkComputeVkResponse(o: MsgpackChonkComputeVkResponse): ChonkComputeVkResponse;
912
+ export declare function toChonkStartResponse(o: MsgpackChonkStartResponse): ChonkStartResponse;
1815
913
  export declare function toChonkLoadResponse(o: MsgpackChonkLoadResponse): ChonkLoadResponse;
1816
- export declare function fromChonkLoadResponse(o: ChonkLoadResponse): MsgpackChonkLoadResponse;
1817
- export declare function toChonkProof(o: MsgpackChonkProof): ChonkProof;
1818
- export declare function fromChonkProof(o: ChonkProof): MsgpackChonkProof;
1819
- export declare function toChonkProve(o: MsgpackChonkProve): ChonkProve;
1820
- export declare function fromChonkProve(o: ChonkProve): MsgpackChonkProve;
914
+ export declare function toChonkAccumulateResponse(o: MsgpackChonkAccumulateResponse): ChonkAccumulateResponse;
1821
915
  export declare function toChonkProveResponse(o: MsgpackChonkProveResponse): ChonkProveResponse;
1822
- export declare function fromChonkProveResponse(o: ChonkProveResponse): MsgpackChonkProveResponse;
1823
- export declare function toChonkStart(o: MsgpackChonkStart): ChonkStart;
1824
- export declare function fromChonkStart(o: ChonkStart): MsgpackChonkStart;
1825
- export declare function toChonkStartResponse(o: MsgpackChonkStartResponse): ChonkStartResponse;
1826
- export declare function fromChonkStartResponse(o: ChonkStartResponse): MsgpackChonkStartResponse;
1827
- export declare function toChonkStats(o: MsgpackChonkStats): ChonkStats;
1828
- export declare function fromChonkStats(o: ChonkStats): MsgpackChonkStats;
1829
- export declare function toChonkStatsResponse(o: MsgpackChonkStatsResponse): ChonkStatsResponse;
1830
- export declare function fromChonkStatsResponse(o: ChonkStatsResponse): MsgpackChonkStatsResponse;
1831
- export declare function toChonkVerify(o: MsgpackChonkVerify): ChonkVerify;
1832
- export declare function fromChonkVerify(o: ChonkVerify): MsgpackChonkVerify;
1833
916
  export declare function toChonkVerifyResponse(o: MsgpackChonkVerifyResponse): ChonkVerifyResponse;
1834
- export declare function fromChonkVerifyResponse(o: ChonkVerifyResponse): MsgpackChonkVerifyResponse;
1835
- export declare function toCircuitComputeVk(o: MsgpackCircuitComputeVk): CircuitComputeVk;
1836
- export declare function fromCircuitComputeVk(o: CircuitComputeVk): MsgpackCircuitComputeVk;
1837
- export declare function toCircuitComputeVkResponse(o: MsgpackCircuitComputeVkResponse): CircuitComputeVkResponse;
917
+ export declare function toVkAsFieldsResponse(o: MsgpackVkAsFieldsResponse): VkAsFieldsResponse;
918
+ export declare function toMegaVkAsFieldsResponse(o: MsgpackMegaVkAsFieldsResponse): MegaVkAsFieldsResponse;
919
+ export declare function toCircuitWriteSolidityVerifierResponse(o: MsgpackCircuitWriteSolidityVerifierResponse): CircuitWriteSolidityVerifierResponse;
920
+ export declare function toChonkCheckPrecomputedVkResponse(o: MsgpackChonkCheckPrecomputedVkResponse): ChonkCheckPrecomputedVkResponse;
921
+ export declare function toChonkStatsResponse(o: MsgpackChonkStatsResponse): ChonkStatsResponse;
922
+ export declare function toPoseidon2HashResponse(o: MsgpackPoseidon2HashResponse): Poseidon2HashResponse;
923
+ export declare function toPoseidon2PermutationResponse(o: MsgpackPoseidon2PermutationResponse): Poseidon2PermutationResponse;
924
+ export declare function toPedersenCommitResponse(o: MsgpackPedersenCommitResponse): PedersenCommitResponse;
925
+ export declare function toPedersenHashResponse(o: MsgpackPedersenHashResponse): PedersenHashResponse;
926
+ export declare function toPedersenHashBufferResponse(o: MsgpackPedersenHashBufferResponse): PedersenHashBufferResponse;
927
+ export declare function toBlake2sResponse(o: MsgpackBlake2sResponse): Blake2sResponse;
928
+ export declare function toBlake2sToFieldResponse(o: MsgpackBlake2sToFieldResponse): Blake2sToFieldResponse;
929
+ export declare function toAesEncryptResponse(o: MsgpackAesEncryptResponse): AesEncryptResponse;
930
+ export declare function toAesDecryptResponse(o: MsgpackAesDecryptResponse): AesDecryptResponse;
931
+ export declare function toGrumpkinMulResponse(o: MsgpackGrumpkinMulResponse): GrumpkinMulResponse;
932
+ export declare function toGrumpkinAddResponse(o: MsgpackGrumpkinAddResponse): GrumpkinAddResponse;
933
+ export declare function toGrumpkinBatchMulResponse(o: MsgpackGrumpkinBatchMulResponse): GrumpkinBatchMulResponse;
934
+ export declare function toGrumpkinGetRandomFrResponse(o: MsgpackGrumpkinGetRandomFrResponse): GrumpkinGetRandomFrResponse;
935
+ export declare function toGrumpkinReduce512Response(o: MsgpackGrumpkinReduce512Response): GrumpkinReduce512Response;
936
+ export declare function toSecp256k1MulResponse(o: MsgpackSecp256k1MulResponse): Secp256k1MulResponse;
937
+ export declare function toSecp256k1GetRandomFrResponse(o: MsgpackSecp256k1GetRandomFrResponse): Secp256k1GetRandomFrResponse;
938
+ export declare function toSecp256k1Reduce512Response(o: MsgpackSecp256k1Reduce512Response): Secp256k1Reduce512Response;
939
+ export declare function toBn254FrSqrtResponse(o: MsgpackBn254FrSqrtResponse): Bn254FrSqrtResponse;
940
+ export declare function toBn254FqSqrtResponse(o: MsgpackBn254FqSqrtResponse): Bn254FqSqrtResponse;
941
+ export declare function toBn254G1MulResponse(o: MsgpackBn254G1MulResponse): Bn254G1MulResponse;
942
+ export declare function toBn254G2MulResponse(o: MsgpackBn254G2MulResponse): Bn254G2MulResponse;
943
+ export declare function toBn254G1IsOnCurveResponse(o: MsgpackBn254G1IsOnCurveResponse): Bn254G1IsOnCurveResponse;
944
+ export declare function toBn254G1FromCompressedResponse(o: MsgpackBn254G1FromCompressedResponse): Bn254G1FromCompressedResponse;
945
+ export declare function toSchnorrComputePublicKeyResponse(o: MsgpackSchnorrComputePublicKeyResponse): SchnorrComputePublicKeyResponse;
946
+ export declare function toSchnorrConstructSignatureResponse(o: MsgpackSchnorrConstructSignatureResponse): SchnorrConstructSignatureResponse;
947
+ export declare function toSchnorrVerifySignatureResponse(o: MsgpackSchnorrVerifySignatureResponse): SchnorrVerifySignatureResponse;
948
+ export declare function toEcdsaSecp256k1ComputePublicKeyResponse(o: MsgpackEcdsaSecp256k1ComputePublicKeyResponse): EcdsaSecp256k1ComputePublicKeyResponse;
949
+ export declare function toEcdsaSecp256r1ComputePublicKeyResponse(o: MsgpackEcdsaSecp256r1ComputePublicKeyResponse): EcdsaSecp256r1ComputePublicKeyResponse;
950
+ export declare function toEcdsaSecp256k1ConstructSignatureResponse(o: MsgpackEcdsaSecp256k1ConstructSignatureResponse): EcdsaSecp256k1ConstructSignatureResponse;
951
+ export declare function toEcdsaSecp256r1ConstructSignatureResponse(o: MsgpackEcdsaSecp256r1ConstructSignatureResponse): EcdsaSecp256r1ConstructSignatureResponse;
952
+ export declare function toEcdsaSecp256k1RecoverPublicKeyResponse(o: MsgpackEcdsaSecp256k1RecoverPublicKeyResponse): EcdsaSecp256k1RecoverPublicKeyResponse;
953
+ export declare function toEcdsaSecp256r1RecoverPublicKeyResponse(o: MsgpackEcdsaSecp256r1RecoverPublicKeyResponse): EcdsaSecp256r1RecoverPublicKeyResponse;
954
+ export declare function toEcdsaSecp256k1VerifySignatureResponse(o: MsgpackEcdsaSecp256k1VerifySignatureResponse): EcdsaSecp256k1VerifySignatureResponse;
955
+ export declare function toEcdsaSecp256r1VerifySignatureResponse(o: MsgpackEcdsaSecp256r1VerifySignatureResponse): EcdsaSecp256r1VerifySignatureResponse;
956
+ export declare function toSrsInitSrsResponse(o: MsgpackSrsInitSrsResponse): SrsInitSrsResponse;
957
+ export declare function toSrsInitGrumpkinSrsResponse(o: MsgpackSrsInitGrumpkinSrsResponse): SrsInitGrumpkinSrsResponse;
958
+ export declare function toShutdownResponse(o: MsgpackShutdownResponse): ShutdownResponse;
1838
959
  export declare function fromCircuitComputeVkResponse(o: CircuitComputeVkResponse): MsgpackCircuitComputeVkResponse;
1839
- export declare function toCircuitInfoResponse(o: MsgpackCircuitInfoResponse): CircuitInfoResponse;
1840
- export declare function fromCircuitInfoResponse(o: CircuitInfoResponse): MsgpackCircuitInfoResponse;
1841
- export declare function toCircuitInput(o: MsgpackCircuitInput): CircuitInput;
1842
960
  export declare function fromCircuitInput(o: CircuitInput): MsgpackCircuitInput;
1843
- export declare function toCircuitInputNoVK(o: MsgpackCircuitInputNoVK): CircuitInputNoVK;
1844
- export declare function fromCircuitInputNoVK(o: CircuitInputNoVK): MsgpackCircuitInputNoVK;
1845
- export declare function toCircuitProve(o: MsgpackCircuitProve): CircuitProve;
961
+ export declare function fromProofSystemSettings(o: ProofSystemSettings): MsgpackProofSystemSettings;
1846
962
  export declare function fromCircuitProve(o: CircuitProve): MsgpackCircuitProve;
1847
- export declare function toCircuitProveResponse(o: MsgpackCircuitProveResponse): CircuitProveResponse;
1848
- export declare function fromCircuitProveResponse(o: CircuitProveResponse): MsgpackCircuitProveResponse;
1849
- export declare function toCircuitStats(o: MsgpackCircuitStats): CircuitStats;
963
+ export declare function fromCircuitInputNoVK(o: CircuitInputNoVK): MsgpackCircuitInputNoVK;
964
+ export declare function fromCircuitComputeVk(o: CircuitComputeVk): MsgpackCircuitComputeVk;
1850
965
  export declare function fromCircuitStats(o: CircuitStats): MsgpackCircuitStats;
1851
- export declare function toCircuitVerify(o: MsgpackCircuitVerify): CircuitVerify;
1852
966
  export declare function fromCircuitVerify(o: CircuitVerify): MsgpackCircuitVerify;
1853
- export declare function toCircuitVerifyResponse(o: MsgpackCircuitVerifyResponse): CircuitVerifyResponse;
1854
- export declare function fromCircuitVerifyResponse(o: CircuitVerifyResponse): MsgpackCircuitVerifyResponse;
1855
- export declare function toCircuitWriteSolidityVerifier(o: MsgpackCircuitWriteSolidityVerifier): CircuitWriteSolidityVerifier;
967
+ export declare function fromChonkComputeVk(o: ChonkComputeVk): MsgpackChonkComputeVk;
968
+ export declare function fromChonkStart(o: ChonkStart): MsgpackChonkStart;
969
+ export declare function fromChonkLoad(o: ChonkLoad): MsgpackChonkLoad;
970
+ export declare function fromChonkAccumulate(o: ChonkAccumulate): MsgpackChonkAccumulate;
971
+ export declare function fromChonkProve(o: ChonkProve): MsgpackChonkProve;
972
+ export declare function fromGoblinProof(o: GoblinProof): MsgpackGoblinProof;
973
+ export declare function fromChonkProof(o: ChonkProof): MsgpackChonkProof;
974
+ export declare function fromChonkVerify(o: ChonkVerify): MsgpackChonkVerify;
975
+ export declare function fromVkAsFields(o: VkAsFields): MsgpackVkAsFields;
976
+ export declare function fromMegaVkAsFields(o: MegaVkAsFields): MsgpackMegaVkAsFields;
1856
977
  export declare function fromCircuitWriteSolidityVerifier(o: CircuitWriteSolidityVerifier): MsgpackCircuitWriteSolidityVerifier;
1857
- export declare function toCircuitWriteSolidityVerifierResponse(o: MsgpackCircuitWriteSolidityVerifierResponse): CircuitWriteSolidityVerifierResponse;
1858
- export declare function fromCircuitWriteSolidityVerifierResponse(o: CircuitWriteSolidityVerifierResponse): MsgpackCircuitWriteSolidityVerifierResponse;
1859
- export declare function toECCVMProof(o: MsgpackECCVMProof): ECCVMProof;
1860
- export declare function fromECCVMProof(o: ECCVMProof): MsgpackECCVMProof;
1861
- export declare function toEcdsaSecp256k1ComputePublicKey(o: MsgpackEcdsaSecp256k1ComputePublicKey): EcdsaSecp256k1ComputePublicKey;
978
+ export declare function fromChonkCheckPrecomputedVk(o: ChonkCheckPrecomputedVk): MsgpackChonkCheckPrecomputedVk;
979
+ export declare function fromChonkStats(o: ChonkStats): MsgpackChonkStats;
980
+ export declare function fromPoseidon2Hash(o: Poseidon2Hash): MsgpackPoseidon2Hash;
981
+ export declare function fromPoseidon2Permutation(o: Poseidon2Permutation): MsgpackPoseidon2Permutation;
982
+ export declare function fromPedersenCommit(o: PedersenCommit): MsgpackPedersenCommit;
983
+ export declare function fromPedersenHash(o: PedersenHash): MsgpackPedersenHash;
984
+ export declare function fromPedersenHashBuffer(o: PedersenHashBuffer): MsgpackPedersenHashBuffer;
985
+ export declare function fromBlake2s(o: Blake2s): MsgpackBlake2s;
986
+ export declare function fromBlake2sToField(o: Blake2sToField): MsgpackBlake2sToField;
987
+ export declare function fromAesEncrypt(o: AesEncrypt): MsgpackAesEncrypt;
988
+ export declare function fromAesDecrypt(o: AesDecrypt): MsgpackAesDecrypt;
989
+ export declare function fromGrumpkinPoint(o: GrumpkinPoint): MsgpackGrumpkinPoint;
990
+ export declare function fromGrumpkinMul(o: GrumpkinMul): MsgpackGrumpkinMul;
991
+ export declare function fromGrumpkinAdd(o: GrumpkinAdd): MsgpackGrumpkinAdd;
992
+ export declare function fromGrumpkinBatchMul(o: GrumpkinBatchMul): MsgpackGrumpkinBatchMul;
993
+ export declare function fromGrumpkinGetRandomFr(o: GrumpkinGetRandomFr): MsgpackGrumpkinGetRandomFr;
994
+ export declare function fromGrumpkinReduce512(o: GrumpkinReduce512): MsgpackGrumpkinReduce512;
995
+ export declare function fromSecp256k1Point(o: Secp256k1Point): MsgpackSecp256k1Point;
996
+ export declare function fromSecp256k1Mul(o: Secp256k1Mul): MsgpackSecp256k1Mul;
997
+ export declare function fromSecp256k1GetRandomFr(o: Secp256k1GetRandomFr): MsgpackSecp256k1GetRandomFr;
998
+ export declare function fromSecp256k1Reduce512(o: Secp256k1Reduce512): MsgpackSecp256k1Reduce512;
999
+ export declare function fromBn254FrSqrt(o: Bn254FrSqrt): MsgpackBn254FrSqrt;
1000
+ export declare function fromBn254FqSqrt(o: Bn254FqSqrt): MsgpackBn254FqSqrt;
1001
+ export declare function fromBn254G1Point(o: Bn254G1Point): MsgpackBn254G1Point;
1002
+ export declare function fromBn254G1Mul(o: Bn254G1Mul): MsgpackBn254G1Mul;
1003
+ export declare function fromBn254G2Point(o: Bn254G2Point): MsgpackBn254G2Point;
1004
+ export declare function fromBn254G2Mul(o: Bn254G2Mul): MsgpackBn254G2Mul;
1005
+ export declare function fromBn254G1IsOnCurve(o: Bn254G1IsOnCurve): MsgpackBn254G1IsOnCurve;
1006
+ export declare function fromBn254G1FromCompressed(o: Bn254G1FromCompressed): MsgpackBn254G1FromCompressed;
1007
+ export declare function fromSchnorrComputePublicKey(o: SchnorrComputePublicKey): MsgpackSchnorrComputePublicKey;
1008
+ export declare function fromSchnorrConstructSignature(o: SchnorrConstructSignature): MsgpackSchnorrConstructSignature;
1009
+ export declare function fromSchnorrVerifySignature(o: SchnorrVerifySignature): MsgpackSchnorrVerifySignature;
1862
1010
  export declare function fromEcdsaSecp256k1ComputePublicKey(o: EcdsaSecp256k1ComputePublicKey): MsgpackEcdsaSecp256k1ComputePublicKey;
1863
- export declare function toEcdsaSecp256k1ComputePublicKeyResponse(o: MsgpackEcdsaSecp256k1ComputePublicKeyResponse): EcdsaSecp256k1ComputePublicKeyResponse;
1864
- export declare function fromEcdsaSecp256k1ComputePublicKeyResponse(o: EcdsaSecp256k1ComputePublicKeyResponse): MsgpackEcdsaSecp256k1ComputePublicKeyResponse;
1865
- export declare function toEcdsaSecp256k1ConstructSignature(o: MsgpackEcdsaSecp256k1ConstructSignature): EcdsaSecp256k1ConstructSignature;
1866
- export declare function fromEcdsaSecp256k1ConstructSignature(o: EcdsaSecp256k1ConstructSignature): MsgpackEcdsaSecp256k1ConstructSignature;
1867
- export declare function toEcdsaSecp256k1ConstructSignatureResponse(o: MsgpackEcdsaSecp256k1ConstructSignatureResponse): EcdsaSecp256k1ConstructSignatureResponse;
1868
- export declare function fromEcdsaSecp256k1ConstructSignatureResponse(o: EcdsaSecp256k1ConstructSignatureResponse): MsgpackEcdsaSecp256k1ConstructSignatureResponse;
1869
- export declare function toEcdsaSecp256k1RecoverPublicKey(o: MsgpackEcdsaSecp256k1RecoverPublicKey): EcdsaSecp256k1RecoverPublicKey;
1870
- export declare function fromEcdsaSecp256k1RecoverPublicKey(o: EcdsaSecp256k1RecoverPublicKey): MsgpackEcdsaSecp256k1RecoverPublicKey;
1871
- export declare function toEcdsaSecp256k1RecoverPublicKeyResponse(o: MsgpackEcdsaSecp256k1RecoverPublicKeyResponse): EcdsaSecp256k1RecoverPublicKeyResponse;
1872
- export declare function fromEcdsaSecp256k1RecoverPublicKeyResponse(o: EcdsaSecp256k1RecoverPublicKeyResponse): MsgpackEcdsaSecp256k1RecoverPublicKeyResponse;
1873
- export declare function toEcdsaSecp256k1VerifySignature(o: MsgpackEcdsaSecp256k1VerifySignature): EcdsaSecp256k1VerifySignature;
1874
- export declare function fromEcdsaSecp256k1VerifySignature(o: EcdsaSecp256k1VerifySignature): MsgpackEcdsaSecp256k1VerifySignature;
1875
- export declare function toEcdsaSecp256k1VerifySignatureResponse(o: MsgpackEcdsaSecp256k1VerifySignatureResponse): EcdsaSecp256k1VerifySignatureResponse;
1876
- export declare function fromEcdsaSecp256k1VerifySignatureResponse(o: EcdsaSecp256k1VerifySignatureResponse): MsgpackEcdsaSecp256k1VerifySignatureResponse;
1877
- export declare function toEcdsaSecp256r1ComputePublicKey(o: MsgpackEcdsaSecp256r1ComputePublicKey): EcdsaSecp256r1ComputePublicKey;
1878
1011
  export declare function fromEcdsaSecp256r1ComputePublicKey(o: EcdsaSecp256r1ComputePublicKey): MsgpackEcdsaSecp256r1ComputePublicKey;
1879
- export declare function toEcdsaSecp256r1ComputePublicKeyResponse(o: MsgpackEcdsaSecp256r1ComputePublicKeyResponse): EcdsaSecp256r1ComputePublicKeyResponse;
1880
- export declare function fromEcdsaSecp256r1ComputePublicKeyResponse(o: EcdsaSecp256r1ComputePublicKeyResponse): MsgpackEcdsaSecp256r1ComputePublicKeyResponse;
1881
- export declare function toEcdsaSecp256r1ConstructSignature(o: MsgpackEcdsaSecp256r1ConstructSignature): EcdsaSecp256r1ConstructSignature;
1012
+ export declare function fromEcdsaSecp256k1ConstructSignature(o: EcdsaSecp256k1ConstructSignature): MsgpackEcdsaSecp256k1ConstructSignature;
1882
1013
  export declare function fromEcdsaSecp256r1ConstructSignature(o: EcdsaSecp256r1ConstructSignature): MsgpackEcdsaSecp256r1ConstructSignature;
1883
- export declare function toEcdsaSecp256r1ConstructSignatureResponse(o: MsgpackEcdsaSecp256r1ConstructSignatureResponse): EcdsaSecp256r1ConstructSignatureResponse;
1884
- export declare function fromEcdsaSecp256r1ConstructSignatureResponse(o: EcdsaSecp256r1ConstructSignatureResponse): MsgpackEcdsaSecp256r1ConstructSignatureResponse;
1885
- export declare function toEcdsaSecp256r1RecoverPublicKey(o: MsgpackEcdsaSecp256r1RecoverPublicKey): EcdsaSecp256r1RecoverPublicKey;
1014
+ export declare function fromEcdsaSecp256k1RecoverPublicKey(o: EcdsaSecp256k1RecoverPublicKey): MsgpackEcdsaSecp256k1RecoverPublicKey;
1886
1015
  export declare function fromEcdsaSecp256r1RecoverPublicKey(o: EcdsaSecp256r1RecoverPublicKey): MsgpackEcdsaSecp256r1RecoverPublicKey;
1887
- export declare function toEcdsaSecp256r1RecoverPublicKeyResponse(o: MsgpackEcdsaSecp256r1RecoverPublicKeyResponse): EcdsaSecp256r1RecoverPublicKeyResponse;
1888
- export declare function fromEcdsaSecp256r1RecoverPublicKeyResponse(o: EcdsaSecp256r1RecoverPublicKeyResponse): MsgpackEcdsaSecp256r1RecoverPublicKeyResponse;
1889
- export declare function toEcdsaSecp256r1VerifySignature(o: MsgpackEcdsaSecp256r1VerifySignature): EcdsaSecp256r1VerifySignature;
1016
+ export declare function fromEcdsaSecp256k1VerifySignature(o: EcdsaSecp256k1VerifySignature): MsgpackEcdsaSecp256k1VerifySignature;
1017
+ export declare function fromSecp256r1Point(o: Secp256r1Point): MsgpackSecp256r1Point;
1890
1018
  export declare function fromEcdsaSecp256r1VerifySignature(o: EcdsaSecp256r1VerifySignature): MsgpackEcdsaSecp256r1VerifySignature;
1891
- export declare function toEcdsaSecp256r1VerifySignatureResponse(o: MsgpackEcdsaSecp256r1VerifySignatureResponse): EcdsaSecp256r1VerifySignatureResponse;
1892
- export declare function fromEcdsaSecp256r1VerifySignatureResponse(o: EcdsaSecp256r1VerifySignatureResponse): MsgpackEcdsaSecp256r1VerifySignatureResponse;
1893
- export declare function toErrorResponse(o: MsgpackErrorResponse): ErrorResponse;
1019
+ export declare function fromSrsInitSrs(o: SrsInitSrs): MsgpackSrsInitSrs;
1020
+ export declare function fromSrsInitGrumpkinSrs(o: SrsInitGrumpkinSrs): MsgpackSrsInitGrumpkinSrs;
1021
+ export declare function fromShutdown(o: Shutdown): MsgpackShutdown;
1894
1022
  export declare function fromErrorResponse(o: ErrorResponse): MsgpackErrorResponse;
1895
- export declare function toGoblinProof(o: MsgpackGoblinProof): GoblinProof;
1896
- export declare function fromGoblinProof(o: GoblinProof): MsgpackGoblinProof;
1897
- export declare function toGrumpkinAdd(o: MsgpackGrumpkinAdd): GrumpkinAdd;
1898
- export declare function fromGrumpkinAdd(o: GrumpkinAdd): MsgpackGrumpkinAdd;
1899
- export declare function toGrumpkinAddResponse(o: MsgpackGrumpkinAddResponse): GrumpkinAddResponse;
1023
+ export declare function fromCircuitProveResponse(o: CircuitProveResponse): MsgpackCircuitProveResponse;
1024
+ export declare function fromCircuitInfoResponse(o: CircuitInfoResponse): MsgpackCircuitInfoResponse;
1025
+ export declare function fromCircuitVerifyResponse(o: CircuitVerifyResponse): MsgpackCircuitVerifyResponse;
1026
+ export declare function fromChonkComputeVkResponse(o: ChonkComputeVkResponse): MsgpackChonkComputeVkResponse;
1027
+ export declare function fromChonkStartResponse(o: ChonkStartResponse): MsgpackChonkStartResponse;
1028
+ export declare function fromChonkLoadResponse(o: ChonkLoadResponse): MsgpackChonkLoadResponse;
1029
+ export declare function fromChonkAccumulateResponse(o: ChonkAccumulateResponse): MsgpackChonkAccumulateResponse;
1030
+ export declare function fromChonkProveResponse(o: ChonkProveResponse): MsgpackChonkProveResponse;
1031
+ export declare function fromChonkVerifyResponse(o: ChonkVerifyResponse): MsgpackChonkVerifyResponse;
1032
+ export declare function fromVkAsFieldsResponse(o: VkAsFieldsResponse): MsgpackVkAsFieldsResponse;
1033
+ export declare function fromMegaVkAsFieldsResponse(o: MegaVkAsFieldsResponse): MsgpackMegaVkAsFieldsResponse;
1034
+ export declare function fromCircuitWriteSolidityVerifierResponse(o: CircuitWriteSolidityVerifierResponse): MsgpackCircuitWriteSolidityVerifierResponse;
1035
+ export declare function fromChonkCheckPrecomputedVkResponse(o: ChonkCheckPrecomputedVkResponse): MsgpackChonkCheckPrecomputedVkResponse;
1036
+ export declare function fromChonkStatsResponse(o: ChonkStatsResponse): MsgpackChonkStatsResponse;
1037
+ export declare function fromPoseidon2HashResponse(o: Poseidon2HashResponse): MsgpackPoseidon2HashResponse;
1038
+ export declare function fromPoseidon2PermutationResponse(o: Poseidon2PermutationResponse): MsgpackPoseidon2PermutationResponse;
1039
+ export declare function fromPedersenCommitResponse(o: PedersenCommitResponse): MsgpackPedersenCommitResponse;
1040
+ export declare function fromPedersenHashResponse(o: PedersenHashResponse): MsgpackPedersenHashResponse;
1041
+ export declare function fromPedersenHashBufferResponse(o: PedersenHashBufferResponse): MsgpackPedersenHashBufferResponse;
1042
+ export declare function fromBlake2sResponse(o: Blake2sResponse): MsgpackBlake2sResponse;
1043
+ export declare function fromBlake2sToFieldResponse(o: Blake2sToFieldResponse): MsgpackBlake2sToFieldResponse;
1044
+ export declare function fromAesEncryptResponse(o: AesEncryptResponse): MsgpackAesEncryptResponse;
1045
+ export declare function fromAesDecryptResponse(o: AesDecryptResponse): MsgpackAesDecryptResponse;
1046
+ export declare function fromGrumpkinMulResponse(o: GrumpkinMulResponse): MsgpackGrumpkinMulResponse;
1900
1047
  export declare function fromGrumpkinAddResponse(o: GrumpkinAddResponse): MsgpackGrumpkinAddResponse;
1901
- export declare function toGrumpkinBatchMul(o: MsgpackGrumpkinBatchMul): GrumpkinBatchMul;
1902
- export declare function fromGrumpkinBatchMul(o: GrumpkinBatchMul): MsgpackGrumpkinBatchMul;
1903
- export declare function toGrumpkinBatchMulResponse(o: MsgpackGrumpkinBatchMulResponse): GrumpkinBatchMulResponse;
1904
1048
  export declare function fromGrumpkinBatchMulResponse(o: GrumpkinBatchMulResponse): MsgpackGrumpkinBatchMulResponse;
1905
- export declare function toGrumpkinGetRandomFr(o: MsgpackGrumpkinGetRandomFr): GrumpkinGetRandomFr;
1906
- export declare function fromGrumpkinGetRandomFr(o: GrumpkinGetRandomFr): MsgpackGrumpkinGetRandomFr;
1907
- export declare function toGrumpkinGetRandomFrResponse(o: MsgpackGrumpkinGetRandomFrResponse): GrumpkinGetRandomFrResponse;
1908
1049
  export declare function fromGrumpkinGetRandomFrResponse(o: GrumpkinGetRandomFrResponse): MsgpackGrumpkinGetRandomFrResponse;
1909
- export declare function toGrumpkinMul(o: MsgpackGrumpkinMul): GrumpkinMul;
1910
- export declare function fromGrumpkinMul(o: GrumpkinMul): MsgpackGrumpkinMul;
1911
- export declare function toGrumpkinMulResponse(o: MsgpackGrumpkinMulResponse): GrumpkinMulResponse;
1912
- export declare function fromGrumpkinMulResponse(o: GrumpkinMulResponse): MsgpackGrumpkinMulResponse;
1913
- export declare function toGrumpkinPoint(o: MsgpackGrumpkinPoint): GrumpkinPoint;
1914
- export declare function fromGrumpkinPoint(o: GrumpkinPoint): MsgpackGrumpkinPoint;
1915
- export declare function toGrumpkinReduce512(o: MsgpackGrumpkinReduce512): GrumpkinReduce512;
1916
- export declare function fromGrumpkinReduce512(o: GrumpkinReduce512): MsgpackGrumpkinReduce512;
1917
- export declare function toGrumpkinReduce512Response(o: MsgpackGrumpkinReduce512Response): GrumpkinReduce512Response;
1918
1050
  export declare function fromGrumpkinReduce512Response(o: GrumpkinReduce512Response): MsgpackGrumpkinReduce512Response;
1919
- export declare function toMegaVkAsFields(o: MsgpackMegaVkAsFields): MegaVkAsFields;
1920
- export declare function fromMegaVkAsFields(o: MegaVkAsFields): MsgpackMegaVkAsFields;
1921
- export declare function toMegaVkAsFieldsResponse(o: MsgpackMegaVkAsFieldsResponse): MegaVkAsFieldsResponse;
1922
- export declare function fromMegaVkAsFieldsResponse(o: MegaVkAsFieldsResponse): MsgpackMegaVkAsFieldsResponse;
1923
- export declare function toPedersenCommit(o: MsgpackPedersenCommit): PedersenCommit;
1924
- export declare function fromPedersenCommit(o: PedersenCommit): MsgpackPedersenCommit;
1925
- export declare function toPedersenCommitResponse(o: MsgpackPedersenCommitResponse): PedersenCommitResponse;
1926
- export declare function fromPedersenCommitResponse(o: PedersenCommitResponse): MsgpackPedersenCommitResponse;
1927
- export declare function toPedersenHash(o: MsgpackPedersenHash): PedersenHash;
1928
- export declare function fromPedersenHash(o: PedersenHash): MsgpackPedersenHash;
1929
- export declare function toPedersenHashBuffer(o: MsgpackPedersenHashBuffer): PedersenHashBuffer;
1930
- export declare function fromPedersenHashBuffer(o: PedersenHashBuffer): MsgpackPedersenHashBuffer;
1931
- export declare function toPedersenHashBufferResponse(o: MsgpackPedersenHashBufferResponse): PedersenHashBufferResponse;
1932
- export declare function fromPedersenHashBufferResponse(o: PedersenHashBufferResponse): MsgpackPedersenHashBufferResponse;
1933
- export declare function toPedersenHashResponse(o: MsgpackPedersenHashResponse): PedersenHashResponse;
1934
- export declare function fromPedersenHashResponse(o: PedersenHashResponse): MsgpackPedersenHashResponse;
1935
- export declare function toPoseidon2Hash(o: MsgpackPoseidon2Hash): Poseidon2Hash;
1936
- export declare function fromPoseidon2Hash(o: Poseidon2Hash): MsgpackPoseidon2Hash;
1937
- export declare function toPoseidon2HashAccumulate(o: MsgpackPoseidon2HashAccumulate): Poseidon2HashAccumulate;
1938
- export declare function fromPoseidon2HashAccumulate(o: Poseidon2HashAccumulate): MsgpackPoseidon2HashAccumulate;
1939
- export declare function toPoseidon2HashAccumulateResponse(o: MsgpackPoseidon2HashAccumulateResponse): Poseidon2HashAccumulateResponse;
1940
- export declare function fromPoseidon2HashAccumulateResponse(o: Poseidon2HashAccumulateResponse): MsgpackPoseidon2HashAccumulateResponse;
1941
- export declare function toPoseidon2HashResponse(o: MsgpackPoseidon2HashResponse): Poseidon2HashResponse;
1942
- export declare function fromPoseidon2HashResponse(o: Poseidon2HashResponse): MsgpackPoseidon2HashResponse;
1943
- export declare function toPoseidon2Permutation(o: MsgpackPoseidon2Permutation): Poseidon2Permutation;
1944
- export declare function fromPoseidon2Permutation(o: Poseidon2Permutation): MsgpackPoseidon2Permutation;
1945
- export declare function toPoseidon2PermutationResponse(o: MsgpackPoseidon2PermutationResponse): Poseidon2PermutationResponse;
1946
- export declare function fromPoseidon2PermutationResponse(o: Poseidon2PermutationResponse): MsgpackPoseidon2PermutationResponse;
1947
- export declare function toProofSystemSettings(o: MsgpackProofSystemSettings): ProofSystemSettings;
1948
- export declare function fromProofSystemSettings(o: ProofSystemSettings): MsgpackProofSystemSettings;
1949
- export declare function toSchnorrComputePublicKey(o: MsgpackSchnorrComputePublicKey): SchnorrComputePublicKey;
1950
- export declare function fromSchnorrComputePublicKey(o: SchnorrComputePublicKey): MsgpackSchnorrComputePublicKey;
1951
- export declare function toSchnorrComputePublicKeyResponse(o: MsgpackSchnorrComputePublicKeyResponse): SchnorrComputePublicKeyResponse;
1051
+ export declare function fromSecp256k1MulResponse(o: Secp256k1MulResponse): MsgpackSecp256k1MulResponse;
1052
+ export declare function fromSecp256k1GetRandomFrResponse(o: Secp256k1GetRandomFrResponse): MsgpackSecp256k1GetRandomFrResponse;
1053
+ export declare function fromSecp256k1Reduce512Response(o: Secp256k1Reduce512Response): MsgpackSecp256k1Reduce512Response;
1054
+ export declare function fromBn254FrSqrtResponse(o: Bn254FrSqrtResponse): MsgpackBn254FrSqrtResponse;
1055
+ export declare function fromBn254FqSqrtResponse(o: Bn254FqSqrtResponse): MsgpackBn254FqSqrtResponse;
1056
+ export declare function fromBn254G1MulResponse(o: Bn254G1MulResponse): MsgpackBn254G1MulResponse;
1057
+ export declare function fromBn254G2MulResponse(o: Bn254G2MulResponse): MsgpackBn254G2MulResponse;
1058
+ export declare function fromBn254G1IsOnCurveResponse(o: Bn254G1IsOnCurveResponse): MsgpackBn254G1IsOnCurveResponse;
1059
+ export declare function fromBn254G1FromCompressedResponse(o: Bn254G1FromCompressedResponse): MsgpackBn254G1FromCompressedResponse;
1952
1060
  export declare function fromSchnorrComputePublicKeyResponse(o: SchnorrComputePublicKeyResponse): MsgpackSchnorrComputePublicKeyResponse;
1953
- export declare function toSchnorrConstructSignature(o: MsgpackSchnorrConstructSignature): SchnorrConstructSignature;
1954
- export declare function fromSchnorrConstructSignature(o: SchnorrConstructSignature): MsgpackSchnorrConstructSignature;
1955
- export declare function toSchnorrConstructSignatureResponse(o: MsgpackSchnorrConstructSignatureResponse): SchnorrConstructSignatureResponse;
1956
1061
  export declare function fromSchnorrConstructSignatureResponse(o: SchnorrConstructSignatureResponse): MsgpackSchnorrConstructSignatureResponse;
1957
- export declare function toSchnorrVerifySignature(o: MsgpackSchnorrVerifySignature): SchnorrVerifySignature;
1958
- export declare function fromSchnorrVerifySignature(o: SchnorrVerifySignature): MsgpackSchnorrVerifySignature;
1959
- export declare function toSchnorrVerifySignatureResponse(o: MsgpackSchnorrVerifySignatureResponse): SchnorrVerifySignatureResponse;
1960
1062
  export declare function fromSchnorrVerifySignatureResponse(o: SchnorrVerifySignatureResponse): MsgpackSchnorrVerifySignatureResponse;
1961
- export declare function toSecp256k1GetRandomFr(o: MsgpackSecp256k1GetRandomFr): Secp256k1GetRandomFr;
1962
- export declare function fromSecp256k1GetRandomFr(o: Secp256k1GetRandomFr): MsgpackSecp256k1GetRandomFr;
1963
- export declare function toSecp256k1GetRandomFrResponse(o: MsgpackSecp256k1GetRandomFrResponse): Secp256k1GetRandomFrResponse;
1964
- export declare function fromSecp256k1GetRandomFrResponse(o: Secp256k1GetRandomFrResponse): MsgpackSecp256k1GetRandomFrResponse;
1965
- export declare function toSecp256k1Mul(o: MsgpackSecp256k1Mul): Secp256k1Mul;
1966
- export declare function fromSecp256k1Mul(o: Secp256k1Mul): MsgpackSecp256k1Mul;
1967
- export declare function toSecp256k1MulResponse(o: MsgpackSecp256k1MulResponse): Secp256k1MulResponse;
1968
- export declare function fromSecp256k1MulResponse(o: Secp256k1MulResponse): MsgpackSecp256k1MulResponse;
1969
- export declare function toSecp256k1Point(o: MsgpackSecp256k1Point): Secp256k1Point;
1970
- export declare function fromSecp256k1Point(o: Secp256k1Point): MsgpackSecp256k1Point;
1971
- export declare function toSecp256k1Reduce512(o: MsgpackSecp256k1Reduce512): Secp256k1Reduce512;
1972
- export declare function fromSecp256k1Reduce512(o: Secp256k1Reduce512): MsgpackSecp256k1Reduce512;
1973
- export declare function toSecp256k1Reduce512Response(o: MsgpackSecp256k1Reduce512Response): Secp256k1Reduce512Response;
1974
- export declare function fromSecp256k1Reduce512Response(o: Secp256k1Reduce512Response): MsgpackSecp256k1Reduce512Response;
1975
- export declare function toSecp256r1Point(o: MsgpackSecp256r1Point): Secp256r1Point;
1976
- export declare function fromSecp256r1Point(o: Secp256r1Point): MsgpackSecp256r1Point;
1977
- export declare function toShutdown(o: MsgpackShutdown): Shutdown;
1978
- export declare function fromShutdown(o: Shutdown): MsgpackShutdown;
1979
- export declare function toShutdownResponse(o: MsgpackShutdownResponse): ShutdownResponse;
1980
- export declare function fromShutdownResponse(o: ShutdownResponse): MsgpackShutdownResponse;
1981
- export declare function toSrsInitGrumpkinSrs(o: MsgpackSrsInitGrumpkinSrs): SrsInitGrumpkinSrs;
1982
- export declare function fromSrsInitGrumpkinSrs(o: SrsInitGrumpkinSrs): MsgpackSrsInitGrumpkinSrs;
1983
- export declare function toSrsInitGrumpkinSrsResponse(o: MsgpackSrsInitGrumpkinSrsResponse): SrsInitGrumpkinSrsResponse;
1984
- export declare function fromSrsInitGrumpkinSrsResponse(o: SrsInitGrumpkinSrsResponse): MsgpackSrsInitGrumpkinSrsResponse;
1985
- export declare function toSrsInitSrs(o: MsgpackSrsInitSrs): SrsInitSrs;
1986
- export declare function fromSrsInitSrs(o: SrsInitSrs): MsgpackSrsInitSrs;
1987
- export declare function toSrsInitSrsResponse(o: MsgpackSrsInitSrsResponse): SrsInitSrsResponse;
1063
+ export declare function fromEcdsaSecp256k1ComputePublicKeyResponse(o: EcdsaSecp256k1ComputePublicKeyResponse): MsgpackEcdsaSecp256k1ComputePublicKeyResponse;
1064
+ export declare function fromEcdsaSecp256r1ComputePublicKeyResponse(o: EcdsaSecp256r1ComputePublicKeyResponse): MsgpackEcdsaSecp256r1ComputePublicKeyResponse;
1065
+ export declare function fromEcdsaSecp256k1ConstructSignatureResponse(o: EcdsaSecp256k1ConstructSignatureResponse): MsgpackEcdsaSecp256k1ConstructSignatureResponse;
1066
+ export declare function fromEcdsaSecp256r1ConstructSignatureResponse(o: EcdsaSecp256r1ConstructSignatureResponse): MsgpackEcdsaSecp256r1ConstructSignatureResponse;
1067
+ export declare function fromEcdsaSecp256k1RecoverPublicKeyResponse(o: EcdsaSecp256k1RecoverPublicKeyResponse): MsgpackEcdsaSecp256k1RecoverPublicKeyResponse;
1068
+ export declare function fromEcdsaSecp256r1RecoverPublicKeyResponse(o: EcdsaSecp256r1RecoverPublicKeyResponse): MsgpackEcdsaSecp256r1RecoverPublicKeyResponse;
1069
+ export declare function fromEcdsaSecp256k1VerifySignatureResponse(o: EcdsaSecp256k1VerifySignatureResponse): MsgpackEcdsaSecp256k1VerifySignatureResponse;
1070
+ export declare function fromEcdsaSecp256r1VerifySignatureResponse(o: EcdsaSecp256r1VerifySignatureResponse): MsgpackEcdsaSecp256r1VerifySignatureResponse;
1988
1071
  export declare function fromSrsInitSrsResponse(o: SrsInitSrsResponse): MsgpackSrsInitSrsResponse;
1989
- export declare function toVkAsFields(o: MsgpackVkAsFields): VkAsFields;
1990
- export declare function fromVkAsFields(o: VkAsFields): MsgpackVkAsFields;
1991
- export declare function toVkAsFieldsResponse(o: MsgpackVkAsFieldsResponse): VkAsFieldsResponse;
1992
- export declare function fromVkAsFieldsResponse(o: VkAsFieldsResponse): MsgpackVkAsFieldsResponse;
1072
+ export declare function fromSrsInitGrumpkinSrsResponse(o: SrsInitGrumpkinSrsResponse): MsgpackSrsInitGrumpkinSrsResponse;
1073
+ export declare function fromShutdownResponse(o: ShutdownResponse): MsgpackShutdownResponse;
1993
1074
  export interface BbApiBase {
1994
1075
  circuitProve(command: CircuitProve): Promise<CircuitProveResponse>;
1995
1076
  circuitComputeVk(command: CircuitComputeVk): Promise<CircuitComputeVkResponse>;
1996
1077
  circuitStats(command: CircuitStats): Promise<CircuitInfoResponse>;
1997
1078
  circuitVerify(command: CircuitVerify): Promise<CircuitVerifyResponse>;
1998
- chonkComputeStandaloneVk(command: ChonkComputeStandaloneVk): Promise<ChonkComputeStandaloneVkResponse>;
1999
- chonkComputeIvcVk(command: ChonkComputeIvcVk): Promise<ChonkComputeIvcVkResponse>;
1079
+ chonkComputeVk(command: ChonkComputeVk): Promise<ChonkComputeVkResponse>;
2000
1080
  chonkStart(command: ChonkStart): Promise<ChonkStartResponse>;
2001
1081
  chonkLoad(command: ChonkLoad): Promise<ChonkLoadResponse>;
2002
1082
  chonkAccumulate(command: ChonkAccumulate): Promise<ChonkAccumulateResponse>;
@@ -2009,7 +1089,6 @@ export interface BbApiBase {
2009
1089
  chonkStats(command: ChonkStats): Promise<ChonkStatsResponse>;
2010
1090
  poseidon2Hash(command: Poseidon2Hash): Promise<Poseidon2HashResponse>;
2011
1091
  poseidon2Permutation(command: Poseidon2Permutation): Promise<Poseidon2PermutationResponse>;
2012
- poseidon2HashAccumulate(command: Poseidon2HashAccumulate): Promise<Poseidon2HashAccumulateResponse>;
2013
1092
  pedersenCommit(command: PedersenCommit): Promise<PedersenCommitResponse>;
2014
1093
  pedersenHash(command: PedersenHash): Promise<PedersenHashResponse>;
2015
1094
  pedersenHashBuffer(command: PedersenHashBuffer): Promise<PedersenHashBufferResponse>;
@@ -2048,4 +1127,4 @@ export interface BbApiBase {
2048
1127
  destroy(): Promise<void>;
2049
1128
  }
2050
1129
  export {};
2051
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpX3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2JpbmQvZ2VuZXJhdGVkL2FwaV90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE1BQU0sTUFBTSxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzlDLE1BQU0sTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBR2xDLE1BQU0sV0FBVyxVQUFVO0lBQ3pCLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdkIsRUFBRSxFQUFFLFVBQVUsQ0FBQztJQUNmLEdBQUcsRUFBRSxVQUFVLENBQUM7SUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELFVBQVUsaUJBQWlCO0lBQ3pCLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdkIsRUFBRSxFQUFFLFVBQVUsQ0FBQztJQUNmLEdBQUcsRUFBRSxVQUFVLENBQUM7SUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsU0FBUyxFQUFFLFVBQVUsQ0FBQztDQUN2QjtBQUVELFVBQVUseUJBQXlCO0lBQ2pDLFNBQVMsRUFBRSxVQUFVLENBQUM7Q0FDdkI7QUFFRCxNQUFNLFdBQVcsVUFBVTtJQUN6QixTQUFTLEVBQUUsVUFBVSxDQUFDO0lBQ3RCLEVBQUUsRUFBRSxVQUFVLENBQUM7SUFDZixHQUFHLEVBQUUsVUFBVSxDQUFDO0lB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
1130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpX3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2JpbmQvZ2VuZXJhdGVkL2FwaV90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE1BQU0sTUFBTSxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBRzlDLE1BQU0sV0FBVyx3QkFBd0I7SUFDdkMsS0FBSyxFQUFFLFVBQVUsQ0FBQztJQUNsQixNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDckIsSUFBSSxFQUFFLFVBQVUsQ0FBQztDQUNsQjtBQUVELE1BQU0sV0FBVyxZQUFZO0lBQzNCLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLEVBQUUsVUFBVSxDQUFDO0lBQ3JCLGVBQWUsRUFBRSxVQUFVLENBQUM7Q0FDN0I7QUFFRCxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLGVBQWUsRUFBRSxPQUFPLENBQUM7SUFDekIsY0FBYyxFQUFFLE1BQU0sQ0FBQztJQUN2QixTQUFTLEVBQUUsT0FBTyxDQUFDO0lBQ25CLHlCQUF5QixFQUFFLE9BQU8sQ0FBQztDQUNwQztBQUVELE1BQU0sV0FBVyxZQUFZO0lBQzNCLE9BQU8sRUFBRSxZQUFZLENBQUM7SUFDdEIsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixRQUFRLEVBQUUsbUJBQW1CLENBQUM7Q0FDL0I7QUFFRCxNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLEVBQUUsVUFBVSxDQUFDO0NBQ3RCO0FBRUQsTUFBTSxXQUFXLGdCQUFnQjtJQUMvQixPQUFPLEVBQUUsZ0JBQWdCLENBQUM7SUFDMUIsUUFBUSxFQUFFLG1CQUFtQixDQUFDO0NBQy9CO0FBRUQsTUFBTSxXQUFXLFlBQVk7SUFDM0IsT0FBTyxFQUFFLFlBQVksQ0FBQztJQUN0QixxQkFBcUIsRUFBRSxPQUFPLENBQUM7SUFDL0IsUUFBUSxFQUFFLG1C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