Saltar al contenido

Notas de la versión - v0.203.0

Título: Ampliar la compatibilidad y reforzar la validación

Versión: v0.203.0

Esta versión amplía las API de consultas y contabilidad con tipos explícitos, mejora la fiabilidad de la decodificación y los hashes, y refuerza la validación de certificados, direcciones, cabeceras, firmas y propósitos de scripts.

  • Mejoró los resultados de distribución de stake de DRep en LocalStateQuery: DRepStakeDistrEntry y DRepStakeDistrResult ofrecen resultados tipados con validación estricta del wrapper y el mapa CBOR, rechazo de duplicados, codificación canónica y cobertura de resultados de consultas tipadas. Las aplicaciones deben eliminar la capa de decodificación adicional que requerían los resultados CBOR sin tipo.

  • Garantizó la finalización de BlockFetch no canalizado: GetBlockRange invoca BatchDoneFunc exactamente una vez cuando el apagado termina una solicitud iniciada.

  • Conservó los atributos desconocidos de direcciones Byron: Los atributos Unparsed conservan sus bytes originales y permiten el recorrido de ida y vuelta sin pérdida de datos.

  • Amplió los nombres de estado de la matriz de pruebas de Go: Los nombres ahora incluyen la versión de Go, la plataforma y la arquitectura, lo que facilita identificar los resultados.

  • Estabilizó la decodificación en 32 bits: La decodificación de genesis y LocalStateQuery usa enteros de ancho fijo de forma segura en GOARCH=386, y actualiza varios tipos de campos exportados.

  • Recalculó los valores de LeiosHash a partir del CBOR actual: Los hashes ya no dependen de un estado en caché, lo que evita resultados obsoletos y condiciones de carrera después de cambios en el CBOR.

  • Deduplicó los firmantes de información de transacciones: txInfoSignatories ya no contiene entradas duplicadas.

  • Amplió los valores de certificados operativos y periodos KES: Los números de secuencia, los periodos KES y las entradas de validación ahora usan uint64 en lugar de uint32. Los consumidores de OpCertExtractor y ValidateHeaderInput deben actualizar sus tipos.

  • Eliminó el límite de tamaño de transacción durante la decodificación de Dijkstra: Se eliminó el límite fijo de 16 KiB y la validación UTxO sigue aplicando max_tx_size. Las transacciones Dijkstra sobredimensionadas conservan su clasificación, la decodificación de matrices de componentes malformadas queda limitada y dijkstra.MaxTxSize deja de estar disponible.

  • Decodificó los deltas de recompensas MIR como valores con signo: Los deltas MIR ahora usan *big.Int, la validación según la versión del protocolo se aplica a los deltas negativos y los valores del mapa Rewards cambian de uint64 a *big.Int. Los consumidores deben actualizar el código que lee o crea estos valores.

  • Conservó el tipo de credencial de las cuentas de recompensa de pools: La codificación ahora exige metadatos canónicos de cuenta de recompensa de 29 bytes. Los certificados creados mediante código o JSON deben llamar a SetRewardAccountCredential antes de MarshalCBOR.

  • Aplicó la verificación estricta de Ed25519 fuera de Byron: Las firmas que no pertenecen a Byron ahora usan verificación estricta, mientras Byron conserva su comportamiento permisivo.

  • Rechazó las cabeceras de bloque nulas: La decodificación de cabeceras ahora rechaza cabeceras nulas. La decodificación interna controlada puede usar SkipHeaderValidation cuando necesita explícitamente ese comportamiento.

  • Exigió redeemers para todos los propósitos de scripts: La validación ahora exige redeemers para minting, certifying, rewarding, voting, proposing y Dijkstra guarding; los redeemers ausentes hacen que falle la validación.

RedCompatible
mainnet
preprod-testnet
preview-testnet
musashi

Versión: v0.203.0

Comparar: v0.202.10…v0.203.0


Doc Holiday logo

Docs authored by Doc Holiday

Editar página

Última actualización: