feat(block2): Ğ1 — publish a Ğ1 address + 'Pay in Ğ1' in chat (levels 1-2)

The optional Ğ1 (free currency) integration, per g1-integration.md.
- Profile: an optional 'Ğ1 address' field, persisted locally and published in
  your NIP-01 kind:0 metadata (separate from the Nostr key).
- commons_core: UserProfile/ProfileTransport carry a 'g1' field (round-trip
  tested).
- Chat: when the peer published a Ğ1 address, a 'Pay in Ğ1' app-bar action opens
  their wallet (url_launcher) so value moves in the wallet, not the app — copies
  the address as a fallback. No payment rails in-app (sharing-model §4.3).

NOTE (vjrj): the wallet deep-link uses the Cesium web wallet as a universal
fallback; swap the URI in chat_screen._payG1 for the Ğ1nkgo/Ğecko scheme you
prefer. Analyzer clean (both packages); profile transport test covers g1.
This commit is contained in:
vjrj 2026-07-10 13:06:38 +02:00
parent d0d2ecb132
commit d7136ec2c2
13 changed files with 138 additions and 14 deletions

View file

@ -363,6 +363,8 @@
"nameHint": "Como os outros te veem",
"about": "Sobre ti",
"aboutHint": "Uma linha — o que cultivas, onde",
"g1": "Endereço Ğ1 (opcional)",
"g1Hint": "Para que te paguem em Ğ1 — separado da tua chave",
"yourId": "A tua identidade",
"idHelp": "Partilha-a para que te reconheçam",
"copy": "Copiar",
@ -379,7 +381,9 @@
"hint": "Escreve uma mensagem…",
"send": "Enviar",
"empty": "Ainda não há mensagens — diz olá",
"offline": "Configura a partilha para enviar mensagens"
"offline": "Configura a partilha para enviar mensagens",
"payG1": "Pagar em Ğ1",
"g1Copied": "Endereço Ğ1 copiado — cola-o na tua carteira"
},
"trust": {
"none": "Ainda ninguém os avaliza",