From 78c47e9f729c355e91389b6e3323454afb52c977 Mon Sep 17 00:00:00 2001 From: CM Date: Tue, 14 May 2024 00:07:00 +0100 Subject: [PATCH] Fixes & cleanup Fix private key signup method Removed TUSC Reset prompt operation permission scope upon switching blockchain accounts --- README.md | 4 +- src/background.js | 52 ++++++++------ src/components/blockchains/ImportKeys.vue | 6 +- .../blockchains/bitshares/ImportBinFile.vue | 2 +- .../blockchains/bitshares/ImportCloudPass.vue | 2 +- src/components/local.vue | 15 +++- src/components/main-menu.vue | 12 ++-- src/components/qr.vue | 15 +++- src/components/raw-link.vue | 14 ++++ src/components/totp.vue | 15 +++- src/config/config.js | 20 ------ src/lib/BeetServer.js | 6 +- src/lib/assetUtils.js | 3 +- src/lib/blockchains/EOS/beautify.js | 1 + src/lib/blockchains/EOSmainnet.js | 20 +++++- src/lib/blockchains/TUSC.js | 68 ------------------- src/lib/blockchains/blockchainFactory.js | 3 - src/lib/inject.js | 2 +- src/store/modules/SettingsStore.js | 2 - 19 files changed, 123 insertions(+), 139 deletions(-) delete mode 100644 src/lib/blockchains/TUSC.js diff --git a/README.md b/README.md index 4b8161ae..512567f3 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ The EOS blockchain has their own native javascript library that can be used (e.g The wallet now also supports deeplinks, encrypted deeplinks, qr codes and local json files for generating blockchain request prompts for approval & broadcast with the BeetEOS wallet. These input methods do not require external packages, and can be stored for later use. -Supported blockchains: Bitshares, Bitshares testnet, TUSC, EOS, BEOS, TLOS. +Supported blockchains: Bitshares, Bitshares testnet, EOS, BEOS, TLOS. ## For end users @@ -56,7 +56,7 @@ BeetEOS is an [electron-based app](https://www.electronjs.org) for [cross-platfo To run BeetEOS it's simply a case of -``` bash +```bash # clone git clone https://github.com/beetapp/beeteos cd beeteos diff --git a/src/background.js b/src/background.js index c84873fd..a5e75e34 100644 --- a/src/background.js +++ b/src/background.js @@ -423,8 +423,9 @@ async function _parseDeeplink( } if (request.payload.method === Actions.INJECTED_CALL) { + console.log({req: request.payload.params}) let authorizedUse = false; - if (["BTS", "BTS_TEST", "TUSC"].includes(chain)) { + if (["BTS", "BTS_TEST"].includes(chain)) { let tr; try { tr = await blockchain._parseTransactionBuilder( @@ -443,16 +444,20 @@ async function _parseDeeplink( } } } else if (["EOS", "BEOS", "TLOS"].includes(chain)) { - if (request.payload.params.actions) { - for ( - let i = 0; - i < request.payload.params.actions.length; - i++ - ) { - let operation = request.payload.params.actions[i]; - if (settingsRows && settingsRows.includes(operation.name)) { - authorizedUse = true; - break; + if (request.payload.params && request.payload.params.length > 1) { + const actions = JSON.parse(request.payload.params[1]).actions; + + if (actions) { + for ( + let i = 0; + i < actions.length; + i++ + ) { + let operation = actions[i]; + if (settingsRows && settingsRows.includes(operation.name)) { + authorizedUse = true; + break; + } } } } @@ -680,6 +685,10 @@ const createWindow = async () => { responses["getAccessType"] = blockchain.getAccessType(); } + if (methods.includes("getSignUpInput")) { + responses["getSignUpInput"] = blockchain.getSignUpInput(); + } + if (methods.includes("getImportOptions")) { responses["getImportOptions"] = blockchain.getImportOptions(); } @@ -917,7 +926,7 @@ const createWindow = async () => { let parsedData = JSON.parse(qrData); let authorizedUse = false; - if (["BTS", "BTS_TEST", "TUSC"].includes(chain)) { + if (["BTS", "BTS_TEST"].includes(chain)) { const ops = parsedData.operations[0].operations; for (let i = 0; i < ops.length; i++) { let operation = ops[i]; @@ -946,7 +955,7 @@ const createWindow = async () => { if (authorizedUse) { let qrTX; try { - qrTX = ["BTS", "BTS_TEST", "TUSC"].includes(chain) + qrTX = ["BTS", "BTS_TEST"].includes(chain) ? await blockchain.handleQR( JSON.stringify(parsedData.operations[0]) ) @@ -964,7 +973,7 @@ const createWindow = async () => { origin: "localhost", appName: "qr", browser: qrChoice, - params: ["BTS", "BTS_TEST", "TUSC"].includes(chain) + params: ["BTS", "BTS_TEST"].includes(chain) ? qrTX.toObject() : qrTX, chain: chain, @@ -1121,7 +1130,6 @@ const createWindow = async () => { "explore.beos.world", "blocksights.info", "telos.eosx.io", - "wallet.tusc.network", ]; ipcMain.on("openURL", (event, arg) => { try { @@ -1406,9 +1414,11 @@ if (currentOS === "win32" || currentOS === "linux") { console.log(error); return; } - - let deeplinkingUrl = deeplink.includes("beeteos://api/") ? deeplink.split("beeteos://api/")[1] : deeplink.split("rawbeeteos://api/")[1]; - + + let deeplinkingUrl = deeplink.includes("beeteos://api/") + ? deeplink.split("beeteos://api/")[1] + : deeplink.split("rawbeeteos://api/")[1]; + let qs; try { qs = queryString.parse(deeplinkingUrl); @@ -1419,9 +1429,7 @@ if (currentOS === "win32" || currentOS === "linux") { if (qs) { mainWindow.webContents.send( - deeplink.includes("raw") - ? "rawdeeplink" - : "deeplink", + deeplink.includes("raw") ? "rawdeeplink" : "deeplink", qs ); } @@ -1478,7 +1486,7 @@ if (currentOS === "win32" || currentOS === "linux") { } if (qs) { - dialog.showErrorBox("Error", JSON.stringify({qs: qs})); + dialog.showErrorBox("Error", JSON.stringify({ qs: qs })); mainWindow.webContents.send(urlType, qs); } }); diff --git a/src/components/blockchains/ImportKeys.vue b/src/components/blockchains/ImportKeys.vue index 37c29353..f4fc8fec 100644 --- a/src/components/blockchains/ImportKeys.vue +++ b/src/components/blockchains/ImportKeys.vue @@ -48,7 +48,7 @@ let privateKey = ref(""); async function next() { let authorities = {}; - if (requiredFields.value.privateKey != null) { + if (requiredFields.value && requiredFields.value.privateKey) { authorities.privateKey = privateKey.value; } @@ -107,7 +107,7 @@ {{ t('common.keys_cta') }}

-