Hush Full Node software. We were censored from Github, this is where all development happens now.
https://hush.is
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
39 lines
1.2 KiB
#ifndef IMPORTCOIN_H
|
|
#define IMPORTCOIN_H
|
|
|
|
#include "cc/eval.h"
|
|
#include "coins.h"
|
|
#include "primitives/transaction.h"
|
|
#include "script/interpreter.h"
|
|
#include <cryptoconditions.h>
|
|
|
|
|
|
class MomoProof
|
|
{
|
|
public:
|
|
MerkleBranch branch;
|
|
int notarisationHeight;
|
|
ADD_SERIALIZE_METHODS;
|
|
template <typename Stream, typename Operation>
|
|
inline void SerializationOp(Stream& s, Operation ser_action, int nType, int nVersion) {
|
|
READWRITE(branch);
|
|
READWRITE(notarisationHeight);
|
|
}
|
|
};
|
|
|
|
CAmount GetCoinImportValue(const CTransaction &tx);
|
|
|
|
CTransaction MakeImportCoinTransaction(const MomoProof proof,
|
|
const CTransaction burnTx, const std::vector<CTxOut> payouts);
|
|
|
|
CTxOut MakeBurnOutput(CAmount value, int targetChain, const std::vector<CTxOut> payouts);
|
|
|
|
bool VerifyCoinImport(const CScript& scriptSig,
|
|
TransactionSignatureChecker& checker, CValidationState &state);
|
|
|
|
|
|
void AddImportTombstone(const CTransaction &importTx, CCoinsViewCache &inputs, int nHeight);
|
|
void RemoveImportTombstone(const CTransaction &importTx, CCoinsViewCache &inputs);
|
|
int ExistsImportTombstone(const CTransaction &importTx, const CCoinsViewCache &inputs);
|
|
|
|
#endif /* IMPORTCOIN_H */
|
|
|