es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Herencia redundante en los contratos inteligentes de Solidity.

Estoy revisando los contratos inteligentes de OpenZeppelin y en muchos casos encuentro que tiende a haber una herencia redundante o duplicada.

contract ERC20 is IERC20, IERC20Metadata {}

interface IERC20 {}

interface IERC20Metadata is IERC20 {}
“`

En este ejemplo, ERC20 implementa IERC20Metadata que ya implementa IERC20. Sin embargo, el contrato implementa ambos. Intenté eliminar las interfaces redundantes y funciona perfectamente. ¿Hay alguna razón para esto? ¿Es solo por claridad o legibilidad?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Es posible que la herencia redundante sea por fines de claridad o legibilidad, ya que hace más explícito qué interfaces implementa el contrato. Sin embargo, también podría ser para futurizar el código, ya que eliminar una de las interfaces podría romper la compatibilidad con otros contratos que dependen de ella. En última instancia, sería mejor consultar al equipo de OpenZeppelin o a las personas que escribieron el contrato para comprender el razonamiento detrás de la herencia duplicada.

Comments are closed.