From 99a047f55dde7a9c051250792a466b7db47cff21 Mon Sep 17 00:00:00 2001 From: Shreyanshi210205 Date: Sat, 30 Mar 2024 14:34:35 +0530 Subject: [PATCH 1/6] feat: added the modifier in addPerson function --- contract/Database.sol | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/contract/Database.sol b/contract/Database.sol index 99899cb..962c90d 100644 --- a/contract/Database.sol +++ b/contract/Database.sol @@ -7,23 +7,30 @@ contract Database{ string name; string DOB; string phoneNo; - - } + +} mapping( uint256=> Details) public list; - + mapping (string => bool) public added; uint256 public count=0; constructor() { } - - function addPerson(string calldata aadharId,string calldata name, string calldata DOB, string calldata phoneNo) public + modifier Added (string memory aadhar) + { + require(!added[aadhar],"Details already added"); + _; + } + + function addPerson(string calldata aadharId,string calldata name, string calldata DOB, string calldata phoneNo ) public Added (aadharId) { Details memory person = Details({aadharId: aadharId,name: name,DOB: DOB,phoneNo: phoneNo}); list[count]=person; + added[aadharId]=true; count++; } + From 9e90b806b7ef67dfa4a9dc0495f9802aad9c92d7 Mon Sep 17 00:00:00 2001 From: xTwo56 <153709773+xTwo56@users.noreply.github.com> Date: Sat, 30 Mar 2024 15:50:43 +0530 Subject: [PATCH 2/6] fix: changed storage location of details in addperson --- contract/Database.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contract/Database.sol b/contract/Database.sol index cffe428..860b533 100644 --- a/contract/Database.sol +++ b/contract/Database.sol @@ -23,7 +23,7 @@ contract Database{ function addPerson(string calldata aadharId,string calldata name, string calldata DOB, string calldata phoneNo, uint rollNo, uint batchNo) public { - Details memory person = Details({aadharId: aadharId,name: name,DOB: DOB,phoneNo: phoneNo, rollNo: rollNo, batchNo: batchNo}); + Details storage person = Details({aadharId: aadharId,name: name,DOB: DOB,phoneNo: phoneNo, rollNo: rollNo, batchNo: batchNo}); list[count]=person; count++; } From bf06d89ece4df3349736b776a2b2a060d371250e Mon Sep 17 00:00:00 2001 From: xTwo56 <153709773+xTwo56@users.noreply.github.com> Date: Sat, 30 Mar 2024 17:13:22 +0530 Subject: [PATCH 3/6] fix: personPresent modifier --- contract/Database.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contract/Database.sol b/contract/Database.sol index 83b224b..06ecc72 100644 --- a/contract/Database.sol +++ b/contract/Database.sol @@ -22,7 +22,7 @@ contract Database{ } modifier personPresent{ - require(list[msg.sender].rollNo==0, "User doesn't exist"); + require(list[msg.sender].rollNo!=0, "User doesn't exist"); _; } From 80390848c44f2d91f2036539e063ab3d8459bca0 Mon Sep 17 00:00:00 2001 From: xTwo56 <153709773+xTwo56@users.noreply.github.com> Date: Sat, 30 Mar 2024 20:09:18 +0530 Subject: [PATCH 4/6] feat: changed rollno, batchno to string --- contract/Database.sol | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/contract/Database.sol b/contract/Database.sol index 860b533..ba7c246 100644 --- a/contract/Database.sol +++ b/contract/Database.sol @@ -8,8 +8,8 @@ contract Database{ string name; string DOB; string phoneNo; - uint rollNo; - uint batchNo; + string rollNo; + string batchNo; } @@ -21,9 +21,9 @@ contract Database{ } - function addPerson(string calldata aadharId,string calldata name, string calldata DOB, string calldata phoneNo, uint rollNo, uint batchNo) public + function addPerson(string memory aadharId,string memory name, string memory DOB, string memory phoneNo, string memory rollNo, string memory batchNo) public { - Details storage person = Details({aadharId: aadharId,name: name,DOB: DOB,phoneNo: phoneNo, rollNo: rollNo, batchNo: batchNo}); + Details memory person = Details({aadharId: aadharId,name: name,DOB: DOB,phoneNo: phoneNo, rollNo: rollNo, batchNo: batchNo}); list[count]=person; count++; } From 55eb0a9c9f9038111eca7a1ebc292c99a5ce4aba Mon Sep 17 00:00:00 2001 From: xTwo56 <153709773+xTwo56@users.noreply.github.com> Date: Sat, 30 Mar 2024 20:13:14 +0530 Subject: [PATCH 5/6] fix: personpresent modifier roll no and batch no were changed to uint, modified personPresent accordingly --- contract/Database.sol | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/contract/Database.sol b/contract/Database.sol index 06ecc72..85bda62 100644 --- a/contract/Database.sol +++ b/contract/Database.sol @@ -8,8 +8,8 @@ contract Database{ string name; string DOB; string phoneNo; - uint rollNo; - uint batchNo; + string rollNo; + string batchNo; } @@ -22,18 +22,18 @@ contract Database{ } modifier personPresent{ - require(list[msg.sender].rollNo!=0, "User doesn't exist"); + require(keccak256(abi.encodePacked(list[msg.sender].aadharId)) != keccak256(abi.encodePacked("")), "Person doesn't exist"); _; } - function addPerson(string calldata aadharId,string calldata name, string calldata DOB, string calldata phoneNo, uint rollNo, uint batchNo) public + function addPerson(string memory aadharId,string memory name, string memory DOB, string memory phoneNo, string memory rollNo, string memory batchNo) public { - Details storage person = Details({aadharId: aadharId,name: name,DOB: DOB,phoneNo: phoneNo, rollNo: rollNo, batchNo: batchNo}); + Details memory person = Details({aadharId: aadharId,name: name,DOB: DOB,phoneNo: phoneNo, rollNo: rollNo, batchNo: batchNo}); list[msg.sender]=person; count++; } - function updateDetails(string calldata aadharId,string calldata name, string calldata DOB, string calldata phoneNo, uint rollNo, uint batchNo)public personPresent{ + function updateDetails(string memory aadharId,string memory name, string memory DOB, string memory phoneNo, string memory rollNo, string memory batchNo)public personPresent{ Details storage person = list[msg.sender]; person.aadharId = aadharId; person.name = name; From e61ced2a11c1d68d9527a5fe7622f75ced0e4472 Mon Sep 17 00:00:00 2001 From: Shreyanshi210205 Date: Mon, 1 Apr 2024 00:02:30 +0530 Subject: [PATCH 6/6] feat: added set_admin function --- contract/Database.sol | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/contract/Database.sol b/contract/Database.sol index 962c90d..5151ea1 100644 --- a/contract/Database.sol +++ b/contract/Database.sol @@ -13,6 +13,8 @@ contract Database{ mapping( uint256=> Details) public list; mapping (string => bool) public added; uint256 public count=0; + address public admin; + bool alreadyset=false; constructor() { @@ -22,6 +24,26 @@ contract Database{ require(!added[aadhar],"Details already added"); _; } + modifier onlyOnce() + { + require(!alreadyset,"Admin is already set"); + _; + } + modifier onlyAdmin() + { + require(msg.sender==admin,"Only admin can call this function"); + _; + } + function set_Admin( address _admin) public onlyOnce() + { + admin=_admin; + alreadyset=true; + } + function changeAdmin(address newadmin) public onlyAdmin() + { + admin=newadmin; + + } function addPerson(string calldata aadharId,string calldata name, string calldata DOB, string calldata phoneNo ) public Added (aadharId) {