Skip to content

Commit 4c25924

Browse files
authored
Merge branch 'master' into feature_allow_any_fee_asset
2 parents f1fc61f + 6e2d879 commit 4c25924

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+583
-315
lines changed

build_msvc/libelementssimplicity/libelementssimplicity.vcxproj

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
</PropertyGroup>
1010
<ItemGroup>
1111
<ClCompile Include="..\..\src\simplicity\bitstream.c" />
12-
<ClCompile Include="..\..\src\simplicity\cmr.c" />
1312
<ClCompile Include="..\..\src\simplicity\dag.c" />
1413
<ClCompile Include="..\..\src\simplicity\deserialize.c" />
1514
<ClCompile Include="..\..\src\simplicity\eval.c" />
@@ -20,11 +19,13 @@
2019
<ClCompile Include="..\..\src\simplicity\sha256.c" />
2120
<ClCompile Include="..\..\src\simplicity\type.c" />
2221
<ClCompile Include="..\..\src\simplicity\typeInference.c" />
23-
<ClCompile Include="..\..\src\simplicity\primitive\elements\env.c" />
24-
<ClCompile Include="..\..\src\simplicity\primitive\elements\exec.c" />
25-
<ClCompile Include="..\..\src\simplicity\primitive\elements\elementsJets.c" />
26-
<ClCompile Include="..\..\src\simplicity\primitive\elements\ops.c" />
27-
<ClCompile Include="..\..\src\simplicity\primitive\elements\primitive.c" />
22+
<ClCompile Include="..\..\src\simplicity\elements\cmr.c" />
23+
<ClCompile Include="..\..\src\simplicity\elements\env.c" />
24+
<ClCompile Include="..\..\src\simplicity\elements\exec.c" />
25+
<ClCompile Include="..\..\src\simplicity\elements\elementsJets.c" />
26+
<ClCompile Include="..\..\src\simplicity\elements\ops.c" />
27+
<ClCompile Include="..\..\src\simplicity\elements\primitive.c" />
28+
<ClCompile Include="..\..\src\simplicity\elements\txEnv.c" />
2829
</ItemGroup>
2930
<ItemDefinitionGroup>
3031
<ClCompile>

