Open 1Mateus opened 1 month ago
@davibauer consegue dar um help sobre como vai funcionar a nossa query de search?
vamos poder buscar pelas request key das transactions, block height e address?
eles vão retornar os objetos de cada item? tipo, o bloco, a transactions e um address??
Vamos poder fazer o filtro por essas 3 tabelas, certo?
Preciso conseguir reproduzir algo desse tipo:
@1Mateus Vamos ter que detalhar exatamente o alcance desta busca e então eu posso criar uma query customizada que tenha os inputs e outputs que necessitamos. Aqui pelo que vi precisa validar com a Kadena exatamente o que será filtrado e o que será mostrado, tem um check item na descrição com isso. Uma vez definido criarmos um método específico só para a busca.
@davibauer Eu fiz uma implementação basica de uma query de search para que eu conseguisse implementar o a parte de UI até que a gente tivsse essa query pronta:
const allQuery = gql`
query SearchAll($searchTerm: String!, $limit: Int!, $heightFilter: Int) {
blocks: allBlocks(
last: $limit,
filter: {
or: [
{ hash: { includesInsensitive: $searchTerm } },
{ parent: { includesInsensitive: $searchTerm } },
{ payloadHash: { includesInsensitive: $searchTerm } },
{ transactionsHash: { includesInsensitive: $searchTerm } },
{ outputsHash: { includesInsensitive: $searchTerm } },
{ height: { equalTo: $heightFilter } }
]
}
) {
nodes {
id
hash
parent
chainId
height
creationTime
payloadHash
transactionsHash
outputsHash
weight
epochStart
chainwebVersion
}
}
transactions: allTransactions(
last: $limit,
filter: {
or: [
{ requestkey: { includesInsensitive: $searchTerm } },
{ hash: { includesInsensitive: $searchTerm } },
{ txid: { includesInsensitive: $searchTerm } },
{ pactid: { includesInsensitive: $searchTerm } },
{ sender: { includesInsensitive: $searchTerm } }
]
}
) {
nodes {
id
requestkey
hash
txid
pactid
sender
chainId
result
gas
gaslimit
gasprice
}
}
addresses: allBalances(
first: $limit,
filter: {
account: { includesInsensitive: $searchTerm }
},
orderBy: [ACCOUNT_ASC]
) {
nodes {
account
chainId
balance
module
qualname
tokenId
hasTokenId
}
}
tokens: allContracts(
first: $limit,
filter: {
type: { equalTo: "fungible" },
module: { includesInsensitive: $searchTerm }
}
) {
nodes {
id
network
chainId
module
metadata
tokenId
precision
}
}
}
https://github.com/user-attachments/assets/3a56db2f-4c96-47fc-adf3-ec7d45372b01
@davibauer consegue me dar um help com a query de filtros nova? eu to tentando testar mas fica carregando inifnitamente:
query SearchAll {
searchAll(searchTerm: "k:", limit: 5) {
blocks {
chainId
hash
height
parent
transactionsCount
}
tokens {
type
module
chainId
}
transactions {
sender
requestkey
result
metadata
chainId
}
addresses {
account
}
}
}
EN
PT