You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

52 lines
2.0 KiB

<?php
namespace App\Enum;
enum KindsEnum: int
{
case METADATA = 0; // metadata, NIP-01
case DELETION_REQUEST = 5; // NIP-09
case TEXT_NOTE = 1; // text note, NIP-01
case REACTION = 7; // NIP-25, NIP-30 emoji in content
case FOLLOWS = 3;
case REPOST = 6; // Only wraps kind 1, NIP-18, will not implement
case GENERIC_REPOST = 16; // Generic repost, original kind signalled in a "k" tag, NIP-18
case FILE_METADATA = 1063; // NIP-94
case COMMENTS = 1111;
case HTTP_AUTH = 27235; // NIP-98, HTTP Auth
case CURATION_SET = 30004; // NIP-51
case LONGFORM = 30023; // NIP-23
case LONGFORM_DRAFT = 30024; // NIP-23
case WIKI = 30817; // NIP-54 wiki pages
case PUBLICATION_INDEX = 30040;
/**
* All kinds stored as long-form articles in the `article` table: 30023, 30024, 30817.
*
* @return list<self>
*/
public static function longformKinds(): array
{
return [self::LONGFORM, self::LONGFORM_DRAFT, self::WIKI];
}
/**
* @return list<int>
*/
public static function longformKindValues(): array
{
return [self::LONGFORM->value, self::LONGFORM_DRAFT->value, self::WIKI->value];
}
case ZAP_REQUEST = 9734; // NIP-57, Zap request
case ZAP = 9735; // NIP-57, Zap receipt (Lightning)
case MONERO_ZAP_RECEIPT = 9736; // Monero zap receipt (Garnet/Nosmero, analogous to 9735)
case PAYMENT_NOTIFICATION = 9740; // NIP-A3, payment notification (superchat sender)
case PAYMENT_ATTESTATION = 9741; // NIP-A3, payment attestation (superchat recipient confirms)
case MONERO_TIP = 1814; // Garnet Monero tip (self-attesting, proof embedded in content JSON)
case HIGHLIGHTS = 9802;
case RELAY_LIST = 10002; // NIP-65, Relay list metadata
case EMOJI_LIST = 10030; // NIP-51 standard list, NIP-30 emoji tags
case PAYMENT_TARGETS = 10133; // NIP-A3, payto: payment targets (replaceable)
case APP_DATA = 30078; // NIP-78, Arbitrary custom app data
case USER_STATUS = 30315; // NIP-38, NIP-30 emoji in content
}