@@ -68,6 +68,35 @@ Optional<OutputDescription> OutputDescriptionInfo::Build(void* ctx) {
6868 return odesc;
6969}
7070
71+ // Dummy constants used during fee-calculation loop
72+ static OutputDescription CreateDummyOD ()
73+ {
74+ OutputDescription dummyOD;
75+ dummyOD.cv = UINT256_MAX;
76+ dummyOD.cmu = UINT256_MAX;
77+ dummyOD.ephemeralKey = UINT256_MAX;
78+ dummyOD.encCiphertext = {{0xff }};
79+ dummyOD.outCiphertext = {{0xff }};
80+ dummyOD.zkproof = {{0xff }};
81+ return dummyOD;
82+ }
83+ static SpendDescription CreateDummySD ()
84+ {
85+ SpendDescription dummySD;
86+ dummySD.cv = UINT256_MAX;
87+ dummySD.anchor = UINT256_MAX;
88+ dummySD.nullifier = UINT256_MAX;
89+ dummySD.rk = UINT256_MAX;
90+ dummySD.zkproof = {{0xff }};
91+ dummySD.spendAuthSig = {{0xff }};
92+ return dummySD;
93+ }
94+
95+ const OutputDescription DUMMY_SHIELD_OUT = CreateDummyOD();
96+ const SpendDescription DUMMY_SHIELD_SPEND = CreateDummySD();
97+ const SaplingTxData::binding_sig_t DUMMY_SHIELD_BINDSIG = {{0xff }};
98+
99+
71100TransactionBuilderResult::TransactionBuilderResult (const CTransaction& tx) : maybeTx(tx) {}
72101
73102TransactionBuilderResult::TransactionBuilderResult (const std::string& error) : maybeError(error) {}
@@ -328,29 +357,15 @@ TransactionBuilderResult TransactionBuilder::AddDummySignatures()
328357{
329358 if (!spends.empty () || !outputs.empty ()) {
330359 // Add Dummy Sapling OutputDescriptions
331- OutputDescription dummyOD;
332- dummyOD.cv = UINT256_MAX;
333- dummyOD.cmu = UINT256_MAX;
334- dummyOD.ephemeralKey = UINT256_MAX;
335- dummyOD.encCiphertext = {{0xff }};
336- dummyOD.outCiphertext = {{0xff }};
337- dummyOD.zkproof = {{0xff }};
338360 for (unsigned int i = 0 ; i < outputs.size (); i++) {
339- mtx.sapData ->vShieldedOutput .push_back (dummyOD );
361+ mtx.sapData ->vShieldedOutput .push_back (DUMMY_SHIELD_OUT );
340362 }
341363 // Add Dummy Sapling SpendDescriptions
342- SpendDescription dummySD;
343- dummySD.cv = UINT256_MAX;
344- dummySD.anchor = UINT256_MAX;
345- dummySD.nullifier = UINT256_MAX;
346- dummySD.rk = UINT256_MAX;
347- dummySD.zkproof = {{0xff }};
348- dummySD.spendAuthSig = {{0xff }};
349364 for (unsigned int i = 0 ; i < spends.size (); i++) {
350- mtx.sapData ->vShieldedSpend .push_back (dummySD );
365+ mtx.sapData ->vShieldedSpend .push_back (DUMMY_SHIELD_SPEND );
351366 }
352367 // Add Dummy Binding sig
353- mtx.sapData ->bindingSig = {{ 0xff }} ;
368+ mtx.sapData ->bindingSig = DUMMY_SHIELD_BINDSIG ;
354369 }
355370
356371 // Add Dummmy Transparent signatures
0 commit comments