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') }}
-
+
{{ t(accessType == 'account' ? 'common.active_authority' : 'common.public_authority') }}
@@ -131,7 +131,7 @@
{{ t('common.back_btn') }}
-
+
{
- if (!["BTS", "BTS_TEST", "TUSC"].includes(props.chain)) {
+ if (!["BTS", "BTS_TEST"].includes(props.chain)) {
throw "Unsupported chain!";
}
})
diff --git a/src/components/blockchains/bitshares/ImportCloudPass.vue b/src/components/blockchains/bitshares/ImportCloudPass.vue
index a97875cd..d1a6e6e8 100644
--- a/src/components/blockchains/bitshares/ImportCloudPass.vue
+++ b/src/components/blockchains/bitshares/ImportCloudPass.vue
@@ -15,7 +15,7 @@
const emit = defineEmits(['back', 'continue', 'imported']);
onMounted(() => {
- if (!["BTS", "BTS_TEST", "TUSC"].includes(props.chain)) {
+ if (!["BTS", "BTS_TEST"].includes(props.chain)) {
throw "Unsupported chain!";
}
})
diff --git a/src/components/local.vue b/src/components/local.vue
index 1cba7da5..21cdc3bd 100644
--- a/src/components/local.vue
+++ b/src/components/local.vue
@@ -1,5 +1,5 @@