aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.circleci/config.yml60
-rw-r--r--app/scripts/background.js2
-rw-r--r--app/scripts/controllers/transactions/index.js15
-rw-r--r--app/scripts/metamask-controller.js2
-rw-r--r--package.json1
-rw-r--r--test/unit/app/controllers/transactions/tx-controller-test.js30
6 files changed, 57 insertions, 53 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 81b8a7301..4d9d01ee6 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -9,6 +9,9 @@ workflows:
- prep-build:
requires:
- prep-deps-npm
+ - prep-docs:
+ requires:
+ - prep-deps-npm
- prep-scss:
requires:
- prep-deps-npm
@@ -25,7 +28,7 @@ workflows:
- test-e2e-firefox:
requires:
- prep-deps-npm
- - prep-deps-firefox
+ - prep-deps-firefox
- prep-build
- test-unit:
requires:
@@ -63,12 +66,22 @@ workflows:
- prep-deps-npm
- prep-build
- all-tests-pass
- - job-publish:
+ - job-publish-prerelease:
requires:
- prep-deps-npm
- prep-build
- job-screens
- all-tests-pass
+ - job-publish-release:
+ filters:
+ branches:
+ only: master
+ requires:
+ - prep-deps-npm
+ - prep-build
+ - prep-docs
+ - job-screens
+ - all-tests-pass
jobs:
prep-deps-npm:
@@ -124,6 +137,21 @@ jobs:
- dist
- builds
+ prep-docs:
+ docker:
+ - image: circleci/node:8-browsers
+ steps:
+ - checkout
+ - restore_cache:
+ key: dependency-cache-{{ .Revision }}
+ - run:
+ name: build:dist
+ command: npm run doc
+ - save_cache:
+ key: docs-cache-{{ .Revision }}
+ paths:
+ - docs/jsdoc
+
prep-scss:
docker:
- image: circleci/node:8-browsers
@@ -180,7 +208,7 @@ jobs:
- store_artifacts:
path: test-artifacts
destination: test-artifacts
-
+
test-e2e-firefox:
environment:
browsers: '["Firefox"]'
@@ -200,7 +228,7 @@ jobs:
- restore_cache:
key: dependency-cache-{{ .Revision }}
- restore_cache:
- key: build-cache-{{ .Revision }}
+ key: build-cache-{{ .Revision }}
- run:
name: test:e2e:firefox
command: npm run test:e2e:firefox
@@ -225,7 +253,7 @@ jobs:
paths:
- test-artifacts
- job-publish:
+ job-publish-prerelease:
docker:
- image: circleci/node:8-browsers
steps:
@@ -251,9 +279,29 @@ jobs:
- run:
name: build:announce
command: ./development/metamaskbot-build-announce.js
+
+ job-publish-release:
+ docker:
+ - image: circleci/node:8-browsers
+ steps:
+ - checkout
+ - restore_cache:
+ key: dependency-cache-{{ .Revision }}
+ - restore_cache:
+ key: build-cache-{{ .Revision }}
+ - restore_cache:
+ key: docs-cache-{{ .Revision }}
+ - restore_cache:
+ key: job-screens-{{ .Revision }}
- run:
name: sentry sourcemaps upload
command: npm run sentry:publish
+ - run:
+ name: github gh-pages docs publish
+ command: >
+ git config user.name metamaskbot
+ git config user.email admin@metamask.io
+ gh-pages -d docs/jsdocs
test-unit:
docker:
@@ -367,4 +415,4 @@ jobs:
- run:
name: All Tests Passed
command: echo 'weew - everything passed!'
-
+
diff --git a/app/scripts/background.js b/app/scripts/background.js
index 69d549c85..686296329 100644
--- a/app/scripts/background.js
+++ b/app/scripts/background.js
@@ -322,7 +322,7 @@ function setupController (initState, initLangCode) {
/**
* A runtime.Port object, as provided by the browser:
- * @link https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/Port
+ * @see https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/Port
* @typedef Port
* @type Object
*/
diff --git a/app/scripts/controllers/transactions/index.js b/app/scripts/controllers/transactions/index.js
index 3886db104..541f1db73 100644
--- a/app/scripts/controllers/transactions/index.js
+++ b/app/scripts/controllers/transactions/index.js
@@ -112,21 +112,6 @@ class TransactionController extends EventEmitter {
}
/**
- Check if a txMeta in the list with the same nonce has been confirmed in a block
- if the txParams dont have a nonce will return false
- @returns {boolean} whether the nonce has been used in a transaction confirmed in a block
- @param {object} txMeta - the txMeta object
- */
- async isNonceTaken (txMeta) {
- const { from, nonce } = txMeta.txParams
- if ('nonce' in txMeta.txParams) {
- const sameNonceTxList = this.txStateManager.getFilteredTxList({from, nonce, status: 'confirmed'})
- return (sameNonceTxList.length >= 1)
- }
- return false
- }
-
- /**
add a new unapproved transaction to the pipeline
@returns {Promise<string>} the hash of the transaction after being submitted to the network
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index 807c9a0b9..1b1d26886 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -382,7 +382,7 @@ module.exports = class MetamaskController extends EventEmitter {
updateTransaction: nodeify(txController.updateTransaction, txController),
updateAndApproveTransaction: nodeify(txController.updateAndApproveTransaction, txController),
retryTransaction: nodeify(this.retryTransaction, this),
- isNonceTaken: nodeify(txController.isNonceTaken, txController),
+ getFilteredTxList: nodeify(txController.getFilteredTxList, txController),
// messageManager
signMessage: nodeify(this.signMessage, this),
diff --git a/package.json b/package.json
index 2630cb1fc..5637f202e 100644
--- a/package.json
+++ b/package.json
@@ -231,6 +231,7 @@
"ganache-cli": "^6.1.0",
"ganache-core": "^2.1.0",
"geckodriver": "^1.11.0",
+ "gh-pages": "^1.1.0",
"gifencoder": "^1.1.0",
"gulp": "github:gulpjs/gulp#6d71a658c61edb3090221579d8f97dbe086ba2ed",
"gulp-babel": "^7.0.0",
diff --git a/test/unit/app/controllers/transactions/tx-controller-test.js b/test/unit/app/controllers/transactions/tx-controller-test.js
index f1d67f64e..1f32a0f37 100644
--- a/test/unit/app/controllers/transactions/tx-controller-test.js
+++ b/test/unit/app/controllers/transactions/tx-controller-test.js
@@ -40,36 +40,6 @@ describe('Transaction Controller', function () {
txController.nonceTracker.getNonceLock = () => Promise.resolve({ nextNonce: 0, releaseLock: noop })
})
- describe('#isNonceTaken', function () {
- it('should return true', function (done) {
- txController.txStateManager._saveTxList([
- { id: 1, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams: {nonce: 0, from: '0x8ACCE2391C0d510a6C5E5D8f819A678F79B7E675'} },
- { id: 2, status: 'confirmed', metamaskNetworkId: currentNetworkId, txParams: {nonce: 0, from: '0x8ACCE2391C0d510a6C5E5D8f819A678F79B7E675'} },
- { id: 3, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams: {nonce: 0, from: '0x8ACCE2391C0d510a6C5E5D8f819A678F79B7E675'} },
- ])
- txController.isNonceTaken({txParams: {nonce:0, from:'0x8ACCE2391C0d510a6C5E5D8f819A678F79B7E675'}})
- .then((isNonceTaken) => {
- assert(isNonceTaken)
- done()
- }).catch(done)
-
- })
- it('should return false', function (done) {
- txController.txStateManager._saveTxList([
- { id: 1, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams: {nonce: 0, from: '0x8ACCE2391C0d510a6C5E5D8f819A678F79B7E675'} },
- { id: 2, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams: {nonce: 0, from: '0x8ACCE2391C0d510a6C5E5D8f819A678F79B7E675'} },
- { id: 3, status: 'submitted', metamaskNetworkId: currentNetworkId, txParams: {nonce: 0, from: '0x8ACCE2391C0d510a6C5E5D8f819A678F79B7E675'} },
- ])
-
- txController.isNonceTaken({txParams: {nonce:0, from:'0x8ACCE2391C0d510a6C5E5D8f819A678F79B7E675'}})
- .then((isNonceTaken) => {
- assert(!isNonceTaken)
- done()
- }).catch(done)
-
- })
- })
-
describe('#getState', function () {
it('should return a state object with the right keys and datat types', function () {
const exposedState = txController.getState()