Arquitetura de rede de protocolo
Uma implementação compatível com o CPP pode ligar muitos vales e Fundos através de registos opcionais, índices, módulos de cotação e descoberta de rotas ao nível da aplicação. Cada Fundo permanece um cofre separado, com liquidez, proprietário, administrador de proxy, configuração e dependências próprios.
A Grassroots Economics Foundation gere a aplicação pública em cosmolocal.credit. Outras interfaces e implementações podem utilizar o mesmo protocolo público. A gestão da aplicação não torna automaticamente a GEF proprietária, emissora, gestora, destinatária de comissões ou garante de cada contrato apresentado abaixo.
Consulte Conceitos e vocabulário para compreender a separação entre funções responsáveis e poderes técnicos.
Rotas candidatas e execução
Um ativo partilhado cria um caminho possível no grafo, não uma rota garantida. Neste exemplo, o vale A poderia ser trocado pelo ativo de ponte no Fundo A e, depois, o ativo de ponte poderia ser trocado pelo vale B no Fundo B. Cada salto continua a depender da admissão atual dos tokens, dos limites do Fundo, do inventário disponível, da configuração das cotações e comissões, do estado do oráculo, das aprovações, dos limites da transação e da execução na rede.
SwapRouter só convoca as funções de cotação Fundo em um caminho proposto. Não detém fundos, não aprova tokens nem executa swaps. Um integrador ou uma aplicação compatível pode utilizar esses resultados das cotações para construir a aprovação ordenada e as chamadas do Fundo num lote assinado de contas inteligentes; Isso não significa que o atual aplicação público ofereça execução multi-hop. Cada salto estabelece-se na carteira antes que a carteira forneça o ativo intermediário para a próxima Fundo, e o integrador pode configurar o lote para reverter quando uma chamada falha.
As citações são instantâneas. Uma cotação de rota bem-sucedida pode ainda falhar ou se resolver de forma diferente se o estado relevante mudar antes da execução. A sobrecarga limitada de SwapPool.withdraw acrescenta proteção de minAmountOut e deadline para um salto individual; Os integradores devem decidir como aplicar os limites em toda a rota.
As taxas do Fundo permanecem no Fundo relevante para cobrança posterior. Qualquer taxa de protocolo é adicional e é transferida diretamente a partir desse Fundo para o destinatário do protocolo configurado durante a troca.
Internos do Fundo
O registo, o limitador, o quotador, a política de taxas e o controlador de taxas de protocolo são opcionais. Sem registo, qualquer token passa a verificação de admissão; Sem limite, os depósitos não têm limite; sem cotador, o Fundo utiliza a paridade de unidade bruta; e sem módulos de taxas, as taxas correspondentes são zero.
Os cinco espaços selados são feePolicy, feeAddress, quoter, tokenRegistry e tokenLimiter. Um selo impede que o atual proprietário do Fundo substitua esse endereço através do seu setter, mas não congela o estado interno da dependência. O endereço protocolFeeController e o modo feesDecoupled não são abrangidos por esses cinco bits de vedação. A capacidade do administrador proxy para atualizar o Fundo também é separada do selamento.
O titular do contrato pode retirar a liquidez disponível do Fundo para um endereço escolhido. No modo de tarifas descopladas, as tarifas acumuladas são reservadas a partir desse caminho; O poder de retirar a liquidez restante ainda existe. Os participantes devem inspecionar o proprietário, o administrador por procuração, os controladores de dependências, o estado do selo, os destinatários das taxas e as regras publicadas do Fundo antes de dependerem de um Fundo.
Para o desenho conceitual por trás destes contratos—incluindo curadoria, avaliação, limitação, troca e governação—veja o Livro Branco.