@ -149,22 +149,27 @@ class DropdownLogic {
)
)
}
}
determineGasFees ( gasPrice , cb ) {
// determineGasFees (gasPrice, cb) {
let txFeeText , priceStatus
determineGasFees ( tx ) {
// TODO: this try catch feels like an anti pattern, can/should be
const determineGasFeesCb = ( gasPrice , cb ) => {
// removed, but for now keeping the original logic
let txFeeText , priceStatus
try {
// TODO: this try catch feels like an anti pattern, can/should be
var fee = this . calculateFee ( tx . gas , gasPrice )
// removed, but for now keeping the original logic
txFeeText = ' ' + this . fromWei ( fee , false , 'ether' ) + ' Ether'
try {
priceStatus = true
var fee = this . calculateFee ( tx . gas , gasPrice )
} catch ( e ) {
txFeeText = ' ' + this . fromWei ( fee , false , 'ether' ) + ' Ether'
txFeeText = ' Please fix this issue before sending any transaction. ' + e . message
priceStatus = true
priceStatus = false
} catch ( e ) {
txFeeText = ' Please fix this issue before sending any transaction. ' + e . message
priceStatus = false
}
cb ( txFeeText , priceStatus )
}
}
cb ( txFeeText , priceStatus )
return determineGasFeesCb
}
}
determineGasPrice ( cb ) {
determineGasPrice ( cb ) {
this . getGasPrice ( ( error , gasPrice ) => {
this . getGasPrice ( ( error , gasPrice ) => {
var warnMessage = ' Please fix this issue before sending any transaction. '
var warnMessage = ' Please fix this issue before sending any transaction. '
if ( error ) {
if ( error ) {
@ -179,13 +184,13 @@ class DropdownLogic {
} )
} )
}
}
getConfirmationCb ( modalDialog , confirmDialog ) {
getConfirmationCb ( modalDialog , confirmDialog ) {
const confirmationCb = ( network , tx , gasEstimation , continueTxExecution , cancelCb ) => {
const confirmationCb = ( network , tx , gasEstimation , continueTxExecution , cancelCb ) => {
if ( network . name !== 'Main' ) {
if ( network . name !== 'Main' ) {
return continueTxExecution ( null )
return continueTxExecution ( null )
}
}
const amount = this . fromWei ( tx . value , true , 'ether' )
const amount = this . fromWei ( tx . value , true , 'ether' )
const content = confirmDialog ( tx , amount , gasEstimation , null , this . determineGasFees , this . determineGasPrice )
const content = confirmDialog ( tx , amount , gasEstimation , null , this . determineGasFees ( tx ) , this . determineGasPrice )
modalDialog ( 'Confirm transaction' , content ,
modalDialog ( 'Confirm transaction' , content ,
{ label : 'Confirm' ,
{ label : 'Confirm' ,
@ -215,12 +220,12 @@ class DropdownLogic {
this . udapp . runTx ( data , confirmationCb , continueCb , promptCb , finalCb )
this . udapp . runTx ( data , confirmationCb , continueCb , promptCb , finalCb )
}
}
getCompilerContracts ( ) {
getCompilerContracts ( ) {
return this . compilersArtefacts [ '__last' ] . getData ( ) . contracts
return this . compilersArtefacts [ '__last' ] . getData ( ) . contracts
}
}
async deploContract ( selectedContract , args , contractMetadata , compilerContracts , callbacks , dialogs ) {
async deploy Contract ( selectedContract , args , contractMetadata , compilerContracts , callbacks , dialogs ) {
const { continueCb , promptCb , statusCb , finalCb } = callbacks
const { continueCb , promptCb , statusCb , finalCb } = callbacks
const { modalDialog , confirmDialog } = dialogs
const { modalDialog , confirmDialog } = dialogs
var constructor = selectedContract . getConstructorInterface ( )
var constructor = selectedContract . getConstructorInterface ( )