Skip to content

Commit

Permalink
fix: map recipient record when filtering by nft collection (#890)
Browse files Browse the repository at this point in the history
  • Loading branch information
jyeshe committed Sep 5, 2022
1 parent eefd5d6 commit 251c5a8
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
8 changes: 6 additions & 2 deletions lib/ae_mdw_web/controllers/aexn_transfer_controller.ex
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,11 @@ defmodule AeMdwWeb.AexnTransferController do
json(conn, transfers)
end

defp contract_transfers_reply(%Conn{assigns: assigns} = conn, contract_id, tagged_account_pk) do
defp contract_transfers_reply(
%Conn{assigns: assigns} = conn,
contract_id,
{filter_by, _pk} = tagged_account_pk
) do
%{pagination: pagination, cursor: cursor, state: state} = assigns

with {:ok, contract_pk} <- Validate.id(contract_id, [:contract_pubkey]),
Expand All @@ -134,7 +138,7 @@ defmodule AeMdwWeb.AexnTransferController do
cursor
)

data = Enum.map(transfers_keys, &contract_transfer_to_map(state, &1))
data = Enum.map(transfers_keys, &contract_transfer_to_map(state, filter_by, &1))

paginate(conn, prev_cursor, data, next_cursor)
else
Expand Down
11 changes: 10 additions & 1 deletion lib/ae_mdw_web/views/aexn_view.ex
Original file line number Diff line number Diff line change
Expand Up @@ -96,14 +96,23 @@ defmodule AeMdwWeb.AexnView do
def pair_transfer_to_map(state, {type, sender_pk, recipient_pk, call_txi, amount, log_idx}),
do: do_transfer_to_map(state, {type, sender_pk, call_txi, recipient_pk, amount, log_idx})

@spec contract_transfer_to_map(State.t(), contract_transfer_key()) :: map()
@spec contract_transfer_to_map(State.t(), :from | :to, contract_transfer_key()) :: map()
def contract_transfer_to_map(
state,
:from,
{_create_txi, sender_pk, call_txi, recipient_pk, token_id, log_idx}
) do
do_transfer_to_map(state, {:aex141, sender_pk, call_txi, recipient_pk, token_id, log_idx})
end

def contract_transfer_to_map(
state,
:to,
{_create_txi, recipient_pk, call_txi, sender_pk, token_id, log_idx}
) do
do_transfer_to_map(state, {:aex141, sender_pk, call_txi, recipient_pk, token_id, log_idx})
end

#
# Private functions
#
Expand Down

0 comments on commit 251c5a8

Please sign in to comment.