Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 49 additions & 49 deletions src/main/java/org/tron/common/runtime/vm/PrecompiledContracts.java
Original file line number Diff line number Diff line change
Expand Up @@ -88,17 +88,17 @@ public class PrecompiledContracts {
private static final BN128Addition altBN128Add = new BN128Addition();
private static final BN128Multiplication altBN128Mul = new BN128Multiplication();
private static final BN128Pairing altBN128Pairing = new BN128Pairing();
private static final VoteWitnessNative voteContract = new VoteWitnessNative();
// private static final FreezeBalanceNative freezeBalance = new FreezeBalanceNative();
// private static final VoteWitnessNative voteContract = new VoteWitnessNative();
// private static final FreezeBalanceNative freezeBalance = new FreezeBalanceNative();
// private static final UnfreezeBalanceNative unFreezeBalance = new UnfreezeBalanceNative();
private static final WithdrawBalanceNative withdrawBalance = new WithdrawBalanceNative();
private static final ProposalApproveNative proposalApprove = new ProposalApproveNative();
private static final ProposalCreateNative proposalCreate = new ProposalCreateNative();
private static final ProposalDeleteNative proposalDelete = new ProposalDeleteNative();
private static final ConvertFromTronBytesAddressNative convertFromTronBytesAddress = new ConvertFromTronBytesAddressNative();
private static final ConvertFromTronBase58AddressNative convertFromTronBase58Address = new ConvertFromTronBase58AddressNative();
// private static final WithdrawBalanceNative withdrawBalance = new WithdrawBalanceNative();
// private static final ProposalApproveNative proposalApprove = new ProposalApproveNative();
// private static final ProposalCreateNative proposalCreate = new ProposalCreateNative();
// private static final ProposalDeleteNative proposalDelete = new ProposalDeleteNative();
// private static final ConvertFromTronBytesAddressNative convertFromTronBytesAddress = new ConvertFromTronBytesAddressNative();
// private static final ConvertFromTronBase58AddressNative convertFromTronBase58Address = new ConvertFromTronBase58AddressNative();
// private static final TransferAssetNative transferAsset = new TransferAssetNative();
private static final GetTransferAssetNative getTransferAssetAmount = new GetTransferAssetNative();
// private static final GetTransferAssetNative getTransferAssetAmount = new GetTransferAssetNative();

private static final ECKey addressCheckECKey = new ECKey();
private static final String addressCheckECKeyAddress = Wallet
Expand All @@ -121,28 +121,28 @@ public class PrecompiledContracts {
"0000000000000000000000000000000000000000000000000000000000000007");
private static final DataWord altBN128PairingAddr = new DataWord(
"0000000000000000000000000000000000000000000000000000000000000008");
private static final DataWord voteContractAddr = new DataWord(
"0000000000000000000000000000000000000000000000000000000000010001");
// private static final DataWord voteContractAddr = new DataWord(
// "0000000000000000000000000000000000000000000000000000000000010001");
// private static final DataWord freezeBalanceAddr = new DataWord(
// "0000000000000000000000000000000000000000000000000000000000010002");
// private static final DataWord unFreezeBalanceAddr = new DataWord(
// "0000000000000000000000000000000000000000000000000000000000010003");
private static final DataWord withdrawBalanceAddr = new DataWord(
"0000000000000000000000000000000000000000000000000000000000010004");
private static final DataWord proposalApproveAddr = new DataWord(
"0000000000000000000000000000000000000000000000000000000000010005");
private static final DataWord proposalCreateAddr = new DataWord(
"0000000000000000000000000000000000000000000000000000000000010006");
private static final DataWord proposalDeleteAddr = new DataWord(
"0000000000000000000000000000000000000000000000000000000000010007");
private static final DataWord convertFromTronBytesAddressAddr = new DataWord(
"0000000000000000000000000000000000000000000000000000000000010008");
private static final DataWord convertFromTronBase58AddressAddr = new DataWord(
"0000000000000000000000000000000000000000000000000000000000010009");
// private static final DataWord withdrawBalanceAddr = new DataWord(
// "0000000000000000000000000000000000000000000000000000000000010004");
// private static final DataWord proposalApproveAddr = new DataWord(
// "0000000000000000000000000000000000000000000000000000000000010005");
// private static final DataWord proposalCreateAddr = new DataWord(
// "0000000000000000000000000000000000000000000000000000000000010006");
// private static final DataWord proposalDeleteAddr = new DataWord(
// "0000000000000000000000000000000000000000000000000000000000010007");
// private static final DataWord convertFromTronBytesAddressAddr = new DataWord(
// "0000000000000000000000000000000000000000000000000000000000010008");
// private static final DataWord convertFromTronBase58AddressAddr = new DataWord(
// "0000000000000000000000000000000000000000000000000000000000010009");
// private static final DataWord transferAssetAddr = new DataWord(
// "000000000000000000000000000000000000000000000000000000000001000a");
private static final DataWord getTransferAssetAmountAddr = new DataWord(
"000000000000000000000000000000000000000000000000000000000001000b");
// private static final DataWord getTransferAssetAmountAddr = new DataWord(
// "000000000000000000000000000000000000000000000000000000000001000b");

public static PrecompiledContract getContractForAddress(DataWord address) {

Expand All @@ -161,39 +161,39 @@ public static PrecompiledContract getContractForAddress(DataWord address) {
if (address.equals(identityAddr)) {
return identity;
}
if (address.equals(voteContractAddr)) {
return voteContract;
}
// if (address.equals(voteContractAddr)) {
// return voteContract;
// }
// if (address.equals(freezeBalanceAddr)) {
// return freezeBalance;
// }
// if (address.equals(unFreezeBalanceAddr)) {
// return unFreezeBalance;
// }
if (address.equals(withdrawBalanceAddr)) {
return withdrawBalance;
}
if (address.equals(proposalApproveAddr)) {
return proposalApprove;
}
if (address.equals(proposalCreateAddr)) {
return proposalCreate;
}
if (address.equals(proposalDeleteAddr)) {
return proposalDelete;
}
if (address.equals(convertFromTronBytesAddressAddr)) {
return convertFromTronBytesAddress;
}
if (address.equals(convertFromTronBase58AddressAddr)) {
return convertFromTronBase58Address;
}
// if (address.equals(withdrawBalanceAddr)) {
// return withdrawBalance;
// }
// if (address.equals(proposalApproveAddr)) {
// return proposalApprove;
// }
// if (address.equals(proposalCreateAddr)) {
// return proposalCreate;
// }
// if (address.equals(proposalDeleteAddr)) {
// return proposalDelete;
// }
// if (address.equals(convertFromTronBytesAddressAddr)) {
// return convertFromTronBytesAddress;
// }
// if (address.equals(convertFromTronBase58AddressAddr)) {
// return convertFromTronBase58Address;
// }
// if (address.equals(transferAssetAddr)) {
// return transferAsset;
// }
if (address.equals(getTransferAssetAmountAddr)) {
return getTransferAssetAmount;
}
// if (address.equals(getTransferAssetAmountAddr)) {
// return getTransferAssetAmount;
// }

// Byzantium precompiles
if (address.equals(modExpAddr)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@ public void assertTest()
//
// }

@Test
//@Test
public void systemPrecompileTest()
throws ContractExeException, ReceiptCheckErrException, TransactionTraceException, ContractValidateException {
long value = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ private PrecompiledContract createPrecompiledContract(DataWord addr, String owne
return contract;
}

@Test
//@Test
public void voteWitnessNativeTest()
throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException, ContractValidateException, ContractExeException {
PrecompiledContract contract = createPrecompiledContract(voteContractAddr, OWNER_ADDRESS);
Expand Down Expand Up @@ -196,7 +196,7 @@ public void voteWitnessNativeTest()
Assert.assertEquals(true, result);
}

@Test
//@Test
public void withdrawBalanceNativeTest() {
PrecompiledContract contract = createPrecompiledContract(withdrawBalanceAddr, WITNESS_ADDRESS);

Expand Down Expand Up @@ -227,7 +227,7 @@ public void withdrawBalanceNativeTest() {
}


@Test
//@Test
public void proposalTest() {

try {
Expand Down Expand Up @@ -298,12 +298,12 @@ public void proposalTest() {

@Test
public void convertFromTronBytesAddressNativeTest() {
PrecompiledContract contract = createPrecompiledContract(convertFromTronBytesAddressAddr, WITNESS_ADDRESS);
byte[] solidityAddress = contract.execute(new DataWord(WITNESS_ADDRESS).getData()).getRight();
Assert.assertArrayEquals(solidityAddress,new DataWord(Hex.decode(WITNESS_ADDRESS_BASE)).getData());
// PrecompiledContract contract = createPrecompiledContract(convertFromTronBytesAddressAddr, WITNESS_ADDRESS);
// byte[] solidityAddress = contract.execute(new DataWord(WITNESS_ADDRESS).getData()).getRight();
// Assert.assertArrayEquals(solidityAddress,new DataWord(Hex.decode(WITNESS_ADDRESS_BASE)).getData());
}

@Test
//@Test
public void convertFromTronBase58AddressNative() {
// 27WnTihwXsqCqpiNedWvtKCZHsLjDt4Hfmf TestNet address
DataWord word1 = new DataWord("3237576e54696877587371437170694e65645776744b435a48734c6a44743448");
Expand Down