Interpretação do ERC7527: um novo modelo de precificação descentralizada

‍Visão geral

Como precificar e investir em ideias ou aplicativos iniciais? Isso é um grande desafio no mundo descentralizado. O ERC7527 segue o consenso do ‘crédito cria moeda’ e propõe um paradigma de precificação descentralizada baseado em Premium.

Neste artigo, iremos aprofundar os princípios e detalhes do protocolo ERC7527, e explicar ainda mais o funcionamento do modelo de cotação contínua e suas enormes vantagens. Além disso, iremos apresentar algumas aplicações expandidas baseadas na programabilidade e composição do ERC7527.

ERC7527

No artigo anterior, apresentamos os modelos de precificação puramente on-chain comuns atualmente, e também introduzimos o modelo de cotação contínua especial do ERC7527 e fornecemos a representação matemática desse modelo, mas a introdução do ERC7527 no artigo anterior foi bastante simples. Nesta seção, iremos nos concentrar nos princípios e detalhes do protocolo ERC7527.

ERC7527 propôs um novo paradigma de precificação de aplicativos através da emissão de tokens ERC7527. O preço dos tokens ERC7527 efetivamente quantifica o limite de mercado do aplicativo (Limite de mercado do aplicativo = preço ERC7527 × quantidade). Este método transforma a precificação do aplicativo em precificação dos tokens ERC7527. A precificação dos tokens ERC7527 é composta pelas seguintes duas partes:

  • ERC7527 fornece uma interface para cotações de compra (wrap) e venda (unwrap) externas, permitindo que os desenvolvedores as implementem por conta própria.
  • Preços. O FOAMM (Function Oracle Automated Market Maker) baseado em ERC7527 usa a adição de liquidez interna por meio de wrap para estabelecer preços de compra ou a remoção de liquidez interna por meio de unwrap para estabelecer preços de venda. Esse esquema não depende de provedores externos de liquidez.

Para o problema de compra e fixação de preços do token ERC7527, o ERC7527 fornece plenamente a programabilidade. Especificamente, os usuários podem chamar a função a seguir para obter uma cotação:

解读ERC7527:一种全新的去中心化定价模型

Enquanto os desenvolvedores ERC7527 precisam projetar um modelo de cotação durante o processo de desenvolvimento para finalmente emitir uma cotação. Quando o usuário chama getWrapOracle para obter a cotação atual, ele pode optar por injetar liquidez na piscina ERC7527 para converter a cotação em preço. Especificamente, o usuário pode chamar a função wrap do FOAMM para injetar liquidez:

解读ERC7527:一种全新的去中心化定价模型

Para o problema da cotação de venda e precificação do token ERC7527, o ERC7527 utiliza um pool construído pela FOAMM para resolver a conversão da cotação de venda para precificação, permitindo que os utilizadores possam liquidar ativos e remover a liquidez interna do pool para sair. Aqui pode existir uma questão sobre quem fornece a liquidez dentro do pool.

No texto acima, mencionamos que a FOAMM adiciona liquidez interna através do wrap, que é a fonte de liquidez interna do pool. O ERC7527 usa a FOAMM para injetar a liquidez paga pelos usuários ao comprar ativos no pool como liquidez de saída. Para os desenvolvedores, basta fornecer uma cotação de venda, uma vez que há liquidez no pool, a cotação de venda é a cotação de preço de venda. Em termos concretos, os desenvolvedores precisam implementar a seguinte função para fornecer a funcionalidade de cotação de venda:

解读ERC7527:一种全新的去中心化定价模型

Os desenvolvedores podem construir funções de cotação de venda arbitrárias com base na liquidez do pool, observando que a cotação de venda deve manter o equilíbrio de liquidação do pool. Os usuários podem chamar getUnwrapOracle a qualquer momento para obter a cotação de venda atual do token ERC7527 e podem optar por chamar a função unwrap do FOAMM para destruir o token ERC7527 e obter a quantidade de tokens de cotação de venda no pool.

解读ERC7527:一种全新的去中心化定价模型

Em resumo, para os usuários, a interação do ERC7527 tem apenas duas partes:

  • Chame a função getWrapOracle para ler a cotação de compra atual, se a cotação de compra for adequada, chame a função wrap para injetar liquidez e obter o token ERC7527.
  • Chame a função getUnwrapOracle para ler o preço atual de venda, se o preço de venda for apropriado, chame a função unwrap para destruir o número de tokens de venda mantidos na piscina de extração ERC7527.

Nos valores de retorno das funções getWrapOracle e getUnwrapOracle mencionadas acima, existem as opções price e fee, onde price representa a quantidade de tokens necessária para wrap ou unwrap o token ERC7527 atual, e fee representa a taxa de transação. Para operações de wrap ou unwrap, os usuários precisam pagar uma certa quantidade de taxa de transação, que pode ser resgatada pelo usuário especificado.

ERC7527 é um token padrão, semelhante ao token ERC20, e também tem o seu endereço de token. ERC7527 tem os seguintes campos de definição:

解读ERC7527:一种全新的去中心化定价模型

A estrutura acima define os atributos mais essenciais do ERC7527, onde a moeda representa qual token o usuário fornece para a cunhagem do token ERC7527, o prêmio indica o preço inicial do token ERC7527, o recipiente da taxa representa o endereço de recebimento da taxa durante o processo de embrulhar e desembrulhar, enquanto mintFeePercent e burnFeePercent representam as taxas de cunhagem e desmantelamento.

Os tokens ERC7527 têm a característica de flutuação com prêmio, o termo ‘preço’ é usado na definição da função acima, ou seja, dentro da estrutura do ativo premium.

ERC7527 defines three different modules:

  1. O endereço do contrato do aplicativo App é o endereço do contrato do token ERC7527. O ERC7527 exige que o contrato do aplicativo herde as interfaces relevantes do ERC721Metadata. Além disso, esse contrato precisa expor as interfaces de mint e burn para facilitar a chamada do pool, e as interfaces de mint e burn só podem ser chamadas pelo pool para evitar a cunhagem maliciosa de tokens ERC7527 que possa levar a uma liquidação desequilibrada do pool.
  2. Agência A Agência é o contrato mencionado com frequência no texto anterior, onde o pool e o FOAMM estão localizados, e também é o contrato central de interação com o usuário. As funções getWrapOracle/wrap/getUnwrapOracle/unwrap mencionadas anteriormente estão todas localizadas neste contrato, que armazena os tokens injetados pelos usuários ao comprar (wrap) para uso posterior quando saírem (unwrap). Este contrato é o contrato de liquidação de tokens ERC7527.
  3. Factory é um contrato auxiliar, cuja função é simplificar a implementação do App e da Agência para facilitar a implementação do token ERC7527 pelos utilizadores.

A relação entre os três componentes pode ser referida na figura abaixo:

解读ERC7527:一种全新的去中心化定价模型

O aplicativo e a agência dentro do ERC7527 têm uma relação de ligação bidirecional. Do ponto de vista do código, as funções de mint e burn do aplicativo só podem ser chamadas pela agência, e o ERC7527 também especifica uma série de funções para permitir que os usuários consultem o endereço da agência em situações em que o aplicativo é conhecido (função getAgency), e para consultar o endereço do aplicativo em situações em que a agência é conhecida (função getStrategy).

Do ponto de vista da liquidez, cada token ERC7527 dentro do aplicativo tem liquidez correspondente dentro do pool, o que garante o equilíbrio de liquidação do pool.

Este esquema de precificação descentralizada de aplicações usando tokens ERC7527 é uma inovação revolucionária, introduzindo um novo paradigma de construção de aplicações com moeda pré-lançada. Para aplicações iniciais, os desenvolvedores podem implantar diretamente tokens ERC7527 usando a Factory ERC7527.

Os utilizadores podem utilizar a função wrap para cunhar tokens ERC7527 e participar no investimento inicial do projeto, bem como utilizar a função unwrap para sair do investimento. Para os programadores, o preço dos tokens ERC7527 pode fornecer um valor de mercado eficaz para as aplicações iniciais. À medida que a aplicação é desenvolvida e o número de detentores de tokens ERC7527 aumenta, o valor de mercado da aplicação aumenta, proporcionando incentivos para os detentores de tokens ERC7527 e para os programadores de aplicações.

Modelo de Cotação Contínua

Na seção anterior, discutimos amplamente o funcionamento do ERC7527, mas não detalhamos a construção do modelo de cotação de compra naquela seção. O ERC7527 fornece apenas a interface getWrapOracle aqui, e a implementação específica do modelo de cotação depende totalmente do desenvolvedor. Nesta seção, este artigo apresentará um modelo de cotação de compra mais genérico.

O preço de compra do ERC7527 deve ser considerado a partir de duas perspectivas, micro e macro.

Globalmente, esperamos que o preço do token ERC7527 aumente com o aumento da quantidade de tokens ERC7527. Mais especificamente, o preço atual do token ERC7527 obtido através do getWrapOracle não deve ser inferior ao preço fixado (ou o “último preço de compra”) 01928374656574839201.

A cotação do token ERC7527 deverá aumentar à medida que a quantidade de tokens ERC7527 em posse aumenta, o que trará um resultado interessante: o próprio token ERC7527 terá um mecanismo de expansão de crédito. Mais especificamente, pode haver uma capitalização de mercado do token ERC7527 maior que o TPL (Total Premium Locked). Esse mecanismo de expansão de crédito fará com que cada detentor de token ERC7527 obtenha um aumento de crédito.

No texto acima, não mencionamos a transação de venda unwrap, que fará com que o preço de compra da transação caia diretamente. Podemos usar um sistema baseado em pilha simples para implementar a proposta de venda que diminui o preço de compra.

解读ERC7527:一种全新的去中心化定价模型

Armazenamos todo o histórico de preços do ERC7527 na pilha interna. Sempre que um novo preço (new price) é formado, o empurramos para a pilha. O modelo de cotação de compra depende do preço mais recente na pilha para dar uma cotação de compra.

E quando o usuário vende, nós simplesmente usamos o preço de compra mais recente, new price, como o preço de venda, transferimos a liquidez do Agency para o usuário e, ao mesmo tempo, removemos esse preço da pilha. Nesse momento, o modelo de cotação ainda depende do preço mais recente na pilha, price2, para fornecer cotações externas.

Como price2 é menor que o novo preço, o modelo de cotação, quando desembrulhado, fornecerá uma cotação com base em price2, que será inferior às cotações anteriores baseadas no novo preço. Claro, essa cotação de venda baseada em pilha é apenas um dos esquemas de cotação mais simples.

A nível microscópico, o modelo de cotação deve ter algum mecanismo de ajuste de preço semelhante a um leilão holandês. A principal característica do leilão holandês é a introdução do tempo no modelo de cotação, e o preço deve diminuir automaticamente com o passar do tempo sem negociações.

No entanto, o leilão holandês tem uma desvantagem significativa. Como o preço sempre cairá com o tempo, há um dilema do prisioneiro de espera, o que resulta em ofertas cada vez mais baixas. Um bom modelo de oferta deve incluir um fator de tempo em um nível microscópico e também deve ter um aumento e uma queda.

Em resumo, um bom modelo de cotação deve atender aos seguintes requisitos:

  • A oferta de compra fornecida não deve ser inferior ao preço de fixação já formado. Isso é para garantir que, com o aumento do ERC7527 token em circulação, tanto a oferta de compra quanto o preço de fixação aumentem.
  • A função de cotação específica deve ter um fator de tempo e deve incluir simultaneamente duas fases: aumento e diminuição.

Além disso, esperamos que o modelo de preços possa seguir o crescimento das seguintes aplicações:

  • Estágio inicial com alto potencial de crescimento
  • Fase posterior tem um crescimento razoavelmente robusto.

Vamos detalhar a solução mais tarde no texto.

Primeiro, atender às exigências macro é na verdade muito simples, precisamos incluir o preço (Pn-1) como um fator no modelo de cotação. Em seguida, para atender às demandas micro, podemos resolver o problema segmentando a função. Finalmente, podemos obter a seguinte função de cotação:

解读ERC7527:一种全新的去中心化定价模型

Sobre o significado específico dos parâmetros desta função de cotação, os leitores podem consultar a introdução fornecida no artigo anterior. Aqui, apresentamos diretamente a imagem desta função de precificação:

解读ERC7527:一种全新的去中心化定价模型

No gráfico acima, o eixo x representa a unidade de intervalo de tempo desde a última transação, enquanto o eixo y representa a relação entre o preço atual e o preço da última transação. É importante notar que, quando o preço cai abaixo do preço da última transação, o modelo de cotação só irá apresentar a cotação que é igual ao preço da última transação, para atender aos requisitos macro do modelo de cotação.

Nós vemos intuitivamente que o modelo de cotação acima mencionado não só apresenta uma fase inicial de aumento, mas também uma fase posterior de queda semelhante a um leilão holandês, o que efetivamente atende aos requisitos microeconômicos do modelo de cotação. Aqui, podemos ver um aumento abrupto no início da fase de aumento, a fim de evitar a situação em que a quantidade detida do ERC7527 aumenta durante o processo de cunhagem contínua, mas o preço não sofre mudanças significativas.

Criamos um ambiente para simular o modelo de cotação acima e os resultados da simulação são os seguintes:

解读ERC7527:一种全新的去中心化定价模型

No gráfico de velas simulado, a primeira coluna representa a tendência de preços atual do token ERC7527, enquanto a segunda coluna representa a quantidade atual de tokens ERC7527 em posse, que aumentará com as operações de wrap e diminuirá com as operações de unwrap. Do ponto de vista do código, a segunda coluna na verdade chama a função totalSupply do App. A terceira coluna representa o número atual de operações de wrap e unwrap, sendo que a linha verde representa as operações de wrap e a linha vermelha representa as operações de unwrap.

O gráfico acima mostra o funcionamento inicial de algumas pools. No início, devido à falta de consenso e outros motivos, os usuários entravam e saiam, causando flutuações nos preços por um longo período em torno do preço inicial. Somente quando algumas notícias favoráveis surgiram, os usuários escolheram comprar, mas logo em seguida foram afetados pela venda de tokens dos usuários iniciais, o que fez o preço retornar ao valor inicial. No final, com o aumento do número de detentores de tokens ERC7527, o preço oscilou para cima durante as flutuações.

Através desta simples simulação, podemos ver uma vantagem extremamente importante do modelo de cotação contínua, ou seja, a operação de compra do usuário afeta diretamente o processo de cotação, o que torna quase impossível que duas fichas ERC7527 tenham o mesmo gráfico de velas, o que aumenta muito a complexidade do sistema de jogos.

A figura abaixo mostra uma mudança específica nas cotações, onde B representa a compra (wrap) e S representa a venda (unwrap). Podemos ver que, macroscopicamente, o preço de cada compra não é inferior ao preço de compra anterior, e que cada venda utiliza o preço de compra existente, portanto, esta imagem possui alguma simetria.

解读ERC7527:一种全新的去中心化定价模型

Na verdade, resolvemos os requisitos macro e micro do modelo de cotação mencionado acima, ao mesmo tempo em que atendemos à regra de crescimento ‘alta taxa de crescimento em estágios iniciais’. Agora, precisamos resolver um problema: como alcançar um crescimento estável na cotação após a implementação. O aumento significativo da cotação em estágios iniciais está alinhado com o alto crescimento inicial do aplicativo. A cotação de médio a longo prazo precisa estar alinhada com o desenvolvimento estável do aplicativo, portanto, precisamos construir um sistema de cotação com crescimento estável para o médio a longo prazo.

Assim, decidimos resolver esse problema por meio de uma divisão, usando um sistema de cotação de alta taxa de crescimento no início da cotação e um sistema de cotação de crescimento estável posteriormente. Claro, além da divisão em duas partes, como apresentado neste artigo, os desenvolvedores podem realizar a divisão em mais partes de acordo com suas próprias circunstâncias, como usar diferentes funções de crescimento no início, meio e fim.

Na verdade, ainda usamos a mesma função de cotação do início, mas modificamos alguns de seus parâmetros. A curva da função de cotação modificada é a seguinte:

解读ERC7527:一种全新的去中心化定价模型

Comparado com a função de cotação anterior, podemos ver que o aumento inicial da função de cotação posterior é menor. O eixo x do gráfico ainda usa a unidade de tempo entre as últimas transações como o eixo x, mas observe que a unidade de tempo aqui é menor do que a da função de cotação anterior.

Estamos a tentar simular as variações do preço de transação durante o aumento da oferta de tokens ERC7527, de 0 a 20000. Aqui está o gráfico de velas correspondente:

解读ERC7527:一种全新的去中心化定价模型

O preço inicial definido para o gráfico de velas acima foi 0.1. Quando a oferta atingiu 20000, o preço subiu de 0.1 para 300, um aumento de 3000 vezes.

Claro, alguns aplicativos podem enfrentar dificuldades no caminho para o sucesso. O gráfico de velas a seguir mostra as mudanças de preço durante o rápido crescimento inicial e a crise súbita que levou à saída dos usuários.

解读ERC7527:一种全新的去中心化定价模型

Os vários exemplos acima demonstram que o modelo de preços que propusemos é eficaz, atendendo ao padrão de crescimento do aplicativo, com um crescimento inicial rápido e um crescimento estável posterior. Essas vantagens decorrem do uso de um modelo de preços segmentado, com funções de preços diferentes usadas no início e no final.

Por outro lado, como a função de cotação é contínua, os usuários podem esperar que a função de cotação forneça uma cotação esperada e a situação específica da cotação mudará com o comportamento do usuário. Isso torna não apenas a existência de um jogo entre usuários e o modelo de cotação, mas também um jogo entre usuários. O jogo entre usuários é extremamente complexo, o que torna difícil deduzir uma estratégia para obter lucros sem risco com base no modelo de cotação apresentado nesta seção.

Aplicações de Expansão

Nesta seção, vamos apresentar as seguintes aplicações de expansão do ERC7527:

  • ERC7527 como camada de incentivos para aplicativos de IA
  • ERC7527 como um Máquina Oracle atómico para outras aplicações, especialmente aplicações de empréstimo

Camada de incentivos de aplicação de IA

A aplicação de IA requer uma nova camada de incentivo, e o ERC7527 pode trazer uma camada de incentivo sistematizada para a aplicação de IA, e o token ERC7527 é o ativo central da camada de incentivo.

No início do desenvolvimento, a aplicação de IA implementou a precificação da token ERC7527 para a sua aplicação. Neste momento, a aplicação de IA obteve uma avaliação de mercado reconhecida e os utilizadores podem investir diretamente na aplicação de IA através da operação de wrapping da token ERC7527.

Do ponto de vista da capitalização de mercado, com o desenvolvimento da aplicação de IA e o aumento da quantidade detida de ERC7527, tanto os desenvolvedores de aplicativos de IA quanto os detentores de tokens ERC7527 serão incentivados pelo aumento do valor de mercado.

As aplicações de IA também podem incentivar os usuários a usar medidas de dividendos. As aplicações de IA solicitam diretamente aos usuários o uso de tokens para pagamento na camada 2 do Ethereum.

Os usuários podem chamar o contrato para pagar pelas taxas de aplicativos de IA. Essas taxas bloqueadas no contrato de pagamento são transferidas regularmente para o contrato de dividendos. Os detentores de tokens ERC7527 podem retirar os lucros diretamente do contrato de dividendos, enquanto os desenvolvedores de aplicativos de IA também podem retirar outra parte dos lucros do contrato de dividendos.

Em termos de implementação técnica, o token ERC7527 herda do ERC721, o que significa que o token ERC7527 pode gerar contratos de conta ERC6551 com base no protocolo ERC6551. E podemos usar algumas soluções técnicas para fazer a interação entre cadeias das contas ERC6551 dos tokens ERC7527 para a camada dois da Ethereum. O caminho específico de implementação técnica é o seguinte:

解读ERC7527:一种全新的去中心化定价模型

Quando um usuário detém o token ERC7527, pode invocar o contrato de fábrica ERC6551 dentro da rede principal Ethereum para implantar uma conta ERC6551 para o token ERC7527 e, em seguida, usar a conta ERC6551 para invocar o contrato de ponte ERC6551 implantado na rede principal. Através da ponte da cadeia cruzada, o contrato da fábrica ERC6551 na camada 2 do Ethereum será invocado para implantar uma conta ERC6551 na camada 2 para o usuário.

A parte de interação entre cadeias do ERC6551 tem uma implementação mínima, os desenvolvedores podem consultar o código dentro do ERC6551Mirror para referência, este repositório implementou as operações de interação entre cadeias do ERC6551 usando o CCIP da Chainlink.

Após a conclusão da interação entre cadeias ERC6551, os usuários podem usar a conta ERC6551 para retirar as recompensas do contrato de dividendos.

Máquina Oracle de Atomicidade

ERC7615 é um ERC interessante, que especifica um relacionamento de envio entre contratos genéricos atômicos. Esse protocolo simples de envio pode criar uma máquina Oracle atômica, reduzindo significativamente a dificuldade no desenvolvimento de protocolos de empréstimo e outros protocolos.

O princípio de funcionamento do ERC7615 é como mostrado na Figura 01928374656574839201:

解读ERC7527:一种全新的去中心化定价模型

Quando o usuário (Cliente) chama certas funções do contrato de envio (Editor), o contrato de envio verifica se essas funções têm algum contrato de subscrição associado; se existir, o contrato de envio chama as funções do contrato de subscrição para enviar algum conteúdo. A maior característica desse processo é a atomicidade. Se houver um problema no processamento dos dados enviados pelo contrato de subscrição, a transação de chamada do contrato de envio (ou seja, a transação Call somefunc(…) na figura acima) também falhará diretamente.

Dentro do ERC7527, mencionamos várias vezes que o preço de venda fornecido pelo ERC7527 é na verdade o preço de venda, e qualquer usuário que detenha o token ERC7527 pode retirar a liquidez dentro da Agência ao preço de venda. Então, podemos empurrar o preço de venda do ERC7527 para o protocolo de empréstimo para realizar a liquidação dentro do protocolo de empréstimo?

解读ERC7527:一种全新的去中心化定价模型

A resposta é sim. E como o modelo de cotação contínua segue macroscopicamente a propriedade de aumento das ofertas de compra com o aumento da quantidade mantida do ERC7527, os protocolos de empréstimo não precisam se preocupar com as operações wrap dentro do ERC7527, apenas com as transações unwrap que podem levar a uma queda de preço.

Podemos incorporar a transmissão do preço de venda atual do unwrap para o protocolo de empréstimo dentro da função unwrap, quando o protocolo de empréstimo recebe o preço transmitido do unwrap, ele pode liquidar a posição garantida usando o token ERC7527 com base nas informações de preço.

Uma vez que uma posição de empréstimo precisa ser liquidada, o contrato de empréstimo pode executar a operação unwrap para extrair a liquidez do ERC7527Agency e fechar a posição de empréstimo.

Mais emocionante é que a operação acima é atômica, ou seja, se a liquidação do protocolo de empréstimo falhar, a operação de desembrulhar ERC7527 também falhará, o que significa que o protocolo de empréstimo evita completamente o risco de perda de posição.

Na realidade, qualquer protocolo pode obter o seu preço de venda emitido dentro do ERC7527, o que significa que os desenvolvedores só precisam de escrever uma interface de aceitação do ERC7615 para obter um preço de ativo e realizar outras operações.

Dentro do ERC7527, devido à herança dos tokens ERC7527 nos contratos do ERC721, os desenvolvedores podem capacitar os tokens ERC7527 de outras maneiras. Quando os usuários usam esquemas de stake tradicionais, como transferir diretamente os tokens ERC7527 para contratos de stake, eles perdem outros direitos dos tokens ERC7527. Portanto, os tokens ERC7527 precisam de um novo esquema de stake que não exija a transferência de ativos.

Com base no mecanismo de empurrão ERC7615, pode ser projetado um esquema de stake sem transferência de ativos. Especificamente, estabeleça a relação de empurrão entre o contrato unwrap do ERC7527Agency e o contrato de stake. Os usuários que desejam fazer stake podem interagir com o contrato de stake do ERC7527 para fazer stake do token ERC7527, mas esse processo não requer a transferência do token ERC7527 para o contrato de stake.

Neste momento, os tokens ERC7527 podem receber dividendos do contrato de stake. Quando um utilizador desbloqueia os tokens ERC7527 que estão em stake, o contrato de agência utiliza o ERC7615 para enviar esta mensagem ao contrato de stake, que irá remover o estado de stake do token ERC7527 especificado e realizar a liquidação final.

Durante este processo, o ERC7615 garante a liquidação do sistema de stake, assegurando que os tokens de ERC7527 destruídos não podem obter lucros de stake.

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
0/400
Nenhum comentário
  • Fixar