@nibgate/sdk 0.2.27 → 0.2.28
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.
- package/dist/nibgate.js +9 -31
- package/dist/nibgate.js.map +3 -3
- package/dist/nibgate.min.js +12 -12
- package/dist/nibgate.min.js.map +3 -3
- package/package.json +1 -1
- package/src/browser/default-ui.js +9 -31
package/package.json
CHANGED
|
@@ -224,21 +224,8 @@ export function renderDefaultUnlockUI(container, resource, options = {}) {
|
|
|
224
224
|
const cleanup = () => { document.removeEventListener('mouseup', cancelHold); document.removeEventListener('touchend', cancelHold); };
|
|
225
225
|
card.addEventListener('remove', cleanup);
|
|
226
226
|
|
|
227
|
-
// ── Gateway
|
|
228
|
-
|
|
229
|
-
try {
|
|
230
|
-
const sel = '0xdd62e1c6';
|
|
231
|
-
const pad = (a) => '000000000000000000000000' + a.slice(2).toLowerCase();
|
|
232
|
-
const data = sel + pad('0x3600000000000000000000000000000000000000') + pad(addr);
|
|
233
|
-
const hex = await window.ethereum.request({
|
|
234
|
-
method: 'eth_call',
|
|
235
|
-
params: [{ to: '0x0077777d7EBA4688BDeF3E311b846F25870A19B9', data }, 'latest'],
|
|
236
|
-
});
|
|
237
|
-
return hex && hex !== '0x' ? (Number(BigInt(hex)) / 1_000_000).toFixed(2) + ' USDC' : '0.00 USDC';
|
|
238
|
-
} catch { return '\u2014'; }
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
let balEl = null, gwOverlay = null, balTimer = null;
|
|
227
|
+
// ── Gateway deposit icon ──────────────────────────────────────────────
|
|
228
|
+
let gwOverlay = null;
|
|
242
229
|
|
|
243
230
|
function depIcon() {
|
|
244
231
|
return '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display:inline;vertical-align:middle"><path d="M12 17V3"/><path d="m6 11 6 6 6-6"/><path d="M19 21H5"/></svg>';
|
|
@@ -259,33 +246,24 @@ export function renderDefaultUnlockUI(container, resource, options = {}) {
|
|
|
259
246
|
}
|
|
260
247
|
function onDepKey(e) { if (e.key === 'Escape' && gwOverlay) { gwOverlay.remove(); gwOverlay = null; document.removeEventListener('keydown', onDepKey); } }
|
|
261
248
|
|
|
249
|
+
let balEl = null;
|
|
262
250
|
function ensureBal() {
|
|
263
251
|
if (balEl && balEl.isConnected) return balEl;
|
|
264
252
|
balEl = el('span', { 'data-nibgate-bal': '', style: 'margin-left:4px;cursor:pointer;white-space:nowrap;color:var(--accent,#7c9a6d)' },
|
|
265
|
-
'\u00b7\u00a0
|
|
253
|
+
'\u00b7\u00a0|\u00a0' + depIcon());
|
|
266
254
|
balEl.addEventListener('click', showDeposit);
|
|
267
255
|
if (label.parentNode) label.parentNode.insertBefore(balEl, label.nextSibling);
|
|
268
256
|
return balEl;
|
|
269
257
|
}
|
|
270
258
|
|
|
271
|
-
async function refreshBal() {
|
|
272
|
-
if (!card.isConnected || !window.ethereum) return;
|
|
273
|
-
try {
|
|
274
|
-
const accts = await window.ethereum.request({ method: 'eth_accounts' });
|
|
275
|
-
const addr = Array.isArray(accts) && accts[0] ? accts[0] : null;
|
|
276
|
-
if (!addr) return;
|
|
277
|
-
const t = ensureBal().querySelector('[data-nibgate-bal-txt]');
|
|
278
|
-
if (t) t.textContent = await fetchBalance(addr);
|
|
279
|
-
} catch {}
|
|
280
|
-
}
|
|
281
|
-
|
|
282
259
|
if (window.ethereum) {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
260
|
+
setTimeout(() => {
|
|
261
|
+
const accts = window.ethereum.request({ method: 'eth_accounts' }).catch(() => []);
|
|
262
|
+
accts.then(a => { if (Array.isArray(a) && a[0]) ensureBal(); });
|
|
263
|
+
}, 1000);
|
|
286
264
|
}
|
|
287
265
|
|
|
288
|
-
return { ...ctrl, element: card, destroy: () => { cleanup(); card.remove(); if (
|
|
266
|
+
return { ...ctrl, element: card, destroy: () => { cleanup(); card.remove(); if (gwOverlay) { gwOverlay.remove(); gwOverlay = null; } } };
|
|
289
267
|
}
|
|
290
268
|
|
|
291
269
|
export function renderDefaultRatingUI(container, resource, options = {}) {
|