@@ -170,28 +170,27 @@ private void executeShielded(List<SpendDescription> spends, List<ReceiveDescript
170170 }
171171 nullifierStore .put (new BytesCapsule (spend .getNullifier ().toByteArray ()));
172172 }
173- if (chainBaseManager .getDynamicPropertiesStore ().supportShieldedTransaction ()) {
174- IncrementalMerkleTreeContainer currentMerkle = merkleContainer .getCurrentMerkle ();
173+
174+ IncrementalMerkleTreeContainer currentMerkle = merkleContainer .getCurrentMerkle ();
175+ try {
176+ currentMerkle .wfcheck ();
177+ } catch (ZksnarkException e ) {
178+ ret .setStatus (fee , code .FAILED );
179+ ret .setShieldedTransactionFee (fee );
180+ throw new ContractExeException (e .getMessage ());
181+ }
182+ //handle receives
183+ for (ReceiveDescription receive : receives ) {
175184 try {
176- currentMerkle .wfcheck ();
185+ merkleContainer
186+ .saveCmIntoMerkleTree (currentMerkle , receive .getNoteCommitment ().toByteArray ());
177187 } catch (ZksnarkException e ) {
178- ret .setStatus (fee , code .FAILED );
188+ ret .setStatus (0 , code .FAILED );
179189 ret .setShieldedTransactionFee (fee );
180190 throw new ContractExeException (e .getMessage ());
181191 }
182- //handle receives
183- for (ReceiveDescription receive : receives ) {
184- try {
185- merkleContainer
186- .saveCmIntoMerkleTree (currentMerkle , receive .getNoteCommitment ().toByteArray ());
187- } catch (ZksnarkException e ) {
188- ret .setStatus (0 , code .FAILED );
189- ret .setShieldedTransactionFee (fee );
190- throw new ContractExeException (e .getMessage ());
191- }
192- }
193- merkleContainer .setCurrentMerkle (currentMerkle );
194192 }
193+ merkleContainer .setCurrentMerkle (currentMerkle );
195194 }
196195
197196 @ Override
0 commit comments