Has a configuration item that says “which code should be used to deploy FPT” through the FPT Deployer

  1. Upgradeable
    1. Uses diamond storage pattern
  2. Populated through the FPT Deployer, records principal token contract and address
  3. Maintains principal-to-shadow mapping
  4. Owner of FPT contract is able to override mapping

Foolproof Token Wiki