[agent/codex:gpt-5.4-mini] Read docs/RFC.md fully. Find ONE feature described in the sp... #79
2 changed files with 27 additions and 10 deletions
18
service.go
18
service.go
|
|
@ -251,11 +251,6 @@ func (service *Service) resolveHSDClient(client *HSDClient) (*HSDClient, error)
|
|||
}
|
||||
|
||||
func (service *Service) DiscoverFromChainAliases(ctx context.Context, client *HSDClient) error {
|
||||
effectiveHSDClient, err := service.resolveHSDClient(client)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
aliases, found, err := service.discoverAliasesFromSources(
|
||||
ctx,
|
||||
service.chainAliasActionCaller,
|
||||
|
|
@ -270,6 +265,10 @@ func (service *Service) DiscoverFromChainAliases(ctx context.Context, client *HS
|
|||
if !found {
|
||||
return nil
|
||||
}
|
||||
effectiveHSDClient, err := service.resolveHSDClient(client)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(aliases) == 0 {
|
||||
now := time.Now()
|
||||
fingerprint := aliasFingerprint(aliases)
|
||||
|
|
@ -457,11 +456,6 @@ func parseActionAliasRecord(record map[string]any) (string, error) {
|
|||
// dns.NewHSDClient(dns.HSDClientOptions{URL: "http://127.0.0.1:14037"}),
|
||||
// )
|
||||
func (service *Service) DiscoverFromMainchainAliases(ctx context.Context, chainClient *MainchainAliasClient, hsdClient *HSDClient) error {
|
||||
effectiveHSDClient, err := service.resolveHSDClient(hsdClient)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
effectiveChainClient := chainClient
|
||||
if effectiveChainClient == nil {
|
||||
effectiveChainClient = service.mainchainAliasClient
|
||||
|
|
@ -497,6 +491,10 @@ func (service *Service) DiscoverFromMainchainAliases(ctx context.Context, chainC
|
|||
if !found {
|
||||
return nil
|
||||
}
|
||||
effectiveHSDClient, err := service.resolveHSDClient(hsdClient)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(aliases) == 0 {
|
||||
now := time.Now()
|
||||
fingerprint := aliasFingerprint(aliases)
|
||||
|
|
|
|||
|
|
@ -1615,6 +1615,25 @@ func TestServiceDiscoverReturnsNilWithoutDiscoverer(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestServiceDiscoverAliasesReturnsNilWithoutDiscovererOrHSDClient(t *testing.T) {
|
||||
service := NewService(ServiceOptions{
|
||||
Records: map[string]NameRecords{
|
||||
"gateway.charon.lthn": {
|
||||
A: []string{"10.10.10.10"},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
if err := service.DiscoverAliases(context.Background()); err != nil {
|
||||
t.Fatalf("expected discover aliases to no-op without sources or HSD client: %v", err)
|
||||
}
|
||||
|
||||
result, ok := service.Resolve("gateway.charon.lthn")
|
||||
if !ok || len(result.A) != 1 || result.A[0] != "10.10.10.10" {
|
||||
t.Fatalf("expected cached record to remain intact, got %#v (ok=%t)", result, ok)
|
||||
}
|
||||
}
|
||||
|
||||
func TestServiceServeResolvesAAndAAAARecords(t *testing.T) {
|
||||
service := NewService(ServiceOptions{
|
||||
Records: map[string]NameRecords{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue