Pular para o conteúdo principal
Change page

Padrão de cofre tokenizado ERC-4626

Última edição: @MCreimer(opens in a new tab), Invalid DateTime

Introdução

O ERC-4626 é um padrão para otimizar e unificar os parâmetros técnicos dos cofres de rendimento. Ele fornece uma API padrão para cofres com rendimentos tokenizados que representam partes de um único token ERC-20 subjacente. O ERC-4626 também delineia uma extensão opcional para cofres tokenizados que utilizam ERC-20, oferecendo funcionalidade básica para depósito, retirada de tokens e leitura de saldos.

O papel do ERC-4626 nos cofres de rendimento

Mercados de empréstimo, agregadores e tokens intrinsecamente de rendimento ajudam os usuários a encontrar o melhor rendimento em seus tokens de cripto executando diferentes estratégias. Estas estratégias são realizadas com ligeiras variações, que podem ser propensas a erros ou desperdiçar recursos de desenvolvimento.

O ERC-4626 nos cofres de rendimento reduzirá o esforço de integração e desbloqueará o acesso a rendimentos em várias aplicações, com pouco esforço especializado dos desenvolvedores, criando padrões de implementação mais consistentes e robustos.

O token ERC-4626 é descrito em mais detalhes em EIP-4626(opens in a new tab).

Pré-requisitos

Para entender melhor esta página, recomendamos que você leia primeiro sobre padrões de tokens e ERC-20.

Funções e características do ERC-4626:

Métodos

asset

1function asset() public view returns (address)
📋 Copiar

Esta função retorna o endereço do token subjacente usado para o cofre para contabilidade, depósito, retirada.

totalAssets

1function totalAssets() public view returns (uint256)
📋 Copiar

Esta função retorna a quantidade total de ativos subjacentes mantidos pelo cofre.

convertToShares

1function convertToShares(uint256 assets) public view returns (uint256 shares)
📋 Copiar

Esta função retorna a quantidade de shares que seriam intercambiadas pelo cofre pela quantidade de assets fornecidos.

convertToAssets

1function convertToAssets(uint256 shares) public view returns (uint256 assets)
📋 Copiar

Esta função retorna a quantidade de assets que seriam intercambiadas pelo cofre pela quantidade de shares fornecidos.

maxDeposit

1function maxDeposit(address receiver) public view returns (uint256)
📋 Copiar

Esta função retorna a quantidade máxima de ativos subjacentes que podem ser depositados em um único deposit chamado pelo receiver.

previewDeposit

1function previewDeposit(uint256 assets) public view returns (uint256)
📋 Copiar

Esta função permite aos usuários simular os efeitos de seu depósito no bloco atual.

depositar

1function deposit(uint256 assets, address receiver) public returns (uint256 shares)
📋 Copiar

Esta função deposita assets de tokens subjacentes no cofre e concede a propriedade de shares para o receiver.

maxMint

1function maxMint(address receiver) public view returns (uint256)
📋 Copiar

Esta função retorna a quantidade máxima de ativos subjacentes que podem ser mintados em um único mint chamado pelo receiver.

previewMint

1function previewMint(uint256 shares) public view returns (uint256)
📋 Copiar

Esta função permite aos usuários simular os efeitos de seu mint no bloco atual.

cunhar

1function mint(uint256 shares, address receiver) public returns (uint256 assets)
📋 Copiar

Esta função minta exatamente shares no cofre para o receiver depositando assets dos tokens subjacentes.

maxWithdraw

1function maxWithdraw(address owner) public view returns (uint256)
📋 Copiar

Esta função retorna a quantidade máxima de ativos subjacentes que podem ser retirados do saldo do owner com uma única chamada withdraw.

previewWithdraw

1function previewWithdraw(uint256 assets) public view returns (uint256)
📋 Copiar

Esta função permite aos usuários simular os efeitos da sua retirada no bloco atual.

sacar

1function withdraw(uint256 assets, address receiver, address owner) public returns (uint256 shares)
📋 Copiar

Esta função queima shares do owner e envia exatamente tokens assets do cofre para o receiver.

maxRedeem

1function maxRedeem(address owner) public view returns (uint256)
📋 Copiar

Essa função retorna a quantidade máxima de ações que podem ser resgatadas do saldo do owner com uma chamada de redeem.

previewRedeem

1function previewRedeem(uint256 shares) public view returns (uint256)
📋 Copiar

Essa função permite aos usuários simular os efeitos de seu resgate no bloco atual.

redeem

1function redeem(uint256 shares, address receiver, address owner) public returns (uint256 assets)
📋 Copiar

Essa função resgata um número específico de shares do owner e envia assets do token subjacente do cofre para o receiver.

totalSupply

1function totalSupply() public view returns (uint256)
📋 Copiar

Retorna o número total de shares não resgatadas do cofre em circulação.

balanceOf

1function balanceOf(address owner) public view returns (uint256)
📋 Copiar

Retorna a quantidade total de shares do cofre que o owner tem atualmente.

Eventos

Evento de depósito

PRECISA ser emitido quando os tokens são depositados no cofre por meio dos métodos mint e deposit

1event Deposit(
2 address indexed sender,
3 address indexed owner,
4 uint256 assets,
5 uint256 shares
6)
📋 Copiar

Em que sender é o usuário que trocou assets por shares e transferiu aquelas shares para o owner.

Evento de retirada

PRECISA ser emitido quando as shares são retiradas do cofre por um depositante nos métodos de redeem ou withdraw.

1event Withdraw(
2 address indexed sender,
3 address indexed receiver,
4 address indexed owner,
5 uint256 assets,
6 uint256 share
7)
📋 Copiar

Em que sender é o usuário que acionou a retirada e trocou shares, de propriedade do owner, por assets. receiver é o usuário que recebeu os assets retirados.

Leitura adicional

Este artigo foi útil?