|
|
@ -37,7 +37,7 @@ bool Eval::ImportCoin(const std::vector<uint8_t> params, const CTransaction &imp |
|
|
|
|
|
|
|
if (!UnmarshalImportTx(importTx, proof, burnTx, payouts)) |
|
|
|
return Invalid("invalid-params"); |
|
|
|
|
|
|
|
|
|
|
|
// Control all aspects of this transaction
|
|
|
|
// It should not be at all malleable
|
|
|
|
if (MakeImportCoinTransaction(proof, burnTx, payouts).GetHash() != importTx.GetHash()) |
|
|
@ -79,6 +79,8 @@ bool Eval::ImportCoin(const std::vector<uint8_t> params, const CTransaction &imp |
|
|
|
if (!GetProofRoot(proof.first, momom)) |
|
|
|
return Invalid("coudnt-load-momom"); |
|
|
|
|
|
|
|
printf("momom: %s\n", momom.GetHex().data()) |
|
|
|
|
|
|
|
target = proof.second.Exec(burnTx.GetHash()); |
|
|
|
if (momom != proof.second.Exec(burnTx.GetHash())) |
|
|
|
return Invalid("momom-check-fail"); |
|
|
@ -86,5 +88,3 @@ bool Eval::ImportCoin(const std::vector<uint8_t> params, const CTransaction &imp |
|
|
|
|
|
|
|
return Valid(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|