Skip to content

Commit 208807d

Browse files
authored
Merge pull request #6677 from halibobo1205/fix/actuator-getOwnerAddress-unpack-type
feat(actuator): correct protobuf unpack types in getOwnerAddress()
2 parents 1ae9bb3 + 59b1339 commit 208807d

6 files changed

Lines changed: 36 additions & 6 deletions

File tree

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import org.tron.protos.Protocol.MarketOrder.State;
4444
import org.tron.protos.Protocol.Transaction.Contract.ContractType;
4545
import org.tron.protos.Protocol.Transaction.Result.code;
46-
import org.tron.protos.contract.AssetIssueContractOuterClass.AssetIssueContract;
4746
import org.tron.protos.contract.MarketContract.MarketCancelOrderContract;
4847

4948
@Slf4j(topic = "actuator")
@@ -221,7 +220,7 @@ public boolean validate() throws ContractValidateException {
221220

222221
@Override
223222
public ByteString getOwnerAddress() throws InvalidProtocolBufferException {
224-
return any.unpack(AssetIssueContract.class).getOwnerAddress();
223+
return any.unpack(MarketCancelOrderContract.class).getOwnerAddress();
225224
}
226225

227226
@Override

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@
5454
import org.tron.protos.Protocol.MarketPrice;
5555
import org.tron.protos.Protocol.Transaction.Contract.ContractType;
5656
import org.tron.protos.Protocol.Transaction.Result.code;
57-
import org.tron.protos.contract.AssetIssueContractOuterClass.AssetIssueContract;
5857
import org.tron.protos.contract.MarketContract.MarketSellAssetContract;
5958

6059
@Slf4j(topic = "actuator")
@@ -283,7 +282,7 @@ public boolean validate() throws ContractValidateException {
283282

284283
@Override
285284
public ByteString getOwnerAddress() throws InvalidProtocolBufferException {
286-
return any.unpack(AssetIssueContract.class).getOwnerAddress();
285+
return any.unpack(MarketSellAssetContract.class).getOwnerAddress();
287286
}
288287

289288
@Override

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import org.tron.core.utils.TransactionUtil;
1818
import org.tron.protos.Protocol.Transaction.Contract.ContractType;
1919
import org.tron.protos.Protocol.Transaction.Result.code;
20-
import org.tron.protos.contract.AccountContract.AccountUpdateContract;
2120
import org.tron.protos.contract.AssetIssueContractOuterClass.UpdateAssetContract;
2221

2322
@Slf4j(topic = "actuator")
@@ -171,7 +170,7 @@ public boolean validate() throws ContractValidateException {
171170

172171
@Override
173172
public ByteString getOwnerAddress() throws InvalidProtocolBufferException {
174-
return any.unpack(AccountUpdateContract.class).getOwnerAddress();
173+
return any.unpack(UpdateAssetContract.class).getOwnerAddress();
175174
}
176175

177176
@Override

framework/src/test/java/org/tron/core/actuator/MarketCancelOrderActuatorTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.google.protobuf.Any;
44
import com.google.protobuf.ByteString;
5+
import com.google.protobuf.InvalidProtocolBufferException;
56
import java.util.List;
67
import lombok.extern.slf4j.Slf4j;
78
import org.junit.Assert;
@@ -759,4 +760,14 @@ public void onlyOneOrderAtThisPriceAndHasOnlyOnePrice() throws Exception {
759760
Assert.assertNull(orderIdListCapsule);
760761

761762
}
763+
764+
@Test
765+
public void testGetOwnerAddress() throws InvalidProtocolBufferException {
766+
MarketCancelOrderActuator actuator = new MarketCancelOrderActuator();
767+
actuator.setChainBaseManager(dbManager.getChainBaseManager())
768+
.setAny(getContract(OWNER_ADDRESS_FIRST, ByteString.copyFromUtf8("orderId")));
769+
770+
Assert.assertEquals(OWNER_ADDRESS_FIRST,
771+
ByteArray.toHexString(actuator.getOwnerAddress().toByteArray()));
772+
}
762773
}

framework/src/test/java/org/tron/core/actuator/MarketSellAssetActuatorTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import com.google.protobuf.Any;
66
import com.google.protobuf.ByteString;
7+
import com.google.protobuf.InvalidProtocolBufferException;
78
import java.util.List;
89
import lombok.extern.slf4j.Slf4j;
910
import org.junit.After;
@@ -1871,4 +1872,14 @@ public void exceedMaxMatchNumLimit() throws Exception {
18711872
}
18721873
}
18731874

1875+
@Test
1876+
public void testGetOwnerAddress() throws InvalidProtocolBufferException {
1877+
MarketSellAssetActuator actuator = new MarketSellAssetActuator();
1878+
actuator.setChainBaseManager(dbManager.getChainBaseManager())
1879+
.setAny(getContract(OWNER_ADDRESS_FIRST, "sellToken", 100L, "buyToken", 200L));
1880+
1881+
Assert.assertEquals(OWNER_ADDRESS_FIRST,
1882+
ByteArray.toHexString(actuator.getOwnerAddress().toByteArray()));
1883+
}
1884+
18741885
}

framework/src/test/java/org/tron/core/actuator/UpdateAssetActuatorTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import com.google.protobuf.Any;
66
import com.google.protobuf.ByteString;
7+
import com.google.protobuf.InvalidProtocolBufferException;
78
import java.util.Date;
89
import lombok.extern.slf4j.Slf4j;
910
import org.junit.Assert;
@@ -488,4 +489,14 @@ public void commonErrorCheck() {
488489
actuatorTest.nullDBManger();
489490
}
490491

492+
@Test
493+
public void testGetOwnerAddress() throws InvalidProtocolBufferException {
494+
UpdateAssetActuator actuator = new UpdateAssetActuator();
495+
actuator.setChainBaseManager(dbManager.getChainBaseManager())
496+
.setAny(getContract(OWNER_ADDRESS, DESCRIPTION, URL, 500L, 8000L));
497+
498+
Assert.assertEquals(OWNER_ADDRESS,
499+
ByteArray.toHexString(actuator.getOwnerAddress().toByteArray()));
500+
}
501+
491502
}

0 commit comments

Comments
 (0)