import { ethers } from "./node_modules/ethers/dist/ethers.min.js"; register_ethers(ethers); var connect = connect_manual_session; async function checkKey() { const r = localStorage.getItem(KEY_STORAGEKEY); if (r) { stateChange('found existing key', STATE.LOCAL_KEY, STATE.LOCAL_KEY_PROBE); } } // router var initRouter = async (e) => { if (checkState(STATE.LOCAL_KEY_REQUEST, e.detail.state)) { stateChange('process key unlock request', 0, STATE.LOCAL_KEY_REQUEST | STATE.LOCAL_KEY_PROBE | STATE.LOCAL_KEY_REJECT); checkKey(); const v = document.getElementById('passphrase').value; const r = await connect(v); if (r) { stateChange('key request finished', STATE.LOCAL_KEY_UNLOCK, ); } } }; async function connect_manual_session(pw) { let provider = undefined; let wallet = undefined; try { provider = await provider_connect('default'); } catch(e) { console.error(e); } if (!provider) { stateChange('no provider', STATE.RPC_GONE, STATE.LOCAL_KEY_REQUEST); return; } try { wallet = await wallet_connect('default', SESSION_ID, pw); } catch(e) { console.error(e); } if (!wallet) { stateChange('wallet unlock fail', STATE.LOCAL_KEY_REJECT, STATE.LOCAL_KEY_REQUEST); return; } checkRpc(); scanRegistry(g_registry); return wallet; } function checkRpc() { pingRpc(); setTimeout(checkRpc, 3000); } window.addEventListener('load', () => { window.addEventListener('messagestatechange', initRouter); if (DEBUG) { window.addEventListener('messagestatechange', (e) => { console.debug('state change:', e.detail.s); }); } stateChange('init key', STATE.LOCAL_KEY_PROBE); });