diff --git a/app/src/config.js b/app/src/config.js index 60304a4563..96ba438f09 100644 --- a/app/src/config.js +++ b/app/src/config.js @@ -12,16 +12,16 @@ const rpc = const faucet = process.env.FAUCET !== undefined ? process.env.FAUCET : `https://faucet.voyager.ninja` export default { - name: `Cosmos Voyager`, + name: `Cosmos Lunie`, development: dev, - default_network: `${dev ? `local-` : ``}testnet`, + network: process.env.NETWORK || `local-testnet`, stargate, rpc, google_analytics_uid: `UA-51029217-3`, sentry_dsn: `https://afb30cc1460e4464a98e89600bb0926e@sentry.io/1429416`, node_halted_timeout: 120000, block_timeout: 10000, - default_gas_price: 2.5e-8, // recomended from Cosmos Docs + default_gas_price: 2.5e-8, // recommended from Cosmos Docs default_gas_adjustment: 1.5, faucet, version: process.env.RELEASE diff --git a/app/src/helpers/url.js b/app/src/helpers/url.js index 2f588a7e06..1e5ea23cfc 100644 --- a/app/src/helpers/url.js +++ b/app/src/helpers/url.js @@ -2,7 +2,7 @@ export function getURLParams(window) { const queries = window.location.search.slice(1).split(`&`) return queries.reduce((config, current) => { const [name, value] = current.split(`=`) - if ([`stargate`, `rpc`, `experimental`, `insecure`].includes(name)) { + if ([`stargate`, `rpc`, `experimental`].includes(name)) { return { ...config, [name]: value diff --git a/app/src/network.js b/app/src/network.js deleted file mode 100644 index ccb93d0b38..0000000000 --- a/app/src/network.js +++ /dev/null @@ -1,16 +0,0 @@ -/* istanbul ignore file */ -import axios from "axios" -import config from "./config" - -const networkPath = `../networks/${config.default_network}` - -export default async function() { - const genesis = (await axios(`${networkPath}/genesis.json`)).data - const networkName = genesis.chain_id - - return { - genesis, - path: networkPath, - name: networkName - } -} diff --git a/app/src/renderer/components/common/AppHeader.vue b/app/src/renderer/components/common/AppHeader.vue index 8f2062fee6..2a2550a3ea 100644 --- a/app/src/renderer/components/common/AppHeader.vue +++ b/app/src/renderer/components/common/AppHeader.vue @@ -14,12 +14,6 @@ -
- INSECURE MODE -
diff --git a/app/src/renderer/components/common/TmSessionLoading.vue b/app/src/renderer/components/common/TmSessionLoading.vue index 7778f7ec51..5a942364b3 100644 --- a/app/src/renderer/components/common/TmSessionLoading.vue +++ b/app/src/renderer/components/common/TmSessionLoading.vue @@ -3,7 +3,7 @@
- Connecting to '{{ session.default_network }}'… + Connecting to '{{ session.network }}'…
diff --git a/app/src/renderer/components/common/TmSessionWelcome.vue b/app/src/renderer/components/common/TmSessionWelcome.vue index 2896974063..f786ab71b6 100644 --- a/app/src/renderer/components/common/TmSessionWelcome.vue +++ b/app/src/renderer/components/common/TmSessionWelcome.vue @@ -18,28 +18,37 @@ @click.native="setState('hardware')" />
@@ -70,3 +79,13 @@ export default { } } + diff --git a/app/src/renderer/scripts/boot.js b/app/src/renderer/scripts/boot.js index f0b0df7547..eddc0a4d9c 100644 --- a/app/src/renderer/scripts/boot.js +++ b/app/src/renderer/scripts/boot.js @@ -102,9 +102,6 @@ export const startApp = async ( if (urlParams.experimental) { store.commit(`setExperimentalMode`) } - if (urlParams.insecure) { - store.commit(`setInsecureMode`) - } if (urlParams.rpc) { store.commit(`setRpcUrl`, urlParams.rpc) } diff --git a/app/src/renderer/styles/app.css b/app/src/renderer/styles/app.css index 1f9dbab90e..568a5ecd22 100644 --- a/app/src/renderer/styles/app.css +++ b/app/src/renderer/styles/app.css @@ -101,25 +101,10 @@ input.tm-field { flex-flow: column no-wrap; } -#develop-mode-warning { - background: red; - text-align: center; - height: 1.5rem; - font-weight: 500; - z-index: 1000000; - width: 100%; - top: 0; - position: absolute; -} - #appzi-launch-button-cf1d801a-9653-4934-8a18-cea8c9e77495 { z-index: var(--z-appHeader) !important; } -.mobile #develop-mode-warning { - position: relative; -} - @media screen and (min-width: 1023px) { #app { padding-top: 0; diff --git a/app/src/renderer/vuex/modules/connection.js b/app/src/renderer/vuex/modules/connection.js index f64e62ee68..8932a9b2d2 100644 --- a/app/src/renderer/vuex/modules/connection.js +++ b/app/src/renderer/vuex/modules/connection.js @@ -90,6 +90,10 @@ export default function ({ node }) { height: status.sync_info.latest_block_height, chain_id: status.node_info.network }) + + if (status.node_info.network === `testnet`) { + commit(`setInsecureMode`) + } }) node.rpc.subscribe( diff --git a/app/src/renderer/vuex/modules/session.js b/app/src/renderer/vuex/modules/session.js index 751a314102..f3030fc4c1 100644 --- a/app/src/renderer/vuex/modules/session.js +++ b/app/src/renderer/vuex/modules/session.js @@ -10,8 +10,9 @@ export default () => { const ERROR_COLLECTION_KEY = `voyager_error_collection` const state = { - experimentalMode: config.development, // development mode - insecureMode: config.development, // show the local signer + developmentMode: config.development, // can't be set in browser + experimentalMode: config.development, // development mode, can be set from browser + insecureMode: false, // show the local signer gasPrice: config.default_gas_price, // price per unit of gas gasAdjustment: config.default_gas_adjustment, // default adjustment multiplier signedIn: false, diff --git a/changes/fabo_insecure-by-default b/changes/fabo_insecure-by-default new file mode 100644 index 0000000000..44fae5dbff --- /dev/null +++ b/changes/fabo_insecure-by-default @@ -0,0 +1 @@ +[Changed] [#2409](https://github.com/cosmos/lunie/pull/2409) Enable web accounts per default on a testnet @faboweb \ No newline at end of file diff --git a/test/unit/specs/App.spec.js b/test/unit/specs/App.spec.js index 20aa3cf788..878b87b7cc 100644 --- a/test/unit/specs/App.spec.js +++ b/test/unit/specs/App.spec.js @@ -186,13 +186,6 @@ describe(`App Start`, () => { expect(store.commit).toHaveBeenCalledWith(`setExperimentalMode`) }) - it(`should set insecure mode`, async () => { - const { store } = await start({ - insecure: true - }) - - expect(store.commit).toHaveBeenCalledWith(`setInsecureMode`) - }) it(`should set rpc url`, async () => { const { store } = await start({ diff --git a/test/unit/specs/components/common/TmSessionLoading.spec.js b/test/unit/specs/components/common/TmSessionLoading.spec.js index 2839ce8263..bfc3a303e3 100644 --- a/test/unit/specs/components/common/TmSessionLoading.spec.js +++ b/test/unit/specs/components/common/TmSessionLoading.spec.js @@ -8,7 +8,7 @@ describe(`TmSessionLoading`, () => { wrapper = shallowMount(TmSessionLoading, { data: () => ({ session: { - default_network: `mock-net` + network: `mock-net` } }) }) diff --git a/test/unit/specs/components/common/TmSessionWelcome.spec.js b/test/unit/specs/components/common/TmSessionWelcome.spec.js index 94710ddebc..d59e07acb9 100644 --- a/test/unit/specs/components/common/TmSessionWelcome.spec.js +++ b/test/unit/specs/components/common/TmSessionWelcome.spec.js @@ -7,7 +7,7 @@ describe(`TmSessionWelcome`, () => { beforeEach(() => { const getters = { - session: { accounts, insecureMode: true, experimentalMode: true }, + session: { accounts, insecureMode: true, developmentMode: true }, lastPage: `/` } $store = { @@ -113,7 +113,7 @@ describe(`TmSessionWelcome`, () => { it(`should hide seed import if not in development`, () => { expect(wrapper.find(`#import-seed`).exists()).toBe(true) - wrapper.vm.session.experimentalMode = false + wrapper.vm.session.developmentMode = false expect(wrapper.find(`#import-seed`).exists()).toBe(false) }) }) diff --git a/test/unit/specs/components/common/__snapshots__/AppHeader.spec.js.snap b/test/unit/specs/components/common/__snapshots__/AppHeader.spec.js.snap index cd906ca918..757d3ee50b 100644 --- a/test/unit/specs/components/common/__snapshots__/AppHeader.spec.js.snap +++ b/test/unit/specs/components/common/__snapshots__/AppHeader.spec.js.snap @@ -21,14 +21,6 @@ exports[`AppHeader should display the sidebar on desktop 1`] = ` -
- - INSECURE MODE - -
- @@ -65,14 +57,6 @@ exports[`AppHeader should show the sidebar as a menu on mobile 1`] = ` -
- - INSECURE MODE - -
- diff --git a/test/unit/specs/components/common/__snapshots__/TmSessionWelcome.spec.js.snap b/test/unit/specs/components/common/__snapshots__/TmSessionWelcome.spec.js.snap index 463b678ee3..9c8c8a717d 100644 --- a/test/unit/specs/components/common/__snapshots__/TmSessionWelcome.spec.js.snap +++ b/test/unit/specs/components/common/__snapshots__/TmSessionWelcome.spec.js.snap @@ -37,20 +37,39 @@ exports[`TmSessionWelcome with accounts has the expected html structure 1`] = ` title="Sign in with Ledger Nano S" /> - - - - - +
+
+

+ DANGER ZONE +

+ +

+ + Never use accounts created in the browser on a real network. You + could loose all your money. + +

+
+ + + + + + +
@@ -93,20 +112,39 @@ exports[`TmSessionWelcome without accounts has the expected html structure 1`] = title="Sign in with Ledger Nano S" /> - - - - - +
+
+

+ DANGER ZONE +

+ +

+ + Never use accounts created in the browser on a real network. You + could loose all your money. + +

+
+ + + + + + +
diff --git a/test/unit/specs/store/connection.spec.js b/test/unit/specs/store/connection.spec.js index 6976111239..6d80410bd3 100644 --- a/test/unit/specs/store/connection.spec.js +++ b/test/unit/specs/store/connection.spec.js @@ -171,11 +171,10 @@ describe(`Module: Connection`, () => { network: `test-net` } }) - const commit = jest.fn() const dispatch = jest.fn() await actions.rpcSubscribe({ rootState: { session: { signedIn: true } }, - commit, + commit: jest.fn(), dispatch }) @@ -185,6 +184,26 @@ describe(`Module: Connection`, () => { }) }) + it(`should set insecure mode on testnet`, async () => { + node.rpc.status = () => + Promise.resolve({ + sync_info: { + latest_block_height: 42 + }, + node_info: { + network: `testnet` + } + }) + const commit = jest.fn() + await actions.rpcSubscribe({ + rootState: { session: { signedIn: true } }, + commit, + dispatch: jest.fn() + }) + + expect(commit).toHaveBeenCalledWith(`setInsecureMode`) + }) + it(`should react to status updates`, async () => { node.rpc.subscribe = (type, cb) => { if (type.query === `tm.event = 'NewBlockHeader'`) {