Entry points

En CosmWasm, los puntos de entrada permiten que los contratos procesen mensajes y consultas.

Los manejadores principales consisten en:

  • Instantiate: esto maneja mensajes de creación de instancias según lo definido por la estructura InstantiateMsg.

  • Execute: gestiona los mensajes según lo definido por la enumeración ExecuteMsg, utilizando una declaración de coincidencia de patrones.

  • Query: aborda consultas según lo definido por la enumeración QueryMsg, utilizando la coincidencia de patrones.

Las funciones de execute y Query deben coincidir con todas las variantes de las enumeraciones que manejan, mientras que la función de instanciación solo necesita manejar la estructura que recibe.

Normalmente, la creación de instantiate y la executetienen el tipo Result<Response, ContractError>, mientras que Query tiene el tipo StdResult debido al Cosmos SDK Querier subyacente.

Como puede ver en el fragmento de código a continuación, estos controladores están marcados explícitamente como puntos de entrada y no se incluyen en la biblioteca:

#[cfg_attr(not(feature = "library"), entry_point)]
pub fn instantiate(
  deps: DepsMut,
  _env: Env,
  _info: MessageInfo,
  msg: InstantiateMsg,
) -> Result<Response, StdError> {
  // ...etc
}

Last updated