Skip to content

Commit b29a42c

Browse files
dev1644adamdossa
authored andcommitted
483 484 fix (#488)
* Removed the Redundant functions from eternal storage contract as mentioned in Issue#483, Converted Internal functions to public ones as mentioned in #484 & there was a function named getArrayString, I have removed that function because it was returning Array of String, which is not possible as it isn't supported by Current ABIENCODER. * Removed the Redundant functions from eternal storage contract as mentioned in Issue#483, Converted Internal functions to public ones as mentioned in #484 & there was a function named getArrayString, I have removed that function because it was returning Array of String, which is not possible as it isn't supported by Current ABIENCODER.
1 parent 5b892a2 commit b29a42c

File tree

7 files changed

+115
-145
lines changed

7 files changed

+115
-145
lines changed

contracts/ModuleRegistry.sol

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ contract ModuleRegistry is IModuleRegistry, EternalStorage {
105105
}
106106

107107
function initialize(address _polymathRegistry, address _owner) external payable {
108-
require(!getBool(Encoder.getKey("initialised")),"already initialized");
108+
require(!getBoolValue(Encoder.getKey("initialised")),"already initialized");
109109
require(_owner != address(0) && _polymathRegistry != address(0), "0x address is invalid");
110110
set(Encoder.getKey("polymathRegistry"), _polymathRegistry);
111111
set(Encoder.getKey("owner"), _owner);
@@ -122,11 +122,11 @@ contract ModuleRegistry is IModuleRegistry, EternalStorage {
122122
*/
123123
function useModule(address _moduleFactory) external {
124124
// This if statement is required to be able to add modules from the token proxy contract during deployment
125-
if (ISecurityTokenRegistry(getAddress(Encoder.getKey("securityTokenRegistry"))).isSecurityToken(msg.sender)) {
126-
if (IFeatureRegistry(getAddress(Encoder.getKey("featureRegistry"))).getFeatureStatus("customModulesAllowed")) {
127-
require(getBool(Encoder.getKey("verified", _moduleFactory)) || IOwnable(_moduleFactory).owner() == IOwnable(msg.sender).owner(),"ModuleFactory must be verified or SecurityToken owner must be ModuleFactory owner");
125+
if (ISecurityTokenRegistry(getAddressValue(Encoder.getKey("securityTokenRegistry"))).isSecurityToken(msg.sender)) {
126+
if (IFeatureRegistry(getAddressValue(Encoder.getKey("featureRegistry"))).getFeatureStatus("customModulesAllowed")) {
127+
require(getBoolValue(Encoder.getKey("verified", _moduleFactory)) || IOwnable(_moduleFactory).owner() == IOwnable(msg.sender).owner(),"ModuleFactory must be verified or SecurityToken owner must be ModuleFactory owner");
128128
} else {
129-
require(getBool(Encoder.getKey("verified", _moduleFactory)), "ModuleFactory must be verified");
129+
require(getBoolValue(Encoder.getKey("verified", _moduleFactory)), "ModuleFactory must be verified");
130130
}
131131
require(_isCompatibleModule(_moduleFactory, msg.sender), "Version should within the compatible range of ST");
132132
pushArray(Encoder.getKey("reputation", _moduleFactory), msg.sender);
@@ -148,12 +148,12 @@ contract ModuleRegistry is IModuleRegistry, EternalStorage {
148148
* @param _moduleFactory is the address of the module factory to be registered
149149
*/
150150
function registerModule(address _moduleFactory) external whenNotPausedOrOwner {
151-
if (IFeatureRegistry(getAddress(Encoder.getKey("featureRegistry"))).getFeatureStatus("customModulesAllowed")) {
151+
if (IFeatureRegistry(getAddressValue(Encoder.getKey("featureRegistry"))).getFeatureStatus("customModulesAllowed")) {
152152
require(msg.sender == IOwnable(_moduleFactory).owner() || msg.sender == owner(),"msg.sender must be the Module Factory owner or registry curator");
153153
} else {
154154
require(msg.sender == owner(), "Only owner allowed to register modules");
155155
}
156-
require(getUint(Encoder.getKey("registry", _moduleFactory)) == 0, "Module factory should not be pre-registered");
156+
require(getUintValue(Encoder.getKey("registry", _moduleFactory)) == 0, "Module factory should not be pre-registered");
157157
IModuleFactory moduleFactory = IModuleFactory(_moduleFactory);
158158
//Enforce type uniqueness
159159
uint256 i;
@@ -181,14 +181,14 @@ contract ModuleRegistry is IModuleRegistry, EternalStorage {
181181
* @param _moduleFactory is the address of the module factory to be deleted from the registry
182182
*/
183183
function removeModule(address _moduleFactory) external whenNotPausedOrOwner {
184-
uint256 moduleType = getUint(Encoder.getKey("registry", _moduleFactory));
184+
uint256 moduleType = getUintValue(Encoder.getKey("registry", _moduleFactory));
185185

186186
require(moduleType != 0, "Module factory should be registered");
187187
require(
188188
msg.sender == IOwnable(_moduleFactory).owner() || msg.sender == owner(),
189189
"msg.sender must be the Module Factory owner or registry curator"
190190
);
191-
uint256 index = getUint(Encoder.getKey("moduleListIndex", _moduleFactory));
191+
uint256 index = getUintValue(Encoder.getKey("moduleListIndex", _moduleFactory));
192192
uint256 last = getArrayAddress(Encoder.getKey("moduleList", moduleType)).length - 1;
193193
address temp = getArrayAddress(Encoder.getKey("moduleList", moduleType))[last];
194194

@@ -220,7 +220,7 @@ contract ModuleRegistry is IModuleRegistry, EternalStorage {
220220
* @return bool
221221
*/
222222
function verifyModule(address _moduleFactory, bool _verified) external onlyOwner {
223-
require(getUint(Encoder.getKey("registry", _moduleFactory)) != uint256(0), "Module factory must be registered");
223+
require(getUintValue(Encoder.getKey("registry", _moduleFactory)) != uint256(0), "Module factory must be registered");
224224
set(Encoder.getKey("verified", _moduleFactory), _verified);
225225
emit ModuleVerified(_moduleFactory, _verified);
226226
}
@@ -303,15 +303,15 @@ contract ModuleRegistry is IModuleRegistry, EternalStorage {
303303
function getModulesByTypeAndToken(uint8 _moduleType, address _securityToken) public view returns (address[]) {
304304
uint256 _len = getArrayAddress(Encoder.getKey("moduleList", uint256(_moduleType))).length;
305305
address[] memory _addressList = getArrayAddress(Encoder.getKey("moduleList", uint256(_moduleType)));
306-
bool _isCustomModuleAllowed = IFeatureRegistry(getAddress(Encoder.getKey("featureRegistry"))).getFeatureStatus("customModulesAllowed");
306+
bool _isCustomModuleAllowed = IFeatureRegistry(getAddressValue(Encoder.getKey("featureRegistry"))).getFeatureStatus("customModulesAllowed");
307307
uint256 counter = 0;
308308
for (uint256 i = 0; i < _len; i++) {
309309
if (_isCustomModuleAllowed) {
310-
if (IOwnable(_addressList[i]).owner() == IOwnable(_securityToken).owner() || getBool(Encoder.getKey("verified", _addressList[i])))
310+
if (IOwnable(_addressList[i]).owner() == IOwnable(_securityToken).owner() || getBoolValue(Encoder.getKey("verified", _addressList[i])))
311311
if(_isCompatibleModule(_addressList[i], _securityToken))
312312
counter++;
313313
}
314-
else if (getBool(Encoder.getKey("verified", _addressList[i]))) {
314+
else if (getBoolValue(Encoder.getKey("verified", _addressList[i]))) {
315315
if(_isCompatibleModule(_addressList[i], _securityToken))
316316
counter++;
317317
}
@@ -320,14 +320,14 @@ contract ModuleRegistry is IModuleRegistry, EternalStorage {
320320
counter = 0;
321321
for (uint256 j = 0; j < _len; j++) {
322322
if (_isCustomModuleAllowed) {
323-
if (IOwnable(_addressList[j]).owner() == IOwnable(_securityToken).owner() || getBool(Encoder.getKey("verified", _addressList[j]))) {
323+
if (IOwnable(_addressList[j]).owner() == IOwnable(_securityToken).owner() || getBoolValue(Encoder.getKey("verified", _addressList[j]))) {
324324
if(_isCompatibleModule(_addressList[j], _securityToken)) {
325325
_tempArray[counter] = _addressList[j];
326326
counter ++;
327327
}
328328
}
329329
}
330-
else if (getBool(Encoder.getKey("verified", _addressList[j]))) {
330+
else if (getBoolValue(Encoder.getKey("verified", _addressList[j]))) {
331331
if(_isCompatibleModule(_addressList[j], _securityToken)) {
332332
_tempArray[counter] = _addressList[j];
333333
counter ++;
@@ -370,7 +370,7 @@ contract ModuleRegistry is IModuleRegistry, EternalStorage {
370370
* @notice Stores the contract addresses of other key contracts from the PolymathRegistry
371371
*/
372372
function updateFromRegistry() external onlyOwner {
373-
address _polymathRegistry = getAddress(Encoder.getKey("polymathRegistry"));
373+
address _polymathRegistry = getAddressValue(Encoder.getKey("polymathRegistry"));
374374
set(Encoder.getKey("securityTokenRegistry"), IPolymathRegistry(_polymathRegistry).getAddress("SecurityTokenRegistry"));
375375
set(Encoder.getKey("featureRegistry"), IPolymathRegistry(_polymathRegistry).getAddress("FeatureRegistry"));
376376
set(Encoder.getKey("polyToken"), IPolymathRegistry(_polymathRegistry).getAddress("PolyToken"));
@@ -391,14 +391,14 @@ contract ModuleRegistry is IModuleRegistry, EternalStorage {
391391
* @return address owner
392392
*/
393393
function owner() public view returns(address) {
394-
return getAddress(Encoder.getKey("owner"));
394+
return getAddressValue(Encoder.getKey("owner"));
395395
}
396396

397397
/**
398398
* @notice Checks whether the contract operations is paused or not
399399
* @return bool
400400
*/
401401
function isPaused() public view returns(bool) {
402-
return getBool(Encoder.getKey("paused"));
402+
return getBoolValue(Encoder.getKey("paused"));
403403
}
404404
}

0 commit comments

Comments
 (0)