---
# System prepended metadata

title: Sourcify file validation and verification workflow

---

# Sourcify file validation and verification workflow

There are multiple ways we can provide files to sourcify for verification:
    1)Paths to files
    2)Path to project root (can also be zipped project)

Supported formats:
    1)Truffle format (whole project) - zip or normal
    2)Only source files (sol and metadata)
    3)Builder?
    
Flow:
1) If files are received through server extract them in temp folder and send paths to files to FileService
2) Validate files and return missing ones
3) Verify files on verification service 


In the end we will have 2 npm modules/services.
1) File validation service
2) Verification 

Names of the service need to be updated.

Sourcify uses this dependencies, but they are maintained seperately so we can reuse code. Also this services can be used standalone. Basically we are breaking monolith we have currently into multiple services.