---
# System prepended metadata

title: Final Examination Proposal - Igor Stojanov

---

# Final Examination Proposal - Igor Stojanov

## Summary

Every system without external entropy eventually leads to centrilization. 

**Grant pallet** is able to grant entropy to the system by randomly assigning tokens to requesting accounts. 

### Implementation
Implement a pallet that randomly assigns token reward to participants. 
For the duration of each block, Accounts (AccountID's) can request to be granted tokens. 
In the proceeding block (after onInitilize), Treasury automatically selects a winner and transfers tokens to winner.

### Pallet Requirements
- The pallet grants pre-specified treasury ammount.
- Only accounts with empty balance are granted tokens.
- Grants are assigned randomly to requesting account.
- There should be a correlation between existing centrilization and existing entropy (random reward) in the system such that the system never leads to complete centrilizaiton.


### Deliverables
- **Grant** Pallet source (src)
- **Grant** Pallet Mock (mocked runtime)
- **Grant** Pallet tests (unit tests)
- **Grant** Benchmarks (benchmark extrinsics)
- **Grant** Weights (autogegenerated extrinsic weights)
- Run pallet within existing Runtime.