Merge e360a967b6 into merged_master (Elements PR #1518)

This commit is contained in:
Byron Hambly 2026-02-11 14:55:53 +02:00
commit 93159ee063
No known key found for this signature in database
GPG key ID: DE8F6EA20A661697
2 changed files with 10 additions and 7 deletions

View file

@ -13,6 +13,7 @@
#include <script/script.h>
#include <uint256.h>
extern "C" {
#include <simplicity/elements/env.h>
#include <simplicity/elements/exec.h>
#include <simplicity/errorCodes.h>
}
@ -2650,6 +2651,10 @@ void PrecomputedTransactionData::Init(const T& txTo, std::vector<CTxOut>&& spent
}
}
void SimplicityTransactionDeleter::operator()(elementsTransaction* ptr) const {
simplicity_elements_freeTransaction(ptr);
}
template <class T>
PrecomputedTransactionData::PrecomputedTransactionData(const T& txTo)
: PrecomputedTransactionData(uint256{})

View file

@ -9,9 +9,6 @@
#include <consensus/amount.h>
#include <hash.h>
#include <primitives/transaction.h>
extern "C" {
#include <simplicity/elements/env.h>
}
#include <script/script_error.h> // IWYU pragma: export
#include <span.h>
#include <uint256.h>
@ -171,12 +168,13 @@ enum : uint32_t {
bool CheckSignatureEncoding(const std::vector<unsigned char> &vchSig, unsigned int flags, ScriptError* serror);
// Forward declarations of Simplicity structures.
struct elementsTransaction;
struct rawElementsTapEnv;
struct SimplicityTransactionDeleter
{
void operator()(elementsTransaction* ptr)
{
simplicity_elements_freeTransaction(ptr);
}
void operator()(elementsTransaction* ptr) const;
};
using SimplicityTransactionUniquePtr = std::unique_ptr<elementsTransaction, SimplicityTransactionDeleter>;