/** * @param string $sig The signature (magic bytes) * @return TIModel * @throws \Exception */ public static function createFromSignature($sig = '') { if (TIModels::isValidSignature($sig)) { $instance = new self(); $instance->sig = $sig; $instance->orderID = TIModels::getDefaultOrderIDFromSignature($sig); $instance->flags = TIModels::getMinFlagsFromSignature($sig); $instance->name = TIModels::getDefaultNameFromSignature($sig); return $instance; } else { throw new \Exception("Invalid version signature"); } }