diff options
Add old-ui directory
Diffstat (limited to 'old-ui/example.js')
-rw-r--r-- | old-ui/example.js | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/old-ui/example.js b/old-ui/example.js new file mode 100644 index 000000000..4627c0e9c --- /dev/null +++ b/old-ui/example.js @@ -0,0 +1,123 @@ +const injectCss = require('inject-css') +const MetaMaskUi = require('./index.js') +const MetaMaskUiCss = require('./css.js') +const EventEmitter = require('events').EventEmitter + +// account management + +var identities = { + '0x1113462427bcc9133bb46e88bcbe39cd7ef0e111': { + name: 'Walrus', + img: 'QmW6hcwYzXrNkuHrpvo58YeZvbZxUddv69ATSHY3BHpPdd', + address: '0x1113462427bcc9133bb46e88bcbe39cd7ef0e111', + balance: 220, + txCount: 4, + }, + '0x222462427bcc9133bb46e88bcbe39cd7ef0e7222': { + name: 'Tardus', + img: 'QmQYaRdrf2EhRhJWaHnts8Meu1mZiXrNib5W1P6cYmXWRL', + address: '0x222462427bcc9133bb46e88bcbe39cd7ef0e7222', + balance: 10.005, + txCount: 16, + }, + '0x333462427bcc9133bb46e88bcbe39cd7ef0e7333': { + name: 'Gambler', + img: 'QmW6hcwYzXrNkuHrpvo58YeZvbZxUddv69ATSHY3BHpPdd', + address: '0x333462427bcc9133bb46e88bcbe39cd7ef0e7333', + balance: 0.000001, + txCount: 1, + }, +} + +var unapprovedTxs = {} +addUnconfTx({ + from: '0x222462427bcc9133bb46e88bcbe39cd7ef0e7222', + to: '0x1113462427bcc9133bb46e88bcbe39cd7ef0e111', + value: '0x123', +}) +addUnconfTx({ + from: '0x1113462427bcc9133bb46e88bcbe39cd7ef0e111', + to: '0x333462427bcc9133bb46e88bcbe39cd7ef0e7333', + value: '0x0000', + data: '0x000462427bcc9133bb46e88bcbe39cd7ef0e7000', +}) + +function addUnconfTx (txParams) { + var time = (new Date()).getTime() + var id = createRandomId() + unapprovedTxs[id] = { + id: id, + txParams: txParams, + time: time, + } +} + +var isUnlocked = false +var selectedAccount = null + +function getState () { + return { + isUnlocked: isUnlocked, + identities: isUnlocked ? identities : {}, + unapprovedTxs: isUnlocked ? unapprovedTxs : {}, + selectedAccount: selectedAccount, + } +} + +var accountManager = new EventEmitter() + +accountManager.getState = function (cb) { + cb(null, getState()) +} + +accountManager.setLocked = function () { + isUnlocked = false + this._didUpdate() +} + +accountManager.submitPassword = function (password, cb) { + if (password === 'test') { + isUnlocked = true + cb(null, getState()) + this._didUpdate() + } else { + cb(new Error('Bad password -- try "test"')) + } +} + +accountManager.setSelectedAccount = function (address, cb) { + selectedAccount = address + cb(null, getState()) + this._didUpdate() +} + +accountManager.signTransaction = function (txParams, cb) { + alert('signing tx....') +} + +accountManager._didUpdate = function () { + this.emit('update', getState()) +} + +// start app + +var container = document.getElementById('app-content') + +var css = MetaMaskUiCss() +injectCss(css) + +MetaMaskUi({ + container: container, + accountManager: accountManager, +}) + +// util + +function createRandomId () { + // 13 time digits + var datePart = new Date().getTime() * Math.pow(10, 3) + // 3 random digits + var extraPart = Math.floor(Math.random() * Math.pow(10, 3)) + // 16 digits + return datePart + extraPart +} |