src/rpc/rawtransaction_util.cpp

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ CMutableTransaction ConstructTransaction(const UniValue& inputs_in, const UniVal
283283
CTxOut fee_out;
284284

285285
// Duplicate checking
286-
std::set<CTxDestination> destinations;
286+
std::set<std::pair<CTxDestination,CAsset>> destinations;
287287
bool has_data{false};
288288

289289
std::vector<PSBTOutput> psbt_outs;
@@ -297,6 +297,8 @@ CMutableTransaction ConstructTransaction(const UniValue& inputs_in, const UniVal
297297
CTxOut out(::policyAsset, 0, CScript());
298298

299299
bool is_fee = false;
300+
CTxDestination destination;
301+
std::string dest;
300302
for (const std::string& name_ : output.getKeys()) {
301303
if (name_ == "data") {
302304
if (has_data) {
@@ -337,14 +339,11 @@ CMutableTransaction ConstructTransaction(const UniValue& inputs_in, const UniVal
337339
// For PSET
338340
psbt_out.m_blinder_index = find_value(output, name_).get_int();
339341
} else {
340-
CTxDestination destination = DecodeDestination(name_);
342+
destination = DecodeDestination(name_);
341343
if (!IsValidDestination(destination)) {
342344
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, std::string("Invalid Bitcoin address: ") + name_);
343345
}
344-
345-
if (!destinations.insert(destination).second) {
346-
throw JSONRPCError(RPC_INVALID_PARAMETER, std::string("Invalid parameter, duplicated address: ") + name_);
347-
}
346+
dest = name_;
348347

349348
CScript scriptPubKey = GetScriptForDestination(destination);
350349
CAmount nAmount = AmountFromValue(output[name_]);
@@ -362,6 +361,11 @@ CMutableTransaction ConstructTransaction(const UniValue& inputs_in, const UniVal
362361
psbt_out.m_blinding_pubkey = blind_pub;
363362
}
364363
}
364+
365+
if (!destinations.emplace(destination, out.nAsset.GetAsset()).second) {
366+
throw JSONRPCError(RPC_INVALID_PARAMETER, std::string("Invalid parameter, duplicated address and asset: " + dest + " " + out.nAsset.GetHex()));
367+
}
368+
365369
if (is_fee) {
366370
fee_out = out;
367371
} else {

src/script/interpreter.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2601,8 +2601,8 @@ void PrecomputedTransactionData::Init(const T& txTo, std::vector<CTxOut>&& spent
26012601
m_spent_output_spk_single_hashes = GetSpentScriptPubKeysSHA256(m_spent_outputs);
26022602
m_output_spk_single_hashes = GetOutputScriptPubKeysSHA256(txTo);
26032603

2604-
std::vector<rawBuffer> simplicityRawAnnex(txTo.witness.vtxinwit.size());
2605-
std::vector<rawInput> simplicityRawInput(txTo.vin.size());
2604+
std::vector<rawElementsBuffer> simplicityRawAnnex(txTo.witness.vtxinwit.size());
2605+
std::vector<rawElementsInput> simplicityRawInput(txTo.vin.size());
26062606
for (size_t i = 0; i < txTo.vin.size(); ++i) {
26072607
simplicityRawInput[i].prevTxid = txTo.vin[i].prevout.hash.begin();
26082608
simplicityRawInput[i].prevIx = txTo.vin[i].prevout.n;
@@ -2639,7 +2639,7 @@ void PrecomputedTransactionData::Init(const T& txTo, std::vector<CTxOut>&& spent
26392639
}
26402640
}
26412641

2642-
std::vector<rawOutput> simplicityRawOutput(txTo.vout.size());
2642+
std::vector<rawElementsOutput> simplicityRawOutput(txTo.vout.size());
26432643
for (size_t i = 0; i < txTo.vout.size(); ++i) {
26442644
simplicityRawOutput[i].asset = txTo.vout[i].nAsset.vchCommitment.empty() ? NULL : txTo.vout[i].nAsset.vchCommitment.data();
26452645
simplicityRawOutput[i].value = txTo.vout[i].nValue.vchCommitment.empty() ? NULL : txTo.vout[i].nValue.vchCommitment.data();
@@ -2659,7 +2659,7 @@ void PrecomputedTransactionData::Init(const T& txTo, std::vector<CTxOut>&& spent
26592659
}
26602660
}
26612661

2662-
rawTransaction simplicityRawTx;
2662+
rawElementsTransaction simplicityRawTx;
26632663
uint256 rawHash = txTo.GetHash();
26642664
simplicityRawTx.txid = rawHash.begin();
26652665
simplicityRawTx.input = simplicityRawInput.data();
@@ -3114,14 +3114,14 @@ uint32_t GenericTransactionSignatureChecker<T>::GetnIn() const
31143114
}
31153115

31163116
template <class T>
3117-
bool GenericTransactionSignatureChecker<T>::CheckSimplicity(const valtype& program, const valtype& witness, const rawTapEnv& simplicityRawTap, int64_t budget, ScriptError* serror) const
3117+
bool GenericTransactionSignatureChecker<T>::CheckSimplicity(const valtype& program, const valtype& witness, const rawElementsTapEnv& simplicityRawTap, int64_t budget, ScriptError* serror) const
31183118
{
31193119
simplicity_err error;
3120-
tapEnv* simplicityTapEnv = simplicity_elements_mallocTapEnv(&simplicityRawTap);
3120+
elementsTapEnv* simplicityTapEnv = simplicity_elements_mallocTapEnv(&simplicityRawTap);
31213121

31223122
assert(txdata->m_simplicity_tx_data);
31233123
assert(simplicityTapEnv);
3124-
if (!simplicity_elements_execSimplicity(&error, 0, txdata->m_simplicity_tx_data.get(), nIn, simplicityTapEnv, txdata->m_hash_genesis_block.data(), budget, 0, program.data(), program.size(), witness.data(), witness.size())) {
3124+
if (!simplicity_elements_execSimplicity(&error, 0, txdata->m_simplicity_tx_data.get(), nIn, simplicityTapEnv, txdata->m_hash_genesis_block.data(), 0, budget, 0, program.data(), program.size(), witness.data(), witness.size())) {
31253125
assert(!"simplicity_elements_execSimplicity internal error");
31263126
}
31273127
simplicity_elements_freeTapEnv(simplicityTapEnv);
@@ -3154,6 +3154,7 @@ bool GenericTransactionSignatureChecker<T>::CheckSimplicity(const valtype& progr
31543154
case SIMPLICITY_ERR_ANTIDOS: return set_error(serror, SCRIPT_ERR_SIMPLICITY_ANTIDOS);
31553155
case SIMPLICITY_ERR_HIDDEN_ROOT: return set_error(serror, SCRIPT_ERR_SIMPLICITY_HIDDEN_ROOT);
31563156
case SIMPLICITY_ERR_AMR: return set_error(serror, SCRIPT_ERR_SIMPLICITY_AMR);
3157+
case SIMPLICITY_ERR_OVERWEIGHT: return set_error(serror, SCRIPT_ERR_SIMPLICITY_OVERWEIGHT);
31573158
default: return set_error(serror, SCRIPT_ERR_UNKNOWN_ERROR);
31583159
}
31593160
}
@@ -3312,7 +3313,7 @@ static bool VerifyWitnessProgram(const CScriptWitness& witness, int witversion,
33123313
const valtype& simplicity_program = SpanPopBack(stack);
33133314
const valtype& simplicity_witness = SpanPopBack(stack);
33143315
const int64_t budget = ::GetSerializeSize(witness.stack, PROTOCOL_VERSION) + VALIDATION_WEIGHT_OFFSET;
3315-
rawTapEnv simplicityRawTap;
3316+
rawElementsTapEnv simplicityRawTap;
33163317
simplicityRawTap.controlBlock = control.data();
33173318
simplicityRawTap.pathLen = (control.size() - TAPROOT_CONTROL_BASE_SIZE) / TAPROOT_CONTROL_NODE_SIZE;
33183319
simplicityRawTap.scriptCMR = script_bytes.data();

src/script/interpreter.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -171,12 +171,12 @@ bool CheckSignatureEncoding(const std::vector<unsigned char> &vchSig, unsigned i
171171

172172
struct SimplicityTransactionDeleter
173173
{
174-
void operator()(transaction* ptr)
174+
void operator()(elementsTransaction* ptr)
175175
{
176176
simplicity_elements_freeTransaction(ptr);
177177
}
178178
};
179-
using SimplicityTransactionUniquePtr = std::unique_ptr<transaction, SimplicityTransactionDeleter>;
179+
using SimplicityTransactionUniquePtr = std::unique_ptr<elementsTransaction, SimplicityTransactionDeleter>;
180180

181181
struct PrecomputedTransactionData
182182
{
@@ -345,7 +345,7 @@ class BaseSignatureChecker
345345
return std::numeric_limits<uint32_t>::max();
346346
}
347347

348-
virtual bool CheckSimplicity(const std::vector<unsigned char>& witness, const std::vector<unsigned char>& program, const rawTapEnv& simplicityRawTap, int64_t budget, ScriptError* serror) const
348+
virtual bool CheckSimplicity(const std::vector<unsigned char>& witness, const std::vector<unsigned char>& program, const rawElementsTapEnv& simplicityRawTap, int64_t budget, ScriptError* serror) const
349349
{
350350
return false;
351351
}
@@ -393,7 +393,7 @@ class GenericTransactionSignatureChecker : public BaseSignatureChecker
393393

394394
const PrecomputedTransactionData* GetPrecomputedTransactionData() const override;
395395
uint32_t GetnIn() const override;
396-
bool CheckSimplicity(const std::vector<unsigned char>& program, const std::vector<unsigned char>& witness, const rawTapEnv& simplicityRawTap, int64_t budget, ScriptError* serror) const override;
396+
bool CheckSimplicity(const std::vector<unsigned char>& program, const std::vector<unsigned char>& witness, const rawElementsTapEnv& simplicityRawTap, int64_t budget, ScriptError* serror) const override;
397397
};
398398

399399
using TransactionSignatureChecker = GenericTransactionSignatureChecker<CTransaction>;

src/script/script_error.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,8 @@ std::string ScriptErrorString(const ScriptError serror)
180180
return SIMPLICITY_ERR_MSG(SIMPLICITY_ERR_HIDDEN_ROOT);
181181
case SCRIPT_ERR_SIMPLICITY_AMR:
182182
return SIMPLICITY_ERR_MSG(SIMPLICITY_ERR_AMR);
183+
case SCRIPT_ERR_SIMPLICITY_OVERWEIGHT:
184+
return SIMPLICITY_ERR_MSG(SIMPLICITY_ERR_OVERWEIGHT);
183185
case SCRIPT_ERR_UNKNOWN_ERROR:
184186
case SCRIPT_ERR_ERROR_COUNT:
185187
default: break;

src/script/script_error.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ typedef enum ScriptError_t
122122
SCRIPT_ERR_SIMPLICITY_ANTIDOS,
123123
SCRIPT_ERR_SIMPLICITY_HIDDEN_ROOT,
124124
SCRIPT_ERR_SIMPLICITY_AMR,
125+
SCRIPT_ERR_SIMPLICITY_OVERWEIGHT,
125126

126127
/* Must go last */
127128
SCRIPT_ERR_ERROR_COUNT

src/simplicity/Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
OBJS := bitstream.o cmr.o dag.o deserialize.o eval.o frame.o jets.o jets-secp256k1.o rsort.o sha256.o type.o typeInference.o primitive/elements/env.o primitive/elements/exec.o primitive/elements/ops.o primitive/elements/elementsJets.o primitive/elements/primitive.o
2-
TEST_OBJS := test.o ctx8Pruned.o ctx8Unpruned.o hashBlock.o regression4.o schnorr0.o schnorr6.o typeSkipTest.o primitive/elements/checkSigHashAllTx1.o
1+
OBJS := bitstream.o dag.o deserialize.o eval.o frame.o jets.o jets-secp256k1.o rsort.o sha256.o type.o typeInference.o elements/env.o elements/exec.o elements/ops.o elements/elementsJets.o elements/primitive.o elements/cmr.o elements/txEnv.o
2+
TEST_OBJS := test.o ctx8Pruned.o ctx8Unpruned.o hashBlock.o regression4.o schnorr0.o schnorr6.o typeSkipTest.o elements/checkSigHashAllTx1.o
33

44
# From https://fastcompression.blogspot.com/2019/01/compiler-warnings.html
55
CWARN := -Werror -Wall -Wextra -Wcast-qual -Wcast-align -Wstrict-aliasing -Wpointer-arith -Winit-self -Wshadow -Wswitch-enum -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wfloat-equal -Wundef -Wconversion
@@ -14,7 +14,7 @@ CFLAGS := $(CFLAGS) -I include
1414
jets-secp256k1.o: jets-secp256k1.c
1515
$(CC) -c $(CFLAGS) $(CWARN) -Wno-conversion $(CPPFLAGS) -o $@ $<
1616

17-
primitive/elements/elementsJets.o: primitive/elements/elementsJets.c
17+
elements/elementsJets.o: elements/elementsJets.c
1818
$(CC) -c $(CFLAGS) $(CWARN) -Wno-switch-enum -Wswitch $(CPPFLAGS) -o $@ $<
1919

2020
sha256.o: sha256.c

src/simplicity/deserialize.c

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
#include <limits.h>
44
#include "limitations.h"
5-
#include "primitive.h"
65
#include "simplicity_alloc.h"
76
#include "simplicity_assert.h"
87

@@ -55,15 +54,15 @@ static simplicity_err getHash(sha256_midstate* result, bitstream* stream) {
5554
* i < 2^31 - 1
5655
* NULL != stream
5756
*/
58-
static simplicity_err decodeNode(dag_node* dag, uint_fast32_t i, bitstream* stream) {
57+
static simplicity_err decodeNode(dag_node* dag, simplicity_callback_decodeJet decodeJet, uint_fast32_t i, bitstream* stream) {
5958
int32_t bit = read1Bit(stream);
6059
if (bit < 0) return (simplicity_err)bit;
6160
dag[i] = (dag_node){0};
6261
if (bit) {
6362
bit = read1Bit(stream);
6463
if (bit < 0) return (simplicity_err)bit;
6564
if (bit) {
66-
return simplicity_decodeJet(&dag[i], stream);
65+
return decodeJet(&dag[i], stream);
6766
} else {
6867
/* Decode WORD. */
6968
int32_t depth = simplicity_decodeUptoMaxInt(stream);
@@ -153,9 +152,9 @@ static simplicity_err decodeNode(dag_node* dag, uint_fast32_t i, bitstream* stre
153152
* len < 2^31
154153
* NULL != stream
155154
*/
156-
static simplicity_err decodeDag(dag_node* dag, const uint_fast32_t len, combinator_counters* census, bitstream* stream) {
155+
static simplicity_err decodeDag(dag_node* dag, simplicity_callback_decodeJet decodeJet, const uint_fast32_t len, combinator_counters* census, bitstream* stream) {
157156
for (uint_fast32_t i = 0; i < len; ++i) {
158-
simplicity_err error = decodeNode(dag, i, stream);
157+
simplicity_err error = decodeNode(dag, decodeJet, i, stream);
159158
if (!IS_OK(error)) return error;
160159

161160
enumerator(census, dag[i].tag);
@@ -186,7 +185,7 @@ static simplicity_err decodeDag(dag_node* dag, const uint_fast32_t len, combinat
186185
* of the function is positive and when NULL != census;
187186
* NULL == *dag when the return value is negative.
188187
*/
189-
int_fast32_t simplicity_decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream* stream) {
188+
int_fast32_t simplicity_decodeMallocDag(dag_node** dag, simplicity_callback_decodeJet decodeJet, combinator_counters* census, bitstream* stream) {
190189
*dag = NULL;
191190
int32_t dagLen = simplicity_decodeUptoMaxInt(stream);
192191
if (dagLen <= 0) return dagLen;
@@ -199,7 +198,7 @@ int_fast32_t simplicity_decodeMallocDag(dag_node** dag, combinator_counters* cen
199198
if (!*dag) return SIMPLICITY_ERR_MALLOC;
200199

201200
if (census) *census = (combinator_counters){0};
202-
simplicity_err error = decodeDag(*dag, (uint_fast32_t)dagLen, census, stream);
201+
simplicity_err error = decodeDag(*dag, decodeJet, (uint_fast32_t)dagLen, census, stream);
203202

204203
if (IS_OK(error)) {
205204
error = HIDDEN == (*dag)[dagLen - 1].tag

src/simplicity/deserialize.h

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@
66
#include "bitstream.h"
77
#include "dag.h"
88

9+
/* Decode an application specific jet from 'stream' into 'node'.
10+
* All jets begin with a bit prefix of '1' which needs to have already been consumed from the 'stream'.
11+
* Returns 'SIMPLICITY_ERR_DATA_OUT_OF_RANGE' if the stream's prefix doesn't match any valid code for a jet.
12+
* Returns 'SIMPLICITY_ERR_BITSTRING_EOF' if not enough bits are available in the 'stream'.
13+
* In the above error cases, 'dag' may be modified.
14+
* Returns 'SIMPLICITY_NO_ERROR' if successful.
15+
*
16+
* Precondition: NULL != node
17+
* NULL != stream
18+
*/
19+
typedef simplicity_err (*simplicity_callback_decodeJet)(dag_node* node, bitstream* stream);
20+
921
/* Decode a length-prefixed Simplicity DAG from 'stream'.
1022
* Returns 'SIMPLICITY_ERR_DATA_OUT_OF_RANGE' the length prefix's value is too large.
1123
* Returns 'SIMPLICITY_ERR_DATA_OUT_OF_RANGE' if some node's child isn't a reference to one of the preceding nodes.
@@ -28,6 +40,6 @@
2840
* of the function is positive and when NULL != census;
2941
* NULL == *dag when the return value is negative.
3042
*/
31-
int_fast32_t simplicity_decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream* stream);
43+
int_fast32_t simplicity_decodeMallocDag(dag_node** dag, simplicity_callback_decodeJet decodeJet, combinator_counters* census, bitstream* stream);
3244

3345
#endif

src/simplicity/elements-sources.mk

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,13 @@
55
ELEMENTS_SIMPLICITY_INCLUDE_DIR_INT = %reldir%/include
66

77
ELEMENTS_SIMPLICITY_DIST_HEADERS_INT =
8-
ELEMENTS_SIMPLICITY_DIST_HEADERS_INT += %reldir%/include/simplicity/cmr.h
98
ELEMENTS_SIMPLICITY_DIST_HEADERS_INT += %reldir%/include/simplicity/errorCodes.h
9+
ELEMENTS_SIMPLICITY_DIST_HEADERS_INT += %reldir%/include/simplicity/elements/cmr.h
1010
ELEMENTS_SIMPLICITY_DIST_HEADERS_INT += %reldir%/include/simplicity/elements/env.h
1111
ELEMENTS_SIMPLICITY_DIST_HEADERS_INT += %reldir%/include/simplicity/elements/exec.h
1212

1313
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT =
1414
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/bitstream.c
15-
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/cmr.c
1615
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/dag.c
1716
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/deserialize.c
1817
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/eval.c
@@ -24,11 +23,13 @@ ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/sha256.c
2423
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/type.c
2524
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/typeInference.c
2625

27-
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/primitive/elements/env.c
28-
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/primitive/elements/exec.c
29-
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/primitive/elements/elementsJets.c
30-
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/primitive/elements/ops.c
31-
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/primitive/elements/primitive.c
26+
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/elements/cmr.c
27+
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/elements/env.c
28+
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/elements/exec.c
29+
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/elements/elementsJets.c
30+
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/elements/ops.c
31+
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/elements/primitive.c
32+
ELEMENTS_SIMPLICITY_LIB_SOURCES_INT += %reldir%/elements/txEnv.c
3233

3334
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT =
3435
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/bitstream.h
@@ -42,7 +43,6 @@ ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/frame.h
4243
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/jets.h
4344
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/limitations.h
4445
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/precomputed.h
45-
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/primitive.h
4646
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/rsort.h
4747
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/sha256.h
4848
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/sha256_x86.inc
@@ -89,11 +89,12 @@ ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/secp256k1/secp256k1.h
8989
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/secp256k1/secp256k1_impl.h
9090
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/secp256k1/util.h
9191

92-
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/primitive/elements/decodeElementsJets.inc
93-
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/primitive/elements/elementsJets.h
94-
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/primitive/elements/ops.h
95-
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/primitive/elements/primitive.h
96-
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/primitive/elements/primitiveEnumJet.inc
97-
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/primitive/elements/primitiveEnumTy.inc
98-
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/primitive/elements/primitiveInitTy.inc
99-
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/primitive/elements/primitiveJetNode.inc
92+
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/elements/decodeElementsJets.inc
93+
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/elements/elementsJets.h
94+
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/elements/ops.h
95+
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/elements/primitive.h
96+
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/elements/primitiveEnumJet.inc
97+
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/elements/primitiveEnumTy.inc
98+
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/elements/primitiveInitTy.inc
99+
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/elements/primitiveJetNode.inc
100+
ELEMENTS_SIMPLICITY_LIB_HEADERS_INT += %reldir%/elements/txEnv.h

0 commit comments

Comments
 (0)