File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -28,7 +28,7 @@ func DeriveChildren(key *hdkeychain.ExtendedKey, path []uint32) (
2828	* hdkeychain.ExtendedKey , error ) {
2929
3030	var  currentKey  =  key 
31- 	for  _ , pathPart  :=  range  path  {
31+ 	for  idx , pathPart  :=  range  path  {
3232		derivedKey , err  :=  currentKey .DeriveNonStandard (pathPart )
3333		if  err  !=  nil  {
3434			return  nil , err 
@@ -45,7 +45,11 @@ func DeriveChildren(key *hdkeychain.ExtendedKey, path []uint32) (
4545		// derived directly. 
4646		depth  :=  derivedKey .Depth ()
4747		keyID  :=  pathPart  -  hdkeychain .HardenedKeyStart 
48- 		if  (depth  ==  3  &&  keyID  !=  0 ) ||  (depth  ==  2  &&  keyID  !=  0 ) {
48+ 		nextID  :=  uint32 (0 )
49+ 		if  depth  ==  2  &&  len (path ) >  2  {
50+ 			nextID  =  path [idx + 1 ] -  hdkeychain .HardenedKeyStart 
51+ 		}
52+ 		if  (depth  ==  2  &&  nextID  !=  0 ) ||  (depth  ==  3  &&  keyID  !=  0 ) {
4953			currentKey , err  =  hdkeychain .NewKeyFromString (
5054				derivedKey .String (),
5155			)
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments