modalDialogCustom.alert('A scenario file is required. Please make sure a scenario file is currently displayed in the editor. The file must be of type JSON. Use the "Save Transactions" Button to generate a new Scenario File.')
modalDialogCustom.alert('This contract may be abstract, not implement an abstract parent\'s methods completely or not invoke an inherited contract\'s constructor correctly.')
if(error)returnself._deps.logCallback(`creation of ${selectedContract.name} errored: `+error)
createInstanceCallback(selectedContract,data)
},(msg)=>{
self._deps.logCallback(msg)
},(data,runTxCallback)=>{
// called for libraries deployment
self._deps.udapp.runTx(data,runTxCallback)
})
}else{
if(Object.keys(selectedContract.contract.object.evm.bytecode.linkReferences).length)self._deps.logCallback(`linking ${JSON.stringify(selectedContract.contract.object.evm.bytecode.linkReferences,null,'\t')} using ${JSON.stringify(contractMetadata.linkReferences,null,'\t')}`)
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>
</div>`,
{
label:'Force Send',
fn:()=>{
forceSend()
}},{
label:'Cancel',
fn:()=>{
self._deps.logCallback(`creation of ${selectedContract.name} canceled by user.`)
title="Execution environment connects to node at localhost (or via IPC if available), transactions will be sent to the network and can cause loss of money or worse!
If this page is served via https and you access your node via http, it might not work. In this case, try cloning the repository and serving it via http."
value="web3"name="executionContext">Web3Provider
</option>
</select>
<ahref="https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md"target="_blank"><iclass="${css.icon} fa fa-info"></i></a>
</div>
</div>
`
var accountEl = yo`
<divclass="${css.crow}">
<divclass="${css.col1_1}">
Account
<iclass="fa fa-plus-circle ${css.icon}"aria-hidden="true"onclick=${newAccount} title="Create a new account"></i>
returnmodalDialogCustom.alert('This contract may be abstract, not implement an abstract parent\'s methods completely or not invoke an inherited contract\'s constructor correctly.')
returnmodalDialog('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>
if(Object.keys(selectedContract.bytecodeLinkReferences).length)statusCb(`linking ${JSON.stringify(selectedContract.bytecodeLinkReferences,null,'\t')} using ${JSON.stringify(contractMetadata.linkReferences,null,'\t')}`)
returncb('A scenario file is required. Please make sure a scenario file is currently displayed in the editor. The file must be of type JSON. Use the "Save Transactions" Button to generate a new Scenario File.')
title="Execution environment connects to node at localhost (or via IPC if available), transactions will be sent to the network and can cause loss of money or worse!
If this page is served via https and you access your node via http, it might not work. In this case, try cloning the repository and serving it via http."
value="web3"name="executionContext">Web3Provider
</option>
</select>
<ahref="https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md"target="_blank"><iclass="${css.icon} fa fa-info"></i></a>
</div>
</div>
`
var accountEl = yo`
<divclass="${css.crow}">
<divclass="${css.col1_1}">
Account
<iclass="fa fa-plus-circle ${css.icon}"aria-hidden="true"onclick=${this.newAccount.bind(this)} title="Create a new account"></i>
<i class="fa fa-pencil-square-o ${css.icon}" aria-hiden="true" onclick=${this.signMessage.bind(this)} title="Sign a message using this account key"></i>
returnmodalDialogCustom.promptPassphrase('Passphrase to sign a message','Enter your passphrase for this account to sign the message','',promptCb,false)
}
promptCb()
})
}
updateNetwork(){
this.settings.updateNetwork((err,{id,name}={})=>{
if(err){
this.netUI.innerHTML='can\'t detect network '
return
}
this.netUI.innerHTML=`<i class="${css.networkItem} fa fa-plug" aria-hidden="true"></i> ${name} (${id||'-'})`
})
}
// TODO: unclear what's the goal of accountListCallId, feels like it can be simplified
fillAccountsList(){
this.accountListCallId++
varcallid=this.accountListCallId
vartxOrigin=this.el.querySelector('#txorigin')
this.settings.getAccounts((err,accounts)=>{
if(this.accountListCallId>callid)return
this.accountListCallId++
if(err){addTooltip(`Cannot get account list: ${err}`)}