From 875a0731ddab06f9db2bd5bc67471f897ef99c3d Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Fri, 22 Apr 2016 13:32:56 -0700 Subject: [PATCH 1/4] Deprecate rawtestrpc.metamask.io This migration will move users who have their clients configured to point at `rawtestrpc.metamask.io` to point at our new test-net RPC, `testrpc.metamask.io`. --- app/scripts/migrations/002.js | 10 ++++++---- app/scripts/migrations/003.js | 13 +++++++++++++ test/unit/migrations-test.js | 14 +++++++++++--- 3 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 app/scripts/migrations/003.js diff --git a/app/scripts/migrations/002.js b/app/scripts/migrations/002.js index ab6a256ab..087f8bcd9 100644 --- a/app/scripts/migrations/002.js +++ b/app/scripts/migrations/002.js @@ -1,11 +1,13 @@ +var oldTestRpc = 'https://rawtestrpc.metamask.io/' +var newTestRpc = 'https://testrpc.metamask.io/' + module.exports = { - version: 2, + version: 3, migrate: function(data) { try { - if (data.config.provider.type === 'etherscan') { - data.config.provider.type = 'rpc' - data.config.provider.rpcTarget = 'https://rpc.metamask.io/' + if (data.config.provider.rpcTarget === oldTestRpc) { + data.config.provider.rpcTarget = newTestRpc } } catch (e) {} return data diff --git a/app/scripts/migrations/003.js b/app/scripts/migrations/003.js new file mode 100644 index 000000000..ab6a256ab --- /dev/null +++ b/app/scripts/migrations/003.js @@ -0,0 +1,13 @@ +module.exports = { + version: 2, + + migrate: function(data) { + try { + if (data.config.provider.type === 'etherscan') { + data.config.provider.type = 'rpc' + data.config.provider.rpcTarget = 'https://rpc.metamask.io/' + } + } catch (e) {} + return data + } +} diff --git a/test/unit/migrations-test.js b/test/unit/migrations-test.js index 092c0eccd..4170b8e62 100644 --- a/test/unit/migrations-test.js +++ b/test/unit/migrations-test.js @@ -3,13 +3,21 @@ var path = require('path') var wallet1 = require(path.join('..', 'lib', 'migrations', '001.json')) var migration2 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '002')) +var migration3 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '003')) describe('wallet1 is migrated successfully', function() { it('should convert etherscan provider', function(done) { - var result = migration2.migrate(wallet1.data) - assert.equal(result.config.provider.type, 'rpc', 'provider should be rpc') - assert.equal(result.config.provider.rpcTarget, 'https://rpc.metamask.io/', 'provider should be our rpc') + + var firstResult = migration2.migrate(wallet1.data) + assert.equal(firstResult.config.provider.type, 'rpc', 'provider should be rpc') + assert.equal(firstResult.config.provider.rpcTarget, 'https://rpc.metamask.io/', 'provider should be our rpc') + + var oldTestRpc = 'https://rawtestrpc.metamask.io/' + firstResult.config.provider.rpcTarget = oldTestRpc + var secondResult = migration3.migrate(firstResult) + assert.equal(firstResult.config.provider.rpcTarget, 'https://testrpc.metamask.io/', 'provider should be our rpc') + done() }) }) From 4a1dd26fc9b37f2d627b1b04bcd1fc8569378364 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Fri, 22 Apr 2016 13:36:04 -0700 Subject: [PATCH 2/4] Corrected migration order --- app/scripts/migrations/002.js | 10 ++++------ app/scripts/migrations/003.js | 10 ++++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/scripts/migrations/002.js b/app/scripts/migrations/002.js index 087f8bcd9..ab6a256ab 100644 --- a/app/scripts/migrations/002.js +++ b/app/scripts/migrations/002.js @@ -1,13 +1,11 @@ -var oldTestRpc = 'https://rawtestrpc.metamask.io/' -var newTestRpc = 'https://testrpc.metamask.io/' - module.exports = { - version: 3, + version: 2, migrate: function(data) { try { - if (data.config.provider.rpcTarget === oldTestRpc) { - data.config.provider.rpcTarget = newTestRpc + if (data.config.provider.type === 'etherscan') { + data.config.provider.type = 'rpc' + data.config.provider.rpcTarget = 'https://rpc.metamask.io/' } } catch (e) {} return data diff --git a/app/scripts/migrations/003.js b/app/scripts/migrations/003.js index ab6a256ab..087f8bcd9 100644 --- a/app/scripts/migrations/003.js +++ b/app/scripts/migrations/003.js @@ -1,11 +1,13 @@ +var oldTestRpc = 'https://rawtestrpc.metamask.io/' +var newTestRpc = 'https://testrpc.metamask.io/' + module.exports = { - version: 2, + version: 3, migrate: function(data) { try { - if (data.config.provider.type === 'etherscan') { - data.config.provider.type = 'rpc' - data.config.provider.rpcTarget = 'https://rpc.metamask.io/' + if (data.config.provider.rpcTarget === oldTestRpc) { + data.config.provider.rpcTarget = newTestRpc } } catch (e) {} return data From ab9db44f4a62a6f7e9200fb5d8034cf967da5e34 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Fri, 22 Apr 2016 13:59:42 -0700 Subject: [PATCH 3/4] Add migration to actual migration array, fix test --- app/scripts/lib/migrations.js | 2 ++ test/unit/migrations-test.js | 11 ++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/scripts/lib/migrations.js b/app/scripts/lib/migrations.js index cab5bec66..0b8e6265c 100644 --- a/app/scripts/lib/migrations.js +++ b/app/scripts/lib/migrations.js @@ -2,7 +2,9 @@ var path = require('path') var fs = require('fs') var migration2 = require('../migrations/002') +var migration3 = require('../migrations/003') module.exports = [ migration2, + migration3, ] diff --git a/test/unit/migrations-test.js b/test/unit/migrations-test.js index 4170b8e62..3b347530a 100644 --- a/test/unit/migrations-test.js +++ b/test/unit/migrations-test.js @@ -2,21 +2,26 @@ var assert = require('assert') var path = require('path') var wallet1 = require(path.join('..', 'lib', 'migrations', '001.json')) + var migration2 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '002')) var migration3 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '003')) describe('wallet1 is migrated successfully', function() { - it('should convert etherscan provider', function(done) { + it('should convert providers', function(done) { + + wallet1.data.config.provider = { type: 'etherscan', rpcTarget: null } var firstResult = migration2.migrate(wallet1.data) assert.equal(firstResult.config.provider.type, 'rpc', 'provider should be rpc') - assert.equal(firstResult.config.provider.rpcTarget, 'https://rpc.metamask.io/', 'provider should be our rpc') + assert.equal(firstResult.config.provider.rpcTarget, 'https://rpc.metamask.io/', 'main provider should be our rpc') var oldTestRpc = 'https://rawtestrpc.metamask.io/' + var newTestRpc = 'https://testrpc.metamask.io/' firstResult.config.provider.rpcTarget = oldTestRpc + var secondResult = migration3.migrate(firstResult) - assert.equal(firstResult.config.provider.rpcTarget, 'https://testrpc.metamask.io/', 'provider should be our rpc') + assert.equal(secondResult.config.provider.rpcTarget, newTestRpc) done() }) From 33b344d276f6cf12f2a89d5e226ceebd6260cd7e Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Fri, 22 Apr 2016 14:21:45 -0700 Subject: [PATCH 4/4] Bump changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2bcf006f..0099aa0ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Added transaction list to account detail view. - Fix bug on config screen where current RPC address was always displayed wrong. - Fixed bug where entering a decimal value when sending a transaction would result in sending the wrong amount. +- Users have been migrated from old test-net RPC to a newer test-net RPC. # 1.5.1 2016-04-15