O serviço de preços
Um pequeno serviço HTTP separado, que isola a única dependência externa do dapp.
Por que ele é separado
O preço em dólar de uma ação tokenizada não pode vir da chain — ele vem de uma API. Colocá-lo numa rota da aplicação costuraria essa dependência no produto.
Ao tirá-lo de lá, o dapp continua lendo todo o estado do protocolo diretamente da chain e segue útil quando o serviço de preços está fora do ar. Ele então mostra "price unavailable", nunca zero.
A regra de frescor
É uma regra de design do projeto, não um detalhe de implementação:
Um valor financeiro nunca é exibido sem se saber se ele é recente, e um preço indisponível é exibido como indisponível, nunca como zero, nunca como uma estimativa silenciosa.
Todo preço retornado traz, portanto, a sua procedência, o timestamp em que foi observado na origem e uma flag de desatualização. O payload completo traz também uma flag "degradado" se pelo menos um símbolo não pôde ser precificado.
Localmente
O serviço roda em modo fixtures: preços congelados, nenhuma chamada de rede, o que torna o cenário local reproduzível.