feat(trust): full Duniter web-of-trust membership (params + referents)
Slice 4 of Block 2. The pure rule was already parameterised; this adds the policy, cold-start and UI around it. - commons_core: WotParams (sigQty/stepMax/sigValidity, Duniter defaults) + WebOfTrust.membersWith; npubToHex helper (NIP-19 decode) for adding roots. - WotSettings (keystore): the active parameters, configurable — a young network loosens them and tightens as it grows, as Ğ1 did. Defaults Duniter. - TrustReferents: the bootstrap 'seeds' membership is measured from — a bundled asset (empty until real founders are curated, no invented keys) unioned with referents the user adds by npub/QR. Honest cold-start. - TrustCubit: computes the full membership verdict against referents+params alongside the personal circle, and exposes a TrustTier (networkMember > inYourCircle > vouched > unknown). Certifications issued with the active validity (they expire and renew, Duniter rule). - UI: chat trust badge by tier; a 'Network of trust' screen (manage roots + advanced params) reached from the profile. i18n en/es/pt/ast. Tests: WotParams/membersWith, npubToHex, TrustReferents, WotSettings, and TrustCubit tiers/membership. Resolves the WoT-parameters decision (open-decisions §B). Trust net stays empty/undetermined until seeded — by design; users bootstrap their own roots.
This commit is contained in:
parent
a96049dd36
commit
4cf53f259f
29 changed files with 1111 additions and 39 deletions
|
|
@ -442,6 +442,28 @@
|
|||
"count": "Avalizada por {n}",
|
||||
"vouch": "Conheço esta pessoa",
|
||||
"vouched": "Avalizas esta pessoa",
|
||||
"circle": "No teu círculo"
|
||||
"circle": "No teu círculo",
|
||||
"member": "Membro de confiança da rede"
|
||||
},
|
||||
"wot": {
|
||||
"title": "Rede de confiança",
|
||||
"open": "Rede de confiança",
|
||||
"help": "Como se decide quem é membro de confiança: as pessoas avalizam-se entre si, e a confiança estende-se a partir de um conjunto de raízes fundadoras.",
|
||||
"roots": "Raízes de confiança",
|
||||
"rootsHelp": "As identidades fundadoras que ancoram a rede. Adiciona quem confias (cola o seu código de identidade); a filiação mede-se para fora a partir delas.",
|
||||
"noRoots": "Ainda não há raízes de confiança — não se pode calcular a filiação até semear a rede.",
|
||||
"addRoot": "Adicionar uma raiz de confiança",
|
||||
"rootHint": "Cola um código de identidade (npub…)",
|
||||
"add": "Adicionar",
|
||||
"rootAdded": "Raiz de confiança adicionada",
|
||||
"rootInvalid": "Esse não é um código de identidade válido",
|
||||
"remove": "Remover",
|
||||
"params": "Parâmetros avançados",
|
||||
"paramsHelp": "Regras Duniter. Afrouxa-as para uma rede jovem; aperta-as à medida que cresce.",
|
||||
"sigQty": "Avais para ser membro",
|
||||
"stepMax": "Distância máxima a uma raiz",
|
||||
"validityDays": "Validade do aval (dias)",
|
||||
"reset": "Repor para valores Duniter",
|
||||
"saved": "Guardado"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue