fix: add WASM package stub files that were ignored by .gitignore - these are needed for sdk_signer compilation

This commit is contained in:
Debian 2025-08-29 14:48:13 +00:00
parent 8a2c1aebf9
commit 027e6d9242
4 changed files with 402 additions and 0 deletions

18
pkg/package.json Normal file
View File

@ -0,0 +1,18 @@
{
"name": "sdk_client",
"version": "0.1.3",
"description": "4NK SDK Client WASM Package",
"main": "sdk_client.js",
"types": "sdk_client.d.ts",
"files": [
"sdk_client_bg.wasm",
"sdk_client.js",
"sdk_client.d.ts"
],
"scripts": {
"build": "echo 'WASM package built'"
},
"keywords": ["wasm", "4nk", "sdk"],
"author": "4NK Team",
"license": "MIT"
}

144
pkg/sdk_client.d.ts vendored Normal file
View File

@ -0,0 +1,144 @@
// 4NK SDK Client WASM Package - TypeScript Definitions
export interface WasmInstance {
// Add WASM instance interface as needed
}
// Core interfaces
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;
// Add other device properties as needed
}
export interface HandshakeMessage {
sp_address: string;
peers_list: Record<string, Member>;
processes_list: Record<string, Process>;
}
export interface Member {
sp_addresses: string[];
// Add other member properties
}
export interface MerkleProofResult {
root: string;
proof: string;
// Add other proof properties
}
export interface OutPointProcessMap {
[key: string]: Process;
}
export interface Process {
id: string;
state: ProcessState;
states: ProcessState[];
// Add other process properties
}
export interface ProcessState {
state_id: string;
public_data: Record<string, any>;
roles: Record<string, RoleDefinition>;
pcd_commitment?: any;
keys?: any;
commited_in?: any;
// Add other process state properties
}
export interface RoleDefinition {
members: string[];
validation_rules?: any;
storages?: any;
// Add other role definition properties
}
export interface SecretsStore {
// Add secrets store properties
}
export interface UserDiff {
// Add user diff properties
}
export interface AnkFlag {
// Add flag properties
}
// WASM functions
export async function init(): Promise<void>;
export function getWasmInstance(): WasmInstance | undefined;
// SDK functions - Synchronous versions
export function setup(): void;
export function create_transaction(addresses: any, amount: number): ApiReturn;
export function get_available_amount(): bigint;
export function create_faucet_msg(): string;
export function create_new_device(amount: number, network: string): string;
export function dump_device(): Device;
export function get_address(): string;
export function get_pairing_process_id(): string;
export function is_paired(): boolean;
export function encode_json(data: any): Record<string, any>;
export function encode_binary(data: any): Record<string, any>;
export function create_new_process(encodedPrivateData: any, roles: any, encodedPublicData: any, relayAddress: string, feeRate: any, members: any): ApiReturn;
export function parse_cipher(message: string, membersList: any, processes: any): ApiReturn;
export function parse_new_tx(tx: string, blockHeight: number, membersList: any): ApiReturn;
export function create_update_message(process: any, stateId: string, membersList: any): ApiReturn;
export function validate_state(process: any, stateId: string, membersList: any): ApiReturn;
export function update_process(process: any, stateId: string, roles: any, publicData: any, privateData: any): ApiReturn;
export function restore_device(params: any): void;
export function pair_device(params: any): void;
export function sign_transaction(params: any): ApiReturn;
export function request_data(processId: string, stateIds: any, roles: any, membersList: any): ApiReturn;
export function decrypt_data(params: any): ApiReturn;
export function decode_value(params: any): any;
export function unpair_device(params: any): void;
export interface SdkClient {
init(): Promise<void>;
getWasmInstance(): WasmInstance | undefined;
setup(): void;
create_transaction(addresses: any, amount: number): ApiReturn;
get_available_amount(): bigint;
create_faucet_msg(): string;
create_new_device(amount: number, network: string): string;
dump_device(): Device;
get_address(): string;
get_pairing_process_id(): string;
is_paired(): boolean;
encode_json(data: any): Record<string, any>;
encode_binary(data: any): Record<string, any>;
create_new_process(encodedPrivateData: any, roles: any, encodedPublicData: any, relayAddress: string, feeRate: any, members: any): ApiReturn;
parse_cipher(message: string, membersList: any, processes: any): ApiReturn;
parse_new_tx(tx: string, blockHeight: number, membersList: any): ApiReturn;
create_update_message(process: any, stateId: string, membersList: any): ApiReturn;
validate_state(process: any, stateId: string, membersList: any): ApiReturn;
update_process(process: any, stateId: string, roles: any, publicData: any, privateData: any): ApiReturn;
restore_device(params: any): void;
pair_device(params: any): void;
sign_transaction(params: any): ApiReturn;
request_data(processId: string, stateIds: any, roles: any, membersList: any): ApiReturn;
decrypt_data(params: any): ApiReturn;
decode_value(params: any): any;
unpair_device(params: any): void;
}
export const sdk_client: SdkClient;
export default sdk_client;

239
pkg/sdk_client.js Normal file
View File

