hd-wallet-ui 1.2.4 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +2 -2
  2. package/src/app.js +12 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hd-wallet-ui",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "HD Wallet modal UI — login, keys, identity, trust map, and security bond. Attach to any button in your app.",
5
5
  "type": "module",
6
6
  "main": "src/app.js",
@@ -35,7 +35,7 @@
35
35
  "buffer": "^6.0.3",
36
36
  "flatbuffers": "^25.9.23",
37
37
  "flatc-wasm": "^25.12.19-wasm.43",
38
- "hd-wallet-wasm": "^1.2.4",
38
+ "hd-wallet-wasm": "^1.2.5",
39
39
  "qrcode": "^1.5.3",
40
40
  "spacedatastandards.org": "^23.3.3-0.3.4",
41
41
  "vcard-cryptoperson": "^1.1.11"
package/src/app.js CHANGED
@@ -2378,10 +2378,10 @@ function login(keys) {
2378
2378
  state.addresses = deriveAllAddressesFromHD();
2379
2379
  state.selectedCrypto = 'btc';
2380
2380
 
2381
- // Fire onLogin callback with SDN identity (coin type 9999)
2381
+ // Fire onLogin callback with SDN identity (coin type 1957 — Sputnik)
2382
2382
  if (_onLoginCallback && state.hdRoot) {
2383
2383
  try {
2384
- const sdnSigning = getSigningKey(state.hdRoot, 9999, 0, 0);
2384
+ const sdnSigning = getSigningKey(state.hdRoot, 1957, 0, 0);
2385
2385
  const sdnPubKey = ed25519.getPublicKey(sdnSigning.privateKey);
2386
2386
  const xpub = state.hdRoot.toXpub();
2387
2387
  _onLoginCallback({
@@ -3371,11 +3371,16 @@ function parseAndDisplayVCF(vcfText) {
3371
3371
  if (!resultEl || !fieldsEl) return;
3372
3372
 
3373
3373
  if (photoEl) {
3374
- photoEl.innerHTML = photo
3375
- ? `<img src="${photo}" alt="Contact photo">`
3376
- : `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" style="width:32px;height:32px;opacity:0.3">
3374
+ const fallbackSvg = `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" style="width:32px;height:32px;opacity:0.3">
3377
3375
  <path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/>
3378
3376
  </svg>`;
3377
+ if (photo) {
3378
+ photoEl.innerHTML = `<img src="${photo}" alt="Contact photo">`;
3379
+ const img = photoEl.querySelector('img');
3380
+ if (img) img.onerror = () => { photoEl.innerHTML = fallbackSvg; };
3381
+ } else {
3382
+ photoEl.innerHTML = fallbackSvg;
3383
+ }
3379
3384
  }
3380
3385
 
3381
3386
  let html = '';
@@ -4187,6 +4192,7 @@ function setupMainAppHandlers() {
4187
4192
  const img = document.createElement('img');
4188
4193
  img.src = dataUrl;
4189
4194
  img.alt = 'Photo';
4195
+ img.onerror = () => { img.remove(); resetPhotoPreview(); };
4190
4196
  preview.appendChild(img);
4191
4197
  const removeBtn = $('vcard-photo-remove');
4192
4198
  if (removeBtn) removeBtn.style.display = '';
@@ -5363,7 +5369,7 @@ export async function init(rootElement, options = {}) {
5363
5369
  * @param {Node} [rootElement] - Optional root element for DOM queries
5364
5370
  * @param {Object} [options] - Options passed to init()
5365
5371
  * @param {Function} [options.onLogin] - Callback fired after successful login with
5366
- * `{ xpub, signingPublicKey, sign(message) }` for SDN identity (coin type 9999)
5372
+ * `{ xpub, signingPublicKey, sign(message) }` for SDN identity (coin type 1957)
5367
5373
  * @returns {Promise<{openLogin: Function, openAccount: Function, destroy: Function}>}
5368
5374
  */
5369
5375
  export async function createWalletUI(rootElement, options = {}) {