@@ -172,7 +172,11 @@ struct __FunctionOrProcedureBeginEndGuard
172172#define CONTRACT_INDEX MSVAULT_CONTRACT_INDEX
173173#define CONTRACT_STATE_TYPE MSVAULT
174174#define CONTRACT_STATE2_TYPE MSVAULT2
175- #include " contracts/MsVault.h"
175+ #ifdef MSVAULT_V1
176+ #include " contracts/MsVault_v1.h"
177+ #else
178+ #include " contracts/MsVault.h"
179+ #endif
176180
177181#undef CONTRACT_INDEX
178182#undef CONTRACT_STATE_TYPE
@@ -214,6 +218,34 @@ struct __FunctionOrProcedureBeginEndGuard
214218#define CONTRACT_STATE2_TYPE QDRAW2
215219#include " contracts/Qdraw.h"
216220
221+ #ifndef NO_RANDOM_LOTTERY
222+
223+ constexpr unsigned short RL_CONTRACT_INDEX = (CONTRACT_INDEX + 1 );
224+ #undef CONTRACT_INDEX
225+ #undef CONTRACT_STATE_TYPE
226+ #undef CONTRACT_STATE2_TYPE
227+
228+ #define CONTRACT_INDEX RL_CONTRACT_INDEX
229+ #define CONTRACT_STATE_TYPE RL
230+ #define CONTRACT_STATE2_TYPE RL2
231+ #include " contracts/RandomLottery.h"
232+
233+ #endif
234+
235+ #ifndef NO_QBOND
236+
237+ constexpr unsigned short QBOND_CONTRACT_INDEX = (CONTRACT_INDEX + 1 );
238+ #undef CONTRACT_INDEX
239+ #undef CONTRACT_STATE_TYPE
240+ #undef CONTRACT_STATE2_TYPE
241+
242+ #define CONTRACT_INDEX QBOND_CONTRACT_INDEX
243+ #define CONTRACT_STATE_TYPE QBOND
244+ #define CONTRACT_STATE2_TYPE QBOND2
245+ #include " contracts/QBond.h"
246+
247+ #endif
248+
217249// new contracts should be added above this line
218250
219251#ifdef INCLUDE_CONTRACT_TEST_EXAMPLES
@@ -312,6 +344,12 @@ constexpr struct ContractDescription
312344 {" QSWAP" , 171 , 10000 , sizeof (QSWAP)}, // proposal in epoch 169, IPO in 170, construction and first use in 171
313345 {" NOST" , 172 , 10000 , sizeof (NOST)}, // proposal in epoch 170, IPO in 171, construction and first use in 172
314346 {" QDRAW" , 179 , 10000 , sizeof (QDRAW)}, // proposal in epoch 177, IPO in 178, construction and first use in 179
347+ #ifndef NO_RANDOM_LOTTERY
348+ {" RL" , 182 , 10000 , sizeof (RL)}, // proposal in epoch 180, IPO in 181, construction and first use in 182
349+ #endif
350+ #ifndef NO_QBOND
351+ {" QBOND" , 182 , 10000 , sizeof (QBOND)}, // proposal in epoch 180, IPO in 181, construction and first use in 182
352+ #endif
315353 // new contracts should be added above this line
316354#ifdef INCLUDE_CONTRACT_TEST_EXAMPLES
317355 {" TESTEXA" , 138 , 10000 , sizeof (IPO)},
@@ -416,6 +454,12 @@ static void initializeContracts()
416454 REGISTER_CONTRACT_FUNCTIONS_AND_PROCEDURES (QSWAP);
417455 REGISTER_CONTRACT_FUNCTIONS_AND_PROCEDURES (NOST);
418456 REGISTER_CONTRACT_FUNCTIONS_AND_PROCEDURES (QDRAW);
457+ #ifndef NO_RANDOM_LOTTERY
458+ REGISTER_CONTRACT_FUNCTIONS_AND_PROCEDURES (RL);
459+ #endif
460+ #ifndef NO_QBOND
461+ REGISTER_CONTRACT_FUNCTIONS_AND_PROCEDURES (QBOND);
462+ #endif
419463 // new contracts should be added above this line
420464#ifdef INCLUDE_CONTRACT_TEST_EXAMPLES
421465 REGISTER_CONTRACT_FUNCTIONS_AND_PROCEDURES (TESTEXA);
0 commit comments