Display modal when Ropsten is selected

pull/1/head
ninabreznik 7 years ago
parent 09bea4e606
commit f2cd335d1a
  1. 5
      src/app.js
  2. 58
      src/app/execution/txRunner.js
  3. 6
      src/universal-dapp.js

@ -248,7 +248,10 @@ function run () {
logMessage: (msg) => { logMessage: (msg) => {
self._components.editorpanel.log({ type: 'log', value: msg }) self._components.editorpanel.log({ type: 'log', value: msg })
}, },
config: self._api.config config: self._api.config,
detectNetwork: (cb) => {
executionContext.detectNetwork(cb)
}
}, },
opt: { removable: false, removable_instances: true } opt: { removable: false, removable_instances: true }
}) })

@ -27,6 +27,7 @@ function TxRunner (vmaccounts, opts) {
this.blockNumber = 0 this.blockNumber = 0
this.runAsync = true this.runAsync = true
this.config = opts.config this.config = opts.config
this.detectNetwork = opts.detectNetwork
if (executionContext.isVM()) { if (executionContext.isVM()) {
this.blockNumber = 1150000 // The VM is running in Homestead mode, which started at this block. this.blockNumber = 1150000 // The VM is running in Homestead mode, which started at this block.
this.runAsync = false // We have to run like this cause the VM Event Manager does not support running multiple txs at the same time. this.runAsync = false // We have to run like this cause the VM Event Manager does not support running multiple txs at the same time.
@ -42,7 +43,6 @@ TxRunner.prototype.rawRun = function (args, cb) {
TxRunner.prototype.execute = function (args, callback) { TxRunner.prototype.execute = function (args, callback) {
var self = this var self = this
var from = args.from var from = args.from
var to = args.to var to = args.to
var data = args.data var data = args.data
@ -62,11 +62,28 @@ TxRunner.prototype.execute = function (args, callback) {
} }
if (args.useCall) { if (args.useCall) {
tx.gas = gasLimit tx.gas = gasLimit
modalDialog('Confirm transaction', remixdDialog(tx, self),
{ label: 'Confirm', if (true) {
fn: () => { self.detectNetwork((err,network) => {
execute() if (err) {
}}) console.log(err)
} else {
console.log(network.name)
if (network.name === 'Ropsten') {
modalDialog('Confirm transaction', remixdDialog(tx, self),
{ label: 'Confirm',
fn: () => {
execute()
}})
} else {
execute()
}
}
})
} else {
execute()
}
function execute () { function execute () {
executionContext.web3().eth.call(tx, function (error, result) { executionContext.web3().eth.call(tx, function (error, result) {
callback(error, { callback(error, {
@ -93,11 +110,29 @@ TxRunner.prototype.execute = function (args, callback) {
} }
tx.gas = gasEstimation tx.gas = gasEstimation
modalDialog('Confirm transaction', remixdDialog(tx, self),
{ label: 'Confirm', if (true) {
fn: () => {
execute() self.detectNetwork((err,network) => {
}}) if (err) {
console.log(err)
} else {
console.log(network.name)
if (network.name === 'Ropsten') {
modalDialog('Confirm transaction', remixdDialog(tx, self),
{ label: 'Confirm',
fn: () => {
execute()
}})
} else {
execute()
}
}
})
} else {
execute()
}
}) })
function execute () { function execute () {
var sendTransaction = self.personalMode ? executionContext.web3().personal.sendTransaction : executionContext.web3().eth.sendTransaction var sendTransaction = self.personalMode ? executionContext.web3().personal.sendTransaction : executionContext.web3().eth.sendTransaction
@ -114,6 +149,7 @@ TxRunner.prototype.execute = function (args, callback) {
} }
} }
} }
} else { } else {
try { try {
var account = self.vmaccounts[from] var account = self.vmaccounts[from]

@ -168,7 +168,8 @@ function UniversalDApp (opts = {}) {
}) })
self.txRunner = new TxRunner({}, { self.txRunner = new TxRunner({}, {
personalMode: this.personalMode, personalMode: this.personalMode,
config: self._api.config config: self._api.config,
detectNetwork: self._api.detectNetwork
}) })
} }
@ -189,7 +190,8 @@ UniversalDApp.prototype.reset = function (contracts, transactionContextAPI) {
} }
this.txRunner = new TxRunner(this.accounts, { this.txRunner = new TxRunner(this.accounts, {
personalMode: this.personalMode, personalMode: this.personalMode,
config: this._api.config config: this._api.config,
detectNetwork: this._api.detectNetwork
}) })
} }

Loading…
Cancel
Save