UNPKG

sindri

Version:

The Sindri Labs JavaScript SDK and CLI tool.

217 lines (208 loc) 8.24 kB
/* generated using openapi-typescript-codegen -- do no edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { ActionResponse } from "../models/ActionResponse"; import type { CircuitInfoResponse } from "../models/CircuitInfoResponse"; import type { CircuitProveInput } from "../models/CircuitProveInput"; import type { ProofInfoResponse } from "../models/ProofInfoResponse"; import type { CancelablePromise } from "../core/CancelablePromise"; import type { BaseHttpRequest } from "../core/BaseHttpRequest"; export class CircuitsService { constructor(public readonly httpRequest: BaseHttpRequest) {} /** * Create Circuit * Create a circuit. * @param formData * @returns CircuitInfoResponse Created * @throws ApiError */ public circuitCreate( formData: // This is a manual edit to allow `FormData` to be passed in directly: | FormData // DO NOT REMOVE THIS! | { files: Array<Blob>; /** * An arbitrary mapping of metadata keys to string values. This can be used to track additional information about the circuit such as an ID from an external system. */ meta?: Record<string, string>; /** * Tags for a circuit. */ tags?: Array<string>; }, ): CancelablePromise<CircuitInfoResponse> { return this.httpRequest.request({ method: "POST", url: "/api/v1/circuit/create", formData: formData, mediaType: "multipart/form-data", errors: { 400: `Bad Request`, 422: `Unprocessable Entity`, 500: `Internal Server Error`, 501: `Not Implemented`, }, }); } /** * Delete Circuit * Delete a circuit. * @param circuitId The circuit identifer of the circuit. * This can take one of the following forms: * * 1. `<CIRCUIT_ID>` - The unique UUID4 ID for an exact version of a compiled circuit. * 2. `<CIRCUIT_NAME>` - The name of a circuit owned by the authenticated team. This will default to * the most recent version of the circuit tagged as `latest`. * 3. `<CIRCUIT_NAME>:<TAG>` - The name of a circuit owned by the authenticated team and an explicit * tag. This corresponds to the most recent compilation of the circuit with the specified tag. * 4. `<TEAM_NAME>/<CIRCUIT_NAME>` - The name of a circuit owned by the specified team. This will * default to the most recent version of the circuit tagged as `latest`. * 5. `<TEAM_NAME>/<CIRCUIT_NAME>:<TAG>` - The name of a circuit owned by a specified team and an * explicit tag. This corresponds to the most recent compilation of the team's circuit with the * specified tag. * @returns ActionResponse OK * @throws ApiError */ public circuitDelete(circuitId: string): CancelablePromise<ActionResponse> { return this.httpRequest.request({ method: "DELETE", url: "/api/v1/circuit/{circuit_id}/delete", path: { circuit_id: circuitId, }, errors: { 404: `Not Found`, 500: `Internal Server Error`, }, }); } /** * Circuit Detail * Get info for an existing circuit. * @param circuitId The circuit identifer of the circuit. * This can take one of the following forms: * * 1. `<CIRCUIT_ID>` - The unique UUID4 ID for an exact version of a compiled circuit. * 2. `<CIRCUIT_NAME>` - The name of a circuit owned by the authenticated team. This will default to * the most recent version of the circuit tagged as `latest`. * 3. `<CIRCUIT_NAME>:<TAG>` - The name of a circuit owned by the authenticated team and an explicit * tag. This corresponds to the most recent compilation of the circuit with the specified tag. * 4. `<TEAM_NAME>/<CIRCUIT_NAME>` - The name of a circuit owned by the specified team. This will * default to the most recent version of the circuit tagged as `latest`. * 5. `<TEAM_NAME>/<CIRCUIT_NAME>:<TAG>` - The name of a circuit owned by a specified team and an * explicit tag. This corresponds to the most recent compilation of the team's circuit with the * specified tag. * @param includeVerificationKey Indicates whether to include the verification key in the response. * @returns CircuitInfoResponse OK * @throws ApiError */ public circuitDetail( circuitId: string, includeVerificationKey: boolean = true, ): CancelablePromise<CircuitInfoResponse> { return this.httpRequest.request({ method: "GET", url: "/api/v1/circuit/{circuit_id}/detail", path: { circuit_id: circuitId, }, query: { include_verification_key: includeVerificationKey, }, errors: { 404: `Not Found`, 500: `Internal Server Error`, }, }); } /** * Circuit List * List all circuits owned by team. * @returns CircuitInfoResponse OK * @throws ApiError */ public circuitList(): CancelablePromise<Array<CircuitInfoResponse>> { return this.httpRequest.request({ method: "GET", url: "/api/v1/circuit/list", errors: { 500: `Internal Server Error`, }, }); } /** * Circuit Proofs * List all proofs for a circuit. * @param circuitId The circuit identifer of the circuit. * This can take one of the following forms: * * 1. `<CIRCUIT_ID>` - The unique UUID4 ID for an exact version of a compiled circuit. * 2. `<CIRCUIT_NAME>` - The name of a circuit owned by the authenticated team. This will default to * the most recent version of the circuit tagged as `latest`. * 3. `<CIRCUIT_NAME>:<TAG>` - The name of a circuit owned by the authenticated team and an explicit * tag. This corresponds to the most recent compilation of the circuit with the specified tag. * 4. `<TEAM_NAME>/<CIRCUIT_NAME>` - The name of a circuit owned by the specified team. This will * default to the most recent version of the circuit tagged as `latest`. * 5. `<TEAM_NAME>/<CIRCUIT_NAME>:<TAG>` - The name of a circuit owned by a specified team and an * explicit tag. This corresponds to the most recent compilation of the team's circuit with the * specified tag. * @returns ProofInfoResponse OK * @throws ApiError */ public circuitProofs( circuitId: string, ): CancelablePromise<Array<ProofInfoResponse>> { return this.httpRequest.request({ method: "GET", url: "/api/v1/circuit/{circuit_id}/proofs", path: { circuit_id: circuitId, }, errors: { 404: `Not Found`, 500: `Internal Server Error`, }, }); } /** * Create Proof for Circuit * Prove a circuit with specific inputs. * @param circuitId The circuit identifer of the circuit. * This can take one of the following forms: * * 1. `<CIRCUIT_ID>` - The unique UUID4 ID for an exact version of a compiled circuit. * 2. `<CIRCUIT_NAME>` - The name of a circuit owned by the authenticated team. This will default to * the most recent version of the circuit tagged as `latest`. * 3. `<CIRCUIT_NAME>:<TAG>` - The name of a circuit owned by the authenticated team and an explicit * tag. This corresponds to the most recent compilation of the circuit with the specified tag. * 4. `<TEAM_NAME>/<CIRCUIT_NAME>` - The name of a circuit owned by the specified team. This will * default to the most recent version of the circuit tagged as `latest`. * 5. `<TEAM_NAME>/<CIRCUIT_NAME>:<TAG>` - The name of a circuit owned by a specified team and an * explicit tag. This corresponds to the most recent compilation of the team's circuit with the * specified tag. * @param requestBody * @returns ProofInfoResponse Created * @throws ApiError */ public proofCreate( circuitId: string, requestBody: CircuitProveInput, ): CancelablePromise<ProofInfoResponse> { return this.httpRequest.request({ method: "POST", url: "/api/v1/circuit/{circuit_id}/prove", path: { circuit_id: circuitId, }, body: requestBody, mediaType: "application/json", errors: { 400: `Bad Request`, 404: `Not Found`, 409: `Conflict`, 501: `Not Implemented`, }, }); } }