From 209db9ae5fef7936e7bd5e1630afdf0e2422bbb8 Mon Sep 17 00:00:00 2001 From: kumavis Date: Wed, 18 Oct 2017 19:53:48 -0700 Subject: [PATCH 01/37] deps - bump eth-json-rpc-filters --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3843a8a41..91e64c10b 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "eth-block-tracker": "^2.2.0", "eth-contract-metadata": "^1.1.4", "eth-hd-keyring": "^1.2.1", - "eth-json-rpc-filters": "^1.2.2", + "eth-json-rpc-filters": "^1.2.3", "eth-keyring-controller": "^2.1.0", "eth-phishing-detect": "^1.1.4", "eth-query": "^2.1.2", From 5c902423d9f20699c636d8291b6a5f5071aeae85 Mon Sep 17 00:00:00 2001 From: frankiebee Date: Fri, 20 Oct 2017 02:30:46 -0700 Subject: [PATCH 02/37] mascara - set x-frame-options header to DENY --- mascara/server/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mascara/server/index.js b/mascara/server/index.js index 12b527e5d..24739b43f 100644 --- a/mascara/server/index.js +++ b/mascara/server/index.js @@ -17,7 +17,7 @@ function createMetamascaraServer () { const server = express() // ui window serveBundle(server, '/ui.js', uiBundle) - server.use(express.static(__dirname + '/../ui/')) + server.use(express.static(__dirname + '/../ui/', { setHeaders: (res) => res.set('X-Frame-Options', 'DENY') })) server.use(express.static(__dirname + '/../../dist/chrome')) // metamascara serveBundle(server, '/metamascara.js', metamascaraBundle) From 8472ca406a78468199a18c173ac8c9317dee8518 Mon Sep 17 00:00:00 2001 From: kumavis Date: Fri, 20 Oct 2017 12:29:12 -0700 Subject: [PATCH 03/37] deps - bump eth-json-rpc-filters for log filter fix --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 91e64c10b..0ecd22db5 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "eth-block-tracker": "^2.2.0", "eth-contract-metadata": "^1.1.4", "eth-hd-keyring": "^1.2.1", - "eth-json-rpc-filters": "^1.2.3", + "eth-json-rpc-filters": "^1.2.4", "eth-keyring-controller": "^2.1.0", "eth-phishing-detect": "^1.1.4", "eth-query": "^2.1.2", From a71c95b98744ce64f1863ea0ae4e4d450e0a606c Mon Sep 17 00:00:00 2001 From: kumavis Date: Fri, 20 Oct 2017 12:32:15 -0700 Subject: [PATCH 04/37] changelog entry for filter fix --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b24cc161a..f000244ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Current Master +- Fix bug where log filters were not populated correctly - Fix bug where web3 API was sometimes injected after the page loaded. - Fix bug where first account was sometimes not selected correctly after creating or restoring a vault. - Fix bug where imported accounts could not use new eth_signTypedData method. From 56dcf7c011f48c5f49e5339c9d36527d1f68cf93 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Fri, 20 Oct 2017 14:07:54 -0700 Subject: [PATCH 05/37] Version 3.11.1 --- CHANGELOG.md | 2 ++ app/manifest.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f000244ca..bbbc2e3be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Current Master +## 3.11.1 2017-10-20 + - Fix bug where log filters were not populated correctly - Fix bug where web3 API was sometimes injected after the page loaded. - Fix bug where first account was sometimes not selected correctly after creating or restoring a vault. diff --git a/app/manifest.json b/app/manifest.json index a0f449c68..c30d90dfa 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,7 +1,7 @@ { "name": "MetaMask", "short_name": "Metamask", - "version": "3.11.0", + "version": "3.11.1", "manifest_version": 2, "author": "https://metamask.io", "description": "Ethereum Browser Extension", From 0264ecaad77330b151f4bf4248b66f4659a67cce Mon Sep 17 00:00:00 2001 From: Jacky Chan Date: Fri, 18 Aug 2017 04:11:26 -0700 Subject: [PATCH 06/37] Adding CreatePasswordScreen --- .babelrc | 2 +- mascara/server/util.js | 2 +- .../app/first-time/create-password-screen.js | 13 +++++ mascara/src/app/first-time/index.js | 54 +++++++++++++++++++ ui/app/app.js | 24 +++++++++ ui/app/reducers/metamask.js | 2 + 6 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 mascara/src/app/first-time/create-password-screen.js create mode 100644 mascara/src/app/first-time/index.js diff --git a/.babelrc b/.babelrc index bca3364fc..307583ffd 100644 --- a/.babelrc +++ b/.babelrc @@ -1,4 +1,4 @@ { - "presets": ["es2015", "stage-0"], + "presets": ["es2015", "stage-0", "react"], "plugins": ["transform-runtime", "transform-async-to-generator"] } diff --git a/mascara/server/util.js b/mascara/server/util.js index 6ab41b729..af2daddb9 100644 --- a/mascara/server/util.js +++ b/mascara/server/util.js @@ -23,7 +23,7 @@ function createBundle (entryPoint) { cache: {}, packageCache: {}, plugin: [watchify], - }) + }).transform('babelify') bundler.on('update', bundle) bundle() diff --git a/mascara/src/app/first-time/create-password-screen.js b/mascara/src/app/first-time/create-password-screen.js new file mode 100644 index 000000000..afb1ad8f6 --- /dev/null +++ b/mascara/src/app/first-time/create-password-screen.js @@ -0,0 +1,13 @@ +import React, {Component, PropTypes} from 'react' + +export default class CreatePasswordScreen extends Component { + + render() { + return ( +
+ +
+ ) + } + +} \ No newline at end of file diff --git a/mascara/src/app/first-time/index.js b/mascara/src/app/first-time/index.js new file mode 100644 index 000000000..a2cb8d71c --- /dev/null +++ b/mascara/src/app/first-time/index.js @@ -0,0 +1,54 @@ +import React, {Component, PropTypes} from 'react' +import CreatePasswordScreen from './create-password-screen' + +export default class FirstTimeFlow extends Component { + + static propTypes = { + screenType: PropTypes.string + }; + + static defaultProps = { + screenType: FirstTimeFlow.CREATE_PASSWORD + }; + + static SCREEN_TYPE = { + CREATE_PASSWORD: 'create_password', + UNIQUE_IMAGE: 'unique_image', + TERM_OF_USE: 'term_of_use', + BACK_UP_PHRASE: 'back_up_phrase', + CONFIRM_BACK_UP_PHRASE: 'confirm_back_up_phrase', + BUY_ETHER: 'buy_ether' + }; + + static getScreenType = ({isInitialized, noActiveNotices, seedWords}) => { + const {SCREEN_TYPE} = FirstTimeFlow + + if (!isInitialized) { + return SCREEN_TYPE.CREATE_PASSWORD + } + + if (!noActiveNotices) { + return SCREEN_TYPE.TERM_OF_USE + } + + if (seedWords) { + return SCREEN_TYPE.BACK_UP_PHRASE + } + }; + + renderScreen() { + const {SCREEN_TYPE} = FirstTimeFlow + + switch (this.props.screenType) { + case SCREEN_TYPE.CREATE_PASSWORD: + return + default: + return