Saltar al contenido

Notas de la versión - v0.8.1

Título: Mejorar los límites de recursos, la precisión de costes y la validación

Versión: v0.8.1

URL de la versión: https://github.com/blinklabs-io/plutigo/releases/tag/v0.8.1

Comparación: v0.8.0…v0.8.1

Esta versión hace más predecible la descarga de los resultados, alinea la contabilidad de costes de Plutus V4 con el modelo de referencia, reduce la sobrecarga de asignación y refuerza la codificación y la validación de valores.

  • Añadió un presupuesto de trabajo CEK determinista de maxDischargeWork = 1,000,000 para cada resultado y lo compartió con la materialización de constantes. Cuando un resultado supera el presupuesto o se expande de forma exponencial, Plutigo devuelve ErrCodeBudgetExhausted con el mensaje result term too large to discharge.

  • Alineó las métricas de costes de los builtins de Value de Plutus V4 con el modelo de referencia: insertCoin y lookupCoin usan ValueMaxDepth, mientras que scaleValue y unionValue usan ValueTotalSize. Esto evita cargos de presupuesto incorrectos que podrían rechazar transacciones válidas.

  • Compartió las cachés inmutables de costes y disponibilidad de CEK entre máquinas, almacenó en caché la disponibilidad de builtins y reutilizó las estructuras temporales de los builtins. Plutigo también redujo las asignaciones de equalsData y mejoró la portabilidad de los benchmarks de reproducción.

  • Redujo las asignaciones durante la decodificación y validación FLAT mediante arenas dimensionadas según la entrada o geométricas, magnitudes enteras respaldadas por arenas y envoltorios de tipos compuestos respaldados por arenas. Añadió pruebas centradas en las asignaciones para verificar este comportamiento.

  • Reforzó la codificación CBOR y JSON anidada mediante búferes compartidos, lo que hace lineal la codificación anidada. Los decodificadores concretos ahora aplican los límites de JSON a todo el documento. La validación canónica centralizada de Value rechaza de forma coherente las estructuras de Value no válidas en codecs, analizadores y builtins CEK.

Doc Holiday logo

Docs authored by Doc Holiday

Editar página

Última actualización: