add ability to test unsigned transaction

This commit is contained in:
CJentzsch 2015-06-04 10:41:02 +02:00
parent 0e8ce9d069
commit 7bbb8de506

View File

@ -262,8 +262,22 @@ void ImportTest::importTransaction(json_spirit::mObject& _o)
{
RLPStream transactionRLPStream = createRLPStreamFromTransactionFields(_o);
RLP transactionRLP(transactionRLPStream.out());
try
{
m_transaction = Transaction(transactionRLP.data(), CheckTransaction::Everything);
}
catch(InvalidSignature)
{
// create unsigned transaction
m_transaction = _o["to"].get_str().empty() ?
Transaction(toInt(_o["value"]), toInt(_o["gasPrice"]), toInt(_o["gasLimit"]), importData(_o), toInt(_o["nonce"])) :
Transaction(toInt(_o["value"]), toInt(_o["gasPrice"]), toInt(_o["gasLimit"]), Address(_o["to"].get_str()), importData(_o), toInt(_o["nonce"]));
}
catch(Exception& _e)
{
cnote << "invalid transaction" << boost::diagnostic_information(_e);
}
}
}
void ImportTest::checkExpectedState(State const& _stateExpect, State const& _statePost, stateOptionsMap const _expectedStateOptions, WhenError _throw)