Skip to content
Open
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
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.google.protobuf.Any;
import com.google.protobuf.GeneratedMessageV3;
import lombok.Getter;
import org.tron.common.math.Maths;
import org.tron.common.utils.Commons;
import org.tron.common.utils.ForkController;
Expand All @@ -16,48 +17,36 @@

public abstract class AbstractActuator implements Actuator {

@Getter
protected Any any;
@Getter
protected ChainBaseManager chainBaseManager;
@Getter
protected Contract contract;
@Getter
protected TransactionCapsule tx;
protected ForkController forkController;

public AbstractActuator(ContractType type, Class<? extends GeneratedMessageV3> clazz) {
TransactionFactory.register(type, getClass(), clazz);
}

public Any getAny() {
return any;
}

public AbstractActuator setAny(Any any) {
this.any = any;
return this;
}

public ChainBaseManager getChainBaseManager() {
return chainBaseManager;
}

public AbstractActuator setChainBaseManager(ChainBaseManager chainBaseManager) {
this.chainBaseManager = chainBaseManager;
return this;
}

public Contract getContract() {
return contract;
}

public AbstractActuator setContract(Contract contract) {
this.contract = contract;
this.any = contract.getParameter();
return this;
}

public TransactionCapsule getTx() {
return tx;
}

public AbstractActuator setTx(TransactionCapsule tx) {
this.tx = tx;
return this;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,15 @@

import com.google.protobuf.GeneratedMessageV3;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.tron.common.parameter.CommonParameter;
import org.tron.protos.Protocol.Transaction.Contract.ContractType;
import org.tron.protos.contract.SmartContractOuterClass.CreateSmartContract;
import org.tron.protos.contract.SmartContractOuterClass.TriggerSmartContract;

public class TransactionFactory {

private static Map<ContractType, Class<? extends Actuator>> actuatorMap = new ConcurrentHashMap<>();
private static Map<ContractType, Class<? extends GeneratedMessageV3>> contractMap = new ConcurrentHashMap<>();
private static final Map<ContractType, Class<? extends Actuator>> actuatorMap = new ConcurrentHashMap<>();
private static final Map<ContractType, Class<? extends GeneratedMessageV3>> contractMap = new ConcurrentHashMap<>();

static {
register(ContractType.CreateSmartContract, null, CreateSmartContract.class);
Expand All @@ -21,12 +19,6 @@ public class TransactionFactory {

public static void register(ContractType type, Class<? extends Actuator> actuatorClass,
Class<? extends GeneratedMessageV3> clazz) {
Set<String> actuatorSet = CommonParameter.getInstance().getActuatorSet();
if (actuatorClass != null && !actuatorSet.isEmpty() && !actuatorSet
.contains(actuatorClass.getSimpleName())) {
return;
}

if (type != null && actuatorClass != null) {
actuatorMap.put(type, actuatorClass);
}
Expand All @@ -42,12 +34,4 @@ public static Class<? extends Actuator> getActuator(ContractType type) {
public static Class<? extends GeneratedMessageV3> getContract(ContractType type) {
return contractMap.get(type);
}

public static Map<ContractType, Class<? extends Actuator>> getActuatorMap() {
return actuatorMap;
}

public static Map<ContractType, Class<? extends GeneratedMessageV3>> getContractMap() {
return contractMap;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import lombok.Getter;
import lombok.Setter;
import org.tron.common.args.GenesisBlock;
Expand Down Expand Up @@ -367,9 +366,6 @@ public class CommonParameter {
public long changedDelegation;
@Getter
@Setter
public Set<String> actuatorSet;
@Getter
@Setter
public RateLimiterInitialization rateLimiterInitialization;
@Getter
@Setter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,14 @@
import com.typesafe.config.ConfigFactory;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.tron.core.Constant;

/**
* Miscellaneous small config domains that don't warrant their own bean class.
* Covers: storage (partial), trx, energy, crypto, seed, actuator.
* Covers: storage (partial), trx, energy, crypto, seed.
*
* <p>These use manual reads because they span multiple unrelated config.conf
* top-level sections and some have non-standard key naming (e.g. "enery" typo).
Expand All @@ -29,7 +27,6 @@ public class MiscConfig {
private long blockNumForEnergyLimit = 4727890L;
private String cryptoEngine = Constant.ECKey_ENGINE;
private List<String> seedNodeIpList = new ArrayList<>();
private Set<String> actuatorWhitelist = Collections.emptySet();

public static MiscConfig fromConfig(Config config) {
MiscConfig mc = new MiscConfig();
Expand Down Expand Up @@ -61,10 +58,6 @@ public static MiscConfig fromConfig(Config config) {
mc.seedNodeIpList = config.hasPath("seed.node.ip.list")
? config.getStringList("seed.node.ip.list") : new ArrayList<>();

// actuator
mc.actuatorWhitelist = config.hasPath("actuator.whitelist")
? new HashSet<>(config.getStringList("actuator.whitelist")) : Collections.emptySet();

return mc;
}
}
5 changes: 0 additions & 5 deletions common/src/main/resources/reference.conf
Original file line number Diff line number Diff line change
Expand Up @@ -166,11 +166,6 @@ crypto {
# Energy limit block number (config key has typo "enery" preserved for backward compatibility)
enery.limit.block.num = 4727890

# Actuator whitelist — empty means all actuators allowed
actuator {
whitelist = []
}

node.metrics = {
prometheus {
enable = false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ public void testDefaults() {
assertEquals("eckey", mc.getCryptoEngine());
// reference.conf has seed.node.ip.list with actual IPs
assertFalse(mc.getSeedNodeIpList().isEmpty());
assertTrue(mc.getActuatorWhitelist().isEmpty());
}

@Test
Expand All @@ -42,15 +41,12 @@ public void testFromConfig() {
+ " balance { history { lookup = true } } }\n"
+ "trx { reference { block = head } }\n"
+ "crypto { engine = sm2 }\n"
+ "seed.node { ip.list = [\"1.2.3.4:18888\"] }\n"
+ "actuator { whitelist = [\"CreateSmartContract\"] }");
+ "seed.node { ip.list = [\"1.2.3.4:18888\"] }");
MiscConfig mc = MiscConfig.fromConfig(config);
assertFalse(mc.isNeedToUpdateAsset());
assertTrue(mc.isHistoryBalanceLookup());
assertEquals("head", mc.getTrxReferenceBlock());
assertEquals("sm2", mc.getCryptoEngine());
assertEquals(1, mc.getSeedNodeIpList().size());
assertEquals(1, mc.getActuatorWhitelist().size());
assertTrue(mc.getActuatorWhitelist().contains("CreateSmartContract"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@

import java.util.List;
import java.util.Objects;
import java.util.Set;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.tron.common.parameter.CommonParameter;
import org.tron.core.actuator.Actuator;
import org.tron.core.actuator.Actuator2;
import org.tron.core.actuator.ActuatorCreator;
Expand Down Expand Up @@ -46,10 +44,6 @@ public void execute(TransactionContext context)
switch (contractType.getNumber()) {
case ContractType.TriggerSmartContract_VALUE:
case ContractType.CreateSmartContract_VALUE:
Set<String> actuatorSet = CommonParameter.getInstance().getActuatorSet();
if (!actuatorSet.isEmpty() && !actuatorSet.contains(VMActuator.class.getSimpleName())) {
throw new ContractValidateException("not exist contract " + "SmartContract");
}
actuator2 = new VMActuator(context.isStatic());
break;
default:
Expand Down
5 changes: 0 additions & 5 deletions framework/src/main/java/org/tron/core/config/args/Args.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -326,8 +325,6 @@ private static void applyMiscConfig(MiscConfig mc) {
PARAMETER.trxReferenceBlock = mc.getTrxReferenceBlock();
PARAMETER.trxExpirationTimeInMilliseconds = mc.getTrxExpirationTimeInMilliseconds();
PARAMETER.blockNumForEnergyLimit = mc.getBlockNumForEnergyLimit();
PARAMETER.actuatorSet = mc.getActuatorWhitelist();

// seed.node — top-level config section, not under "node"
// Config structure is arguably misplaced but preserved for backward compatibility
PARAMETER.seedNode = new SeedNode();
Expand Down Expand Up @@ -784,8 +781,6 @@ public static void applyConfigParams(
// Node backup: from NodeConfig bean
applyNodeBackupConfig(nodeConfig);

// actuatorSet already set in applyMiscConfig

// Metrics config: bind from config.conf "node.metrics" section
metricsConfig = MetricsConfig.fromConfig(config);
applyMetricsConfig(metricsConfig);
Expand Down
2 changes: 0 additions & 2 deletions framework/src/test/java/org/tron/common/ParameterTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -218,8 +218,6 @@ public void testCommonParameter() {
assertEquals(1, parameter.getShieldedTransInPendingMaxCounts());
parameter.setChangedDelegation(1);
assertEquals(1, parameter.getChangedDelegation());
parameter.setActuatorSet(new HashSet<>());
assertTrue(CollectionUtils.isEmpty(parameter.getActuatorSet()));
parameter.setRateLimiterInitialization(new RateLimiterInitialization());
assertNotNull(parameter.getRateLimiterInitialization());
parameter.setRateLimiterGlobalQps(1000);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import static org.mockito.Mockito.when;

import java.util.Collections;
import java.util.HashSet;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
Expand All @@ -33,7 +32,6 @@ public class TransactionRegisterTest {

@Before
public void init() {
Args.getInstance().setActuatorSet(new HashSet<>());
TransactionRegister.resetForTesting();
}

Expand Down
2 changes: 1 addition & 1 deletion plugins/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ def binaryRelease(taskName, jarName, mainClass) {
from(sourceSets.main.output) {
include "/**"
}
dependsOn (project(':protocol').jar, project(':platform').jar) // explicit_dependency
dependsOn (project(':protocol').jar, project(':platform').jar, project(':common').jar, project(':crypto').jar) // explicit_dependency
from {
configurations.runtimeClasspath.collect { // https://docs.gradle.org/current/userguide/upgrading_version_6.html#changes_6.3
it.isDirectory() ? it : zipTree(it)
Expand Down
Loading