@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
TypeScript
/**
* 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>;