|
|
@ -1002,7 +1002,7 @@ defmodule Explorer.Chain.Transaction do |
|
|
|
proxy_implementation_abi_map, |
|
|
|
proxy_implementation_abi_map, |
|
|
|
options |
|
|
|
options |
|
|
|
) do |
|
|
|
) do |
|
|
|
Map.get_lazy(proxy_implementation_abi_map, smart_contract, fn -> |
|
|
|
Map.get_lazy(proxy_implementation_abi_map, smart_contract.address_hash, fn -> |
|
|
|
Proxy.combine_proxy_implementation_abi(smart_contract, options) |
|
|
|
Proxy.combine_proxy_implementation_abi(smart_contract, options) |
|
|
|
end) |
|
|
|
end) |
|
|
|
end |
|
|
|
end |
|
|
@ -1988,7 +1988,7 @@ defmodule Explorer.Chain.Transaction do |
|
|
|
empty_methods_map = |
|
|
|
empty_methods_map = |
|
|
|
transactions |
|
|
|
transactions |
|
|
|
|> Enum.flat_map(fn |
|
|
|
|> Enum.flat_map(fn |
|
|
|
%{input: <<method_id::binary-size(4), _::binary>>} -> [method_id] |
|
|
|
%{input: %{bytes: <<method_id::binary-size(4), _::binary>>}} -> [method_id] |
|
|
|
_ -> [] |
|
|
|
_ -> [] |
|
|
|
end) |
|
|
|
end) |
|
|
|
|> Enum.into(%{}, &{&1, []}) |
|
|
|
|> Enum.into(%{}, &{&1, []}) |
|
|
@ -2007,12 +2007,12 @@ defmodule Explorer.Chain.Transaction do |
|
|
|
methods_map = |
|
|
|
methods_map = |
|
|
|
decoded_transactions |
|
|
|
decoded_transactions |
|
|
|
|> Enum.flat_map(fn |
|
|
|
|> Enum.flat_map(fn |
|
|
|
{nil, %{input: <<method_id::binary-size(4), _::binary>>}} -> [method_id] |
|
|
|
{nil, %{input: %{bytes: <<method_id::binary-size(4), _::binary>>}}} -> [method_id] |
|
|
|
_ -> [] |
|
|
|
_ -> [] |
|
|
|
end) |
|
|
|
end) |
|
|
|
|> Enum.uniq() |
|
|
|
|> Enum.uniq() |
|
|
|
|> ContractMethod.find_contract_methods(opts) |
|
|
|
|> ContractMethod.find_contract_methods(opts) |
|
|
|
|> Enum.into(%{}, &{&1.identifier, [&1]}) |
|
|
|
|> Enum.into(empty_methods_map, &{&1.identifier, [&1]}) |
|
|
|
|
|
|
|
|
|
|
|
# decode remaining transaction using methods map |
|
|
|
# decode remaining transaction using methods map |
|
|
|
decoded_transactions |
|
|
|
decoded_transactions |
|
|
|