Skip to content

Commit edd4d7d

Browse files
committed
feat: Disable jet_check_sig_verify
Fixes BlockstreamResearch#66
1 parent 8a9c922 commit edd4d7d

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

codegen/src/jet.rs

+9-3
Original file line numberDiff line numberDiff line change
@@ -847,8 +847,8 @@ const ELLIPTIC_CURVE_FUNCTIONS: [Elements; 40] = [
847847
Elements::Decompress, Elements::FeAdd, Elements::FeInvert, Elements::FeIsOdd, Elements::FeIsZero, Elements::FeMultiply, Elements::FeMultiplyBeta, Elements::FeNegate, Elements::FeNormalize, Elements::FeSquare, Elements::FeSquareRoot, Elements::GeIsOnCurve, Elements::GeNegate, Elements::GejAdd, Elements::GejDouble, Elements::GejEquiv, Elements::GejGeAdd, Elements::GejGeAddEx, Elements::GejGeEquiv, Elements::GejInfinity, Elements::GejIsInfinity, Elements::GejIsOnCurve, Elements::GejNegate, Elements::GejNormalize, Elements::GejRescale, Elements::GejXEquiv, Elements::GejYIsOdd, Elements::Generate, Elements::LinearCombination1, Elements::LinearVerify1, Elements::PointVerify1, Elements::ScalarAdd, Elements::ScalarInvert, Elements::ScalarIsZero, Elements::ScalarMultiply, Elements::ScalarMultiplyLambda, Elements::ScalarNegate, Elements::ScalarNormalize, Elements::ScalarSquare, Elements::Scale
848848
];
849849
#[rustfmt::skip]
850-
const DIGITAL_SIGNATURES: [Elements; 2] = [
851-
Elements::Bip0340Verify, Elements::CheckSigVerify
850+
const DIGITAL_SIGNATURES: [Elements; 1] = [
851+
Elements::Bip0340Verify
852852
];
853853
#[rustfmt::skip]
854854
const BITCOIN: [Elements; 2] = [
@@ -871,6 +871,10 @@ const ISSUANCE: [Elements; 8] = [
871871
const TRANSACTION: [Elements; 49] = [
872872
Elements::CurrentAmount, Elements::CurrentAnnexHash, Elements::CurrentAsset, Elements::CurrentIndex, Elements::CurrentIssuanceAssetAmount, Elements::CurrentIssuanceAssetProof, Elements::CurrentIssuanceTokenAmount, Elements::CurrentIssuanceTokenProof, Elements::CurrentNewIssuanceContract, Elements::CurrentPegin, Elements::CurrentPrevOutpoint, Elements::CurrentReissuanceBlinding, Elements::CurrentReissuanceEntropy, Elements::CurrentScriptHash, Elements::CurrentScriptSigHash, Elements::CurrentSequence, Elements::GenesisBlockHash, Elements::InputAmount, Elements::InputAnnexHash, Elements::InputAsset, Elements::InputPegin, Elements::InputPrevOutpoint, Elements::InputScriptHash, Elements::InputScriptSigHash, Elements::InputSequence, Elements::InternalKey, Elements::IssuanceAssetAmount, Elements::IssuanceAssetProof, Elements::IssuanceTokenAmount, Elements::IssuanceTokenProof, Elements::LockTime, Elements::NewIssuanceContract, Elements::NumInputs, Elements::NumOutputs, Elements::OutputAmount, Elements::OutputAsset, Elements::OutputIsFee, Elements::OutputNonce, Elements::OutputNullDatum, Elements::OutputRangeProof, Elements::OutputScriptHash, Elements::OutputSurjectionProof, Elements::ReissuanceBlinding, Elements::ReissuanceEntropy, Elements::ScriptCMR, Elements::TapleafVersion, Elements::Tappath, Elements::TotalFee, Elements::Version
873873
];
874+
#[rustfmt::skip]
875+
const DISABLED: [Elements; 1] = [
876+
Elements::CheckSigVerify
877+
];
874878

875879
#[cfg(test)]
876880
mod tests {
@@ -897,7 +901,9 @@ mod tests {
897901
None => {}
898902
}
899903
}
900-
None => panic!("{jet} is not categorized"),
904+
None => {
905+
assert!(DISABLED.contains(&jet), "{jet} is not categorized")
906+
}
901907
}
902908
}
903909
}

src/ast.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -963,10 +963,12 @@ impl AbstractSyntaxTree for CallName {
963963
scope: &mut Scope,
964964
) -> Result<Self, RichError> {
965965
match &from.name {
966-
parse::CallName::Jet(name) => Elements::from_str(name.as_inner())
967-
.map_err(|_| Error::JetDoesNotExist(name.clone()))
968-
.map(Self::Jet)
969-
.with_span(from),
966+
parse::CallName::Jet(name) => match Elements::from_str(name.as_inner()) {
967+
Ok(Elements::CheckSigVerify) | Err(_) => {
968+
Err(Error::JetDoesNotExist(name.clone())).with_span(from)
969+
}
970+
Ok(jet) => Ok(Self::Jet(jet)),
971+
},
970972
parse::CallName::UnwrapLeft(right_ty) => scope
971973
.resolve(right_ty)
972974
.map(Self::UnwrapLeft)

0 commit comments

Comments
 (0)