Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LoopIn rpc method returns empty htlc_address on mainnet #569

Open
Jossec101 opened this issue Apr 13, 2023 · 0 comments
Open

LoopIn rpc method returns empty htlc_address on mainnet #569

Jossec101 opened this issue Apr 13, 2023 · 0 comments
Assignees

Comments

@Jossec101
Copy link

Jossec101 commented Apr 13, 2023

In regtest (compiled from the repository), the LoopIn response (SwapStatus) correctly returns a populated htlc_address_p2wsh field. However, in the mainnet, both htlc_address_p2wsh and htlc_address_p2tr fields are empty.

Steps to reproduce:

The following code snippet demonstrates invoking a LoopIn request that returns empty htlc_address fields:

//Use the client to request the swap
	lastHopVertex, err := route.NewVertexFromStr(request.LastHopPubkey)
	if err != nil {
		return SubmarineSwapResponse{}, err
	}

	lastHopBytes := lastHopVertex[:]

	//Do a quote for loop in
	quote, err := client.GetLoopInQuote(ctx, &looprpc.QuoteRequest{
		Amt: request.SatsAmount,
		//ConfTarget:   1, //TODO Make this configurable
		ExternalHtlc:  true,
		Private:       false,
		LoopInLastHop: lastHopBytes,
	})

	if err != nil {
		log.Error(err)
		return SubmarineSwapResponse{}, err
	}

	//Get limits
	limits := getInLimits(quote)

	log.Debugf("loop in quote: %+v", quote)
	log.Debugf("loop in limits: %+v", limits)

	resp, err := client.LoopIn(ctx, &looprpc.LoopInRequest{
		Amt:            request.SatsAmount,
		MaxSwapFee:     int64(limits.maxSwapFee),
		MaxMinerFee:    int64(limits.maxMinerFee),
		LastHop:        lastHopBytes,
		ExternalHtlc:   true,
		HtlcConfTarget: 0,
		Label:          fmt.Sprintf("Submarine swap %d sats on date %s", request.SatsAmount, time.Now().Format(time.RFC3339)),
		Initiator:      "Liquidator",
		Private:        false,
		//TODO Review if hop hints are needed
	})

System information:

We are using the standalone loopd binary in a Docker container and invoking the API directly. The Docker container is a Linux/AMD64 container on k8s with LOOPD version 0.20.2-beta. The loopd Docker image OS is used.

In regtest, we are using the latest loopd compiled from the git repository. On the mainnet, we are using the Docker image, which might is outdated and could be causing the issue.

Original Slack thread: https://lightningcommunity.slack.com/archives/CH2HVK23A/p1681317311908629

@bhandras bhandras self-assigned this Apr 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants