start making data with builtins
This commit is contained in:
parent
1a09a34873
commit
00cc9f93d5
|
@ -1,5 +1,5 @@
|
||||||
(program
|
(program
|
||||||
1.0.0
|
1.0.0
|
||||||
(con (pair bool integer) (True, 1))
|
[(builtin iData) (con integer 1)]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -823,7 +823,10 @@ impl BuiltinCosts {
|
||||||
DefaultFunction::ConstrData => todo!(),
|
DefaultFunction::ConstrData => todo!(),
|
||||||
DefaultFunction::MapData => todo!(),
|
DefaultFunction::MapData => todo!(),
|
||||||
DefaultFunction::ListData => todo!(),
|
DefaultFunction::ListData => todo!(),
|
||||||
DefaultFunction::IData => todo!(),
|
DefaultFunction::IData => ExBudget {
|
||||||
|
mem: self.i_data.mem.cost(args[0].to_ex_mem()),
|
||||||
|
cpu: self.i_data.cpu.cost(args[0].to_ex_mem()),
|
||||||
|
},
|
||||||
DefaultFunction::BData => todo!(),
|
DefaultFunction::BData => todo!(),
|
||||||
DefaultFunction::UnConstrData => ExBudget {
|
DefaultFunction::UnConstrData => ExBudget {
|
||||||
mem: self.un_constr_data.mem.cost(args[0].to_ex_mem()),
|
mem: self.un_constr_data.mem.cost(args[0].to_ex_mem()),
|
||||||
|
|
|
@ -118,7 +118,7 @@ impl DefaultFunction {
|
||||||
DefaultFunction::ConstrData => todo!(),
|
DefaultFunction::ConstrData => todo!(),
|
||||||
DefaultFunction::MapData => todo!(),
|
DefaultFunction::MapData => todo!(),
|
||||||
DefaultFunction::ListData => todo!(),
|
DefaultFunction::ListData => todo!(),
|
||||||
DefaultFunction::IData => todo!(),
|
DefaultFunction::IData => 1,
|
||||||
DefaultFunction::BData => todo!(),
|
DefaultFunction::BData => todo!(),
|
||||||
DefaultFunction::UnConstrData => 1,
|
DefaultFunction::UnConstrData => 1,
|
||||||
DefaultFunction::UnMapData => 1,
|
DefaultFunction::UnMapData => 1,
|
||||||
|
@ -177,7 +177,7 @@ impl DefaultFunction {
|
||||||
DefaultFunction::ConstrData => todo!(),
|
DefaultFunction::ConstrData => todo!(),
|
||||||
DefaultFunction::MapData => todo!(),
|
DefaultFunction::MapData => todo!(),
|
||||||
DefaultFunction::ListData => todo!(),
|
DefaultFunction::ListData => todo!(),
|
||||||
DefaultFunction::IData => todo!(),
|
DefaultFunction::IData => 0,
|
||||||
DefaultFunction::BData => todo!(),
|
DefaultFunction::BData => todo!(),
|
||||||
DefaultFunction::UnConstrData => 0,
|
DefaultFunction::UnConstrData => 0,
|
||||||
DefaultFunction::UnMapData => 0,
|
DefaultFunction::UnMapData => 0,
|
||||||
|
@ -280,7 +280,7 @@ impl DefaultFunction {
|
||||||
DefaultFunction::ConstrData => todo!(),
|
DefaultFunction::ConstrData => todo!(),
|
||||||
DefaultFunction::MapData => todo!(),
|
DefaultFunction::MapData => todo!(),
|
||||||
DefaultFunction::ListData => todo!(),
|
DefaultFunction::ListData => todo!(),
|
||||||
DefaultFunction::IData => todo!(),
|
DefaultFunction::IData => arg.expect_type(Type::Integer),
|
||||||
DefaultFunction::BData => todo!(),
|
DefaultFunction::BData => todo!(),
|
||||||
DefaultFunction::UnConstrData => arg.expect_type(Type::Data),
|
DefaultFunction::UnConstrData => arg.expect_type(Type::Data),
|
||||||
DefaultFunction::UnMapData => arg.expect_type(Type::Data),
|
DefaultFunction::UnMapData => arg.expect_type(Type::Data),
|
||||||
|
@ -627,7 +627,12 @@ impl DefaultFunction {
|
||||||
DefaultFunction::ConstrData => todo!(),
|
DefaultFunction::ConstrData => todo!(),
|
||||||
DefaultFunction::MapData => todo!(),
|
DefaultFunction::MapData => todo!(),
|
||||||
DefaultFunction::ListData => todo!(),
|
DefaultFunction::ListData => todo!(),
|
||||||
DefaultFunction::IData => todo!(),
|
DefaultFunction::IData => match &args[0] {
|
||||||
|
Value::Con(Constant::Integer(i)) => Ok(Value::Con(Constant::Data(
|
||||||
|
PlutusData::BigInt(BigInt::Int((*i as i64).try_into().unwrap())),
|
||||||
|
))),
|
||||||
|
_ => unreachable!(),
|
||||||
|
},
|
||||||
DefaultFunction::BData => todo!(),
|
DefaultFunction::BData => todo!(),
|
||||||
DefaultFunction::UnConstrData => match &args[0] {
|
DefaultFunction::UnConstrData => match &args[0] {
|
||||||
Value::Con(Constant::Data(PlutusData::Constr(c))) => {
|
Value::Con(Constant::Data(PlutusData::Constr(c))) => {
|
||||||
|
|
|
@ -202,7 +202,7 @@ impl Constant {
|
||||||
.append(RcDoc::text(","))
|
.append(RcDoc::text(","))
|
||||||
.append(right.to_doc_list())
|
.append(right.to_doc_list())
|
||||||
.append(RcDoc::text(")")),
|
.append(RcDoc::text(")")),
|
||||||
Constant::Data(_) => todo!(),
|
d @ Constant::Data(_) => RcDoc::text("data ").append(d.to_doc_list()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue