Skip to content

Commit 9307ce2

Browse files
committed
minor change
1 parent 7f2be02 commit 9307ce2

File tree

1 file changed

+34
-29
lines changed

1 file changed

+34
-29
lines changed

src/main/java/org/tron/core/actuator/UpdateAssetActuator.java

Lines changed: 34 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -21,44 +21,32 @@
2121
@Slf4j
2222
public class UpdateAssetActuator extends AbstractActuator {
2323

24-
private UpdateAssetContract updateAssetContract;
25-
26-
private byte[] ownerAddress;
27-
private byte[] newUrl;
28-
private byte[] newDescription;
29-
private long newLimit;
30-
private long newPublicLimit;
31-
32-
private long fee;
33-
3424
UpdateAssetActuator(Any contract, Manager dbManager) {
3525
super(contract, dbManager);
36-
try {
37-
updateAssetContract = contract.unpack(UpdateAssetContract.class);
38-
} catch (InvalidProtocolBufferException e) {
39-
logger.error(e.getMessage(), e);
40-
}
41-
42-
newLimit = updateAssetContract.getNewLimit();
43-
newPublicLimit = updateAssetContract.getNewPublicLimit();
44-
ownerAddress = updateAssetContract.getOwnerAddress().toByteArray();
45-
newUrl = updateAssetContract.getUrl().toByteArray();
46-
newDescription = updateAssetContract.getDescription().toByteArray();
47-
fee = calcFee();
4826
}
4927

5028
@Override
5129
public boolean execute(TransactionResultCapsule ret) throws ContractExeException {
30+
long fee = calcFee();
5231
try {
32+
final UpdateAssetContract updateAssetContract = this.contract
33+
.unpack(UpdateAssetContract.class);
34+
35+
long newLimit = updateAssetContract.getNewLimit();
36+
long newPublicLimit = updateAssetContract.getNewPublicLimit();
37+
byte[] ownerAddress = updateAssetContract.getOwnerAddress().toByteArray();
38+
ByteString newUrl = updateAssetContract.getUrl();
39+
ByteString newDescription = updateAssetContract.getDescription();
40+
5341
AssetIssueStore assetIssueStore = dbManager.getAssetIssueStore();
5442
AccountCapsule accountCapsule = dbManager.getAccountStore().get(ownerAddress);
5543
AssetIssueCapsule assetIssueCapsule =
5644
assetIssueStore.get(accountCapsule.getAssetIssuedName().toByteArray());
5745

5846
assetIssueCapsule.setFreeAssetNetLimit(newLimit);
5947
assetIssueCapsule.setPublicFreeAssetNetLimit(newPublicLimit);
60-
assetIssueCapsule.setUrl(ByteString.copyFrom(newUrl));
61-
assetIssueCapsule.setDescription(ByteString.copyFrom(newDescription));
48+
assetIssueCapsule.setUrl(newUrl);
49+
assetIssueCapsule.setDescription(newDescription);
6250
assetIssueStore.put(assetIssueCapsule.createDbKey(), assetIssueCapsule);
6351

6452
ret.setStatus(fee, code.SUCESS);
@@ -73,15 +61,32 @@ public boolean execute(TransactionResultCapsule ret) throws ContractExeException
7361

7462
@Override
7563
public boolean validate() throws ContractValidateException {
64+
65+
if (this.contract == null) {
66+
throw new ContractValidateException("No contract!");
67+
}
7668
if (this.dbManager == null) {
7769
throw new ContractValidateException("No dbManager!");
7870
}
79-
if (updateAssetContract == null) {
71+
if (!this.contract.is(UpdateAssetContract.class)) {
8072
throw new ContractValidateException(
81-
"contract type error,expected type [UpdateAssetContract],real type["
82-
+ contract.getClass() + "]");
73+
"contract type error,expected type [UpdateAssetContract],real type[" + contract
74+
.getClass() + "]");
75+
}
76+
final UpdateAssetContract updateAssetContract;
77+
try {
78+
updateAssetContract = this.contract.unpack(UpdateAssetContract.class);
79+
} catch (InvalidProtocolBufferException e) {
80+
logger.debug(e.getMessage(), e);
81+
throw new ContractValidateException(e.getMessage());
8382
}
8483

84+
long newLimit = updateAssetContract.getNewLimit();
85+
long newPublicLimit = updateAssetContract.getNewPublicLimit();
86+
byte[] ownerAddress = updateAssetContract.getOwnerAddress().toByteArray();
87+
ByteString newUrl = updateAssetContract.getUrl();
88+
ByteString newDescription = updateAssetContract.getDescription();
89+
8590
if (!Wallet.addressValid(ownerAddress)) {
8691
throw new ContractValidateException("Invalid ownerAddress");
8792
}
@@ -97,11 +102,11 @@ public boolean validate() throws ContractValidateException {
97102

98103
assert (dbManager.getAssetIssueStore().get(account.getAssetIssuedName().toByteArray()) != null);
99104

100-
if ((newUrl != null) && (!TransactionUtil.validUrl(newUrl))) {
105+
if ((newUrl != null) && (!TransactionUtil.validUrl(newUrl.toByteArray()))) {
101106
throw new ContractValidateException("Invalid url");
102107
}
103108

104-
if ((newDescription != null) && (!TransactionUtil.validAssetDescription(newDescription))) {
109+
if ((newDescription != null) && (!TransactionUtil.validAssetDescription(newDescription.toByteArray()))) {
105110
throw new ContractValidateException("Invalid description");
106111
}
107112

0 commit comments

Comments
 (0)