diff --git a/alethzero/Main.ui b/alethzero/Main.ui
index 328b4acba..fe475bae9 100644
--- a/alethzero/Main.ui
+++ b/alethzero/Main.ui
@@ -117,7 +117,7 @@
0
0
1617
- 25
+ 24
-
+
-
-
+
+
@@ -987,171 +970,6 @@
-
-
- false
-
-
- QDockWidget::DockWidgetFeatureMask
-
-
- Debugger
-
-
- 1
-
-
-
- false
-
-
-
- 6
-
-
- 0
-
-
- 0
-
-
- 0
-
-
- 0
-
- -
-
-
- Qt::Horizontal
-
-
-
-
- 1
- 0
-
-
-
- Qt::Vertical
-
-
-
-
- 0
- 0
-
-
-
- QFrame::NoFrame
-
-
- 0
-
-
-
-
-
- Ubuntu Mono
-
-
-
- QFrame::NoFrame
-
-
- 0
-
-
-
-
-
-
- 1
- 0
-
-
-
- Qt::Vertical
-
-
-
- QFrame::NoFrame
-
-
- 0
-
-
- true
-
-
- Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse
-
-
-
-
- QFrame::NoFrame
-
-
- 0
-
-
- true
-
-
- Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse
-
-
-
-
- QFrame::NoFrame
-
-
- 0
-
-
- true
-
-
- Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse
-
-
-
-
- QFrame::NoFrame
-
-
- true
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
-
-
-
QDockWidget::DockWidgetFeatureMask
@@ -1776,7 +1594,7 @@ font-size: 14pt
true
- Use &UPnP
+ &Use UPnP
@@ -1800,7 +1618,7 @@ font-size: 14pt
&Mine
-
+
&New Address
@@ -1834,7 +1652,7 @@ font-size: 14pt
true
- Mining &Paranoia
+ &Mining Paranoia
@@ -1862,7 +1680,7 @@ font-size: 14pt
true
- Show Ancient &Blocks
+ &Show Ancient Blocks
@@ -1870,7 +1688,7 @@ font-size: 14pt
true
- Show Anonymous &Accounts
+ Show &Anonymous Accounts
@@ -1970,7 +1788,7 @@ font-size: 14pt
false
- Debu&g Current Transaction
+ &Debug Current Transaction
@@ -1978,7 +1796,7 @@ font-size: 14pt
false
- D&ump Current Transaction State (post)
+ Dump &Current Transaction State (post)
@@ -1986,7 +1804,7 @@ font-size: 14pt
false
- D&ump Current Transaction State (pre)
+ Dump Current &Transaction State (pre)
@@ -2007,7 +1825,7 @@ font-size: 14pt
true
- &Use Private Chain...
+ Use &Private Chain...
@@ -2015,7 +1833,7 @@ font-size: 14pt
true
- &Enable LLL &Optimizer
+ &Enable LLL Optimizer
@@ -2023,7 +1841,7 @@ font-size: 14pt
true
- Reserved Debug 1
+ &Reserved Debug 1
@@ -2031,7 +1849,7 @@ font-size: 14pt
true
- Enable Local Addresses
+ &Enable Local Addresses
@@ -2044,7 +1862,7 @@ font-size: 14pt
- Go!
+ &Go!
@@ -2054,7 +1872,7 @@ font-size: 14pt
- Clear Pe&nd&ing
+ &Clear Pending
@@ -2112,10 +1930,6 @@ font-size: 14pt
urlEdit
webView
nameReg
- debugCode
- debugStack
- debugMemory
- debugStorage
diff --git a/alethzero/MainWin.cpp b/alethzero/MainWin.cpp
index 62bc5e069..f794f6758 100644
--- a/alethzero/MainWin.cpp
+++ b/alethzero/MainWin.cpp
@@ -1514,49 +1514,6 @@ void Main::on_debugDumpStatePre_triggered()
on_debugDumpState_triggered(0);
}
-void Main::populateDebugger(dev::bytesConstRef _r)
-{
- bool done = m_currentExecution->setup(_r);
- if (!done)
- {
- debugFinished();
- vector levels;
- m_codes.clear();
- bytes lastExtCode;
- bytesConstRef lastData;
- h256 lastHash;
- h256 lastDataHash;
- auto onOp = [&](uint64_t steps, Instruction inst, dev::bigint newMemSize, dev::bigint gasCost, VM* voidVM, ExtVMFace const* voidExt)
- {
- VM& vm = *voidVM;
- ExtVM const& ext = *static_cast(voidExt);
- if (ext.code != lastExtCode)
- {
- lastExtCode = ext.code;
- lastHash = sha3(lastExtCode);
- if (!m_codes.count(lastHash))
- m_codes[lastHash] = ext.code;
- }
- if (ext.data != lastData)
- {
- lastData = ext.data;
- lastDataHash = sha3(lastData);
- if (!m_codes.count(lastDataHash))
- m_codes[lastDataHash] = ext.data.toBytes();
- }
- if (levels.size() < ext.depth)
- levels.push_back(&m_history.back());
- else
- levels.resize(ext.depth);
- m_history.append(WorldState({steps, ext.myAddress, vm.curPC(), inst, newMemSize, vm.gas(), lastHash, lastDataHash, vm.stack(), vm.memory(), gasCost, ext.state().storage(ext.myAddress), levels}));
- };
- m_currentExecution->go(onOp);
- m_currentExecution->finalize();
- initDebugger();
- updateDebugger();
- }
-}
-
void Main::on_contracts_currentItemChanged()
{
ui->contractInfo->clear();
@@ -1713,7 +1670,6 @@ string const Main::getFunctionHashes(dev::solidity::CompilerStack const &_compil
void Main::on_data_textChanged()
{
- m_pcWarp.clear();
if (isCreation())
{
string src = ui->data->toPlainText().toStdString();
@@ -1950,7 +1906,6 @@ void Main::on_send_clicked()
for (auto i: m_myKeys)
if (ethereum()->balanceAt(i.address(), 0) >= totalReq)
{
- debugFinished();
Secret s = i.secret();
if (isCreation())
{
@@ -1966,8 +1921,7 @@ void Main::on_send_clicked()
for (string& s: compiler.getContractNames())
{
h256 contractHash = compiler.getContractCodeHash(s);
- m_natspecDB.add(contractHash,
- compiler.getMetadata(s, dev::solidity::DocumentationType::NatspecUser));
+ m_natspecDB.add(contractHash, compiler.getMetadata(s, dev::solidity::DocumentationType::NatspecUser));
}
}
catch (...)
@@ -1996,12 +1950,13 @@ void Main::on_debug_clicked()
for (auto i: m_myKeys)
if (ethereum()->balanceAt(i.address()) >= totalReq)
{
+ State st(ethereum()->postState());
Secret s = i.secret();
Transaction t = isCreation() ?
- Transaction(value(), gasPrice(), ui->gas->value(), m_data, m_executiveState.transactionsFrom(dev::toAddress(s)), s) :
- Transaction(value(), gasPrice(), ui->gas->value(), fromString(ui->destination->currentText()), m_data, m_executiveState.transactionsFrom(dev::toAddress(s)), s);
+ Transaction(value(), gasPrice(), ui->gas->value(), m_data, st.transactionsFrom(dev::toAddress(s)), s) :
+ Transaction(value(), gasPrice(), ui->gas->value(), fromString(ui->destination->currentText()), m_data, st.transactionsFrom(dev::toAddress(s)), s);
Debugger dw(this, this);
- Executive e(m_executiveState, ethereum()->blockChain(), 0);
+ Executive e(st, ethereum()->blockChain(), 0);
dw.populate(e, t);
dw.exec();
return;
@@ -2023,7 +1978,7 @@ bool beginsWith(Address _a, bytes const& _b)
return true;
}
-void Main::on_create_triggered()
+void Main::on_newAccount_triggered()
{
bool ok = true;
enum { NoVanity = 0, FirstTwo, FirstTwoNextTwo, FirstThree, FirstFour, StringMatch };
@@ -2091,111 +2046,6 @@ void Main::on_killAccount_triggered()
}
}
-void Main::on_debugStep_triggered()
-{
- if (ui->debugTimeline->value() < m_history.size()) {
- auto l = m_history[ui->debugTimeline->value()].levels.size();
- if ((ui->debugTimeline->value() + 1) < m_history.size() && m_history[ui->debugTimeline->value() + 1].levels.size() > l)
- {
- on_debugStepInto_triggered();
- if (m_history[ui->debugTimeline->value()].levels.size() > l)
- on_debugStepOut_triggered();
- }
- else
- on_debugStepInto_triggered();
- }
-}
-
-void Main::on_debugStepInto_triggered()
-{
- ui->debugTimeline->setValue(ui->debugTimeline->value() + 1);
- ui->callStack->setCurrentRow(0);
-}
-
-void Main::on_debugStepOut_triggered()
-{
- if (ui->debugTimeline->value() < m_history.size())
- {
- auto ls = m_history[ui->debugTimeline->value()].levels.size();
- auto l = ui->debugTimeline->value();
- for (; l < m_history.size() && m_history[l].levels.size() >= ls; ++l) {}
- ui->debugTimeline->setValue(l);
- ui->callStack->setCurrentRow(0);
- }
-}
-
-void Main::on_debugStepBackInto_triggered()
-{
- ui->debugTimeline->setValue(ui->debugTimeline->value() - 1);
- ui->callStack->setCurrentRow(0);
-}
-
-void Main::on_debugStepBack_triggered()
-{
- auto l = m_history[ui->debugTimeline->value()].levels.size();
- if (ui->debugTimeline->value() > 0 && m_history[ui->debugTimeline->value() - 1].levels.size() > l)
- {
- on_debugStepBackInto_triggered();
- if (m_history[ui->debugTimeline->value()].levels.size() > l)
- on_debugStepBackOut_triggered();
- }
- else
- on_debugStepBackInto_triggered();
-}
-
-void Main::on_debugStepBackOut_triggered()
-{
- if (ui->debugTimeline->value() > 0 && m_history.size() > 0)
- {
- auto ls = m_history[min(ui->debugTimeline->value(), m_history.size() - 1)].levels.size();
- int l = ui->debugTimeline->value();
- for (; l > 0 && m_history[l].levels.size() >= ls; --l) {}
- ui->debugTimeline->setValue(l);
- ui->callStack->setCurrentRow(0);
- }
-}
-
-void Main::on_dumpTrace_triggered()
-{
- QString fn = QFileDialog::getSaveFileName(this, "Select file to output EVM trace");
- ofstream f(fn.toStdString());
- if (f.is_open())
- for (WorldState const& ws: m_history)
- f << ws.cur << " " << hex << toHex(dev::toCompactBigEndian(ws.curPC, 1)) << " " << hex << toHex(dev::toCompactBigEndian((int)(byte)ws.inst, 1)) << " " << hex << toHex(dev::toCompactBigEndian((uint64_t)ws.gas, 1)) << endl;
-}
-
-void Main::on_dumpTracePretty_triggered()
-{
- QString fn = QFileDialog::getSaveFileName(this, "Select file to output EVM trace");
- ofstream f(fn.toStdString());
- if (f.is_open())
- for (WorldState const& ws: m_history)
- {
- f << endl << " STACK" << endl;
- for (auto i: ws.stack)
- f << (h256)i << endl;
- f << " MEMORY" << endl << dev::memDump(ws.memory);
- f << " STORAGE" << endl;
- for (auto const& i: ws.storage)
- f << showbase << hex << i.first << ": " << i.second << endl;
- f << dec << ws.levels.size() << " | " << ws.cur << " | #" << ws.steps << " | " << hex << setw(4) << setfill('0') << ws.curPC << " : " << instructionInfo(ws.inst).name << " | " << dec << ws.gas << " | -" << dec << ws.gasCost << " | " << ws.newMemSize << "x32";
- }
-}
-
-void Main::on_dumpTraceStorage_triggered()
-{
- QString fn = QFileDialog::getSaveFileName(this, "Select file to output EVM trace");
- ofstream f(fn.toStdString());
- if (f.is_open())
- for (WorldState const& ws: m_history)
- {
- if (ws.inst == Instruction::STOP || ws.inst == Instruction::RETURN || ws.inst == Instruction::SUICIDE)
- for (auto i: ws.storage)
- f << toHex(dev::toCompactBigEndian(i.first, 1)) << " " << toHex(dev::toCompactBigEndian(i.second, 1)) << endl;
- f << ws.cur << " " << hex << toHex(dev::toCompactBigEndian(ws.curPC, 1)) << " " << hex << toHex(dev::toCompactBigEndian((int)(byte)ws.inst, 1)) << " " << hex << toHex(dev::toCompactBigEndian((uint64_t)ws.gas, 1)) << endl;
- }
-}
-
void Main::on_go_triggered()
{
if (!ui->net->isChecked())
@@ -2206,60 +2056,6 @@ void Main::on_go_triggered()
web3()->connect(Host::pocHost());
}
-void Main::on_callStack_currentItemChanged()
-{
- updateDebugger();
-}
-
-void Main::alterDebugStateGroup(bool _enable) const
-{
- ui->debugStep->setEnabled(_enable);
- ui->debugStepInto->setEnabled(_enable);
- ui->debugStepOut->setEnabled(_enable);
- ui->debugStepBackInto->setEnabled(_enable);
- ui->debugStepBackOut->setEnabled(_enable);
- ui->dumpTrace->setEnabled(_enable);
- ui->dumpTraceStorage->setEnabled(_enable);
- ui->dumpTracePretty->setEnabled(_enable);
- ui->debugStepBack->setEnabled(_enable);
- ui->debugPanel->setEnabled(_enable);
-}
-
-void Main::debugFinished()
-{
- m_codes.clear();
- m_pcWarp.clear();
- m_history.clear();
- m_lastLevels.clear();
- m_lastCode = h256();
- ui->callStack->clear();
- ui->debugCode->clear();
- ui->debugStack->clear();
- ui->debugMemory->setHtml("");
- ui->debugStorage->setHtml("");
- ui->debugStateInfo->setText("");
- alterDebugStateGroup(false);
-// ui->send->setEnabled(true);
-}
-
-void Main::initDebugger()
-{
-// ui->send->setEnabled(false);
- if (m_history.size())
- {
- alterDebugStateGroup(true);
- ui->debugCode->setEnabled(false);
- ui->debugTimeline->setMinimum(0);
- ui->debugTimeline->setMaximum(m_history.size());
- ui->debugTimeline->setValue(0);
- }
-}
-
-void Main::on_debugTimeline_valueChanged()
-{
- updateDebugger();
-}
-
QString Main::prettyU256(dev::u256 _n) const
{
unsigned inc = 0;
@@ -2287,136 +2083,6 @@ QString Main::prettyU256(dev::u256 _n) const
return QString::fromStdString(s.str());
}
-void Main::updateDebugger()
-{
- if (m_history.size())
- {
- WorldState const& nws = m_history[min((int)m_history.size() - 1, ui->debugTimeline->value())];
- WorldState const& ws = ui->callStack->currentRow() > 0 ? *nws.levels[nws.levels.size() - ui->callStack->currentRow()] : nws;
-
- if (ui->debugTimeline->value() >= m_history.size())
- {
- if (ws.gasCost > ws.gas)
- ui->debugMemory->setHtml("OUT-OF-GAS
");
- else if (ws.inst == Instruction::RETURN && ws.stack.size() >= 2)
- {
- unsigned from = (unsigned)ws.stack.back();
- unsigned size = (unsigned)ws.stack[ws.stack.size() - 2];
- unsigned o = 0;
- bytes out(size, 0);
- for (; o < size && from + o < ws.memory.size(); ++o)
- out[o] = ws.memory[from + o];
- ui->debugMemory->setHtml("RETURN
" + QString::fromStdString(dev::memDump(out, 16, true)));
- }
- else if (ws.inst == Instruction::STOP)
- ui->debugMemory->setHtml("STOP
");
- else if (ws.inst == Instruction::SUICIDE && ws.stack.size() >= 1)
- ui->debugMemory->setHtml("SUICIDE
0x" + QString::fromStdString(toString(right160(ws.stack.back()))));
- else
- ui->debugMemory->setHtml("EXCEPTION
");
-
- ostringstream ss;
- ss << dec << "EXIT | GAS: " << dec << max(0, (dev::bigint)ws.gas - ws.gasCost);
- ui->debugStateInfo->setText(QString::fromStdString(ss.str()));
- ui->debugStorage->setHtml("");
- ui->debugCallData->setHtml("");
- m_lastData = h256();
- ui->callStack->clear();
- m_lastLevels.clear();
- ui->debugCode->clear();
- m_lastCode = h256();
- ui->debugStack->setHtml("");
- }
- else
- {
- if (m_lastLevels != nws.levels || !ui->callStack->count())
- {
- m_lastLevels = nws.levels;
- ui->callStack->clear();
- for (unsigned i = 0; i <= nws.levels.size(); ++i)
- {
- WorldState const& s = i ? *nws.levels[nws.levels.size() - i] : nws;
- ostringstream out;
- out << s.cur.abridged();
- if (i)
- out << " " << instructionInfo(s.inst).name << " @0x" << hex << s.curPC;
- ui->callStack->addItem(QString::fromStdString(out.str()));
- }
- }
-
- if (ws.code != m_lastCode)
- {
- bytes const& code = m_codes[ws.code];
- QListWidget* dc = ui->debugCode;
- dc->clear();
- m_pcWarp.clear();
- for (unsigned i = 0; i <= code.size(); ++i)
- {
- byte b = i < code.size() ? code[i] : 0;
- try
- {
- QString s = QString::fromStdString(instructionInfo((Instruction)b).name);
- ostringstream out;
- out << hex << setw(4) << setfill('0') << i;
- m_pcWarp[i] = dc->count();
- if (b >= (byte)Instruction::PUSH1 && b <= (byte)Instruction::PUSH32)
- {
- unsigned bc = b - (byte)Instruction::PUSH1 + 1;
- s = "PUSH 0x" + QString::fromStdString(toHex(bytesConstRef(&code[i + 1], bc)));
- i += bc;
- }
- dc->addItem(QString::fromStdString(out.str()) + " " + s);
- }
- catch (...)
- {
- cerr << "Unhandled exception!" << endl <<
- boost::current_exception_diagnostic_information();
- break; // probably hit data segment
- }
- }
- m_lastCode = ws.code;
- }
-
- if (ws.callData != m_lastData)
- {
- m_lastData = ws.callData;
- if (ws.callData)
- {
- assert(m_codes.count(ws.callData));
- ui->debugCallData->setHtml(QString::fromStdString(dev::memDump(m_codes[ws.callData], 16, true)));
- }
- else
- ui->debugCallData->setHtml("");
- }
-
- QString stack;
- for (auto i: ws.stack)
- stack.prepend("" + prettyU256(i) + "
");
- ui->debugStack->setHtml(stack);
- ui->debugMemory->setHtml(QString::fromStdString(dev::memDump(ws.memory, 16, true)));
- assert(m_codes.count(ws.code));
-
- if (m_codes[ws.code].size() >= (unsigned)ws.curPC)
- {
- int l = m_pcWarp[(unsigned)ws.curPC];
- ui->debugCode->setCurrentRow(max(0, l - 5));
- ui->debugCode->setCurrentRow(min(ui->debugCode->count() - 1, l + 5));
- ui->debugCode->setCurrentRow(l);
- }
- else
- cwarn << "PC (" << (unsigned)ws.curPC << ") is after code range (" << m_codes[ws.code].size() << ")";
-
- ostringstream ss;
- ss << dec << "STEP: " << ws.steps << " | PC: 0x" << hex << ws.curPC << " : " << instructionInfo(ws.inst).name << " | ADDMEM: " << dec << ws.newMemSize << " words | COST: " << dec << ws.gasCost << " | GAS: " << dec << ws.gas;
- ui->debugStateInfo->setText(QString::fromStdString(ss.str()));
- stringstream s;
- for (auto const& i: ws.storage)
- s << "@" << prettyU256(i.first).toStdString() << " " << prettyU256(i.second).toStdString() << "
";
- ui->debugStorage->setHtml(QString::fromStdString(s.str()));
- }
- }
-}
-
void Main::on_post_clicked()
{
shh::Message m;
diff --git a/alethzero/MainWin.h b/alethzero/MainWin.h
index fa451b63f..d503a16dd 100644
--- a/alethzero/MainWin.h
+++ b/alethzero/MainWin.h
@@ -99,71 +99,85 @@ public slots:
private slots:
void eval(QString const& _js);
- void on_connect_triggered();
- void on_mine_triggered();
- void on_send_clicked();
- void on_create_triggered();
- void on_killAccount_triggered();
+ // Application
+ void on_about_triggered();
+ void on_quit_triggered() { close(); }
+
+ // Network
+ void on_go_triggered();
void on_net_triggered();
- void on_verbosity_valueChanged();
- void on_ourAccounts_doubleClicked();
- void ourAccountsRowsMoved();
- void on_accounts_doubleClicked();
- void on_destination_currentTextChanged();
- void on_data_textChanged();
+ void on_connect_triggered();
void on_idealPeers_valueChanged();
+
+ // Mining
+ void on_mine_triggered();
+
+ // View
+ void on_refresh_triggered();
+ void on_showAll_triggered() { refreshBlockChain(); }
+ void on_showAllAccounts_triggered() { refreshAccounts(); }
+ void on_preview_triggered();
+
+ // Transacting
void on_value_valueChanged() { updateFee(); }
void on_gas_valueChanged() { updateFee(); }
void on_valueUnits_currentIndexChanged() { updateFee(); }
void on_gasPriceUnits_currentIndexChanged() { updateFee(); }
void on_gasPrice_valueChanged() { updateFee(); }
- void on_log_doubleClicked();
- void on_blocks_currentItemChanged();
+ void on_destination_currentTextChanged();
+ void on_data_textChanged();
+ void on_send_clicked();
+ void on_debug_clicked();
+
+ // Account management
+ void on_newAccount_triggered();
+ void on_killAccount_triggered();
+ void on_importKey_triggered();
+ void on_importKeyFile_triggered();
+ void on_exportKey_triggered();
+
+ // Tools
+ void on_loadJS_triggered();
+
+ // Stuff concerning the blocks/transactions/accounts panels
+ void ourAccountsRowsMoved();
+ void on_ourAccounts_doubleClicked();
+ void on_accounts_doubleClicked();
void on_contracts_doubleClicked();
void on_contracts_currentItemChanged();
void on_transactionQueue_currentItemChanged();
- void on_about_triggered();
- void on_paranoia_triggered();
- void on_nameReg_textChanged();
- void on_preview_triggered();
- void on_quit_triggered() { close(); }
+ void on_blockChainFilter_textChanged();
+ void on_blocks_currentItemChanged();
+
+ // Logging
+ void on_log_doubleClicked();
+ void on_verbosity_valueChanged();
+
+ // Misc
void on_urlEdit_returnPressed();
- void on_debugStep_triggered();
- void on_debugStepBack_triggered();
- void on_debug_clicked();
- void on_debugTimeline_valueChanged();
void on_jsInput_returnPressed();
+ void on_nameReg_textChanged();
+
+ // Special (debug) stuff
+ void on_paranoia_triggered();
void on_killBlockchain_triggered();
void on_clearPending_triggered();
- void on_importKey_triggered();
- void on_exportKey_triggered();
void on_inject_triggered();
- void on_showAll_triggered() { refreshBlockChain(); }
- void on_showAllAccounts_triggered() { refreshAccounts(); }
- void on_loadJS_triggered();
- void on_blockChainFilter_textChanged();
void on_forceMining_triggered();
- void on_dumpTrace_triggered();
- void on_dumpTraceStorage_triggered();
- void on_dumpTracePretty_triggered();
- void on_debugStepInto_triggered();
- void on_debugStepOut_triggered();
- void on_debugStepBackOut_triggered();
- void on_debugStepBackInto_triggered();
- void on_callStack_currentItemChanged();
- void on_debugCurrent_triggered();
- void on_debugDumpState_triggered(int _add = 1);
- void on_debugDumpStatePre_triggered();
- void on_refresh_triggered();
void on_usePrivate_triggered();
void on_enableOptimizer_triggered();
void on_turboMining_triggered();
- void on_go_triggered();
- void on_importKeyFile_triggered();
- void on_post_clicked();
- void on_newIdentity_triggered();
void on_jitvm_triggered();
+ // Debugger
+ void on_debugCurrent_triggered();
+ void on_debugDumpState_triggered(int _add = 1);
+ void on_debugDumpStatePre_triggered();
+
+ // Whisper
+ void on_newIdentity_triggered();
+ void on_post_clicked();
+
void refreshWhisper();
void refreshBlockChain();
void addNewId(QString _ids);
@@ -178,13 +192,6 @@ private:
dev::Address getNameReg() const;
dev::Address getCurrencies() const;
- void populateDebugger(dev::bytesConstRef r);
- void initDebugger();
- void updateDebugger();
- void debugFinished();
-
- void alterDebugStateGroup(bool _enable) const;
-
void updateFee();
void readSettings(bool _skipGeometry = false);
void writeSettings();
@@ -249,16 +256,6 @@ private:
unsigned m_backupGas;
- dev::eth::State m_executiveState;
- std::unique_ptr m_currentExecution;
- dev::h256 m_lastCode;
- dev::h256 m_lastData;
- std::vector m_lastLevels;
-
- QMap m_pcWarp;
- QList m_history;
- std::map m_codes; // and pcWarps
-
bool m_enableOptimizer = true;
QNetworkAccessManager m_webCtrl;