UNPKG

@gorbchain-xyz/chaindecode

Version:

GorbchainSDK V1.3+ - Complete Solana development toolkit with advanced cryptography, messaging, and collaboration features. Build secure applications with blockchain, DeFi, and end-to-end encryption.

38 lines (37 loc) 1.99 kB
/** * Signature-based group encryption * Dynamic groups with membership managed by signatures */ import { EncryptionResult, SignatureGroupMetadata, MemberRole, GroupPermissions, EncryptionOptions, KeyRotationRequest } from './types.js'; /** * Create a signature-based dynamic group */ export declare function createSignatureGroup(groupName: string, creatorPrivateKey: string | Uint8Array, initialMembers: { publicKey: string; role: MemberRole; }[], permissions?: Partial<GroupPermissions>): Promise<SignatureGroupMetadata>; /** * Add a member to a signature group */ export declare function addMemberToSignatureGroup(groupMetadata: SignatureGroupMetadata, newMember: { publicKey: string; role: MemberRole; }, authorizedMemberPrivateKey: string | Uint8Array, authorizedMemberPublicKey: string): Promise<SignatureGroupMetadata>; /** * Remove a member from a signature group */ export declare function removeMemberFromSignatureGroup(groupMetadata: SignatureGroupMetadata, memberToRemove: string, authorizedMemberPrivateKey: string | Uint8Array, authorizedMemberPublicKey: string, rotateKeys?: boolean): Promise<SignatureGroupMetadata>; /** * Rotate encryption keys for a group */ export declare function rotateGroupKeys(groupMetadata: SignatureGroupMetadata, rotationRequest: KeyRotationRequest, authorizedMemberPrivateKey: string | Uint8Array, authorizedMemberPublicKey: string): Promise<SignatureGroupMetadata>; /** * Encrypt data for a signature group */ export declare function encryptForSignatureGroup(data: string | Uint8Array, groupMetadata: SignatureGroupMetadata, senderPrivateKey: string | Uint8Array, senderPublicKey: string, options?: EncryptionOptions): Promise<EncryptionResult>; /** * Decrypt signature group encrypted data */ export declare function decryptSignatureGroupData(encryptionResult: EncryptionResult, memberPrivateKey: string | Uint8Array, memberPublicKey: string, options?: { verifySignature?: boolean; }): Promise<Uint8Array>;