@fairmint/canton-node-sdk
Version:
Canton Node SDK
62 lines • 2.71 kB
TypeScript
import { z } from 'zod';
import { type BaseClient } from '../../../../../../core';
import type { paths } from '../../../../../../generated/canton/community/ledger/ledger-json-api/src/test/resources/json-api-docs/openapi';
type GeneratedResponse = paths['/v2/parties/external/generate-topology']['post']['responses']['200']['content']['application/json'];
export declare const GenerateExternalPartyTopologyParamsSchema: z.ZodObject<{
synchronizer: z.ZodString;
partyHint: z.ZodString;
publicKey: z.ZodObject<{
format: z.ZodString;
keyData: z.ZodString;
keySpec: z.ZodString;
}, z.core.$strip>;
localParticipantObservationOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
otherConfirmingParticipantUids: z.ZodOptional<z.ZodArray<z.ZodString>>;
confirmationThreshold: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
observingParticipantUids: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export type GenerateExternalPartyTopologyParams = z.infer<typeof GenerateExternalPartyTopologyParamsSchema>;
export type GenerateExternalPartyTopologyResponse = GeneratedResponse;
/**
* Generate a topology for an external party
*
* This endpoint generates the topology transactions and multi-hash needed to onboard an external party. The multi-hash
* should be signed using the external party's private key and then submitted to the allocate endpoint along with the
* generated topology transactions.
*
* @example
* ```typescript
* const result = await client.generateExternalPartyTopology({
* synchronizer: 'global-synchronizer',
* partyHint: 'alice',
* publicKey: {
* format: 'CRYPTO_KEY_FORMAT_DER_X509_SUBJECT_PUBLIC_KEY_INFO',
* keyData: 'base64-encoded-public-key',
* keySpec: 'SIGNING_KEY_SPEC_EC_CURVE25519'
* }
* });
* // result.multiHash - sign this with the external party's private key
* // result.topologyTransactions - pass these to allocate endpoint
* // result.partyId - the generated party ID
* ```;
*/
export declare const GenerateExternalPartyTopology: new (client: BaseClient) => import("../../../../../../core").ApiOperation<{
synchronizer: string;
partyHint: string;
publicKey: {
format: string;
keyData: string;
keySpec: string;
};
localParticipantObservationOnly?: boolean | undefined;
otherConfirmingParticipantUids?: string[] | undefined;
confirmationThreshold?: number | undefined;
observingParticipantUids?: string[] | undefined;
}, {
partyId: string;
publicKeyFingerprint: string;
topologyTransactions?: string[];
multiHash: string;
}>;
export {};
//# sourceMappingURL=generate-topology.d.ts.map