Refactor interfaces

This commit is contained in:
nolash 2020-12-29 16:11:32 +01:00
parent 2b207135d7
commit 0b76e366b5
Signed by: lash
GPG Key ID: 21D2E7BB88C2A746

View File

@ -4,52 +4,48 @@ pragma solidity >=0.6.12;
contract AddressDeclarator { contract AddressDeclarator {
struct declaratorItem { mapping( bytes32 => uint256[] )
address signer; //mapping( address => uint256[] ) declaratorItemsIndex;
bytes32[] content; //mapping( address => uint256 ) public declaratorCount;
} //mapping( address => mapping ( address => declaratorItem ) ) declarationByDeclaratorIndex;
bytes32[][] contents;
mapping( address => uint256[] ) declaratorItemsIndex;
mapping( address => uint256 ) public declaratorCount; // constructor(bytes32[] memory _descriptions) {
mapping( address => mapping ( address => declaratorItem ) ) declarationByDeclaratorIndex; // for (uint i; i < _descriptions.length; i++) {
declaratorItem[] declaratorItems; // addDeclaration(msg.sender, _descriptions[i]);
// }
constructor(bytes32[] memory _descriptions) { // }
for (uint i; i < _descriptions.length; i++) { //
addDeclaration(msg.sender, _descriptions[i]); // function addDeclaration(address _subject, bytes32 _proof) public returns ( bool ) {
} // declaratorItem storage item;
} //
// item = declarationByDeclaratorIndex[msg.sender][_subject];
function addDeclaration(address _subject, bytes32 _proof) public returns ( bool ) { // if (item.signer == address(0)) {
declaratorItem storage item; // item.signer = msg.sender;
// declaratorItemsIndex[_subject].push(declaratorItems.length);
item = declarationByDeclaratorIndex[msg.sender][_subject]; // declaratorItems.push(item);
if (item.signer == address(0)) { // declaratorCount[_subject]++;
item.signer = msg.sender; // }
declaratorItemsIndex[_subject].push(declaratorItems.length); // item.content.push(_proof);
declaratorItems.push(item); //
declaratorCount[_subject]++; // return true;
} // }
item.content.push(_proof); //
// function declarator(address _target, uint256 _idx) public view returns ( address ) {
return true; // uint256 idx;
} // declaratorItem storage item;
//
function declarator(address _target, uint256 _idx) public view returns ( address ) { // idx = declaratorItemsIndex[_target][_idx];
uint256 idx; // item = declaratorItems[idx];
declaratorItem storage item; //
// return item.signer;
idx = declaratorItemsIndex[_target][_idx]; // }
item = declaratorItems[idx]; //
// function declaration(address _declarator, address _target) public view returns ( bytes32[] memory ) {
return item.signer; // declaratorItem storage item;
} //
// item = declarationByDeclaratorIndex[_declarator][_target];
function declaration(address _declarator, address _target) public view returns ( bytes32[] memory ) { //
declaratorItem storage item; // return item.content;
// }
item = declarationByDeclaratorIndex[_declarator][_target];
return item.content;
}
} }