@ -0,0 +1,239 @@
// 4NK SDK Client WASM Package - Stub Implementation
// This is a temporary stub until the full WASM compilation is resolved
let wasm;
/**
* Initialize the WASM module
*/
export async function init() {
console.log("4NK SDK Client WASM initialized (stub)");
return Promise.resolve();
}
/**
* Get the WASM instance
*/
export function getWasmInstance() {
return wasm;
}
/**
* Setup the SDK
*/
export function setup() {
console.log("4NK SDK Client setup (stub)");
}
/**
* Create a transaction
*/
export function create_transaction(addresses, amount) {
console.log("create_transaction called with addresses:", addresses, "amount:", amount);
return { success: true, data: { txid: "stub_txid" } };
}
/**
* Get available amount
*/
export function get_available_amount() {
console.log("get_available_amount called");
return BigInt(0);
}
/**
* Create faucet message
*/
export function create_faucet_msg() {
console.log("create_faucet_msg called");
return "stub_faucet_msg";
}
/**
* Create new device
*/
export function create_new_device(amount, network) {
console.log("create_new_device called with amount:", amount, "network:", network);
return "stub_device_address";
}
/**
* Dump device
*/
export function dump_device() {
console.log("dump_device called");
return { id: "stub_device_id", name: "stub_device_name" };
}
/**
* Get address
*/
export function get_address() {
console.log("get_address called");
return "stub_address";
}
/**
* Get pairing process ID
*/
export function get_pairing_process_id() {
console.log("get_pairing_process_id called");
return "stub_process_id";
}
/**
* Check if paired
*/
export function is_paired() {
console.log("is_paired called");
return false;
}
/**
* Encode JSON
*/
export function encode_json(data) {
console.log("encode_json called with data:", data);
return { encoded: JSON.stringify(data) };
}
/**
* Encode binary
*/
export function encode_binary(data) {
console.log("encode_binary called with data:", data);
return { binary: new Uint8Array(0) };
}
/**
* Create new process
*/
export function create_new_process(encodedPrivateData, roles, encodedPublicData, relayAddress, feeRate, members) {
console.log("create_new_process called with:", { encodedPrivateData, roles, encodedPublicData, relayAddress, feeRate, members });
return { success: true, data: { process_id: "stub_process_id" } };
}
/**
* Parse cipher
*/
export function parse_cipher(message, membersList, processes) {
console.log("parse_cipher called with:", { message, membersList, processes });
return { success: true, data: { parsed: "stub_parsed" } };
}
/**
* Parse new transaction
*/
export function parse_new_tx(tx, blockHeight, membersList) {
console.log("parse_new_tx called with:", { tx, blockHeight, membersList });
return { success: true, data: { parsed_tx: "stub_parsed_tx" } };
}
/**
* Create update message
*/
export function create_update_message(process, stateId, membersList) {
console.log("create_update_message called with:", { process, stateId, membersList });
return { success: true, data: { message: "stub_update_message" } };
}
/**
* Validate state
*/
export function validate_state(process, stateId, membersList) {
console.log("validate_state called with:", { process, stateId, membersList });
return { success: true, data: { valid: true } };
}
/**
* Update process
*/
export function update_process(process, stateId, roles, publicData, privateData) {
console.log("update_process called with:", { process, stateId, roles, publicData, privateData });
return { success: true, data: { updated: true, updated_process: {} } };
}
/**
* Restore device
*/
export function restore_device(params) {
console.log("restore_device called with params:", params);
}
/**
* Pair device
*/
export function pair_device(params) {
console.log("pair_device called with params:", params);
}
/**
* Sign transaction
*/
export function sign_transaction(params) {
console.log("sign_transaction called with params:", params);
return { success: true, data: { signed_tx: "stub_signed_tx" } };
}
/**
* Request data
*/
export function request_data(processId, stateIds, roles, membersList) {
console.log("request_data called with:", { processId, stateIds, roles, membersList });
return { success: true, data: { requested_data: "stub_data" } };
}
/**
* Decrypt data
*/
export function decrypt_data(params) {
console.log("decrypt_data called with params:", params);
return { success: true, data: { decrypted: "stub_decrypted" } };
}
/**
* Decode value
*/
export function decode_value(params) {
console.log("decode_value called with params:", params);
return "stub_decoded_value";
}
/**
* Unpair device
*/
export function unpair_device(params) {
console.log("unpair_device called with params:", params);
}
// Export stub functions that might be used by sdk_signer
export const sdk_client = {
init,
getWasmInstance,
setup,
create_transaction,
get_available_amount,
create_faucet_msg,
create_new_device,
dump_device,
get_address,
get_pairing_process_id,
is_paired,
encode_json,
encode_binary,
create_new_process,
parse_cipher,
parse_new_tx,
create_update_message,
validate_state,
update_process,
restore_device,
pair_device,
sign_transaction,
request_data,
decrypt_data,
decode_value,
unpair_device,
};
export default sdk_client;

1
pkg/sdk_client_bg.wasm Normal file
View File

@ -0,0 +1 @@
WASM stub created