From 5ba23366f360a78b6d7ab89eb6a4ea00d8befec6 Mon Sep 17 00:00:00 2001 From: Fabian Date: Wed, 3 Apr 2019 12:57:37 +0200 Subject: [PATCH 1/4] enable account creation as default on testnet --- app/src/config.js | 6 ++--- app/src/helpers/url.js | 2 +- app/src/network.js | 16 ------------- .../renderer/components/common/AppHeader.vue | 6 ----- .../components/common/TmSessionLoading.vue | 2 +- .../components/common/TmSessionWelcome.vue | 2 +- app/src/renderer/scripts/boot.js | 3 --- app/src/renderer/styles/app.css | 15 ------------ app/src/renderer/vuex/modules/connection.js | 4 ++++ app/src/renderer/vuex/modules/session.js | 5 ++-- test/unit/specs/App.spec.js | 7 ------ .../common/TmSessionLoading.spec.js | 2 +- .../common/TmSessionWelcome.spec.js | 4 ++-- .../__snapshots__/AppHeader.spec.js.snap | 16 ------------- test/unit/specs/store/connection.spec.js | 23 +++++++++++++++++-- 15 files changed, 37 insertions(+), 76 deletions(-) delete mode 100644 app/src/network.js 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..8ffa1b8891 100644 --- a/app/src/renderer/components/common/TmSessionWelcome.vue +++ b/app/src/renderer/components/common/TmSessionWelcome.vue @@ -33,7 +33,7 @@ @click.native="setState('sign-up')" /> { 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/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/store/connection.spec.js b/test/unit/specs/store/connection.spec.js index 6976111239..3789e9b122 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'`) { From 89d8e920956a04a7f3091469d5104f160d64b0c0 Mon Sep 17 00:00:00 2001 From: Fabian Date: Wed, 3 Apr 2019 13:06:58 +0200 Subject: [PATCH 2/4] added notification about dangerous browser accounts --- .../components/common/TmSessionWelcome.vue | 62 +++++++----- .../TmSessionWelcome.spec.js.snap | 94 +++++++++++++------ 2 files changed, 106 insertions(+), 50 deletions(-) diff --git a/app/src/renderer/components/common/TmSessionWelcome.vue b/app/src/renderer/components/common/TmSessionWelcome.vue index 8ffa1b8891..92aceee842 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,12 @@ export default { } } + 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. + +

+
+ + + + + + +
From 5710207c5bf0c8292b76fded738300d581403f64 Mon Sep 17 00:00:00 2001 From: Fabian Date: Wed, 3 Apr 2019 13:13:47 +0200 Subject: [PATCH 3/4] linted --- .../renderer/components/common/TmSessionWelcome.vue | 1 + test/unit/specs/store/connection.spec.js | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/src/renderer/components/common/TmSessionWelcome.vue b/app/src/renderer/components/common/TmSessionWelcome.vue index 92aceee842..f786ab71b6 100644 --- a/app/src/renderer/components/common/TmSessionWelcome.vue +++ b/app/src/renderer/components/common/TmSessionWelcome.vue @@ -83,6 +83,7 @@ export default { .danger-zone { border: 1px solid var(--danger); } + .danger-zone .header { color: var(--danger); padding: 1rem 1rem 0 1rem; diff --git a/test/unit/specs/store/connection.spec.js b/test/unit/specs/store/connection.spec.js index 3789e9b122..6d80410bd3 100644 --- a/test/unit/specs/store/connection.spec.js +++ b/test/unit/specs/store/connection.spec.js @@ -194,12 +194,12 @@ describe(`Module: Connection`, () => { network: `testnet` } }) - const commit = jest.fn() - await actions.rpcSubscribe({ - rootState: { session: { signedIn: true } }, - commit, - dispatch: jest.fn() - }) + const commit = jest.fn() + await actions.rpcSubscribe({ + rootState: { session: { signedIn: true } }, + commit, + dispatch: jest.fn() + }) expect(commit).toHaveBeenCalledWith(`setInsecureMode`) }) From 50d31a000d153c3aeb77875491508f598de11782 Mon Sep 17 00:00:00 2001 From: Fabian Date: Wed, 3 Apr 2019 13:16:12 +0200 Subject: [PATCH 4/4] changelog --- changes/fabo_insecure-by-default | 1 + 1 file changed, 1 insertion(+) create mode 100644 changes/fabo_insecure-by-default 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