Use dot to separate purpose from validator name in blueprint

The rationale is two folds:

  1. It's more consistent with how we already separate the validator
  name from its module.

  2. Because `_` may be present in Aiken's validator's name, it is hard
     to read and I am afraid it could potentially conflict later on. So
     it's better to use a separator that cannot appear in validator
     names.
This commit is contained in:
KtorZ
2024-08-24 11:24:40 +02:00
parent ed55f03aa2
commit 8c2fdf9ad4
23 changed files with 55 additions and 87 deletions

View File

@@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
description: "Code:\n\npub type Foo {\n foo: Int\n}\n\nvalidator annotated_data {\n spend(datum: Option<Data<Foo>>, redeemer: Data, output_reference: Data, transpose: Data) {\n True\n }\n}\n"
---
{
"title": "test_module.annotated_data_spend",
"title": "test_module.annotated_data.spend",
"datum": {
"title": "datum",
"schema": {

View File

@@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
description: "Code:\n\npub type Either<left, right> {\n Left(left)\n Right(right)\n}\n\npub type Interval<a> {\n Finite(a)\n Infinite\n}\n\nvalidator generics {\n spend(datum: Option<Data>, redeemer: Either<ByteArray, Interval<Int>>, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
---
{
"title": "test_module.generics_spend",
"title": "test_module.generics.spend",
"datum": {
"title": "datum",
"schema": {

View File

@@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
description: "Code:\n\npub type Dict<key, value> {\n inner: List<(ByteArray, value)>\n}\n\npub type UUID { UUID }\n\nvalidator list_2_tuples_as_list {\n mint(redeemer: Dict<UUID, Int>, policy_id: ByteArray, transaction: Data) {\n True\n }\n}\n"
---
{
"title": "test_module.list_2_tuples_as_list_mint",
"title": "test_module.list_2_tuples_as_list.mint",
"redeemer": {
"title": "redeemer",
"schema": {

View File

@@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
description: "Code:\n\npub type Dict<key, value> {\n inner: List<Pair<ByteArray, value>>\n}\n\npub type UUID { UUID }\n\nvalidator list_pairs_as_map {\n spend(datum: Option<Data>, redeemer: Dict<UUID, Int>, _output_reference: Data, transaction: Data) {\n True\n }\n}\n"
---
{
"title": "test_module.list_pairs_as_map_spend",
"title": "test_module.list_pairs_as_map.spend",
"datum": {
"title": "datum",
"schema": {

View File

@@ -1,9 +1,9 @@
---
source: crates/aiken-project/src/blueprint/validator.rs
description: "Code:\n\nvalidator thing {\n mint(redeemer: Data, policy_id: Data, transaction: Data) {\n True\n }\n}\n// "
description: "Code:\n\nvalidator thing {\n mint(redeemer: Data, policy_id: ByteArray, transaction: Data) {\n True\n }\n}\n// "
---
{
"title": "test_module.thing_mint",
"title": "test_module.thing.mint",
"redeemer": {
"title": "redeemer",
"schema": {

View File

@@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
description: "Code:\n\nvalidator thing(utxo_ref: Int) {\n mint(redeemer: Data, policy_id: ByteArray, transaction: Data) {\n True\n }\n}\n// "
---
{
"title": "test_module.thing_mint",
"title": "test_module.thing.mint",
"redeemer": {
"title": "redeemer",
"schema": {

View File

@@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
description: "Code:\n\npub type Foo {\n foo: Data\n}\n\nvalidator nested_data {\n spend(datum: Option<Foo>, redeemer: Int, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
---
{
"title": "test_module.nested_data_spend",
"title": "test_module.nested_data.spend",
"datum": {
"title": "datum",
"schema": {

View File

@@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
description: "Code:\n\npub type LinkedList<a> {\n Cons(a, LinkedList<a>)\n Nil\n}\n\npub type Foo {\n Foo {\n foo: LinkedList<Bool>,\n }\n Bar {\n bar: Int,\n baz: (ByteArray, List<LinkedList<Int>>)\n }\n}\n\nvalidator recursive_generic_types {\n spend(datum: Option<Foo>, redeemer: LinkedList<Int>, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
---
{
"title": "test_module.recursive_generic_types_spend",
"title": "test_module.recursive_generic_types.spend",
"datum": {
"title": "datum",
"schema": {

View File

@@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
description: "Code:\n\npub type Expr {\n Val(Int)\n Sum(Expr, Expr)\n Mul(Expr, Expr)\n}\n\nvalidator recursive_types {\n spend(datum: Option<Data>, redeemer: Expr, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
---
{
"title": "test_module.recursive_types_spend",
"title": "test_module.recursive_types.spend",
"datum": {
"title": "datum",
"schema": {

View File

@@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
description: "Code:\n\n/// On-chain state\npub type State {\n /// The contestation period as a number of seconds\n contestationPeriod: ContestationPeriod,\n /// List of public key hashes of all participants\n parties: List<Party>,\n utxoHash: Hash<Blake2b_256>,\n}\n\n/// A Hash digest for a given algorithm.\npub type Hash<alg> = ByteArray\n\npub type Blake2b_256 { Blake2b_256 }\n\n/// Whatever\npub type ContestationPeriod {\n /// A positive, non-zero number of seconds.\n ContestationPeriod(Int)\n}\n\npub type Party =\n ByteArray\n\npub type Input {\n CollectCom\n Close\n /// Abort a transaction\n Abort\n}\n\nvalidator simplified_hydra {\n spend(datum: Option<State>, redeemer: Input, output_reference: Data, transaction: Data) {\n True\n }\n}\n"
---
{
"title": "test_module.simplified_hydra_spend",
"title": "test_module.simplified_hydra.spend",
"datum": {
"title": "datum",
"schema": {

View File

@@ -3,7 +3,7 @@ source: crates/aiken-project/src/blueprint/validator.rs
description: "Code:\n\nvalidator tuples {\n spend(datum: Option<(Int, ByteArray)>, redeemer: (Int, Int, Int), output_reference: Data, transaction: Data) {\n True\n }\n}\n"
---
{
"title": "test_module.tuples_spend",
"title": "test_module.tuples.spend",
"datum": {
"title": "datum",
"schema": {

View File

@@ -196,16 +196,7 @@ impl Validator {
};
Ok(Validator {
title: format!(
"{}.{}_{}",
&module.name,
&def.name,
if func.name == well_known::VALIDATOR_ELSE {
"__fallback"
} else {
&func.name
}
),
title: format!("{}.{}.{}", &module.name, &def.name, &func.name,),
description: func.doc.clone(),
parameters,
datum,