Issue: Implement Merkle Tree for Whitelisting KYCed Users
Problem Statement
Currently, our system requires sending individual blockchain transactions to whitelist each KYCed user, which is inefficient and costly. We want to optimize this by using a Merkle Tree for whitelisting, allowing us to whitelist multiple users with a single blockchain transaction.
Goal
Integrate Merkle Tree functionality into our whitelisting process to reduce the number of transactions and improve efficiency.
References
1. Example Implementation
Refer to this article on using Merkle Trees for NFT whitelists:
Using Merkle Trees for NFT Whitelists.
2. Relevant Code
• Current Modular Smart Contract
Our modular smart contract for user whitelisting:
GeneralTransferManager.sol
• Fetching KYCed User Details
The method for retrieving KYCed user details is defined here:
GeneralTransferManager.sol#L588.
• Custom Smart Contract
The custom contract where KYC user data is stored and referenced during the whitelisting process:
EstateProtocolWhitelistSTO.sol#L41.
Task Requirements
1. Implement Merkle Tree-based whitelisting in the EstateProtocolWhitelistSTO.sol contract.
2. Ensure compatibility with the current KYC retrieval method in GeneralTransferManager.sol.
3. Modify the whitelisting process to handle a single transaction for multiple users using a Merkle Tree root.
Expected Outcome
A more efficient whitelisting process with fewer blockchain transactions, leveraging the Merkle Tree structure.
Issue: Implement Merkle Tree for Whitelisting KYCed Users
Problem Statement
Currently, our system requires sending individual blockchain transactions to whitelist each KYCed user, which is inefficient and costly. We want to optimize this by using a Merkle Tree for whitelisting, allowing us to whitelist multiple users with a single blockchain transaction.
Goal
Integrate Merkle Tree functionality into our whitelisting process to reduce the number of transactions and improve efficiency.
References
1. Example Implementation
Refer to this article on using Merkle Trees for NFT whitelists:
Using Merkle Trees for NFT Whitelists.
2. Relevant Code
• Current Modular Smart Contract
Our modular smart contract for user whitelisting:
GeneralTransferManager.sol
• Fetching KYCed User Details
The method for retrieving KYCed user details is defined here:
GeneralTransferManager.sol#L588.
• Custom Smart Contract
The custom contract where KYC user data is stored and referenced during the whitelisting process:
EstateProtocolWhitelistSTO.sol#L41.
Task Requirements
1. Implement Merkle Tree-based whitelisting in the EstateProtocolWhitelistSTO.sol contract.
2. Ensure compatibility with the current KYC retrieval method in GeneralTransferManager.sol.
3. Modify the whitelisting process to handle a single transaction for multiple users using a Merkle Tree root.
Expected Outcome
A more efficient whitelisting process with fewer blockchain transactions, leveraging the Merkle Tree structure.