fix: generic edge case with tuples that allowed 2 tuples and 3 tuples to use the same monomorphized function.
Also massively reduced the space taken up by generics in scripts when using generics with list and tuples
This commit is contained in:
parent
f934e87b1d
commit
c7af27a6ba
|
@ -27,7 +27,7 @@ use crate::{
|
||||||
gen_uplc::builder::{
|
gen_uplc::builder::{
|
||||||
check_replaceable_opaque_type, convert_opaque_type, erase_opaque_type_operations,
|
check_replaceable_opaque_type, convert_opaque_type, erase_opaque_type_operations,
|
||||||
find_and_replace_generics, find_list_clause_or_default_first, get_arg_type_name,
|
find_and_replace_generics, find_list_clause_or_default_first, get_arg_type_name,
|
||||||
get_generic_id_and_type, get_src_code_by_span, get_variant_name, monomorphize,
|
get_generic_id_and_type, get_generic_variant_name, get_src_code_by_span, monomorphize,
|
||||||
pattern_has_conditions, wrap_as_multi_validator, wrap_validator_condition, CodeGenFunction,
|
pattern_has_conditions, wrap_as_multi_validator, wrap_validator_condition, CodeGenFunction,
|
||||||
SpecificClause,
|
SpecificClause,
|
||||||
},
|
},
|
||||||
|
@ -3547,6 +3547,7 @@ impl<'a> CodeGenerator<'a> {
|
||||||
.push((generic_function_key.clone(), "".to_string()));
|
.push((generic_function_key.clone(), "".to_string()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Code gen functions are already monomorphized
|
||||||
if let Some(func_variants) = function_usage.get_mut(&generic_function_key) {
|
if let Some(func_variants) = function_usage.get_mut(&generic_function_key) {
|
||||||
let (path, _) = func_variants.get_mut("").unwrap();
|
let (path, _) = func_variants.get_mut("").unwrap();
|
||||||
*path = path.common_ancestor(tree_path);
|
*path = path.common_ancestor(tree_path);
|
||||||
|
@ -3606,20 +3607,20 @@ impl<'a> CodeGenerator<'a> {
|
||||||
|
|
||||||
let mono_types: IndexMap<u64, Rc<Type>> = if !function_def_types.is_empty() {
|
let mono_types: IndexMap<u64, Rc<Type>> = if !function_def_types.is_empty() {
|
||||||
function_def_types
|
function_def_types
|
||||||
.into_iter()
|
.iter()
|
||||||
.zip(function_var_types)
|
.zip(function_var_types.iter())
|
||||||
.flat_map(|(func_tipo, var_tipo)| {
|
.flat_map(|(func_tipo, var_tipo)| {
|
||||||
get_generic_id_and_type(&func_tipo, &var_tipo)
|
get_generic_id_and_type(func_tipo, var_tipo)
|
||||||
})
|
})
|
||||||
.collect()
|
.collect()
|
||||||
} else {
|
} else {
|
||||||
IndexMap::new()
|
IndexMap::new()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Don't sort here. Mono types map is already in argument order.
|
||||||
let variant = mono_types
|
let variant = mono_types
|
||||||
.iter()
|
.iter()
|
||||||
.sorted_by(|(id, _), (id2, _)| id.cmp(id2))
|
.map(|(_, tipo)| get_generic_variant_name(tipo))
|
||||||
.map(|(_, tipo)| get_variant_name(tipo))
|
|
||||||
.join("");
|
.join("");
|
||||||
|
|
||||||
*variant_name = variant.clone();
|
*variant_name = variant.clone();
|
||||||
|
|
|
@ -589,7 +589,7 @@ pub fn handle_clause_guard(clause_guard: &TypedClauseGuard) -> AirTree {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_variant_name(t: &Rc<Type>) -> String {
|
pub fn get_generic_variant_name(t: &Rc<Type>) -> String {
|
||||||
if t.is_string() {
|
if t.is_string() {
|
||||||
"_string".to_string()
|
"_string".to_string()
|
||||||
} else if t.is_int() {
|
} else if t.is_int() {
|
||||||
|
@ -605,27 +605,13 @@ pub fn get_variant_name(t: &Rc<Type>) -> String {
|
||||||
} else if t.is_ml_result() {
|
} else if t.is_ml_result() {
|
||||||
"_ml_result".to_string()
|
"_ml_result".to_string()
|
||||||
} else if t.is_map() {
|
} else if t.is_map() {
|
||||||
let mut full_type = vec!["_map".to_string()];
|
"_map".to_string()
|
||||||
let pair_type = &t.get_inner_types()[0];
|
} else if t.is_2_tuple() {
|
||||||
let fst_type = &pair_type.get_inner_types()[0];
|
"_pair".to_string()
|
||||||
let snd_type = &pair_type.get_inner_types()[1];
|
|
||||||
full_type.push(get_variant_name(fst_type));
|
|
||||||
full_type.push(get_variant_name(snd_type));
|
|
||||||
full_type.join("")
|
|
||||||
} else if t.is_list() {
|
} else if t.is_list() {
|
||||||
let full_type = "_list".to_string();
|
"_list".to_string()
|
||||||
let list_type = &t.get_inner_types()[0];
|
|
||||||
|
|
||||||
format!("{}{}", full_type, get_variant_name(list_type))
|
|
||||||
} else if t.is_tuple() {
|
} else if t.is_tuple() {
|
||||||
let mut full_type = vec!["_tuple".to_string()];
|
"_tuple".to_string()
|
||||||
|
|
||||||
let inner_types = t.get_inner_types();
|
|
||||||
|
|
||||||
for arg_type in inner_types {
|
|
||||||
full_type.push(get_variant_name(&arg_type));
|
|
||||||
}
|
|
||||||
full_type.join("")
|
|
||||||
} else if t.is_unbound() {
|
} else if t.is_unbound() {
|
||||||
"_unbound".to_string()
|
"_unbound".to_string()
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -186,15 +186,10 @@ impl Type {
|
||||||
match self {
|
match self {
|
||||||
Self::App {
|
Self::App {
|
||||||
module, name, args, ..
|
module, name, args, ..
|
||||||
} if "List" == name && module.is_empty() => {
|
} if "List" == name && module.is_empty() => args
|
||||||
if let Type::Tuple { elems } = &*args[0] {
|
.first()
|
||||||
elems.len() == 2
|
.expect("unreachable: List should have an inner type")
|
||||||
} else if let Type::Var { tipo } = &*args[0] {
|
.is_2_tuple(),
|
||||||
matches!(tipo.borrow().get_uplc_type(), Some(UplcType::Pair(_, _)))
|
|
||||||
} else {
|
|
||||||
false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Self::Var { tipo } => tipo.borrow().is_map(),
|
Self::Var { tipo } => tipo.borrow().is_map(),
|
||||||
_ => false,
|
_ => false,
|
||||||
}
|
}
|
||||||
|
@ -322,6 +317,12 @@ impl Type {
|
||||||
Self::Var { tipo } => tipo.borrow().get_uplc_type().unwrap(),
|
Self::Var { tipo } => tipo.borrow().get_uplc_type().unwrap(),
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
}
|
}
|
||||||
|
} else if self.is_bls381_12_g1() {
|
||||||
|
UplcType::Bls12_381G1Element
|
||||||
|
} else if self.is_bls381_12_g2() {
|
||||||
|
UplcType::Bls12_381G2Element
|
||||||
|
} else if self.is_ml_result() {
|
||||||
|
UplcType::Bls12_381MlResult
|
||||||
} else {
|
} else {
|
||||||
UplcType::Data
|
UplcType::Data
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340543, nanos_since_epoch = 17966000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181051, nanos_since_epoch = 270212000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"plutusVersion": "v2",
|
"plutusVersion": "v2",
|
||||||
"compiler": {
|
"compiler": {
|
||||||
"name": "Aiken",
|
"name": "Aiken",
|
||||||
"version": "v1.0.21-alpha+631757e"
|
"version": "v1.0.21-alpha+0161cf6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"validators": [
|
"validators": [
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"plutusVersion": "v2",
|
"plutusVersion": "v2",
|
||||||
"compiler": {
|
"compiler": {
|
||||||
"name": "Aiken",
|
"name": "Aiken",
|
||||||
"version": "v1.0.21-alpha+631757e"
|
"version": "v1.0.21-alpha+0161cf6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"validators": [
|
"validators": [
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340540, nanos_since_epoch = 434572000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181048, nanos_since_epoch = 152219000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340543, nanos_since_epoch = 225382000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181051, nanos_since_epoch = 995566000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340554, nanos_since_epoch = 369598000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181064, nanos_since_epoch = 69739000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340543, nanos_since_epoch = 584877000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181052, nanos_since_epoch = 418642000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340557, nanos_since_epoch = 10227000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181066, nanos_since_epoch = 607926000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340555, nanos_since_epoch = 229103000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181064, nanos_since_epoch = 977089000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
# This file was generated by Aiken
|
||||||
|
# You typically do not need to edit this file
|
||||||
|
|
||||||
|
[[requirements]]
|
||||||
|
name = "aiken-lang/stdlib"
|
||||||
|
version = "main"
|
||||||
|
source = "github"
|
||||||
|
|
||||||
|
[[packages]]
|
||||||
|
name = "aiken-lang/stdlib"
|
||||||
|
version = "main"
|
||||||
|
requirements = []
|
||||||
|
source = "github"
|
||||||
|
|
||||||
|
[etags]
|
||||||
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705179899, nanos_since_epoch = 505049000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
|
@ -0,0 +1,8 @@
|
||||||
|
name = "aiken-lang/acceptance_test_069"
|
||||||
|
version = '0.0.0'
|
||||||
|
description = ''
|
||||||
|
|
||||||
|
[[dependencies]]
|
||||||
|
name = 'aiken-lang/stdlib'
|
||||||
|
version = 'main'
|
||||||
|
source = 'github'
|
|
@ -0,0 +1,97 @@
|
||||||
|
pub fn generic_wrap(x: a) -> Option<a> {
|
||||||
|
Some(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn generic_in_list(x: a) -> List<a> {
|
||||||
|
[x]
|
||||||
|
}
|
||||||
|
|
||||||
|
test multiple_wraps() {
|
||||||
|
let a = 1
|
||||||
|
let b = ""
|
||||||
|
let c =
|
||||||
|
[0]
|
||||||
|
let d =
|
||||||
|
[""]
|
||||||
|
let e =
|
||||||
|
[]
|
||||||
|
let f = (1, "")
|
||||||
|
let g = ("", 1)
|
||||||
|
let h = (1, 2, "")
|
||||||
|
let i = None
|
||||||
|
let j = Some("")
|
||||||
|
let k =
|
||||||
|
[(1, "")]
|
||||||
|
let l =
|
||||||
|
[(2, 3, "")]
|
||||||
|
|
||||||
|
and {
|
||||||
|
generic_wrap(a) == Some(a),
|
||||||
|
generic_wrap(b) == Some(b),
|
||||||
|
generic_wrap(c) == Some(c),
|
||||||
|
generic_wrap(d) == Some(d),
|
||||||
|
generic_wrap(e) == Some(e),
|
||||||
|
generic_wrap(f) == Some(f),
|
||||||
|
generic_wrap(g) == Some(g),
|
||||||
|
generic_wrap(h) == Some(h),
|
||||||
|
generic_wrap(i) == Some(i),
|
||||||
|
generic_wrap(j) == Some(j),
|
||||||
|
generic_wrap(k) == Some(k),
|
||||||
|
generic_wrap(l) == Some(l),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
test multiple_in_list() {
|
||||||
|
let a = 1
|
||||||
|
let b = ""
|
||||||
|
let c =
|
||||||
|
[0]
|
||||||
|
let d =
|
||||||
|
[""]
|
||||||
|
let e =
|
||||||
|
[]
|
||||||
|
let f = (1, "")
|
||||||
|
let g = ("", 1)
|
||||||
|
let h = (1, 2, "")
|
||||||
|
let i = None
|
||||||
|
let j = Some("")
|
||||||
|
let k =
|
||||||
|
[(1, "")]
|
||||||
|
let l =
|
||||||
|
[(2, 3, "")]
|
||||||
|
|
||||||
|
and {
|
||||||
|
generic_in_list(a) == [a],
|
||||||
|
generic_in_list(b) == [b],
|
||||||
|
generic_in_list(c) == [c],
|
||||||
|
generic_in_list(d) == [d],
|
||||||
|
generic_in_list(e) == [e],
|
||||||
|
generic_in_list(f) == [f],
|
||||||
|
generic_in_list(g) == [g],
|
||||||
|
generic_in_list(h) == [h],
|
||||||
|
generic_in_list(i) == [i],
|
||||||
|
generic_in_list(j) == [j],
|
||||||
|
generic_in_list(k) == [k],
|
||||||
|
generic_in_list(l) == [l],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
test edge_case_wrap() {
|
||||||
|
let a = (1, (1, 1, 1))
|
||||||
|
let b = (1, (1, 1), 1)
|
||||||
|
|
||||||
|
and {
|
||||||
|
generic_wrap(a) == Some(a),
|
||||||
|
generic_wrap(b) == Some(b),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
test edge_case_in_list() {
|
||||||
|
let a = (1, (1, 1, 1))
|
||||||
|
let b = (1, (1, 1), 1)
|
||||||
|
|
||||||
|
and {
|
||||||
|
generic_in_list(a) == [a],
|
||||||
|
generic_in_list(b) == [b],
|
||||||
|
}
|
||||||
|
}
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340537, nanos_since_epoch = 228257000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181045, nanos_since_epoch = 255817000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"plutusVersion": "v2",
|
"plutusVersion": "v2",
|
||||||
"compiler": {
|
"compiler": {
|
||||||
"name": "Aiken",
|
"name": "Aiken",
|
||||||
"version": "v1.0.21-alpha+631757e"
|
"version": "v1.0.21-alpha+0161cf6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"validators": [
|
"validators": [
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340550, nanos_since_epoch = 584623000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181059, nanos_since_epoch = 86246000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340547, nanos_since_epoch = 394912000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181056, nanos_since_epoch = 151986000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340535, nanos_since_epoch = 549750000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181044, nanos_since_epoch = 445717000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"plutusVersion": "v2",
|
"plutusVersion": "v2",
|
||||||
"compiler": {
|
"compiler": {
|
||||||
"name": "Aiken",
|
"name": "Aiken",
|
||||||
"version": "v1.0.21-alpha+631757e"
|
"version": "v1.0.21-alpha+0161cf6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"validators": [
|
"validators": [
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"plutusVersion": "v2",
|
"plutusVersion": "v2",
|
||||||
"compiler": {
|
"compiler": {
|
||||||
"name": "Aiken",
|
"name": "Aiken",
|
||||||
"version": "v1.0.21-alpha+631757e"
|
"version": "v1.0.21-alpha+0161cf6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"validators": [
|
"validators": [
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340537, nanos_since_epoch = 243457000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181045, nanos_since_epoch = 361146000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340535, nanos_since_epoch = 540401000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181044, nanos_since_epoch = 445541000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340536, nanos_since_epoch = 374601000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181045, nanos_since_epoch = 301366000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340537, nanos_since_epoch = 11039000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181045, nanos_since_epoch = 320068000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340550, nanos_since_epoch = 288401000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181059, nanos_since_epoch = 76573000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"plutusVersion": "v2",
|
"plutusVersion": "v2",
|
||||||
"compiler": {
|
"compiler": {
|
||||||
"name": "Aiken",
|
"name": "Aiken",
|
||||||
"version": "v1.0.21-alpha+631757e"
|
"version": "v1.0.21-alpha+0161cf6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"validators": [
|
"validators": [
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340546, nanos_since_epoch = 592776000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181055, nanos_since_epoch = 546831000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340551, nanos_since_epoch = 543964000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181060, nanos_since_epoch = 328311000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704340546, nanos_since_epoch = 51186000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181054, nanos_since_epoch = 373675000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -13,4 +13,4 @@ requirements = []
|
||||||
source = "github"
|
source = "github"
|
||||||
|
|
||||||
[etags]
|
[etags]
|
||||||
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1704341807, nanos_since_epoch = 247364000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
"aiken-lang/stdlib@main" = [{ secs_since_epoch = 1705181303, nanos_since_epoch = 777227000 }, "cf946239d3dd481ed41f20e56bf24910b5229ea35aa171a708edc2a47fc20a7b"]
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"plutusVersion": "v2",
|
"plutusVersion": "v2",
|
||||||
"compiler": {
|
"compiler": {
|
||||||
"name": "Aiken",
|
"name": "Aiken",
|
||||||
"version": "v1.0.21-alpha+631757e"
|
"version": "v1.0.21-alpha+0161cf6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"validators": [
|
"validators": [
|
||||||
|
|
Loading…
Reference in New Issue