mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Merge pull request #207 from MetaMask/i168
signTx+Msg - show Account Unlock Request when locked
This commit is contained in:
commit
b6a2d388f7
@ -8,6 +8,7 @@ const handleRequestsFromStream = require('web3-stream-provider/handler')
|
||||
const ObjectMultiplex = require('./lib/obj-multiplex')
|
||||
const PortStream = require('./lib/port-stream.js')
|
||||
const IdentityStore = require('./lib/idStore')
|
||||
const createUnlockRequestNotification = require('./lib/notifications.js').createUnlockRequestNotification
|
||||
const createTxNotification = require('./lib/notifications.js').createTxNotification
|
||||
const createMsgNotification = require('./lib/notifications.js').createMsgNotification
|
||||
const configManager = require('./lib/config-manager-singleton')
|
||||
@ -65,10 +66,10 @@ var providerOpts = {
|
||||
cb(null, result)
|
||||
},
|
||||
// tx signing
|
||||
approveTransaction: addUnconfirmedTx,
|
||||
approveTransaction: approveTransaction,
|
||||
signTransaction: idStore.signTransaction.bind(idStore),
|
||||
// msg signing
|
||||
approveMessage: addUnconfirmedMsg,
|
||||
approveMessage: approveMessage,
|
||||
signMessage: idStore.signMessage.bind(idStore),
|
||||
}
|
||||
var provider = MetaMaskProvider(providerOpts)
|
||||
@ -217,6 +218,30 @@ function updateBadge(state){
|
||||
// Add unconfirmed Tx + Msg
|
||||
//
|
||||
|
||||
function approveTransaction(txParams, cb){
|
||||
var state = idStore.getState()
|
||||
if (!state.isUnlocked) {
|
||||
createUnlockRequestNotification({
|
||||
title: 'Account Unlock Request',
|
||||
})
|
||||
var txId = idStore.addUnconfirmedTransaction(txParams, cb)
|
||||
} else {
|
||||
addUnconfirmedTx(txParams, cb)
|
||||
}
|
||||
}
|
||||
|
||||
function approveMessage(msgParams, cb){
|
||||
var state = idStore.getState()
|
||||
if (!state.isUnlocked) {
|
||||
createUnlockRequestNotification({
|
||||
title: 'Account Unlock Request',
|
||||
})
|
||||
var msgId = idStore.addUnconfirmedMessage(msgParams, cb)
|
||||
} else {
|
||||
addUnconfirmedMsg(msgParams, cb)
|
||||
}
|
||||
}
|
||||
|
||||
function addUnconfirmedTx(txParams, cb){
|
||||
var txId = idStore.addUnconfirmedTransaction(txParams, cb)
|
||||
createTxNotification({
|
||||
|
@ -3,6 +3,7 @@ const uiUtils = require('../../../ui/app/util')
|
||||
var notificationHandlers = {}
|
||||
|
||||
module.exports = {
|
||||
createUnlockRequestNotification: createUnlockRequestNotification,
|
||||
createTxNotification: createTxNotification,
|
||||
createMsgNotification: createMsgNotification,
|
||||
}
|
||||
@ -24,6 +25,19 @@ chrome.notifications.onClosed.addListener(function(notificationId){
|
||||
})
|
||||
|
||||
// creation helper
|
||||
function createUnlockRequestNotification(opts){
|
||||
var message = 'An Ethereum app has requested a signature. Please unlock your account.'
|
||||
|
||||
var id = createId()
|
||||
chrome.notifications.create(id, {
|
||||
type: 'basic',
|
||||
iconUrl: '/images/icon-128.png',
|
||||
title: opts.title,
|
||||
message: message,
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
function createTxNotification(opts){
|
||||
var message = [
|
||||
'to: '+uiUtils.addressSummary(opts.txParams.to),
|
||||
|
Loading…
Reference in New Issue
Block a user