From 8bff7774bd4f6e5b0806d61bb01e74e1e5c24d57 Mon Sep 17 00:00:00 2001 From: vol4tim Date: Mon, 7 Oct 2024 14:47:11 +0400 Subject: [PATCH] rpc parachain get from url parameters --- src/hooks/useDevices.js | 9 +++++++-- src/hooks/useSubscription.js | 9 +++++++-- src/main.js | 5 +---- src/plugins/robonomics.js | 20 ++++++++++++++++++-- src/views/telemetry/common.js | 9 +++++++-- 5 files changed, 40 insertions(+), 12 deletions(-) diff --git a/src/hooks/useDevices.js b/src/hooks/useDevices.js index ecec2c5..149e360 100644 --- a/src/hooks/useDevices.js +++ b/src/hooks/useDevices.js @@ -8,8 +8,13 @@ export const useDevices = (initialOwner = null) => { const devices = ref([]); const getDevices = async (owner) => { + const endpoint = + localStorage.getItem("rpc-parachain") || + "wss://kusama.rpc.robonomics.network/"; + const lsKey = `hadevices:${endpoint}:${owner}`; + if (!isReady.value) { - const data = localStorage.getItem(`hadevices:${owner}`); + const data = localStorage.getItem(lsKey); if (data) { try { const parsedData = JSON.parse(data); @@ -28,7 +33,7 @@ export const useDevices = (initialOwner = null) => { return item.toHuman(); }); localStorage.setItem( - `hadevices:${owner}`, + lsKey, JSON.stringify({ time: Date.now(), value: list }) ); console.log("getDevices chain"); diff --git a/src/hooks/useSubscription.js b/src/hooks/useSubscription.js index 248636f..3660e39 100644 --- a/src/hooks/useSubscription.js +++ b/src/hooks/useSubscription.js @@ -49,8 +49,13 @@ export const useSubscription = (initialOwner = null) => { }; const getLedger = async (owner) => { + const endpoint = + localStorage.getItem("rpc-parachain") || + "wss://kusama.rpc.robonomics.network/"; + const lsKey = `hasubscription:${endpoint}:${owner}`; + if (!isReady.value) { - const data = localStorage.getItem(`hasubscription:${owner}`); + const data = localStorage.getItem(lsKey); if (data) { try { const parsedData = JSON.parse(data); @@ -73,7 +78,7 @@ export const useSubscription = (initialOwner = null) => { const res = await getInstance().rws.getLedger(owner); if (!res.isEmpty) { localStorage.setItem( - `hasubscription:${owner}`, + lsKey, JSON.stringify({ time: Date.now(), value: res.value.toJSON() }) ); console.log("getLedger chain"); diff --git a/src/main.js b/src/main.js index 9c7956b..103c2d3 100644 --- a/src/main.js +++ b/src/main.js @@ -21,10 +21,7 @@ app .use(router) .use(store) .use(filters) - .use(robonomics, { - // endpoint: "ws://127.0.0.1:9944" - endpoint: "wss://kusama.rpc.robonomics.network/" - }) + .use(robonomics) .use(ipfs, { api: { gateway: "https://ipfs.url.today" }, gateways: [ diff --git a/src/plugins/robonomics.js b/src/plugins/robonomics.js index a9c577f..675c8d4 100644 --- a/src/plugins/robonomics.js +++ b/src/plugins/robonomics.js @@ -4,7 +4,7 @@ import { ref, shallowRef } from "vue"; import AccountManager from "./robonomicsAccountManager"; export default { - install: async (app, params) => { + install: async (app, params = {}) => { const isReady = ref(false); const instance = shallowRef(); const accountManager = new AccountManager(keyring); @@ -13,7 +13,23 @@ export default { instance, accountManager }); - instance.value = await Robonomics.createInstance(params); + + const urlParams = new URLSearchParams(window.location.search); + let endpoint = urlParams.get("rpc"); + + if (!endpoint) { + endpoint = + localStorage.getItem("rpc-parachain") || + "wss://kusama.rpc.robonomics.network/"; + } + localStorage.setItem("rpc-parachain", endpoint); + const config = { + // endpoint: "ws://127.0.0.1:9944" + // endpoint: "wss://kusama.rpc.robonomics.network/" + endpoint + }; + + instance.value = await Robonomics.createInstance({ ...config, ...params }); instance.value.setAccountManager(accountManager); isReady.value = true; } diff --git a/src/views/telemetry/common.js b/src/views/telemetry/common.js index 8b61c54..71162ad 100644 --- a/src/views/telemetry/common.js +++ b/src/views/telemetry/common.js @@ -171,8 +171,13 @@ export const useConfig = () => { const { controller } = useSetup(); const getConfig = async (controller) => { + const endpoint = + localStorage.getItem("rpc-parachain") || + "wss://kusama.rpc.robonomics.network/"; + const lsKey = `haconfig:${endpoint}:${controller}`; + if (!isReady.value) { - const data = localStorage.getItem(`haconfig:${controller}`); + const data = localStorage.getItem(lsKey); if (data) { try { const parsedData = JSON.parse(data); @@ -217,7 +222,7 @@ export const useConfig = () => { ); localStorage.setItem( - `haconfig:${controller}`, + lsKey, JSON.stringify({ time: Date.now(), value: config }) ); console.log("getConfig chain");