fix: need to return deserialization error here
This commit is contained in:
parent
7de465ad35
commit
e3f2fb5393
|
@ -5,6 +5,7 @@
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- **aiken-lang**: needed to assert_no_assignment in when and if blocks
|
- **aiken-lang**: needed to assert_no_assignment in when and if blocks
|
||||||
|
- **uplc**: need to return deserialization error in some cases for the machine builtins
|
||||||
|
|
||||||
## v1.0.1-alpha - 2023-04-16
|
## v1.0.1-alpha - 2023-04-16
|
||||||
|
|
||||||
|
|
|
@ -833,8 +833,13 @@ impl DefaultFunction {
|
||||||
Ok(value)
|
Ok(value)
|
||||||
}
|
}
|
||||||
DefaultFunction::UnConstrData => match &args[0] {
|
DefaultFunction::UnConstrData => match &args[0] {
|
||||||
Value::Con(inner) => {
|
v @ Value::Con(inner) => {
|
||||||
let Constant::Data(PlutusData::Constr(c)) = inner.as_ref() else {unreachable!()};
|
let Constant::Data(PlutusData::Constr(c)) = inner.as_ref() else {
|
||||||
|
return Err(Error::DeserialisationError(
|
||||||
|
"UnConstrData".to_string(),
|
||||||
|
v.clone(),
|
||||||
|
))
|
||||||
|
};
|
||||||
|
|
||||||
let constant = Constant::ProtoPair(
|
let constant = Constant::ProtoPair(
|
||||||
Type::Integer,
|
Type::Integer,
|
||||||
|
@ -866,8 +871,13 @@ impl DefaultFunction {
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
DefaultFunction::UnMapData => match &args[0] {
|
DefaultFunction::UnMapData => match &args[0] {
|
||||||
Value::Con(inner) => {
|
v @ Value::Con(inner) => {
|
||||||
let Constant::Data(PlutusData::Map(m)) = inner.as_ref() else {unreachable!()};
|
let Constant::Data(PlutusData::Map(m)) = inner.as_ref() else {
|
||||||
|
return Err(Error::DeserialisationError(
|
||||||
|
"UnMapData".to_string(),
|
||||||
|
v.clone(),
|
||||||
|
))
|
||||||
|
};
|
||||||
|
|
||||||
let constant = Constant::ProtoList(
|
let constant = Constant::ProtoList(
|
||||||
Type::Pair(Type::Data.into(), Type::Data.into()),
|
Type::Pair(Type::Data.into(), Type::Data.into()),
|
||||||
|
@ -894,8 +904,13 @@ impl DefaultFunction {
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
DefaultFunction::UnListData => match &args[0] {
|
DefaultFunction::UnListData => match &args[0] {
|
||||||
Value::Con(inner) => {
|
v @ Value::Con(inner) => {
|
||||||
let Constant::Data(PlutusData::Array(l)) = inner.as_ref() else {unreachable!()};
|
let Constant::Data(PlutusData::Array(l)) = inner.as_ref() else {
|
||||||
|
return Err(Error::DeserialisationError(
|
||||||
|
"UnListData".to_string(),
|
||||||
|
v.clone(),
|
||||||
|
))
|
||||||
|
};
|
||||||
|
|
||||||
let value = Value::list(
|
let value = Value::list(
|
||||||
Type::Data,
|
Type::Data,
|
||||||
|
@ -913,8 +928,13 @@ impl DefaultFunction {
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
DefaultFunction::UnIData => match &args[0] {
|
DefaultFunction::UnIData => match &args[0] {
|
||||||
Value::Con(inner) => {
|
v @ Value::Con(inner) => {
|
||||||
let Constant::Data(PlutusData::BigInt(b)) = inner.as_ref() else {unreachable!()};
|
let Constant::Data(PlutusData::BigInt(b)) = inner.as_ref() else {
|
||||||
|
return Err(Error::DeserialisationError(
|
||||||
|
"UnIData".to_string(),
|
||||||
|
v.clone(),
|
||||||
|
))
|
||||||
|
};
|
||||||
|
|
||||||
let value = Value::integer(from_pallas_bigint(b));
|
let value = Value::integer(from_pallas_bigint(b));
|
||||||
|
|
||||||
|
@ -926,8 +946,13 @@ impl DefaultFunction {
|
||||||
)),
|
)),
|
||||||
},
|
},
|
||||||
DefaultFunction::UnBData => match &args[0] {
|
DefaultFunction::UnBData => match &args[0] {
|
||||||
Value::Con(inner) => {
|
v @ Value::Con(inner) => {
|
||||||
let Constant::Data(PlutusData::BoundedBytes(b)) = inner.as_ref() else {unreachable!()};
|
let Constant::Data(PlutusData::BoundedBytes(b)) = inner.as_ref() else {
|
||||||
|
return Err(Error::DeserialisationError(
|
||||||
|
"UnBData".to_string(),
|
||||||
|
v.clone(),
|
||||||
|
))
|
||||||
|
};
|
||||||
|
|
||||||
let value = Value::byte_string(b.to_vec());
|
let value = Value::byte_string(b.to_vec());
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue