diff --git a/lib/archethic/contracts/interpreter/condition.ex b/lib/archethic/contracts/interpreter/condition.ex index 1e885a5e31..54f9b5ebd0 100644 --- a/lib/archethic/contracts/interpreter/condition.ex +++ b/lib/archethic/contracts/interpreter/condition.ex @@ -235,14 +235,6 @@ defmodule Archethic.Contracts.ConditionInterpreter do {node, acc} end - # Whitelist the get_token_id/1 function in the condition - defp prewalk( - node = {{:atom, "get_token_id"}, _, [_search]}, - acc = {:ok, %{scope: {:condition, _, _}}} - ) do - {node, acc} - end - # Whitelist the hash/0 function in the condition defp prewalk( node = {{:atom, "hash"}, _, []}, diff --git a/lib/archethic/contracts/interpreter/library.ex b/lib/archethic/contracts/interpreter/library.ex index 3859d60837..23c1a9342b 100644 --- a/lib/archethic/contracts/interpreter/library.ex +++ b/lib/archethic/contracts/interpreter/library.ex @@ -12,8 +12,6 @@ defmodule Archethic.Contracts.Interpreter.Library do Contracts.Interpreter.Utils } - alias Archethic.Utils - require Logger @doc """ @@ -237,12 +235,13 @@ defmodule Archethic.Contracts.Interpreter.Library do """ @spec get_token_id(binary()) :: {:error, binary()} | {:ok, binary()} def get_token_id(address) do + address = Utils.maybe_decode_hex(address) t1 = Task.async(fn -> Archethic.fetch_genesis_address_remotely(address) end) - t2 = Task.async(fn -> Utils.get_transaction_content(address) end) + t2 = Task.async(fn -> Archethic.Utils.get_transaction_content(address) end) with {:ok, {:ok, genesis_address}} <- Task.yield(t1), {:ok, {:ok, definition}} <- Task.yield(t2) do - Utils.get_token_id(genesis_address, definition) + Archethic.Utils.get_token_id(genesis_address, definition) else {:ok, {:error, :network_issue}} -> {:error, "Network issue"} diff --git a/lib/archethic/contracts/interpreter/utils.ex b/lib/archethic/contracts/interpreter/utils.ex index 577b0693d3..3531f140ca 100644 --- a/lib/archethic/contracts/interpreter/utils.ex +++ b/lib/archethic/contracts/interpreter/utils.ex @@ -286,7 +286,7 @@ defmodule Archethic.Contracts.Interpreter.Utils do {node, acc} end - # Whitelist the get_token_id/0 function + # Whitelist the get_token_id/1 function def prewalk( node = {{:atom, "get_token_id"}, _, [_address]}, acc = {:ok, %{scope: scope}} diff --git a/test/archethic/contracts/interpreter/library_test.exs b/test/archethic/contracts/interpreter/library_test.exs index 214745d8bc..a2f28b795a 100644 --- a/test/archethic/contracts/interpreter/library_test.exs +++ b/test/archethic/contracts/interpreter/library_test.exs @@ -3,8 +3,8 @@ defmodule Archethic.Contracts.Interpreter.LibraryTest do alias Archethic.Contracts.Interpreter.Library - alias P2P.Message.GetFirstTransactionAddress - alias P2P.Message.FirstTransactionAddress + alias Archethic.P2P.Message.GetFirstTransactionAddress + alias Archethic.P2P.Message.FirstTransactionAddress alias Archethic.TransactionChain.Transaction alias Archethic.TransactionChain.TransactionData @@ -53,7 +53,7 @@ defmodule Archethic.Contracts.Interpreter.LibraryTest do |> Jason.decode!() MockDB - |> stub(:get_transaction, fn _, _ -> {:ok, tx} end) + |> stub(:get_transaction, fn _, _, _ -> {:ok, tx} end) |> stub(:get_genesis_address, fn _ -> genesis_address end) assert Utils.get_token_id(genesis_address, transaction_content) ==