Tu peux ajouter le champ “created_on” à ta requête pour voir qu’il s’agit d’une certification qui a été renouvelée.
requête
query ($address: String) {
smith_cert(where: {receiver: {identity: {pubkey: {_eq: $address}}}}) {
issuer {
identity {
name
index
}
}
created_on
}
}
variables
{"address": "5FH48744BHgNoLBe8syGXbTEnSpGhp8ttdAKW4MWcR7TUKai"}
réponse
{
"data": {
"smith_cert": [
{
"issuer": {
"identity": {
"name": "h30x",
"index": 2457
}
},
"created_on": 1606658
},
{
"issuer": {
"identity": {
"name": "poka",
"index": 6951
}
},
"created_on": 1606258
},
{
"issuer": {
"identity": {
"name": "tuxmain",
"index": 7139
}
},
"created_on": 1606875
},
{
"issuer": {
"identity": {
"name": "Pini",
"index": 7228
}
},
"created_on": 1033152
},
{
"issuer": {
"identity": {
"name": "Pini",
"index": 7228
}
},
"created_on": 1617101
}
]
}
}
À regarder de plus près. Visiblement l’indexeur utilise le “signer” pour identifier l’identité validée, mais c’est faux, car dans ce cas l’identité est validée par le certificateur. src/processors/identity.ts · master · nodes / duniter-indexer · GitLab. Bug à corriger, donc.
requête
sur subsquid : https://subsquid.gdev.coinduf.eu/
{
batch(
limit: 100
includeAllBlocks: false
events: [{ name: "Identity.IdtyValidated" }]
) {
header {
height
}
}
}
réponse
regarder les blocs sur un nœud archive pour voir les événements
{
"data": {
"batch": [
{
"header": {
"height": 626276
}
},
{
"header": {
"height": 1491387
}
},
{
"header": {
"height": 1716493
}
}
]
}
}
Effectivement, il manque la certification du bloc 2510370. Reste à savoir pourquoi.
Je l’ai trouvée avec la requête subsquid suivante:
requête
sur https://explorer.subsquid.gdev.coinduf.eu/graphql
query MyQuery {
events(where: {name_eq: "SmithsCert.NewCert", extrinsic: {calls_some: {args_jsonContains: "{\"issuer\": 6951}"}}}) {
block {
height
}
extrinsic {
call {
name
args
}
}
}
}
réponse
{
"data": {
"events": [
{
"block": {
"height": 586196
},
"extrinsic": {
"call": {
"name": "SmithsCert.add_cert",
"args": {
"issuer": 6951,
"receiver": 7228
}
}
}
},
{
"block": {
"height": 1534981
},
"extrinsic": {
"call": {
"name": "SmithsCert.add_cert",
"args": {
"issuer": 6951,
"receiver": 7237
}
}
}
},
{
"block": {
"height": 1606258
},
"extrinsic": {
"call": {
"name": "SmithsCert.add_cert",
"args": {
"issuer": 6951,
"receiver": 7174
}
}
}
},
{
"block": {
"height": 2510370
},
"extrinsic": {
"call": {
"name": "SmithsCert.add_cert",
"args": {
"issuer": 6951,
"receiver": 7238
}
}
}
}
]
}
}
Effectivement, et c’était au bloc 1620356. Et si on regarde smithsMembership.membership()
à ce bloc, on trouve bien ceci :
Par contre, tu as cessé d’être forgeron au bloc 2504292. Le système a révoqué ton compte, probablement à cause d’un trop long délai hors ligne ou sans renouvellement des session keys, je ne sais pas.
J’espère que tous ces éléments permettront à d’autres d’essayer de débugger en utilisant les outils à disposition.