InsuranceFund
El Fondo de Seguros de Lido es un contrato bóveda que sirve como un almacenamiento transparente y simple para fondos asignados para fines de auto-seguro.
Mecánica
El Insurance Fund es una bóveda simple que hereda de Ownable de OpenZeppelin y permite al propietario transferir ether, tokens ERC20, tokens ERC721, tokens ERC1155 desde el contrato. El propietario, que será el Agente del DAO de Lido, puede transferir la propiedad a otra entidad, con la excepción de la dirección cero.
Métodos de vista
owner()
Devuelve el owner actual.
function owner() public view returns (address);
renounceOwnership()
Siempre revierte.
function renounceOwnership() public pure override;
Métodos
transferERC1155()
Transfiere un único token ERC1155 con el ID especificado en la cantidad especificada a una entidad desde el saldo del contrato. El receptor del contrato debe implementar ERC1155TokenReceiver de acuerdo con EIP-1155 para recibir tokens de manera segura.
- revierte si
msg.senderno es elowner; - revierte si
_recipientes la dirección cero; - revierte si el saldo del contrato es insuficiente;
- emite
ERC721Transferred(address indexed _token, address indexed _recipient, uint256 _tokenId, bytes _data).
function transferERC1155(address _token, address _recipient, uint256 _tokenId, uint256 _amount, bytes calldata _data) external;
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
_token | address | token ERC1155 |
_recipient | address | entidad receptora |
_tokenId | uint256 | identificador token |
_amount | uint256 | cantidad a transferir |
_data | bytes | secuencia de bytes para el gancho onERC1155Received |
Nota: transferERC1155 no soporta transferencias en lote de múltiples tokens.
transferERC20()
Transfiere un token ERC20 a una entidad en la cantidad especificada desde el saldo del contrato.
- revierte si
msg.senderno es elowner; - revierte si
_recipientes la dirección cero; - revierte si el saldo del contrato es insuficiente;
- emite
ERC20Transferred(address indexed _token, address indexed _recipient, uint256 _amount).
function transferERC20(address _token, address _recipient, uint256 _amount) external;
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
_token | address | token ERC20 |
_recipient | address | entidad receptora |
_amount | uint256 | cantidad a transferir |
transferERC721()
Transfiere un único token ERC721 con el ID especificado a una entidad desde el saldo del contrato. El receptor del contrato debe implementar ERC721TokenReceiver de acuerdo con EIP-721 para recibir tokens de manera segura.
- revierte si
msg.senderno es elowner; - revierte si
_recipientes la dirección cero; - emite
ERC721Transferred(address indexed _token, address indexed _recipient, uint256 _tokenId, bytes _data).
function transferERC721(address _token, address _recipient, uint256 _tokenId, bytes memory _data) external;
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
_token | address | token ERC721 |
_recipient | address | entidad receptora |
_tokenId | uint256 | identificador token |
_data | bytes | secuencia de bytes para el gancho onERC721Received |
transferEther()
Transfiere ether a una entidad desde el saldo del contrato.
- revierte si
msg.senderno es elowner; - revierte si
_recipientes la dirección cero; - revierte si el saldo del contrato es insuficiente;
- revierte si la operación real de transferencia falla (por ejemplo,
_recipientes un contrato sin fallback); - emite
EtherTransferred(address indexed _recipient, uint256 _amount).
function transferEther(address _recipient, uint256 _amount) external;
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
_recipient | address | entidad receptora |
_amount | uint256 | cantidad a transferir |
transferOwnership()
Asigna newOwner como el nuevo owner.
- revierte si
msg.senderno es elowner; - revierte si
newOwneres la dirección cero; - emite
emit OwnershipTransferred(address indexed previousOwner, address indexed newOwner).
function transferOwnership(address newOwner) public;
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
newOwner | address | entidad que tendrá acceso a todas las operaciones mutables de estado |