diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/manifest.json | 3 | ||||
-rw-r--r-- | app/scripts/controllers/transactions/lib/transaction-notification-manager.js | 27 | ||||
-rw-r--r-- | app/scripts/controllers/transactions/tx-state-manager.js | 3 |
3 files changed, 32 insertions, 1 deletions
diff --git a/app/manifest.json b/app/manifest.json index b67cef025..52256c5b7 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -63,7 +63,8 @@ "activeTab", "webRequest", "*://*.eth/", - "*://*.test/" + "*://*.test/", + "notifications" ], "web_accessible_resources": [ "inpage.js" diff --git a/app/scripts/controllers/transactions/lib/transaction-notification-manager.js b/app/scripts/controllers/transactions/lib/transaction-notification-manager.js new file mode 100644 index 000000000..6bdf40b62 --- /dev/null +++ b/app/scripts/controllers/transactions/lib/transaction-notification-manager.js @@ -0,0 +1,27 @@ +const extension = require('extensionizer') + +// Confirmed tx +// Transaction ${tx.nonce} confirmed! View on Etherscan + +// Failed tx +// Transaction ${tx.nonce} failed. (Maybe append tx.error.message) + +// Dropped tx +// A Transaction ${tx.nonce} was dropped, because another transaction with that number was successfully processed. + +function showConfirmedNotification (txMeta) { + extension.notifications.create({ + "type": "basic", + "title": "Confirmed transaction", + "iconUrl": extension.extension.getURL('../../../../images/icon-64.png'), + "message": JSON.stringify(txMeta) + }); +} + + +/** +@module +*/ +module.exports = { + showConfirmedNotification +}
\ No newline at end of file diff --git a/app/scripts/controllers/transactions/tx-state-manager.js b/app/scripts/controllers/transactions/tx-state-manager.js index 28a18ca2e..72da45913 100644 --- a/app/scripts/controllers/transactions/tx-state-manager.js +++ b/app/scripts/controllers/transactions/tx-state-manager.js @@ -5,6 +5,7 @@ const ethUtil = require('ethereumjs-util') const log = require('loglevel') const txStateHistoryHelper = require('./lib/tx-state-history-helper') const createId = require('../../lib/random-id') +const transactionNotificationManager = require('./lib/transaction-notification-manager') const { getFinalStates } = require('./lib/util') /** TransactionStateManager is responsible for the state of a transaction and @@ -332,6 +333,8 @@ class TransactionStateManager extends EventEmitter { */ setTxStatusConfirmed (txId) { this._setTxStatus(txId, 'confirmed') + const txMeta = this.getTx(txId) + transactionNotificationManager.showConfirmedNotification(txMeta) } /** |