Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new smart contract,
TransportBenefit, to provide a monthly school transport benefit to eligible users, and updates the identity registry and related tooling to support this feature. It also adds comprehensive tests and deployment scripts for the new contract.Main changes:
New Feature: School Transport Benefit
Added the
TransportBenefit.solcontract, enabling eligible users to claim a fixed amount of CLPc tokens once per monthly period. Eligibility is checked via the shared identity registry, and claims are tracked per wallet and period to prevent double claims. The contract supports pausing, admin transfer, and meta-transaction forwarding. (src/TransportBenefit.sol,README.md) [1] [2] [3]Added a deployment script
DeployTransport.s.solto automate deployment of theTransportBenefitcontract with environment-configurable parameters. (script/DeployTransport.s.sol)Identity Registry Enhancements
MockIdentityRegistrywith a newschoolTransportfield and related methods to track and update school transport eligibility. Updated events, setters, and internal logic accordingly. (src/mocks/MockIdentityRegistry.sol) [1] [2] [3]Testing
Added a new test suite
TransportBenefit.t.solcovering eligibility, periodic claims, pausing, meta-transaction forwarding, and security checks for theTransportBenefitcontract. (test/TransportBenefit.t.sol)Extended
MockIdentityRegistry.t.soltests to verify updating and reading the newschoolTransportfield. (test/MockIdentityRegistry.t.sol)