The setter methods setFileId
and setContractId
of SystemDeleteTransaction.java
are not working as expected.
#1596
Labels
bug
Something isn't working
good first issue
Issues which are ideal for a first time or new project contributor.
hacktoberfest
Issues shown by lists for the Hacktoberfest and made for newcomers to do the first contribution.
🆕🐥 First Timers Only
This issue is reserved for people who have never contributed to Hedera or any open source project in general.
We know that creating a pull request (PR) is a major barrier for new contributors.
The goal of this issue and all other issues labeled by 'Good First Issue' is to help you make your first contribution to Hedera.
👾 Description of the issue
setFileId
andsetContractId
inSystemDeleteTransaction.java
are not behaving as expected. WhensetFileId
is called, it should resetcontractId
, and similarly, whensetContractId
is called, it should resetfileId
. However, this behavior is inconsistent between the Java SDK and the C++ SDK. The C++ SDK properly resets the other ID when one is set, but the Java SDK does not.Additional context
For reference, see the implementations:
setFileId
in the Java SDK vs the C++ SDK.setContractId
in the Java SDK vs the C++ SDK.Steps to Reproduce
resetFileId
andresetContractId
tests inSystemDeleteTransactionTest
.setFileId
resetscontractId
andsetContractId
resetsfileId
.Proposed Solution:
To align the behavior of the Java SDK with the C++ SDK, the
setFileId
andsetContractId
methods in the Java implementation should be updated to reset the other field when one is set:setFileId
should reset thecontractId
when it is called.setContractId
should reset thefileId
when it is called.This can be achieved by modifying the methods in
SystemDeleteTransaction.java
to mirror the C++ implementation. For example:Additionally, ensure that the tests are updated to reflect this behavior:
resetFileId
andresetContractId
tests inSystemDeleteTransactionTest
.📋 Step by step guide to do a contribution
If you have never contributed to an open source project at GitHub, the following step-by-step guide will introduce you to the workflow. More information and concrete samples for shell commands for each step can be found in our CONTRIBUTING.md file.
A more detailed general documentation of the GitHub PR workflow can be found here.
sign-off
information to the commit to accept the "Developer Certificate of Origin" (https://developercertificate.org). More details can be found in our CONTRIBUTING.md🎉 Contribute to Hacktoberfest
Solve this issue as part of the Hacktoberfest event and get a chance to receive cool goodies like a T-Shirt. 🎽
🤔 Additional Information
If you have any questions, just ask us directly in this issue by adding a comment. You can join our community chat at Discord. A general manual about open-source contributions can be found here.
The text was updated successfully, but these errors were encountered: