code: func (w *Wallet) findAccountPath(account accounts.Account) (accounts.DerivationPath, error) {
  	pairing := w.Hub.pairing(w)
  	if path, ok := pairing.Accounts[account.Address]; ok {
  		return path, nil
  	}
  
  	// Look for the path in the URL
  	if account.URL.Scheme != w.Hub.scheme {
  		return nil, fmt.Errorf("Scheme %s does not match wallet scheme %s", account.URL.Scheme, w.Hub.scheme)
  	}
  
  	parts := strings.SplitN(account.URL.Path, "/", 2)
  	if len(parts) != 2 {
  		return nil, fmt.Errorf("Invalid URL format: %s", account.URL)
  	}
  
  	if parts[0] != fmt.Sprintf("%x", w.PublicKey[1:3]) {
  		return nil, fmt.Errorf("URL %s is not for this wallet", account.URL)
  	}
  
  	return accounts.ParseDerivationPath(parts[1])
  }
docs: // findAccountPath returns the derivation path for the provided account.
  // It first checks for the address in the list of pinned accounts, and if it is
  // not found, attempts to parse the derivation path from the account's URL.