Skip to content

Commit 12074dd

Browse files
committed
Fix handle_empty_name
1 parent 42d7258 commit 12074dd

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

lib/ethers/name_service.ex

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ defmodule Ethers.NameService do
152152
with {:ok, resolver} <- get_resolver(name_hash, opts),
153153
{:ok, name} <- resolve_name(resolver, name_hash, opts),
154154
# Return early if no name found and we're not on default
155-
{:ok, name} <- handle_empty_name(name, coin_type, address),
155+
{:ok, name} <- handle_empty_name(name, coin_type, address, opts),
156156
# Verify forward resolution matches
157157
:ok <- verify_forward_resolution(name, address, opts) do
158158
{:ok, name}
@@ -168,19 +168,19 @@ defmodule Ethers.NameService do
168168
{"#{address}.#{coin_type_hex}.reverse", coin_type}
169169
end
170170

171-
defp handle_empty_name("", coin_type, address) when coin_type != 0 do
171+
defp handle_empty_name("", coin_type, address, opts) when coin_type != 0 do
172172
"0x" <> address = address
173173
# Try default reverse name
174174
reverse_name = "#{address}.default.reverse"
175175
name_hash = name_hash(reverse_name)
176176

177-
with {:ok, resolver} <- get_resolver(name_hash, []),
178-
{:ok, name} <- Ethers.call(ENS.Resolver.name(name_hash), to: resolver) do
179-
{:ok, name}
177+
case get_resolver(name_hash, []) do
178+
{:ok, resolver} -> resolve_name(resolver, name_hash, opts)
179+
{:error, reason} -> {:error, reason}
180180
end
181181
end
182182

183-
defp handle_empty_name(name, _coin_type, _address_hash), do: {:ok, name}
183+
defp handle_empty_name(name, _coin_type, _address_hash, _opts), do: {:ok, name}
184184

185185
defp verify_forward_resolution(name, address, opts) do
186186
with {:ok, resolved_addr} <- resolve(name, opts) do
@@ -280,7 +280,6 @@ defmodule Ethers.NameService do
280280
end
281281

282282
defp normalize_dns_name(name) do
283-
# TODO: Update to ENSIP-15 when finalized
284283
name
285284
|> String.to_charlist()
286285
|> :idna.encode(transitional: false, std3_rules: true, uts46: true)

0 commit comments

Comments
 (0)