better identification of lightning outputs. (#320)
* better identification of lightning outputs. * identify liquid pegouts and emergency pegouts. fixes #324
This commit is contained in:
		
							parent
							
								
									448cb8e264
								
							
						
					
					
						commit
						276117fba9
					
				| @ -1,2 +1,18 @@ | |||||||
| <span *ngIf="multisig" class="badge badge-pill badge-warning" i18n="address-labels.multisig">multisig {{ multisigM }} of {{ multisigN }}</span> | <span | ||||||
| <span *ngIf="secondLayerClose" class="badge badge-pill badge-warning" i18n="address-labels.upper-layer-peg-out">Layer{{ network === 'liquid' ? '3' : '2' }} Peg-out</span> |   *ngIf="multisig" | ||||||
|  |   class="badge badge-pill badge-warning" | ||||||
|  |   i18n="address-labels.multisig" | ||||||
|  |   >multisig {{ multisigM }} of {{ multisigN }}</span | ||||||
|  | > | ||||||
|  | <span | ||||||
|  |   *ngIf="lightning" | ||||||
|  |   class="badge badge-pill badge-warning" | ||||||
|  |   i18n="address-labels.upper-layer-peg-out" | ||||||
|  |   >Lightning {{ lightning }}</span | ||||||
|  | > | ||||||
|  | <span | ||||||
|  |   *ngIf="liquid" | ||||||
|  |   class="badge badge-pill badge-warning" | ||||||
|  |   i18n="address-labels.upper-layer-peg-out" | ||||||
|  |   >Liquid {{ liquid }}</span | ||||||
|  | > | ||||||
|  | |||||||
| @ -18,7 +18,8 @@ export class AddressLabelsComponent implements OnInit { | |||||||
|   multisigM: number; |   multisigM: number; | ||||||
|   multisigN: number; |   multisigN: number; | ||||||
| 
 | 
 | ||||||
|   secondLayerClose = false; |   lightning = null; | ||||||
|  |   liquid = null; | ||||||
| 
 | 
 | ||||||
|   constructor( |   constructor( | ||||||
|     stateService: StateService, |     stateService: StateService, | ||||||
| @ -36,6 +37,26 @@ export class AddressLabelsComponent implements OnInit { | |||||||
| 
 | 
 | ||||||
|   handleVin() { |   handleVin() { | ||||||
|     if (this.vin.inner_witnessscript_asm) { |     if (this.vin.inner_witnessscript_asm) { | ||||||
|  |       if (this.vin.inner_witnessscript_asm.indexOf('OP_DEPTH OP_PUSHNUM_12 OP_EQUAL OP_IF OP_PUSHNUM_11') === 0) { | ||||||
|  |         if (this.vin.witness.length > 11) { | ||||||
|  |           this.liquid = 'Peg Out'; | ||||||
|  |         } else { | ||||||
|  |           this.liquid = 'Emergency Peg Out'; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       [ | ||||||
|  |         [/^OP_DUP OP_HASH160/, 'HTLC'], | ||||||
|  |         [/^OP_IF OP_PUSHBYTES_33 \w{33} OP_ELSE OP_PUSHBYTES_2 \w{2} OP_CSV OP_DROP/, 'Force Close'] | ||||||
|  |       ].forEach( | ||||||
|  |         ([re, label]) => { | ||||||
|  |           if (re.test(this.vin.inner_witnessscript_asm)) { | ||||||
|  |             this.lightning = label; | ||||||
|  |             return; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       ); | ||||||
|  | 
 | ||||||
|       if (this.vin.inner_witnessscript_asm.indexOf('OP_CHECKMULTISIG') > -1) { |       if (this.vin.inner_witnessscript_asm.indexOf('OP_CHECKMULTISIG') > -1) { | ||||||
|         const matches = this.getMatches(this.vin.inner_witnessscript_asm, /OP_PUSHNUM_([0-9])/g, 1); |         const matches = this.getMatches(this.vin.inner_witnessscript_asm, /OP_PUSHNUM_([0-9])/g, 1); | ||||||
|         this.multisig = true; |         this.multisig = true; | ||||||
| @ -46,10 +67,6 @@ export class AddressLabelsComponent implements OnInit { | |||||||
|           this.multisig = false; |           this.multisig = false; | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
| 
 |  | ||||||
|       if (/OP_IF (.+) OP_ELSE (.+) OP_CSV OP_DROP/.test(this.vin.inner_witnessscript_asm)) { |  | ||||||
|         this.secondLayerClose = true; |  | ||||||
|       } |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (this.vin.inner_redeemscript_asm && this.vin.inner_redeemscript_asm.indexOf('OP_CHECKMULTISIG') > -1) { |     if (this.vin.inner_redeemscript_asm && this.vin.inner_redeemscript_asm.indexOf('OP_CHECKMULTISIG') > -1) { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user