Saltar al contenido

Notas de la versión - v0.5.0

Título: Alinear las comprobaciones de compatibilidad y ampliar la compatibilidad con el lenguaje Plutus

Fecha: 27 de agosto de 2026

Versión: v0.5.0

Esta versión alinea la disponibilidad de las funciones integradas con el lenguaje del ledger de Plutus y el protocolo de Cardano, amplía la compatibilidad con V4 y la serialización, refuerza la validación de programas y mejora el manejo de entradas grandes o con límites.

  • Mejoró la disponibilidad de las funciones integradas: Plutigo ahora comprueba cada operación integrada según el lenguaje del ledger de Plutus y la versión principal del protocolo de Cardano seleccionados, en lugar de considerar disponibles todas las operaciones después de la regla PV11 anterior que desbloqueaba todas las funciones. La disponibilidad sigue los límites de protocolo Alonzo 5, Vasil 7, Valentine 8, Chang 9, Plomin 10 y Dijkstra 12. Los lotes V4 requieren la versión principal 12 del protocolo, mientras que la versión principal 0 del protocolo solo comprueba el lenguaje. El motor de ejecución y las comprobaciones de conformidad usan la misma matriz de disponibilidad.

  • Amplió la compatibilidad con el lenguaje V4: Plutigo ahora incluye los nombres autorizados de los parámetros del modelo de costes V4 y las funciones integradas multiIndexArray, policies y assetCount, con las etiquetas estables 101 a 103. Las funciones integradas V4 permanecen no disponibles hasta que el protocolo las active. multiIndexArray acepta matrices o listas tipadas, requiere índices enteros de 64 bits no negativos, comprueba los límites y limita cada solicitud a 1.024 índices. El orden de los parámetros V4 ya no sigue el de V3, por lo que los presupuestos de ejecución pueden diferir.

  • Conservó el comportamiento de consByteString en V1 y V2: Los prefijos de enteros positivos y negativos grandes ahora usan una reducción de módulo 256 con redondeo hacia abajo, de acuerdo con las variantes V1 y V2. Las variantes C y E de V3 y posteriores siguen requiriendo valores de 0 a 255.

  • Reforzó la validación de programas Plutus con contexto: ProgramContext y ValidateProgram ahora aplican el contexto del lenguaje del ledger y del protocolo, mientras que ParseWithContext, DecodeWithContext y DecodeDeBruijnWithContext aplican las mismas comprobaciones durante el análisis y la decodificación. Estas API verifican las versiones compatibles de Untyped Plutus Core (UPLC) 1.0.0 y 1.1.0, la disponibilidad de las funciones integradas, las funciones integradas no disponibles en ramas sin evaluar, el requisito de UPLC 1.1.0 para la sintaxis Constr y Case, y el límite de 1.024 campos de los constructores a partir de PV11. La decodificación durante la reproducción también usa el contexto.
  • Optimizó la decodificación de enteros grandes: El formato de serialización FLAT ahora acumula los enteros grandes directamente en el almacenamiento de palabras nativas y usa una ruta rápida uint64. El decodificador escala linealmente con asignaciones limitadas y conserva el comportamiento de truncamiento.
  • Estabilizó los tipos de universo compatibles: La serialización FLAT ahora proporciona etiquetas estables para los valores G1, G2 y del bucle de Miller de BLS12-381, además de los tipos de matrices y valores, y devuelve bytes idénticos después de los recorridos de ida y vuelta. Los tipos ProtoArray y Value admiten análisis y formato; el motor de ejecución conserva la identidad de las matrices y los valores, valida las entradas Value canónicas y el decodificador rechaza las cargas BLS independientes no compatibles. Machine.RunContext(ctx, term) proporciona cancelación síncrona, valueData acepta como máximo 40.000 entradas y el decodificador impone un límite de 64 bytes en las hojas o fragmentos de cadenas de bytes codificadas en CBOR; las infracciones devuelven DecodeLimitError.

Las integraciones que usan análisis con contexto o manejo de entradas con límites deben actualizar sus rutas de error para adaptarse a las nuevas comprobaciones de validación y límites.

Gracias por usar Plutigo.

Comparar: v0.4.0…v0.5.0



Doc Holiday logo

Docs authored by Doc Holiday

Editar página

Última actualización: