Skip to content

Commit

Permalink
Make blueprint generation deterministic
Browse files Browse the repository at this point in the history
  Sort validators before iterating on them.
  • Loading branch information
KtorZ committed Mar 17, 2023
1 parent 5e3a902 commit 660d219
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 17 deletions.
13 changes: 13 additions & 0 deletions crates/aiken-project/src/module.rs
Expand Up @@ -268,6 +268,19 @@ impl CheckedModules {
}
}

items.sort_by(|left, right| {
(
left.0.package.to_string(),
left.0.name.to_string(),
left.1.fun.name.to_string(),
)
.cmp(&(
right.0.package.to_string(),
right.0.name.to_string(),
right.1.fun.name.to_string(),
))
});

items.into_iter()
}

Expand Down
34 changes: 17 additions & 17 deletions examples/acceptance_tests/036/plutus.json
Expand Up @@ -5,23 +5,6 @@
"plutusVersion": "v2"
},
"validators": [
{
"title": "spend.spend",
"datum": {
"title": "_datum",
"schema": {
"$ref": "#/definitions/Data"
}
},
"redeemer": {
"title": "_redeemer",
"schema": {
"$ref": "#/definitions/Data"
}
},
"compiledCode": "59015f010000323232323232323232322225333006323232323233001003232323322323232323330140014a0944004c94ccc05c0045288a5000133223233223253330173370e00290010801099190009bab301e00130110033018375400400297adef6c6033223300800200100200100100237566601260140049001001a441050000000000003001001222533301300213374a900125eb804c8c8c8c94ccc04ccdc7802800899ba548000cc060dd300125eb804ccc01c01c00c014dd7180a0019bab3014002301700330150023001001222533301000214a026464a66601c600600429444ccc01401400400cc05000cc048008dd6198009801198009801001a400090021119199800800a4000006444666601866e1c0100080488ccc010010cdc0001a40046028002002460146ea8004526163001001222533300800214984cc014c004c028008ccc00c00cc02c0080055cd2b9b5573aaae7955cfaba05742ae89",
"hash": "3f46b921ead33594e1da4afa1f1ba31807c0d8deca029f96fe9fe394"
},
{
"title": "spend.mint",
"redeemer": {
Expand All @@ -40,6 +23,23 @@
],
"compiledCode": "58e301000032323232323232323232222533300632323232533300a3370e0029000099251300400214a060166ea8004c8c8cc004dd6198019802198019802002a40009000119baf33004300500148000020c0040048894ccc03c0084cdd2a400497ae013232533300d300300213374a90001980900125eb804ccc01401400400cc04c00cc04400888c8ccc0040052000003222333300c3370e008004024466600800866e0000d200230140010012300a37540022930b180080091129998040010a4c26600a600260140046660060066016004002ae695cdaab9d5573caae7d5d02ba157441",
"hash": "5a5aef5525783c007ee817dd5869ee67000ae5fd730815af7d87ec97"
},
{
"title": "spend.spend",
"datum": {
"title": "_datum",
"schema": {
"$ref": "#/definitions/Data"
}
},
"redeemer": {
"title": "_redeemer",
"schema": {
"$ref": "#/definitions/Data"
}
},
"compiledCode": "59015f010000323232323232323232322225333006323232323233001003232323322323232323330140014a0944004c94ccc05c0045288a5000133223233223253330173370e00290010801099190009bab301e00130110033018375400400297adef6c6033223300800200100200100100237566601260140049001001a441050000000000003001001222533301300213374a900125eb804c8c8c8c94ccc04ccdc7802800899ba548000cc060dd300125eb804ccc01c01c00c014dd7180a0019bab3014002301700330150023001001222533301000214a026464a66601c600600429444ccc01401400400cc05000cc048008dd6198009801198009801001a400090021119199800800a4000006444666601866e1c0100080488ccc010010cdc0001a40046028002002460146ea8004526163001001222533300800214984cc014c004c028008ccc00c00cc02c0080055cd2b9b5573aaae7955cfaba05742ae89",
"hash": "3f46b921ead33594e1da4afa1f1ba31807c0d8deca029f96fe9fe394"
}
],
"definitions": {
Expand Down

0 comments on commit 660d219

Please sign in to comment.