mirror of
https://github.com/lightninglabs/loop.git
synced 2026-08-13 12:33:03 +02:00
This commit updates swap suggestions to return loop out requests with sufficient fields populated so that a loop out can directly be dispatched from a suggestion. This requires setting of fees an min sweep conf targets (our htlc conf target and addresss will be set by the daemon's client rpc server if we do not provide them). We also do some test refactoring so that we can more easily test the suggest swaps endpoint.
53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
package loopd
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/btcsuite/btcutil"
|
|
"github.com/lightninglabs/lndclient"
|
|
"github.com/lightninglabs/loop"
|
|
"github.com/lightninglabs/loop/liquidity"
|
|
)
|
|
|
|
// getClient returns an instance of the swap client.
|
|
func getClient(config *Config, lnd *lndclient.LndServices) (*loop.Client,
|
|
func(), error) {
|
|
|
|
clientConfig := &loop.ClientConfig{
|
|
ServerAddress: config.Server.Host,
|
|
ProxyAddress: config.Server.Proxy,
|
|
SwapServerNoTLS: config.Server.NoTLS,
|
|
TLSPathServer: config.Server.TLSPath,
|
|
Lnd: lnd,
|
|
MaxLsatCost: btcutil.Amount(config.MaxLSATCost),
|
|
MaxLsatFee: btcutil.Amount(config.MaxLSATFee),
|
|
LoopOutMaxParts: config.LoopOutMaxParts,
|
|
}
|
|
|
|
swapClient, cleanUp, err := loop.NewClient(config.DataDir, clientConfig)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
|
|
return swapClient, cleanUp, nil
|
|
}
|
|
|
|
func getLiquidityManager(client *loop.Client) *liquidity.Manager {
|
|
mngrCfg := &liquidity.Config{
|
|
LoopOutRestrictions: func(ctx context.Context) (
|
|
*liquidity.Restrictions, error) {
|
|
|
|
outTerms, err := client.Server.GetLoopOutTerms(ctx)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return liquidity.NewRestrictions(
|
|
outTerms.MinSwapAmount, outTerms.MaxSwapAmount,
|
|
), nil
|
|
},
|
|
Lnd: client.LndServices,
|
|
}
|
|
|
|
return liquidity.NewManager(mngrCfg)
|
|
}
|