From f0cbb95c12339d0360181229836ac82987782b7f Mon Sep 17 00:00:00 2001 From: Miles Zhang Date: Thu, 21 Mar 2024 12:22:21 +0800 Subject: [PATCH] feat: snapshot erc721 token and return owner address Signed-off-by: Miles Zhang --- lib/godwoken_explorer/token_transfer.ex | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/godwoken_explorer/token_transfer.ex b/lib/godwoken_explorer/token_transfer.ex index 64017491..01ed8543 100644 --- a/lib/godwoken_explorer/token_transfer.ex +++ b/lib/godwoken_explorer/token_transfer.ex @@ -395,6 +395,21 @@ defmodule GodwokenExplorer.TokenTransfer do end end + def snapshot_erc721_token(token_contract_address_hash, start_block_number, end_block_number) do + from(tt in TokenTransfer, + where: + tt.token_contract_address_hash == ^token_contract_address_hash and + tt.block_number >= ^start_block_number and tt.block_number <= ^end_block_number, + select: %{ + address_hash: fragment("'0x' || encode(?, 'hex')", tt.to_address_hash), + token_id: tt.token_id + }, + distinct: tt.token_id, + order_by: [desc: tt.block_number] + ) + |> Repo.all() + end + defp parse_json_result(paginate_result, init_query) do if paginate_result.total_entries != 0 do query =