@@ -222,7 +222,8 @@ describe('qr-parser', () => {
222222 const contact = result as ParsedContact
223223 expect ( contact . name ) . toBe ( '张三' )
224224 expect ( contact . addresses ) . toHaveLength ( 1 )
225- expect ( contact . addresses [ 0 ] ?. chainType ) . toBe ( 'ethereum' )
225+ // 旧格式的 chainType 会被用作 label
226+ expect ( contact . addresses [ 0 ] ?. label ) . toBe ( 'ethereum' )
226227 expect ( contact . addresses [ 0 ] ?. address ) . toBe ( '0x742d35Cc6634C0532925a3b844Bc9e7595f12345' )
227228 } )
228229
@@ -231,9 +232,9 @@ describe('qr-parser', () => {
231232 type : 'contact' ,
232233 name : '李四' ,
233234 addresses : [
234- { chainType : 'ethereum ' , address : '0x742d35Cc6634C0532925a3b844Bc9e7595f12345' } ,
235- { chainType : 'bitcoin ' , address : 'bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq' } ,
236- { chainType : 'tron ' , address : 'TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW' } ,
235+ { label : 'ETH ' , address : '0x742d35Cc6634C0532925a3b844Bc9e7595f12345' } ,
236+ { label : 'BTC ' , address : 'bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq' } ,
237+ { label : 'TRX ' , address : 'TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW' } ,
237238 ] ,
238239 } )
239240 const result = parseQRContent ( content )
@@ -246,7 +247,7 @@ describe('qr-parser', () => {
246247 const content = JSON . stringify ( {
247248 type : 'contact' ,
248249 name : '王五' ,
249- addresses : [ { chainType : 'ethereum ' , address : '0x742d35Cc6634C0532925a3b844Bc9e7595f12345' } ] ,
250+ addresses : [ { label : 'ETH ' , address : '0x742d35Cc6634C0532925a3b844Bc9e7595f12345' } ] ,
250251 memo : '好友' ,
251252 avatar : '👨💼' ,
252253 } )
@@ -291,7 +292,7 @@ describe('qr-parser', () => {
291292 const contact = result as ParsedContact
292293 expect ( contact . name ) . toBe ( '张三' )
293294 expect ( contact . addresses ) . toHaveLength ( 1 )
294- expect ( contact . addresses [ 0 ] ?. chainType ) . toBe ( 'ethereum ' )
295+ expect ( contact . addresses [ 0 ] ?. label ) . toBe ( 'ETH ' )
295296 } )
296297
297298 it ( 'parses contact:// URI with multiple addresses' , ( ) => {
@@ -327,7 +328,7 @@ describe('qr-parser', () => {
327328 it ( 'generates valid JSON for single address' , ( ) => {
328329 const content = generateContactQRContent ( {
329330 name : '张三' ,
330- addresses : [ { chainType : 'ethereum ' , address : '0x742d35Cc6634C0532925a3b844Bc9e7595f12345' } ] ,
331+ addresses : [ { label : 'ETH ' , address : '0x742d35Cc6634C0532925a3b844Bc9e7595f12345' } ] ,
331332 } )
332333 const parsed = JSON . parse ( content )
333334 expect ( parsed . type ) . toBe ( 'contact' )
@@ -339,8 +340,8 @@ describe('qr-parser', () => {
339340 const original = {
340341 name : '李四' ,
341342 addresses : [
342- { chainType : 'ethereum ' as const , address : '0x742d35Cc6634C0532925a3b844Bc9e7595f12345' } ,
343- { chainType : 'bitcoin ' as const , address : 'bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq' } ,
343+ { label : 'ETH ' as const , address : '0x742d35Cc6634C0532925a3b844Bc9e7595f12345' } ,
344+ { label : 'BTC ' as const , address : 'bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq' } ,
344345 ] ,
345346 avatar : '👩💻' ,
346347 }
@@ -358,7 +359,7 @@ describe('qr-parser', () => {
358359 it ( 'handles special characters in name' , ( ) => {
359360 const content = generateContactQRContent ( {
360361 name : '张三 (老板)' ,
361- addresses : [ { chainType : 'ethereum ' , address : '0x742d35Cc6634C0532925a3b844Bc9e7595f12345' } ] ,
362+ addresses : [ { label : 'ETH ' , address : '0x742d35Cc6634C0532925a3b844Bc9e7595f12345' } ] ,
362363 } )
363364 const result = parseQRContent ( content )
364365 expect ( result . type ) . toBe ( 'contact' )
0 commit comments