sui-svelte-wallet-kit
Version:
Svelte 5 wallet kit for Sui: connect wallets, manage accounts, SuiNS, balance, sign transactions/messages
43 lines (42 loc) • 1.42 kB
TypeScript
/**
* Multisig Validation
* Validates MultisigConfig and signer definitions
*/
import { type MultisigConfig, type MultisigSigner, type MultisigPreConfig, type MultisigDynamicConfig } from './MultisigTypes.js';
export interface ValidationResult {
valid: boolean;
errors: string[];
}
/**
* Check if config is preconfigured mode
*/
export declare function isPreconfiguredMode(config: MultisigConfig): config is MultisigPreConfig;
/**
* Check if config is dynamic mode
*/
export declare function isDynamicMode(config: MultisigConfig): config is MultisigDynamicConfig;
/**
* Validate a single signer definition
*/
export declare function validateSigner(signer: MultisigSigner, index: number): string[];
/**
* Calculate total weight from signers
*/
export declare function calculateTotalWeight(signers: MultisigSigner[]): number;
/**
* Validate preconfigured mode config
*/
export declare function validatePreconfiguredConfig(config: MultisigPreConfig): ValidationResult;
/**
* Validate dynamic mode config
*/
export declare function validateDynamicConfig(config: MultisigDynamicConfig): ValidationResult;
/**
* Validate MultisigConfig
* Throws MultisigError if invalid
*/
export declare function validateMultisigConfig(config: MultisigConfig): ValidationResult;
/**
* Validate threshold against total weight
*/
export declare function validateThreshold(threshold: number, totalWeight: number): void;