import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file inco/sealingfetcher/v1/sealingfetcher.proto. */ export declare const file_inco_sealingfetcher_v1_sealingfetcher: GenFile; /** * StartBackupRequest is the request type of StartBackup rpc. * This request backs up all TEE keys (EOA, Network, and Storage keys). * * @generated from message inco.sealingfetcher.v1.StartBackupRequest */ export type StartBackupRequest = Message<"inco.sealingfetcher.v1.StartBackupRequest"> & { /** * The Sealing Provider to backup the TEE keys to. * * @generated from field: inco.sealingfetcher.v1.RATlsServer sealing_provider = 1; */ sealingProvider?: RATlsServer; /** * The TEE keys to backup. All three keys (EOA, Network, and Storage) should be provided. * * @generated from field: inco.sealingfetcher.v1.TeeKeys tee_keys = 2; */ teeKeys?: TeeKeys; }; /** * Describes the message inco.sealingfetcher.v1.StartBackupRequest. * Use `create(StartBackupRequestSchema)` to create a new message. */ export declare const StartBackupRequestSchema: GenMessage; /** * RATlsServer is the information on how to connect to the RA-TLS secured server. * * @generated from message inco.sealingfetcher.v1.RATlsServer */ export type RATlsServer = Message<"inco.sealingfetcher.v1.RATlsServer"> & { /** * tls_service_url is the URL of the TLS server that is a secured using RA-TLS. * * @generated from field: string tls_service_url = 1; */ tlsServiceUrl: string; /** * cert_service_url is the URL of the certificate service to get the certificate for the RA-TLS gRPC server. * It is not necessarily a secure channel. * * @generated from field: string cert_service_url = 2; */ certServiceUrl: string; }; /** * Describes the message inco.sealingfetcher.v1.RATlsServer. * Use `create(RATlsServerSchema)` to create a new message. */ export declare const RATlsServerSchema: GenMessage; /** * StartBackupEOARequest is the request type of StartBackupEOA rpc. * This request backs up only the EOA private key. * * @generated from message inco.sealingfetcher.v1.StartBackupEOARequest */ export type StartBackupEOARequest = Message<"inco.sealingfetcher.v1.StartBackupEOARequest"> & { /** * The Sealing Provider to backup the EOA key to. * * @generated from field: inco.sealingfetcher.v1.RATlsServer sealing_provider = 1; */ sealingProvider?: RATlsServer; /** * The EOA private key to backup. * The private key is encoded as an unsigned 256-bit big-endian integer in * the range [0, N-1], where N is the order of the curve. * * @generated from field: bytes eoa_privkey = 2; */ eoaPrivkey: Uint8Array; }; /** * Describes the message inco.sealingfetcher.v1.StartBackupEOARequest. * Use `create(StartBackupEOARequestSchema)` to create a new message. */ export declare const StartBackupEOARequestSchema: GenMessage; /** * StartBackupEOAResponse is the response type of StartBackupEOA rpc. * * @generated from message inco.sealingfetcher.v1.StartBackupEOAResponse */ export type StartBackupEOAResponse = Message<"inco.sealingfetcher.v1.StartBackupEOAResponse"> & {}; /** * Describes the message inco.sealingfetcher.v1.StartBackupEOAResponse. * Use `create(StartBackupEOAResponseSchema)` to create a new message. */ export declare const StartBackupEOAResponseSchema: GenMessage; /** * TeeKeys is a struct containing all the TEE keys, unsealed. * * @generated from message inco.sealingfetcher.v1.TeeKeys */ export type TeeKeys = Message<"inco.sealingfetcher.v1.TeeKeys"> & { /** * The EOA private key belonging to that TEE * The private key is encoded as an unsigned 256-bit big-endian integer in * the range [0, N-1], where N is the order of the curve. * * @generated from field: bytes eoa_privkey = 1; */ eoaPrivkey: Uint8Array; /** * The Network private key that the TEE generated during the bootstrap process. * This is simply a 32-byte array, that can be used as-is as a sepc256k1 * private key. * * @generated from field: bytes network_privkey = 2; */ networkPrivkey: Uint8Array; /** * The storage private key belonging to that TEE * This is simply a 32-byte array, that can be used as-is as a 256-bit * ChaCha20-Poly1305 secret key. * * @generated from field: bytes storage_privkey = 3; */ storagePrivkey: Uint8Array; }; /** * Describes the message inco.sealingfetcher.v1.TeeKeys. * Use `create(TeeKeysSchema)` to create a new message. */ export declare const TeeKeysSchema: GenMessage; /** * StartBackupResponse is the response type of StartBackup rpc. * * @generated from message inco.sealingfetcher.v1.StartBackupResponse */ export type StartBackupResponse = Message<"inco.sealingfetcher.v1.StartBackupResponse"> & {}; /** * Describes the message inco.sealingfetcher.v1.StartBackupResponse. * Use `create(StartBackupResponseSchema)` to create a new message. */ export declare const StartBackupResponseSchema: GenMessage; /** * HasTEEKeysRequest is the request type of HasTEEKeys rpc. * * @generated from message inco.sealingfetcher.v1.HasTEEKeysRequest */ export type HasTEEKeysRequest = Message<"inco.sealingfetcher.v1.HasTEEKeysRequest"> & {}; /** * Describes the message inco.sealingfetcher.v1.HasTEEKeysRequest. * Use `create(HasTEEKeysRequestSchema)` to create a new message. */ export declare const HasTEEKeysRequestSchema: GenMessage; /** * HasTEEKeysResponse is the response type of HasTEEKeys rpc. * * @generated from message inco.sealingfetcher.v1.HasTEEKeysResponse */ export type HasTEEKeysResponse = Message<"inco.sealingfetcher.v1.HasTEEKeysResponse"> & { /** * True if the TEE keys are present in the sealing fetcher's memory. * * @generated from field: bool has_tee_keys = 1; */ hasTeeKeys: boolean; }; /** * Describes the message inco.sealingfetcher.v1.HasTEEKeysResponse. * Use `create(HasTEEKeysResponseSchema)` to create a new message. */ export declare const HasTEEKeysResponseSchema: GenMessage; /** * GetTEEKeysRequest is the request type of GetTEEKeys rpc. * * @generated from message inco.sealingfetcher.v1.GetTEEKeysRequest */ export type GetTEEKeysRequest = Message<"inco.sealingfetcher.v1.GetTEEKeysRequest"> & {}; /** * Describes the message inco.sealingfetcher.v1.GetTEEKeysRequest. * Use `create(GetTEEKeysRequestSchema)` to create a new message. */ export declare const GetTEEKeysRequestSchema: GenMessage; /** * GetTEEKeysResponse is the response type of GetTEEKeys rpc. * * @generated from message inco.sealingfetcher.v1.GetTEEKeysResponse */ export type GetTEEKeysResponse = Message<"inco.sealingfetcher.v1.GetTEEKeysResponse"> & { /** * The TEE keys. * * @generated from field: inco.sealingfetcher.v1.TeeKeys tee_keys = 1; */ teeKeys?: TeeKeys; }; /** * Describes the message inco.sealingfetcher.v1.GetTEEKeysResponse. * Use `create(GetTEEKeysResponseSchema)` to create a new message. */ export declare const GetTEEKeysResponseSchema: GenMessage; /** * RecoverTEEKeysRequest is the request type of RecoverTEEKeys rpc. * * @generated from message inco.sealingfetcher.v1.RecoverTEEKeysRequest */ export type RecoverTEEKeysRequest = Message<"inco.sealingfetcher.v1.RecoverTEEKeysRequest"> & { /** * The Sealing Providers to recover the TEE keys from. * The sealing fetcher will try each provider in order until one succeeds. * * @generated from field: repeated inco.sealingfetcher.v1.RATlsServer sealing_providers = 1; */ sealingProviders: RATlsServer[]; }; /** * Describes the message inco.sealingfetcher.v1.RecoverTEEKeysRequest. * Use `create(RecoverTEEKeysRequestSchema)` to create a new message. */ export declare const RecoverTEEKeysRequestSchema: GenMessage; /** * RecoverTEEKeysResponse is the response type of RecoverTEEKeys rpc. * * @generated from message inco.sealingfetcher.v1.RecoverTEEKeysResponse */ export type RecoverTEEKeysResponse = Message<"inco.sealingfetcher.v1.RecoverTEEKeysResponse"> & { /** * The TEE keys. * * @generated from field: inco.sealingfetcher.v1.TeeKeys tee_keys = 1; */ teeKeys?: TeeKeys; }; /** * Describes the message inco.sealingfetcher.v1.RecoverTEEKeysResponse. * Use `create(RecoverTEEKeysResponseSchema)` to create a new message. */ export declare const RecoverTEEKeysResponseSchema: GenMessage; /** * RecoverEOAKeyRequest is the request type of RecoverEOAKey rpc. * * @generated from message inco.sealingfetcher.v1.RecoverEOAKeyRequest */ export type RecoverEOAKeyRequest = Message<"inco.sealingfetcher.v1.RecoverEOAKeyRequest"> & { /** * The Sealing Providers to recover the EOA key from. * The sealing fetcher will try each provider in order until one succeeds. * * @generated from field: repeated inco.sealingfetcher.v1.RATlsServer sealing_providers = 1; */ sealingProviders: RATlsServer[]; /** * The EOA address (checksummed or lowercase, 0x-prefixed) to construct the filename. * The filename will be addnode_eoa_{eoa_address_lowercase}.json * * @generated from field: string eoa = 2; */ eoa: string; }; /** * Describes the message inco.sealingfetcher.v1.RecoverEOAKeyRequest. * Use `create(RecoverEOAKeyRequestSchema)` to create a new message. */ export declare const RecoverEOAKeyRequestSchema: GenMessage; /** * RecoverEOAKeyResponse is the response type of RecoverEOAKey rpc. * * @generated from message inco.sealingfetcher.v1.RecoverEOAKeyResponse */ export type RecoverEOAKeyResponse = Message<"inco.sealingfetcher.v1.RecoverEOAKeyResponse"> & { /** * The EOA private key. * The private key is encoded as an unsigned 256-bit big-endian integer in * the range [0, N-1], where N is the order of the curve. * * @generated from field: bytes eoa_privkey = 1; */ eoaPrivkey: Uint8Array; }; /** * Describes the message inco.sealingfetcher.v1.RecoverEOAKeyResponse. * Use `create(RecoverEOAKeyResponseSchema)` to create a new message. */ export declare const RecoverEOAKeyResponseSchema: GenMessage; /** * SealingFetcherService contains all RPC endpoints for the Sealing fetcher. * * @generated from service inco.sealingfetcher.v1.SealingFetcherService */ export declare const SealingFetcherService: GenService<{ /** * StartBackup starts the backup process for the sealing provider. * This RPC backs up all TEE keys (EOA, Network, and Storage keys) to the sealing provider. * It stores the keys in the sealing fetcher's memory and seals all three keys to the sealing provider. * Use this during bootstrap and upgrade flows when all keys are available. * * @generated from rpc inco.sealingfetcher.v1.SealingFetcherService.StartBackup */ startBackup: { methodKind: "unary"; input: typeof StartBackupRequestSchema; output: typeof StartBackupResponseSchema; }; /** * StartBackupEOA starts the backup process for only the EOA key. * This RPC backs up only the EOA private key to the sealing provider, without backing up * the Network or Storage keys. It stores the EOA key in the sealing provider. * Use this during the Add Node flow when only the EOA key has been generated, before * the Network and Storage keys are populated. * * @generated from rpc inco.sealingfetcher.v1.SealingFetcherService.StartBackupEOA */ startBackupEOA: { methodKind: "unary"; input: typeof StartBackupEOARequestSchema; output: typeof StartBackupEOAResponseSchema; }; /** * HasTEEKeys checks if the TEE keys are present in the sealing fetcher's memory. * If not, then RecoverTEEKeys should be called first * * @generated from rpc inco.sealingfetcher.v1.SealingFetcherService.HasTEEKeys */ hasTEEKeys: { methodKind: "unary"; input: typeof HasTEEKeysRequestSchema; output: typeof HasTEEKeysResponseSchema; }; /** * GetTEEKeys returns the set of network key, EOA key and storage key * that the TEE can access. * If the TEE keys are not present in the sealing fetcher's memory, then * this rpc will return an error. * * @generated from rpc inco.sealingfetcher.v1.SealingFetcherService.GetTEEKeys */ getTEEKeys: { methodKind: "unary"; input: typeof GetTEEKeysRequestSchema; output: typeof GetTEEKeysResponseSchema; }; /** * RecoverTEEKeys recovers the TEE keys from the sealed TEE keys, and stores * them in the sealing fetcher's memory. * * @generated from rpc inco.sealingfetcher.v1.SealingFetcherService.RecoverTEEKeys */ recoverTEEKeys: { methodKind: "unary"; input: typeof RecoverTEEKeysRequestSchema; output: typeof RecoverTEEKeysResponseSchema; }; /** * RecoverEOAKey recovers only the EOA private key from the sealing provider. * This is used during the Add Node flow to retrieve the EOA key that was * previously backed up via StartBackupEOA. The EOA key is stored with filename * addnode_eoa_{eoa_address_lowercase}.json in the sealing provider. * * @generated from rpc inco.sealingfetcher.v1.SealingFetcherService.RecoverEOAKey */ recoverEOAKey: { methodKind: "unary"; input: typeof RecoverEOAKeyRequestSchema; output: typeof RecoverEOAKeyResponseSchema; }; }>;