const fs = require('fs'); const path = require('path'); // Read the SPF file const spfPath = path.join(process.env.HOME, 'sharenet_passport_creator', 'Test.spf'); const spfData = fs.readFileSync(spfPath); console.log('Testing SPF file parsing with WASM...'); console.log('File size:', spfData.length, 'bytes'); // This would require loading the WASM module in Node.js // For now, let's just verify the file structure const cbor = require('cbor'); try { const parsed = cbor.decode(spfData); console.log('\nāœ… CBOR structure is valid'); // Check required fields const requiredFields = [ 'enc_seed', 'kdf', 'cipher', 'salt', 'nonce', 'public_key', 'did', 'univ_id', 'created_at', 'version', 'enc_user_profiles' ]; const missingFields = requiredFields.filter(field => !(field in parsed)); if (missingFields.length > 0) { console.log('āŒ Missing fields:', missingFields); } else { console.log('āœ… All required fields present'); console.log('\nField types and sizes:'); for (const [key, value] of Object.entries(parsed)) { if (Array.isArray(value)) { console.log(` ${key}: array[${value.length}]`); } else if (typeof value === 'string') { console.log(` ${key}: string("${value}")`); } else if (typeof value === 'number') { console.log(` ${key}: number(${value})`); } else { console.log(` ${key}: ${typeof value}`); } } } } catch (error) { console.log('āŒ Failed to parse CBOR:', error.message); }