Skip to content

feat: Add school bus benefit#28

Merged
boris merged 13 commits intomainfrom
feat/add-transport-contract
Apr 12, 2026
Merged

feat: Add school bus benefit#28
boris merged 13 commits intomainfrom
feat/add-transport-contract

Conversation

@boris
Copy link
Copy Markdown
Collaborator

@boris boris commented Mar 25, 2026

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.sol contract, 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.sol to automate deployment of the TransportBenefit contract with environment-configurable parameters. (script/DeployTransport.s.sol)

Identity Registry Enhancements

  • Extended the MockIdentityRegistry with a new schoolTransport field 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.sol covering eligibility, periodic claims, pausing, meta-transaction forwarding, and security checks for the TransportBenefit contract. (test/TransportBenefit.t.sol)

  • Extended MockIdentityRegistry.t.sol tests to verify updating and reading the new schoolTransport field. (test/MockIdentityRegistry.t.sol)

@boris boris merged commit bcc67dd into main Apr 12, 2026
1 check passed
@boris boris deleted the feat/add-transport-contract branch April 12, 2026 03:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant