sdk_signer/pkg/sdk_client.d.ts

337 lines
9.5 KiB
TypeScript

// 4NK SDK Client WASM TypeScript Declarations (flate2 compatible)
export interface ApiReturn<T = any> {
success: boolean;
data?: T;
error?: string;
new_tx_to_send?: any;
commit_to_send?: any;
partial_tx?: any;
secrets?: any;
updated_process?: any;
push_to_storage?: any;
ciphers_to_send?: any;
}
export interface Device {
id: string;
name: string;
description?: string;
created_at?: string;
updated_at?: string;
}
export interface Process {
id: string;
name: string;
description?: string;
device_id: string;
state: ProcessState;
created_at?: string;
updated_at?: string;
}
export interface Member {
id: string;
name: string;
public_key: string;
process_id: string;
roles: string[];
created_at?: string;
updated_at?: string;
}
export interface Role {
id: string;
name: string;
description?: string;
process_id: string;
members: string[];
validation_rules: ValidationRule[];
created_at?: string;
updated_at?: string;
}
export interface ValidationRule {
id: string;
field_name: string;
rule_type: ValidationRuleType;
parameters?: any;
role_id: string;
created_at?: string;
updated_at?: string;
}
export interface Commitment {
id: string;
hash: string;
data: any;
process_id: string;
created_at?: string;
updated_at?: string;
}
export interface Signature {
id: string;
signature: string;
commitment_id: string;
public_key: string;
created_at?: string;
updated_at?: string;
}
export interface HandshakeMessage {
id: string;
message_type: string;
data: any;
device_id: string;
created_at?: string;
updated_at?: string;
}
export interface ProcessState {
commited_in: any;
pcd_commitment: any;
state_id: string;
keys: Record<string, string>;
validation_tokens: any[];
public_data: any;
roles: Record<string, RoleDefinition>;
}
export interface RoleDefinition {
members: any[];
validation_rules: Record<string, ValidationRule>;
}
export interface OutPointProcessMap {
[key: string]: any;
}
export interface Process {
id: string;
name: string;
description?: string;
device_id: string;
state: ProcessState;
created_at?: string;
updated_at?: string;
}
export interface Member {
id: string;
name: string;
public_key: string;
process_id: string;
roles: string[];
created_at?: string;
updated_at?: string;
}
export interface Role {
id: string;
name: string;
description?: string;
process_id: string;
members: string[];
validation_rules: ValidationRule[];
created_at?: string;
updated_at?: string;
}
export interface ValidationRule {
id: string;
field_name: string;
rule_type: ValidationRuleType;
parameters?: any;
role_id: string;
created_at?: string;
updated_at?: string;
}
export interface Commitment {
id: string;
hash: string;
data: any;
process_id: string;
created_at?: string;
updated_at?: string;
}
export interface Signature {
id: string;
signature: string;
commitment_id: string;
public_key: string;
created_at?: string;
updated_at?: string;
}
export interface HandshakeMessage {
id: string;
message_type: string;
data: any;
device_id: string;
created_at?: string;
updated_at?: string;
}
export interface ProcessState {
commited_in: any;
pcd_commitment: any;
state_id: string;
keys: Record<string, string>;
validation_tokens: any[];
public_data: any;
roles: Record<string, RoleDefinition>;
}
export interface RoleDefinition {
members: any[];
validation_rules: Record<string, ValidationRule>;
}
export interface OutPointProcessMap {
[key: string]: any;
}
// Enums
export const AnkFlag: {
VALIDATION_YES: "validation_yes";
VALIDATION_NO: "validation_no";
};
export const ProcessState: {
DRAFT: "draft";
ACTIVE: "active";
COMPLETED: "completed";
CANCELLED: "cancelled";
};
export const MemberRole: {
OWNER: "owner";
ADMIN: "admin";
MEMBER: "member";
GUEST: "guest";
};
export const ValidationRuleType: {
REQUIRED: "required";
MIN_LENGTH: "min_length";
MAX_LENGTH: "max_length";
PATTERN: "pattern";
CUSTOM: "custom";
};
// Function signatures
export function create_transaction(addresses: any, amount: number): ApiReturn;
export function create_silent_payment_address(scan_key: string, spend_key: string): ApiReturn<string>;
export function create_silent_payment_transaction(scan_key: string, spend_key: string, outputs: any[]): ApiReturn;
export function create_device(name: string, description?: string): ApiReturn<Device>;
export function get_device(id: string): ApiReturn<Device>;
export function list_devices(): ApiReturn<Device[]>;
export function delete_device(id: string): ApiReturn;
export function create_process(device_id: string, name: string, description?: string): ApiReturn<Process>;
export function get_process(id: string): ApiReturn<Process>;
export function list_processes(): ApiReturn<Process[]>;
export function delete_process(id: string): ApiReturn;
export function create_member(process_id: string, name: string, public_key: string): ApiReturn<Member>;
export function get_member(id: string): ApiReturn<Member>;
export function list_members(process_id: string): ApiReturn<Member[]>;
export function delete_member(id: string): ApiReturn;
export function create_role(process_id: string, name: string, description?: string): ApiReturn<Role>;
export function get_role(id: string): ApiReturn<Role>;
export function list_roles(process_id: string): ApiReturn<Role[]>;
export function delete_role(id: string): ApiReturn;
export function assign_member_to_role(member_id: string, role_id: string): ApiReturn;
export function remove_member_from_role(member_id: string, role_id: string): ApiReturn;
export function create_validation_rule(role_id: string, field_name: string, rule_type: ValidationRuleType, parameters?: any): ApiReturn<ValidationRule>;
export function get_validation_rule(id: string): ApiReturn<ValidationRule>;
export function list_validation_rules(role_id: string): ApiReturn<ValidationRule[]>;
export function delete_validation_rule(id: string): ApiReturn;
export function create_commitment(process_id: string, data: any): ApiReturn<Commitment>;
export function get_commitment(id: string): ApiReturn<Commitment>;
export function list_commitments(process_id: string): ApiReturn<Commitment[]>;
export function delete_commitment(id: string): ApiReturn;
export function create_signature(commitment_id: string, private_key: string): ApiReturn<Signature>;
export function verify_signature(commitment_id: string, signature: string, public_key: string): ApiReturn<{ valid: boolean }>;
export function list_signatures(commitment_id: string): ApiReturn<Signature[]>;
export function delete_signature(id: string): ApiReturn;
export function compress_data(data: string): Promise<ApiReturn<string>>;
export function decompress_data(compressed_data: string): Promise<ApiReturn<string>>;
export function create_handshake_message(device_id: string, message_type: string, data: any): ApiReturn<HandshakeMessage>;
export function verify_handshake_message(message: HandshakeMessage, public_key: string): ApiReturn<{ valid: boolean }>;
export function create_encrypted_message(data: any, public_key: string): ApiReturn<{ encrypted: string }>;
export function decrypt_message(encrypted_data: string, private_key: string): ApiReturn<{ decrypted: string }>;
export function create_hash(data: string): ApiReturn<{ hash: string }>;
export function verify_hash(data: string, hash: string): ApiReturn<{ valid: boolean }>;
export function create_random_bytes(length: number): ApiReturn<{ bytes: string }>;
export function create_uuid(): ApiReturn<{ uuid: string }>;
export function get_timestamp(): ApiReturn<{ timestamp: number }>;
export function validate_input(input: any, validation_rules: ValidationRule[]): ApiReturn<{ valid: boolean; errors: string[] }>;
export function format_output(output: any, format_type: string): ApiReturn<{ formatted: string }>;
export function log_message(level: string, message: string): ApiReturn;
export function get_version(): ApiReturn<{ version: string }>;
export function get_health_status(): ApiReturn<{ status: string; uptime: number }>;
// Initialize function
export function init(): Promise<void>;
// Default export
export default {
init,
create_transaction,
create_silent_payment_address,
create_silent_payment_transaction,
create_device,
get_device,
list_devices,
delete_device,
create_process,
get_process,
list_processes,
delete_process,
create_member,
get_member,
list_members,
delete_member,
create_role,
get_role,
list_roles,
delete_role,
assign_member_to_role,
remove_member_from_role,
create_validation_rule,
get_validation_rule,
list_validation_rules,
delete_validation_rule,
create_commitment,
get_commitment,
list_commitments,
delete_commitment,
create_signature,
verify_signature,
list_signatures,
delete_signature,
compress_data,
decompress_data,
create_handshake_message,
verify_handshake_message,
create_encrypted_message,
decrypt_message,
create_hash,
verify_hash,
create_random_bytes,
create_uuid,
get_timestamp,
validate_input,
format_output,
log_message,
get_version,
get_health_status,
AnkFlag,
ProcessState,
MemberRole,
ValidationRuleType
};