import { ChainCallDTO, ForbiddenError, UserAlias } from "@gala-chain/api"; import { GalaChainContext } from "../types"; export declare class ChaincodeAuthorizationError extends ForbiddenError { } export interface AuthenticateResult { alias: UserAlias; ethAddress?: string; roles: string[]; signedBy: UserAlias[]; signatureQuorum: number; allowedSigners: UserAlias[]; isMultisig: boolean; } /** * * @param ctx * @param dto * @returns User alias of the calling user. */ export declare function authenticate(ctx: GalaChainContext, dto: ChainCallDTO | undefined, quorum: number | undefined): Promise; export declare function authenticateSingleSignature(ctx: GalaChainContext, dto: ChainCallDTO & { signature: string; }): Promise; export declare function ensureIsAuthenticatedBy(ctx: GalaChainContext, dto: ChainCallDTO, expectedAlias: string, quorum: number | undefined): Promise<{ alias: string; ethAddress?: string; }>; /** * Authenticate as chaincode on the basis of the chaincodeId from the signed * proposal. This is a reliable way to authenticate as chaincode, because the * signed proposal is passed by a peer to the chaincode and can't be faked. */ export declare function authenticateAsOriginChaincode(ctx: GalaChainContext, dto: ChainCallDTO, chaincode: string): Promise; export declare function ensureSignatureQuorumIsMet(a: AuthenticateResult, quorum: number | undefined): void; //# sourceMappingURL=authenticate.d.ts.map