From d7a22e0582fb1409abf08106ee5dce1ee35212ab Mon Sep 17 00:00:00 2001 From: liuxincheng Date: Fri, 18 Nov 2022 15:50:44 +0800 Subject: [PATCH] fix(freezeV2): optimize stake2.0 code --- .../core/actuator/FreezeBalanceActuator.java | 8 +-- .../actuator/UnfreezeBalanceActuator.java | 12 ++--- .../actuator/UnfreezeBalanceV2Actuator.java | 53 +++++++++---------- .../org/tron/core/capsule/AccountCapsule.java | 16 +++--- .../capsule/DelegatedResourceCapsule.java | 16 +++--- .../org/tron/core/db/BandwidthProcessor.java | 4 +- .../org/tron/core/db/EnergyProcessor.java | 1 - .../org/tron/core/db/ResourceProcessor.java | 7 +-- .../src/main/java/org/tron/core/Wallet.java | 12 ++--- .../core/services/jsonrpc/JsonRpcApiUtil.java | 22 ++++++-- .../jsonrpc/types/TransactionResult.java | 4 +- .../UnfreezeBalanceV2ActuatorTest.java | 21 ++++---- protocol/src/main/protos/core/Tron.proto | 2 +- 13 files changed, 86 insertions(+), 92 deletions(-) diff --git a/actuator/src/main/java/org/tron/core/actuator/FreezeBalanceActuator.java b/actuator/src/main/java/org/tron/core/actuator/FreezeBalanceActuator.java index 5d630d0f115..03cb72d8306 100755 --- a/actuator/src/main/java/org/tron/core/actuator/FreezeBalanceActuator.java +++ b/actuator/src/main/java/org/tron/core/actuator/FreezeBalanceActuator.java @@ -175,11 +175,6 @@ public boolean validate() throws ContractValidateException { throw new ContractValidateException("frozenBalance must be less than accountBalance"); } -// long maxFrozenNumber = dbManager.getDynamicPropertiesStore().getMaxFrozenNumber(); -// if (accountCapsule.getFrozenCount() >= maxFrozenNumber) { -// throw new ContractValidateException("max frozen number is: " + maxFrozenNumber); -// } - long frozenDuration = freezeBalanceContract.getFrozenDuration(); long minFrozenTime = dynamicStore.getMinFrozenTime(); long maxFrozenTime = dynamicStore.getMaxFrozenTime(); @@ -224,8 +219,7 @@ public boolean validate() throws ContractValidateException { //If the receiver is included in the contract, the receiver will receive the resource. if (!ArrayUtils.isEmpty(receiverAddress) && dynamicStore.supportDR()) { if (Arrays.equals(receiverAddress, ownerAddress)) { - throw new ContractValidateException( - "receiverAddress must not be the same as ownerAddress"); + throw new ContractValidateException("receiverAddress must not be the same as ownerAddress"); } if (!DecodeUtil.addressValid(receiverAddress)) { diff --git a/actuator/src/main/java/org/tron/core/actuator/UnfreezeBalanceActuator.java b/actuator/src/main/java/org/tron/core/actuator/UnfreezeBalanceActuator.java index 93dcd61e044..41a01d5f238 100755 --- a/actuator/src/main/java/org/tron/core/actuator/UnfreezeBalanceActuator.java +++ b/actuator/src/main/java/org/tron/core/actuator/UnfreezeBalanceActuator.java @@ -38,6 +38,9 @@ @Slf4j(topic = "actuator") public class UnfreezeBalanceActuator extends AbstractActuator { + private static final String INVALID_RESOURCE_CODE = + "ResourceCode error.valid ResourceCode[BANDWIDTH、Energy]"; + public UnfreezeBalanceActuator() { super(ContractType.UnfreezeBalanceContract, UnfreezeBalanceContract.class); } @@ -402,8 +405,7 @@ public boolean validate() throws ContractValidateException { } break; default: - throw new ContractValidateException( - "ResourceCode error.valid ResourceCode[BANDWIDTH、Energy]"); + throw new ContractValidateException(INVALID_RESOURCE_CODE); } } else { @@ -440,8 +442,7 @@ public boolean validate() throws ContractValidateException { throw new ContractValidateException("It's not time to unfreeze(TronPower)."); } } else { - throw new ContractValidateException( - "ResourceCode error.valid ResourceCode[BANDWIDTH、Energy]"); + throw new ContractValidateException(INVALID_RESOURCE_CODE); } break; default: @@ -449,8 +450,7 @@ public boolean validate() throws ContractValidateException { throw new ContractValidateException( "ResourceCode error.valid ResourceCode[BANDWIDTH、Energy、TRON_POWER]"); } else { - throw new ContractValidateException( - "ResourceCode error.valid ResourceCode[BANDWIDTH、Energy]"); + throw new ContractValidateException(INVALID_RESOURCE_CODE); } } diff --git a/actuator/src/main/java/org/tron/core/actuator/UnfreezeBalanceV2Actuator.java b/actuator/src/main/java/org/tron/core/actuator/UnfreezeBalanceV2Actuator.java index 416f861d2da..b43b614b8a6 100755 --- a/actuator/src/main/java/org/tron/core/actuator/UnfreezeBalanceV2Actuator.java +++ b/actuator/src/main/java/org/tron/core/actuator/UnfreezeBalanceV2Actuator.java @@ -3,6 +3,10 @@ import static org.tron.core.actuator.ActuatorConstant.ACCOUNT_EXCEPTION_STR; import static org.tron.core.config.Parameter.ChainConstant.FROZEN_PERIOD; import static org.tron.core.config.Parameter.ChainConstant.TRX_PRECISION; +import static org.tron.protos.contract.Common.ResourceCode; +import static org.tron.protos.contract.Common.ResourceCode.BANDWIDTH; +import static org.tron.protos.contract.Common.ResourceCode.ENERGY; +import static org.tron.protos.contract.Common.ResourceCode.TRON_POWER; import com.google.common.collect.Lists; import com.google.protobuf.ByteString; @@ -24,11 +28,12 @@ import org.tron.core.store.DynamicPropertiesStore; import org.tron.core.store.VotesStore; import org.tron.protos.Protocol; +import org.tron.protos.Protocol.Account.FreezeV2; +import org.tron.protos.Protocol.Account.UnFreezeV2; import org.tron.protos.Protocol.Transaction.Contract.ContractType; import org.tron.protos.Protocol.Transaction.Result.code; import org.tron.protos.Protocol.Vote; import org.tron.protos.contract.BalanceContract.UnfreezeBalanceV2Contract; -import org.tron.protos.contract.Common; @Slf4j(topic = "actuator") public class UnfreezeBalanceV2Actuator extends AbstractActuator { @@ -73,7 +78,7 @@ public boolean execute(Object result) throws ContractExeException { accountCapsule.initializeOldTronPower(); } - Common.ResourceCode freezeType = unfreezeBalanceV2Contract.getResource(); + ResourceCode freezeType = unfreezeBalanceV2Contract.getResource(); this.updateAccountFrozenInfo(freezeType, accountCapsule, unfreezeBalance); @@ -140,18 +145,18 @@ public boolean validate() throws ContractValidateException { long now = dynamicStore.getLatestBlockHeaderTimestamp(); switch (unfreezeBalanceV2Contract.getResource()) { case BANDWIDTH: - if (!this.checkExistFreezedBalance(accountCapsule, Common.ResourceCode.BANDWIDTH)) { + if (!checkExistFrozenBalance(accountCapsule, BANDWIDTH)) { throw new ContractValidateException("no frozenBalance(BANDWIDTH)"); } break; case ENERGY: - if (!this.checkExistFreezedBalance(accountCapsule, Common.ResourceCode.ENERGY)) { + if (!checkExistFrozenBalance(accountCapsule, ENERGY)) { throw new ContractValidateException("no frozenBalance(Energy)"); } break; case TRON_POWER: if (dynamicStore.supportAllowNewResourceModel()) { - if (!this.checkExistFreezedBalance(accountCapsule, Common.ResourceCode.TRON_POWER)) { + if (!checkExistFrozenBalance(accountCapsule, TRON_POWER)) { throw new ContractValidateException("no frozenBalance(TronPower)"); } } else { @@ -190,32 +195,24 @@ public long calcFee() { return 0; } - public boolean checkExistFreezedBalance(AccountCapsule accountCapsule, Common.ResourceCode freezeType) { - boolean checkOk = false; - - long frozenAmount = 0; - List frozenV2List = accountCapsule.getFrozenV2List(); - for (Protocol.Account.FreezeV2 frozenV2 : frozenV2List) { - if (frozenV2.getType().equals(freezeType)) { - frozenAmount = frozenV2.getAmount(); - if (frozenAmount > 0) { - checkOk = true; - break; - } + public boolean checkExistFrozenBalance(AccountCapsule accountCapsule, ResourceCode freezeType) { + List frozenV2List = accountCapsule.getFrozenV2List(); + for (FreezeV2 frozenV2 : frozenV2List) { + if (frozenV2.getType().equals(freezeType) && frozenV2.getAmount() > 0) { + return true; } } - - return checkOk; + return false; } public boolean checkUnfreezeBalance(AccountCapsule accountCapsule, final UnfreezeBalanceV2Contract unfreezeBalanceV2Contract, - Common.ResourceCode freezeType) { + ResourceCode freezeType) { boolean checkOk = false; long frozenAmount = 0L; - List freezeV2List = accountCapsule.getFrozenV2List(); - for (Protocol.Account.FreezeV2 freezeV2 : freezeV2List) { + List freezeV2List = accountCapsule.getFrozenV2List(); + for (FreezeV2 freezeV2 : freezeV2List) { if (freezeV2.getType().equals(freezeType)) { frozenAmount = freezeV2.getAmount(); break; @@ -237,11 +234,11 @@ public long calcUnfreezeExpireTime(long now) { return now + unfreezeDelayDays * FROZEN_PERIOD; } - public void updateAccountFrozenInfo(Common.ResourceCode freezeType, AccountCapsule accountCapsule, long unfreezeBalance) { - List freezeV2List = accountCapsule.getFrozenV2List(); + public void updateAccountFrozenInfo(ResourceCode freezeType, AccountCapsule accountCapsule, long unfreezeBalance) { + List freezeV2List = accountCapsule.getFrozenV2List(); for (int i = 0; i < freezeV2List.size(); i++) { if (freezeV2List.get(i).getType().equals(freezeType)) { - Protocol.Account.FreezeV2 freezeV2 = Protocol.Account.FreezeV2.newBuilder() + FreezeV2 freezeV2 = FreezeV2.newBuilder() .setAmount(freezeV2List.get(i).getAmount() - unfreezeBalance) .setType(freezeV2List.get(i).getType()) .build(); @@ -254,12 +251,12 @@ public void updateAccountFrozenInfo(Common.ResourceCode freezeType, AccountCapsu public long unfreezeExpire(AccountCapsule accountCapsule, long now) { long unfreezeBalance = 0L; - List unFrozenV2List = Lists.newArrayList(); + List unFrozenV2List = Lists.newArrayList(); unFrozenV2List.addAll(accountCapsule.getUnfrozenV2List()); - Iterator iterator = unFrozenV2List.iterator(); + Iterator iterator = unFrozenV2List.iterator(); while (iterator.hasNext()) { - Protocol.Account.UnFreezeV2 next = iterator.next(); + UnFreezeV2 next = iterator.next(); if (next.getUnfreezeExpireTime() <= now) { unfreezeBalance += next.getUnfreezeAmount(); iterator.remove(); diff --git a/chainbase/src/main/java/org/tron/core/capsule/AccountCapsule.java b/chainbase/src/main/java/org/tron/core/capsule/AccountCapsule.java index a1e40878173..32bc45181c3 100644 --- a/chainbase/src/main/java/org/tron/core/capsule/AccountCapsule.java +++ b/chainbase/src/main/java/org/tron/core/capsule/AccountCapsule.java @@ -36,7 +36,6 @@ import org.tron.protos.Protocol.Vote; import org.tron.protos.contract.AccountContract.AccountCreateContract; import org.tron.protos.contract.AccountContract.AccountUpdateContract; -import org.tron.protos.contract.Common; import java.util.List; import java.util.Map; @@ -453,7 +452,7 @@ public void addFrozenBalanceForEnergyV2(long balance) { this.addFrozenBalanceForResource(ENERGY, balance); } - private void addFrozenBalanceForResource(Common.ResourceCode type, long balance) { + private void addFrozenBalanceForResource(ResourceCode type, long balance) { boolean doUpdate = false; for (int i = 0; i < this.account.getFrozenV2List().size(); i++) { if (this.account.getFrozenV2List().get(i).getType().equals(type)) { @@ -564,9 +563,10 @@ public List getUnfrozenV2List() { } public void updateFrozenV2List(int index, FreezeV2 frozenV2) { - this.account = this.account.toBuilder() - .setFrozenV2(index, frozenV2) - .build(); + if (Objects.isNull(frozenV2)) { + return; + } + this.account = this.account.toBuilder().setFrozenV2(index, frozenV2).build(); } public void addFrozenV2List(FreezeV2 frozenV2) { @@ -750,9 +750,8 @@ public boolean addAssetV2(byte[] key, long value) { return true; } - public boolean addAssetMapV2(Map assetMap) { + public void addAssetMapV2(Map assetMap) { this.account = this.account.toBuilder().putAllAssetV2(assetMap).build(); - return true; } public Long getAsset(DynamicPropertiesStore dynamicStore, String key) { @@ -799,9 +798,8 @@ public Map getAssetV2MapForTest() { /*************************** end asset ****************************************/ - public boolean addAllLatestAssetOperationTimeV2(Map map) { + public void addAllLatestAssetOperationTimeV2(Map map) { this.account = this.account.toBuilder().putAllLatestAssetOperationTimeV2(map).build(); - return true; } public Map getLatestAssetOperationTimeMap() { diff --git a/chainbase/src/main/java/org/tron/core/capsule/DelegatedResourceCapsule.java b/chainbase/src/main/java/org/tron/core/capsule/DelegatedResourceCapsule.java index b33e47a2406..e731eb76c82 100644 --- a/chainbase/src/main/java/org/tron/core/capsule/DelegatedResourceCapsule.java +++ b/chainbase/src/main/java/org/tron/core/capsule/DelegatedResourceCapsule.java @@ -76,17 +76,17 @@ public long getFrozenBalanceForBandwidth() { return this.delegatedResource.getFrozenBalanceForBandwidth(); } - public void setFrozenBalanceForBandwidth(long Bandwidth, long expireTime) { + public void setFrozenBalanceForBandwidth(long bandwidth, long expireTime) { this.delegatedResource = this.delegatedResource.toBuilder() - .setFrozenBalanceForBandwidth(Bandwidth) + .setFrozenBalanceForBandwidth(bandwidth) .setExpireTimeForBandwidth(expireTime) .build(); } - public void addFrozenBalanceForBandwidth(long Bandwidth, long expireTime) { + public void addFrozenBalanceForBandwidth(long bandwidth, long expireTime) { this.delegatedResource = this.delegatedResource.toBuilder() .setFrozenBalanceForBandwidth(this.delegatedResource.getFrozenBalanceForBandwidth() - + Bandwidth) + + bandwidth) .setExpireTimeForBandwidth(expireTime) .build(); } @@ -99,9 +99,9 @@ public long getExpireTimeForEnergy() { return this.delegatedResource.getExpireTimeForEnergy(); } - public void setExpireTimeForBandwidth(long ExpireTime) { + public void setExpireTimeForBandwidth(long expireTime) { this.delegatedResource = this.delegatedResource.toBuilder() - .setExpireTimeForBandwidth(ExpireTime) + .setExpireTimeForBandwidth(expireTime) .build(); } @@ -113,9 +113,9 @@ public long getExpireTimeForEnergy(DynamicPropertiesStore dynamicPropertiesStore } } - public void setExpireTimeForEnergy(long ExpireTime) { + public void setExpireTimeForEnergy(long expireTime) { this.delegatedResource = this.delegatedResource.toBuilder() - .setExpireTimeForEnergy(ExpireTime) + .setExpireTimeForEnergy(expireTime) .build(); } diff --git a/chainbase/src/main/java/org/tron/core/db/BandwidthProcessor.java b/chainbase/src/main/java/org/tron/core/db/BandwidthProcessor.java index c98b553ba3f..64d13a6e75a 100644 --- a/chainbase/src/main/java/org/tron/core/db/BandwidthProcessor.java +++ b/chainbase/src/main/java/org/tron/core/db/BandwidthProcessor.java @@ -36,7 +36,6 @@ public BandwidthProcessor(ChainBaseManager chainBaseManager) { this.chainBaseManager = chainBaseManager; } - @Override public void updateUsage(AccountCapsule accountCapsule) { long now = chainBaseManager.getHeadSlot(); updateUsage(accountCapsule, now); @@ -61,8 +60,7 @@ private void updateUsage(AccountCapsule accountCapsule, long now) { }); } Map assetMapV2 = accountCapsule.getAssetMapV2(); - Map map = new HashMap<>(); - map.putAll(assetMapV2); + Map map = new HashMap<>(assetMapV2); accountCapsule.getAllFreeAssetNetUsageV2().forEach((k, v) -> { if (!map.containsKey(k)) { map.put(k, 0L); diff --git a/chainbase/src/main/java/org/tron/core/db/EnergyProcessor.java b/chainbase/src/main/java/org/tron/core/db/EnergyProcessor.java index beca72fad63..f302318e723 100644 --- a/chainbase/src/main/java/org/tron/core/db/EnergyProcessor.java +++ b/chainbase/src/main/java/org/tron/core/db/EnergyProcessor.java @@ -31,7 +31,6 @@ public static long getHeadSlot(DynamicPropertiesStore dynamicPropertiesStore) { / BLOCK_PRODUCED_INTERVAL; } - @Override public void updateUsage(AccountCapsule accountCapsule) { long now = getHeadSlot(); updateUsage(accountCapsule, now); diff --git a/chainbase/src/main/java/org/tron/core/db/ResourceProcessor.java b/chainbase/src/main/java/org/tron/core/db/ResourceProcessor.java index eb0ab0eba7a..c3a0b56221a 100644 --- a/chainbase/src/main/java/org/tron/core/db/ResourceProcessor.java +++ b/chainbase/src/main/java/org/tron/core/db/ResourceProcessor.java @@ -33,8 +33,6 @@ public ResourceProcessor(DynamicPropertiesStore dynamicPropertiesStore, AdaptiveResourceLimitConstants.PERIODS_MS / BLOCK_PRODUCED_INTERVAL; } - abstract void updateUsage(AccountCapsule accountCapsule); - abstract void consume(TransactionCapsule trx, TransactionTrace trace) throws ContractValidateException, AccountResourceInsufficientException, TooBigTransactionResultException; @@ -63,12 +61,10 @@ protected long increase(long lastUsage, long usage, long lastTime, long now, lon public long increase(AccountCapsule accountCapsule, ResourceCode resourceCode, long lastUsage, long usage, long lastTime, long now) { long oldWindowSize = accountCapsule.getWindowSize(resourceCode); - /* old logic */ long averageLastUsage = divideCeil(lastUsage * this.precision, oldWindowSize); long averageUsage = divideCeil(usage * this.precision, this.windowSize); if (lastTime != now) { - assert now > lastTime; if (lastTime + oldWindowSize > now) { long delta = now - lastTime; double decay = (oldWindowSize - delta) / (double) oldWindowSize; @@ -77,7 +73,7 @@ public long increase(AccountCapsule accountCapsule, ResourceCode resourceCode, averageLastUsage = 0; } } - /* new logic */ + long newUsage = getUsage(averageLastUsage, oldWindowSize) + getUsage(averageUsage, this.windowSize); if (dynamicPropertiesStore.supportUnfreezeDelay()) { @@ -150,7 +146,6 @@ protected boolean consumeFeeForBandwidth(AccountCapsule accountCapsule, long fee } } - protected boolean consumeFeeForNewAccount(AccountCapsule accountCapsule, long fee) { try { long latestOperationTime = dynamicPropertiesStore.getLatestBlockHeaderTimestamp(); diff --git a/framework/src/main/java/org/tron/core/Wallet.java b/framework/src/main/java/org/tron/core/Wallet.java index d4bff49fea3..aa8143c57cb 100755 --- a/framework/src/main/java/org/tron/core/Wallet.java +++ b/framework/src/main/java/org/tron/core/Wallet.java @@ -344,13 +344,9 @@ public Account getAccount(Account account) { private void sortFrozenV2List(AccountCapsule accountCapsule) { List oldFreezeV2List = accountCapsule.getFrozenV2List(); accountCapsule.clearFrozenV2(); - ResourceCode[] codes = ResourceCode.values(); - for (ResourceCode code : codes) { + for (ResourceCode code : ResourceCode.values()) { if (ResourceCode.UNRECOGNIZED != code) { - accountCapsule.addFrozenV2List(FreezeV2.newBuilder() - .setType(code) - .setAmount(0) - .build()); + accountCapsule.addFrozenV2List(FreezeV2.newBuilder().setType(code).setAmount(0).build()); } } List newFreezeV2List = accountCapsule.getFrozenV2List(); @@ -359,7 +355,9 @@ private void sortFrozenV2List(AccountCapsule accountCapsule) { ResourceCode code = freezeV2.getType(); Optional optional = oldFreezeV2List .stream().filter(o -> o.getType() == code).findFirst(); - accountCapsule.updateFrozenV2List(i, optional.orElse(freezeV2)); + if (optional.isPresent()) { + accountCapsule.updateFrozenV2List(i, optional.get()); + } } } diff --git a/framework/src/main/java/org/tron/core/services/jsonrpc/JsonRpcApiUtil.java b/framework/src/main/java/org/tron/core/services/jsonrpc/JsonRpcApiUtil.java index 565ce922572..a25bedc577d 100644 --- a/framework/src/main/java/org/tron/core/services/jsonrpc/JsonRpcApiUtil.java +++ b/framework/src/main/java/org/tron/core/services/jsonrpc/JsonRpcApiUtil.java @@ -35,8 +35,10 @@ import org.tron.protos.contract.AssetIssueContractOuterClass.ParticipateAssetIssueContract; import org.tron.protos.contract.AssetIssueContractOuterClass.TransferAssetContract; import org.tron.protos.contract.AssetIssueContractOuterClass.UnfreezeAssetContract; +import org.tron.protos.contract.BalanceContract.DelegateResourceContract; import org.tron.protos.contract.BalanceContract.FreezeBalanceContract; import org.tron.protos.contract.BalanceContract.TransferContract; +import org.tron.protos.contract.BalanceContract.UnDelegateResourceContract; import org.tron.protos.contract.BalanceContract.UnfreezeBalanceContract; import org.tron.protos.contract.ExchangeContract.ExchangeInjectContract; import org.tron.protos.contract.ExchangeContract.ExchangeTransactionContract; @@ -114,7 +116,7 @@ public static byte[] getToAddress(Transaction transaction) { if (!toAddressList.isEmpty()) { return toAddressList.get(0).toByteArray(); } else { - return null; + return new byte[0]; } } @@ -158,6 +160,20 @@ public static List getTo(Transaction transaction) { list.add(receiverAddress); } break; + case DelegateResourceContract: + receiverAddress = contractParameter.unpack(DelegateResourceContract.class) + .getReceiverAddress(); + if (!receiverAddress.isEmpty()) { + list.add(receiverAddress); + } + break; + case UnDelegateResourceContract: + receiverAddress = contractParameter.unpack(UnDelegateResourceContract.class) + .getReceiverAddress(); + if (!receiverAddress.isEmpty()) { + list.add(receiverAddress); + } + break; case TriggerSmartContract: list.add(contractParameter.unpack(TriggerSmartContract.class).getContractAddress()); break; @@ -205,7 +221,7 @@ public static long getTransactionAmount(Transaction.Contract contract, String ha amount = getAmountFromTransactionInfo(hash, contract.getType(), transactionInfo); break; default: - amount = getTransactionAmount(contract, hash, 0, null, wallet); + amount = getTransactionAmount(contract, hash, null, wallet); break; } } catch (Exception e) { @@ -217,7 +233,7 @@ public static long getTransactionAmount(Transaction.Contract contract, String ha } public static long getTransactionAmount(Transaction.Contract contract, String hash, - long blockNum, TransactionInfo transactionInfo, Wallet wallet) { + TransactionInfo transactionInfo, Wallet wallet) { long amount = 0; try { Any contractParameter = contract.getParameter(); diff --git a/framework/src/main/java/org/tron/core/services/jsonrpc/types/TransactionResult.java b/framework/src/main/java/org/tron/core/services/jsonrpc/types/TransactionResult.java index 5dd46d71235..389c58505cd 100644 --- a/framework/src/main/java/org/tron/core/services/jsonrpc/types/TransactionResult.java +++ b/framework/src/main/java/org/tron/core/services/jsonrpc/types/TransactionResult.java @@ -137,8 +137,8 @@ public TransactionResult(BlockCapsule blockCapsule, int index, Protocol.Transact public TransactionResult(Transaction tx, Wallet wallet) { TransactionCapsule capsule = new TransactionCapsule(tx); - byte[] txid = capsule.getTransactionId().getBytes(); - hash = ByteArray.toJsonHex(txid); + byte[] txId = capsule.getTransactionId().getBytes(); + hash = ByteArray.toJsonHex(txId); nonce = ByteArray.toJsonHex(new byte[8]); // no value blockHash = "0x"; blockNumber = "0x"; diff --git a/framework/src/test/java/org/tron/core/actuator/UnfreezeBalanceV2ActuatorTest.java b/framework/src/test/java/org/tron/core/actuator/UnfreezeBalanceV2ActuatorTest.java index 07d7f3a6def..d1aa0820c6e 100644 --- a/framework/src/test/java/org/tron/core/actuator/UnfreezeBalanceV2ActuatorTest.java +++ b/framework/src/test/java/org/tron/core/actuator/UnfreezeBalanceV2ActuatorTest.java @@ -43,7 +43,6 @@ public class UnfreezeBalanceV2ActuatorTest { private static final String OWNER_ACCOUNT_INVALID; private static final long initBalance = 10_000_000_000L; private static final long frozenBalance = 1_000_000_000L; - private static final long smallTatalResource = 100L; private static Manager dbManager; private static TronApplicationContext context; @@ -541,7 +540,7 @@ public void testUnfreezeBalanceForTronPowerWithOldTronPowerAfterNewResourceModel try { actuator.validate(); //Assert.fail(); - } catch (ContractValidateException e) { + } catch (Exception e) { Assert.assertTrue(e instanceof ContractValidateException); } } @@ -566,15 +565,15 @@ public void testUnfreezeBalanceCheckExistFreezedBalance() { actuator.setChainBaseManager(dbManager.getChainBaseManager()) .setAny(getContractForBandwidthV2(OWNER_ADDRESS, unfreezeBalance)); - boolean bret1 = actuator.checkExistFreezedBalance( + boolean bret1 = actuator.checkExistFrozenBalance( accountCapsule, ResourceCode.BANDWIDTH); - Assert.assertTrue(true == bret1); - boolean bret2 = actuator.checkExistFreezedBalance( + Assert.assertTrue(bret1); + boolean bret2 = actuator.checkExistFrozenBalance( accountCapsule, ResourceCode.ENERGY); - Assert.assertTrue(true == bret2); - boolean bret3 = actuator.checkExistFreezedBalance( + Assert.assertTrue(bret2); + boolean bret3 = actuator.checkExistFrozenBalance( accountCapsule, ResourceCode.TRON_POWER); - Assert.assertTrue(true == bret3); + Assert.assertTrue(bret3); } @@ -603,7 +602,7 @@ public void testUnfreezeBalanceCheckUnfreezeBalance() { boolean bret1 = actuator.checkUnfreezeBalance( accountCapsule, unfreezeBalanceV2Contract, ResourceCode.BANDWIDTH ); - Assert.assertTrue(true == bret1); + Assert.assertTrue(bret1); } @@ -633,7 +632,7 @@ public void testUnfreezeBalanceGetFreezeType() { ResourceCode freezeType = unfreezeBalanceV2Contract.getResource(); - Assert.assertTrue(ResourceCode.TRON_POWER.equals(freezeType)); + Assert.assertEquals(ResourceCode.TRON_POWER, freezeType); } @Test @@ -695,7 +694,7 @@ public void testUnfreezeBalanceUpdateAccountFrozenInfo() { ResourceCode.BANDWIDTH, accountCapsule, unfreezeBalance ); - Assert.assertTrue(accountCapsule.getAllFrozenBalanceForBandwidth() == 1); + Assert.assertEquals(1, accountCapsule.getAllFrozenBalanceForBandwidth()); } diff --git a/protocol/src/main/protos/core/Tron.proto b/protocol/src/main/protos/core/Tron.proto index 632dcc157ce..38d94e8b63b 100644 --- a/protocol/src/main/protos/core/Tron.proto +++ b/protocol/src/main/protos/core/Tron.proto @@ -474,7 +474,7 @@ message TransactionInfo { repeated MarketOrderDetail orderDetails = 26; int64 packingFee = 27; - int64 withdraw_Expire_amount = 28; + int64 withdraw_expire_amount = 28; } message TransactionRet {