Skip to content

Commit

Permalink
StateHolder Fix
Browse files Browse the repository at this point in the history
  • Loading branch information
vasapower committed May 9, 2020
1 parent 5c75749 commit 37138ab
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 22 deletions.
4 changes: 2 additions & 2 deletions IStateHolder.sol
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ interface IStateHolder {

function getProxy() external view returns (address);
function setProxy() external;
function getState(uint256 i) external view returns (string memory name, string memory dataType, bytes memory value);
function getInfo(string calldata varName) external view returns (string memory dataType, bytes memory value, uint256 position);
function toJSON() external view returns(string memory);
function toJSON(uint256 start, uint256 l) external view returns(string memory);
function getStateSize() external view returns (uint256);
function exists(string calldata varName) external view returns(bool);
function getDataType(string calldata varName) external view returns(string memory dataType);
Expand Down
2 changes: 1 addition & 1 deletion MVDFunctionalitiesManager.sol
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ contract MVDFunctionalitiesManager is IMVDFunctionalitiesManager, CommonUtilitie
uint256 getMinimumBlockNumberSourceLocationId, address getMinimumBlockNumberFunctionalityAddress,
uint256 getEmergencyMinimumBlockNumberSourceLocationId, address getEmergencyMinimumBlockNumberFunctionalityAddress,
uint256 getEmergencySurveyStakingSourceLocationId, address getEmergencySurveyStakingFunctionalityAddress,
uint256 checkVoteResultSourceLocationId, address checkVoteResultFunctionalityAddress) public override {
uint256 checkVoteResultSourceLocationId, address checkVoteResultFunctionalityAddress) public {
if(getMinimumBlockNumberFunctionalityAddress == address(0)) {
return;
}
Expand Down
2 changes: 1 addition & 1 deletion MVDFunctionalityModelsManager.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ contract MVDFunctionalityModelsManager is IMVDFunctionalityModelsManager {

mapping(string => Functionality) private _wellKnownFunctionalityModels;

constructor() public override {
constructor() public {
init();
}

Expand Down
2 changes: 1 addition & 1 deletion MVDFunctionalityProposal.sol
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ contract MVDFunctionalityProposal is IMVDFunctionalityProposal, CommonUtilities
uint256 private _totalRefuse;

constructor(string memory codeName, address location, string memory methodSignature, string memory returnAbiParametersArray,
string memory replaces, address proxy) public override {
string memory replaces, address proxy) public {
init(codeName, location, methodSignature, returnAbiParametersArray, replaces, proxy);
}

Expand Down
2 changes: 1 addition & 1 deletion MVDProxy.sol
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ contract MVDProxy is IMVDProxy {

address[] private _delegates;

constructor(address votingTokenAddress, address stateHolderAddress, address functionalityModelsManagerAddress, address functionalityProposalManagerAddress, address functionalitiesManagerAddress) public override {
constructor(address votingTokenAddress, address stateHolderAddress, address functionalityModelsManagerAddress, address functionalityProposalManagerAddress, address functionalitiesManagerAddress) public {
if(votingTokenAddress == address(0)) {
return;
}
Expand Down
26 changes: 11 additions & 15 deletions StateHolder.sol
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ contract StateHolder is IStateHolder, CommonUtilities {
address private _proxy;
uint256 private _stateSize;

constructor() public override {
constructor() public {
init();
}

Expand All @@ -36,23 +36,19 @@ contract StateHolder is IStateHolder, CommonUtilities {
_state.push(Var("", DataType.BYTES, "", 0, false));
}

function getState(uint256 i) public override view returns (string memory, string memory, bytes memory) {
uint256 position = 0;
for(uint256 z = 1; z < _state.length; z++) {
Var memory v = _state[z];
if(v.active && position++ == i) {
return (v.name, toString(v.dataType), v.value);
}
}
function toJSON() public override view returns(string memory) {
return toJSON(0, _state.length - 1);
}

function getInfo(string memory varName) public override view returns (string memory dataType, bytes memory value, uint256 position) {
Var memory v = _state[_index[varName]];
if(v.active) {
dataType = toString(v.dataType);
value = v.value;
position = v.position - 1;
function toJSON(uint256 start, uint256 l) public override view returns(string memory json) {
uint256 length = start + 1 + l;
json = "[";
for(uint256 i = start; i < length; i++) {
json = !_state[i].active ? json : string(abi.encodePacked(json, '{"name":"', _state[i].name, '","type":"', toString(_state[i].dataType), '"}', i == length - (_state[i].active ? 1 : 0) ? "" : ","));
length += _state[i].active ? 0 : 1;
length = length > _state.length ? _state.length : length;
}
json = string(abi.encodePacked(json, ']'));
}

function getStateSize() public override view returns (uint256) {
Expand Down
2 changes: 1 addition & 1 deletion VotingToken.sol
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ contract VotingToken is IERC20, IVotingToken {
string private _name;
string private _symbol;

constructor(string memory name, string memory symbol, uint256 decimals, uint256 totalSupply) public override {
constructor(string memory name, string memory symbol, uint256 decimals, uint256 totalSupply) public {
if(totalSupply == 0) {
return;
}
Expand Down

0 comments on commit 37138ab

Please sign in to comment.