@@ -187,6 +187,8 @@ pub enum TagKind {
187
187
Amount ,
188
188
/// Lnurl (NIP57)
189
189
Lnurl ,
190
+ /// Name tag
191
+ Name ,
190
192
/// Custom tag kind
191
193
Custom ( String ) ,
192
194
}
@@ -218,6 +220,7 @@ impl fmt::Display for TagKind {
218
220
Self :: Relays => write ! ( f, "relays" ) ,
219
221
Self :: Amount => write ! ( f, "amount" ) ,
220
222
Self :: Lnurl => write ! ( f, "lnurl" ) ,
223
+ Self :: Name => write ! ( f, "name" ) ,
221
224
Self :: Custom ( tag) => write ! ( f, "{tag}" ) ,
222
225
}
223
226
}
@@ -254,6 +257,7 @@ where
254
257
"relays" => Self :: Relays ,
255
258
"amount" => Self :: Amount ,
256
259
"lnurl" => Self :: Lnurl ,
260
+ "name" => Self :: Name ,
257
261
tag => Self :: Custom ( tag. to_string ( ) ) ,
258
262
}
259
263
}
@@ -300,14 +304,15 @@ pub enum Tag {
300
304
Subject ( String ) ,
301
305
Challenge ( String ) ,
302
306
Title ( String ) ,
303
- Image ( String ) ,
307
+ Image ( String , Option < ( u64 , u64 ) > ) ,
304
308
Summary ( String ) ,
305
309
Description ( String ) ,
306
310
Bolt11 ( String ) ,
307
311
Preimage ( String ) ,
308
312
Relays ( Vec < UncheckedUrl > ) ,
309
313
Amount ( u64 ) ,
310
314
Lnurl ( String ) ,
315
+ Name ( String ) ,
311
316
PublishedAt ( Timestamp ) ,
312
317
}
313
318
@@ -356,6 +361,7 @@ impl Tag {
356
361
Tag :: Preimage ( ..) => TagKind :: Preimage ,
357
362
Tag :: Relays ( ..) => TagKind :: Relays ,
358
363
Tag :: Amount ( ..) => TagKind :: Amount ,
364
+ Tag :: Name ( ..) => TagKind :: Name ,
359
365
Tag :: Lnurl ( ..) => TagKind :: Lnurl ,
360
366
}
361
367
}
@@ -413,6 +419,7 @@ where
413
419
TagKind :: Preimage => Ok ( Self :: Preimage ( content. to_string ( ) ) ) ,
414
420
TagKind :: Amount => Ok ( Self :: Amount ( content. parse ( ) ?) ) ,
415
421
TagKind :: Lnurl => Ok ( Self :: Lnurl ( content. to_string ( ) ) ) ,
422
+ TagKind :: Name => Ok ( Self :: Name ( content. to_string ( ) ) ) ,
416
423
_ => Ok ( Self :: Generic ( tag_kind, vec ! [ content. to_string( ) ] ) ) ,
417
424
}
418
425
} else if tag_len == 3 {
@@ -601,6 +608,9 @@ impl From<Tag> for Vec<String> {
601
608
Tag :: Amount ( amount) => {
602
609
vec ! [ TagKind :: Amount . to_string( ) , amount. to_string( ) ]
603
610
}
611
+ Tag :: Name ( name) => {
612
+ vec ! [ TagKind :: Name . to_string( ) , name]
613
+ }
604
614
Tag :: Lnurl ( lnurl) => {
605
615
vec ! [ TagKind :: Lnurl . to_string( ) , lnurl]
606
616
}
0 commit comments