Skip to content

sample-tapd.conf+tapcfg: add default signet/testnet4 uni servers #1555

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

Merged
merged 2 commits into from
Jun 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion sample-tapd.conf
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,14 @@
; reorgsafedepth=6

; Default proof courier service address
; proofcourieraddr=universerpc://testnet.universe.lightning.finance:10029
; Default: (testnet)
; proofcourieraddr=universerpc://testnet.universe.lightning.finance:10029
; Default for testnet4:
; proofcourieraddr=universerpc://testnet4.universe.lightning.finance:443
; Default for signet:
; proofcourieraddr=universerpc://signet.universe.lightning.finance:443
; Default for mainnet:
; proofcourieraddr=universerpc://universe.lightning.finance:10029

; The number of seconds the custodian waits after identifying an asset transfer
; on-chain and before retrieving the corresponding proof. Valid time units are
Expand Down
6 changes: 4 additions & 2 deletions tapcfg/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,10 @@ const (

defaultNetwork = "testnet"

defaultMainnetFederationServer = "universe.lightning.finance:10029"
defaultTestnetFederationServer = "testnet.universe.lightning.finance:10029"
defaultMainnetFederationServer = "universe.lightning.finance:10029"
defaultTestnetFederationServer = "testnet.universe.lightning.finance:10029"
defaultTestnet4FederationServer = "testnet4.universe.lightning.finance:443"
defaultSignetFederationServer = "signet.universe.lightning.finance:443"

// DefaultAutogenValidity is the default validity of a self-signed
// certificate. The value corresponds to 14 months
Expand Down
53 changes: 52 additions & 1 deletion tapcfg/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,8 @@ func genServerConfig(cfg *Config, cfgLogger btclog.Logger,
}

// For mainnet, we need to overwrite the default universe proof
// courier address to use the mainnet server.
// courier address to use the mainnet server (the default is
// the testnet3 server).
if cfg.DefaultProofCourierAddr == defaultProofCourierAddr {
cfg.DefaultProofCourierAddr = fmt.Sprintf(
"%s://%s", proof.UniverseRpcCourierType,
Expand All @@ -228,6 +229,56 @@ func genServerConfig(cfg *Config, cfgLogger btclog.Logger,
)
}

case "testnet4":
// Add our default testnet4 federation server to the list of
// federation servers if not disabled by the user for privacy
// reasons.
if !cfg.Universe.NoDefaultFederation {
cfgLogger.Infof("Configuring %v as initial Universe "+
"federation server",
defaultTestnet4FederationServer)

federationMembers = append(
federationMembers,
defaultTestnet4FederationServer,
)
}

// For testnet4, we need to overwrite the default universe proof
// courier address to use the testnet4 server (the default is
// the testnet3 server).
if cfg.DefaultProofCourierAddr == defaultProofCourierAddr {
cfg.DefaultProofCourierAddr = fmt.Sprintf(
"%s://%s", proof.UniverseRpcCourierType,
defaultTestnet4FederationServer,
)
}

case "signet":
// Add our default signet federation server to the list of
// federation servers if not disabled by the user for privacy
// reasons.
if !cfg.Universe.NoDefaultFederation {
cfgLogger.Infof("Configuring %v as initial Universe "+
"federation server",
defaultSignetFederationServer)

federationMembers = append(
federationMembers,
defaultSignetFederationServer,
)
}

// For signet, we need to overwrite the default universe proof
// courier address to use the signet server (the default is
// the testnet3 server).
if cfg.DefaultProofCourierAddr == defaultProofCourierAddr {
cfg.DefaultProofCourierAddr = fmt.Sprintf(
"%s://%s", proof.UniverseRpcCourierType,
defaultSignetFederationServer,
)
}

default:
// For any other network, such as regtest, we can't use a
// universe proof courier by default, as we don't know what
Expand Down
21 changes: 13 additions & 8 deletions universe_rpc_registrar.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,16 @@ func CheckFederationServer(localRuntimeID int64, connectTimeout time.Duration,
srvrLog.Debugf("Attempting to connect to federation server %v",
server.HostStr())

// Resolving the address first to ensure that we can connect to it.
resolvedAddr, err := server.Addr()
if err != nil {
return fmt.Errorf("error resolving server address %v: %w",
server.HostStr(), err)
}

srvrLog.Debugf("Resolved federation server address: %v",
resolvedAddr.String())

conn, err := ConnectUniverse(server)
if err != nil {
return fmt.Errorf("error connecting to server %v: %w",
Expand Down Expand Up @@ -175,8 +185,7 @@ type universeClientConn struct {
func ConnectUniverse(
serverAddr universe.ServerAddr) (*universeClientConn, error) {

// TODO(roasbeef): all info is authenticated, but also want to allow
// brontide connect as well, can avoid TLS certs
uniAddr := serverAddr.HostStr()
creds := credentials.NewTLS(&tls.Config{
InsecureSkipVerify: true,
})
Expand All @@ -187,12 +196,8 @@ func ConnectUniverse(
grpc.WithDefaultCallOptions(MaxMsgReceiveSize),
}

uniAddr, err := serverAddr.Addr()
if err != nil {
return nil, err
}

rawConn, err := grpc.Dial(uniAddr.String(), opts...)
srvrLog.Infof("Connecting to Universe server at %s", uniAddr)
rawConn, err := grpc.NewClient(uniAddr, opts...)
if err != nil {
return nil, fmt.Errorf("unable to connect to RPC server: "+
"%w", err)
Expand Down