@ -18,6 +18,7 @@ var Recorder = require('../../recorder')
var addTooltip = require ( '../ui/tooltip' )
var css = require ( './styles/run-tab-styles' )
var MultiParamManager = require ( '../../multiParamManager' )
var modalDialog = require ( '../ui/modaldialog' )
function runTab ( opts , localRegistry ) {
/ * - - - - - - - - - - - - - - - - - - - - - - - - -
@ -421,6 +422,7 @@ function contractDropdown (events, self) {
return
}
var forceSend = ( ) => {
var constructor = txHelper . getConstructorInterface ( selectedContract . contract . object . abi )
self . _deps . filePanel . compilerMetadata ( ) . metadataOf ( selectedContract . name , ( error , contractMetadata ) => {
if ( error ) return self . _deps . logCallback ( ` creation of ${ selectedContract . name } errored: ` + error )
@ -441,6 +443,25 @@ function contractDropdown (events, self) {
} )
}
if ( selectedContract . contract . object . evm . deployedBytecode . object . length / 2 > 24576 ) {
modalDialog ( 'Contract code size over limit' , yo ` <div>Contract creation initialization returns data with length of more than 24576 bytes. The deployment will likely fails. <br>
More info : < a href = "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-170.md" target = "_blank" > eip - 170 < / a >
< / d i v > ` ,
{
label : 'Force Send' ,
fn : ( ) => {
forceSend ( )
} } , {
label : 'Cancel' ,
fn : ( ) => {
self . _deps . logCallback ( ` creation of ${ selectedContract . name } canceled by user. ` )
}
} )
} else {
forceSend ( )
}
}
// ACCESS DEPLOYED INSTANCE
function loadFromAddress ( ) {
var noInstancesText = self . _view . noInstancesText