@@ -152,7 +152,7 @@ defmodule Ethers.NameService do
152
152
with { :ok , resolver } <- get_resolver ( name_hash , opts ) ,
153
153
{ :ok , name } <- resolve_name ( resolver , name_hash , opts ) ,
154
154
# 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 ) ,
156
156
# Verify forward resolution matches
157
157
:ok <- verify_forward_resolution ( name , address , opts ) do
158
158
{ :ok , name }
@@ -168,19 +168,19 @@ defmodule Ethers.NameService do
168
168
{ "#{ address } .#{ coin_type_hex } .reverse" , coin_type }
169
169
end
170
170
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
172
172
"0x" <> address = address
173
173
# Try default reverse name
174
174
reverse_name = "#{ address } .default.reverse"
175
175
name_hash = name_hash ( reverse_name )
176
176
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 }
180
180
end
181
181
end
182
182
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 }
184
184
185
185
defp verify_forward_resolution ( name , address , opts ) do
186
186
with { :ok , resolved_addr } <- resolve ( name , opts ) do
@@ -280,7 +280,6 @@ defmodule Ethers.NameService do
280
280
end
281
281
282
282
defp normalize_dns_name ( name ) do
283
- # TODO: Update to ENSIP-15 when finalized
284
283
name
285
284
|> String . to_charlist ( )
286
285
|> :idna . encode ( transitional: false , std3_rules: true , uts46: true )
0 commit comments