verify signature changed name and cost

This commit is contained in:
Kasey White 2022-08-22 21:18:22 -04:00 committed by Kasey White
parent c03d3e3604
commit 3f6ad6be60
3 changed files with 36 additions and 16 deletions

View File

@ -31,7 +31,7 @@ pub enum DefaultFunction {
Sha2_256 = 18,
Sha3_256 = 19,
Blake2b_256 = 20,
VerifySignature = 21,
VerifyEd25519Signature = 21,
VerifyEcdsaSecp256k1Signature = 52,
VerifySchnorrSecp256k1Signature = 53,
// String functions
@ -134,8 +134,8 @@ impl TryFrom<u8> for DefaultFunction {
v if v == DefaultFunction::Sha2_256 as u8 => Ok(DefaultFunction::Sha2_256),
v if v == DefaultFunction::Sha3_256 as u8 => Ok(DefaultFunction::Sha3_256),
v if v == DefaultFunction::Blake2b_256 as u8 => Ok(DefaultFunction::Blake2b_256),
v if v == DefaultFunction::VerifySignature as u8 => {
Ok(DefaultFunction::VerifySignature)
v if v == DefaultFunction::VerifyEd25519Signature as u8 => {
Ok(DefaultFunction::VerifyEd25519Signature)
}
v if v == DefaultFunction::VerifyEcdsaSecp256k1Signature as u8 => {
Ok(DefaultFunction::VerifyEcdsaSecp256k1Signature)
@ -223,7 +223,7 @@ impl FromStr for DefaultFunction {
"sha2_256" => Ok(Sha2_256),
"sha3_256" => Ok(Sha3_256),
"blake2b_256" => Ok(Blake2b_256),
"verifySignature" => Ok(VerifySignature),
"verifyEd25519Signature" => Ok(VerifyEd25519Signature),
"verifyEcdsaSecp256k1Signature" => Ok(VerifyEcdsaSecp256k1Signature),
"verifySchnorrSecp256k1Signature" => Ok(VerifySchnorrSecp256k1Signature),
"appendString" => Ok(AppendString),
@ -287,7 +287,7 @@ impl Display for DefaultFunction {
Sha2_256 => write!(f, "sha2_256"),
Sha3_256 => write!(f, "sha3_256"),
Blake2b_256 => write!(f, "blake2b_256"),
VerifySignature => write!(f, "verifySignature"),
VerifyEd25519Signature => write!(f, "verifySignature"),
VerifyEcdsaSecp256k1Signature => write!(f, "verifyEcdsaSecp256k1Signature"),
VerifySchnorrSecp256k1Signature => write!(f, "verifySchnorrSecp256k1Signature"),
AppendString => write!(f, "appendString"),

View File

@ -277,13 +277,13 @@ impl Default for BuiltinCosts {
},
append_byte_string: CostingFun {
mem: TwoArguments::AddedSizes(AddedSizes {
intercept: 1000,
slope: 571,
}),
cpu: TwoArguments::AddedSizes(AddedSizes {
intercept: 0,
slope: 1,
}),
cpu: TwoArguments::AddedSizes(AddedSizes {
intercept: 1000,
slope: 571,
}),
},
cons_byte_string: CostingFun {
mem: TwoArguments::AddedSizes(AddedSizes {
@ -359,8 +359,8 @@ impl Default for BuiltinCosts {
verify_ed25519_signature: CostingFun {
mem: ThreeArguments::ConstantCost(10),
cpu: ThreeArguments::LinearInZ(LinearSize {
intercept: 41047009,
slope: 18816,
intercept: 57996947,
slope: 18975,
}),
},
verify_ecdsa_secp256k1_signature: CostingFun {
@ -693,7 +693,18 @@ impl BuiltinCosts {
mem: self.blake2b_256.mem.cost(args[0].to_ex_mem()),
cpu: self.blake2b_256.cpu.cost(args[0].to_ex_mem()),
},
DefaultFunction::VerifySignature => todo!(),
DefaultFunction::VerifyEd25519Signature => ExBudget {
mem: self.verify_ed25519_signature.mem.cost(
args[0].to_ex_mem(),
args[1].to_ex_mem(),
args[2].to_ex_mem(),
),
cpu: self.verify_ed25519_signature.cpu.cost(
args[0].to_ex_mem(),
args[1].to_ex_mem(),
args[2].to_ex_mem(),
),
},
DefaultFunction::VerifyEcdsaSecp256k1Signature => todo!(),
DefaultFunction::VerifySchnorrSecp256k1Signature => todo!(),
DefaultFunction::AppendString => ExBudget {

View File

@ -93,7 +93,7 @@ impl DefaultFunction {
DefaultFunction::Sha2_256 => 1,
DefaultFunction::Sha3_256 => 1,
DefaultFunction::Blake2b_256 => 1,
DefaultFunction::VerifySignature => todo!(),
DefaultFunction::VerifyEd25519Signature => 3,
DefaultFunction::VerifyEcdsaSecp256k1Signature => todo!(),
DefaultFunction::VerifySchnorrSecp256k1Signature => todo!(),
DefaultFunction::AppendString => 2,
@ -152,7 +152,7 @@ impl DefaultFunction {
DefaultFunction::Sha2_256 => 0,
DefaultFunction::Sha3_256 => 0,
DefaultFunction::Blake2b_256 => 0,
DefaultFunction::VerifySignature => todo!(),
DefaultFunction::VerifyEd25519Signature => 0,
DefaultFunction::VerifyEcdsaSecp256k1Signature => todo!(),
DefaultFunction::VerifySchnorrSecp256k1Signature => todo!(),
DefaultFunction::AppendString => 0,
@ -229,7 +229,7 @@ impl DefaultFunction {
DefaultFunction::Sha2_256 => arg.expect_type(Type::ByteString),
DefaultFunction::Sha3_256 => arg.expect_type(Type::ByteString),
DefaultFunction::Blake2b_256 => arg.expect_type(Type::ByteString),
DefaultFunction::VerifySignature => todo!(),
DefaultFunction::VerifyEd25519Signature => arg.expect_type(Type::ByteString),
DefaultFunction::VerifyEcdsaSecp256k1Signature => todo!(),
DefaultFunction::VerifySchnorrSecp256k1Signature => todo!(),
DefaultFunction::AppendString => arg.expect_type(Type::String),
@ -459,7 +459,16 @@ impl DefaultFunction {
}
_ => unreachable!(),
},
DefaultFunction::VerifySignature => todo!(),
DefaultFunction::VerifyEd25519Signature => match (&args[0], &args[1], &args[2]) {
(
Value::Con(Constant::ByteString(_arg1)),
Value::Con(Constant::ByteString(_arg2)),
Value::Con(Constant::ByteString(_arg3)),
) => {
todo!()
}
_ => unreachable!(),
},
DefaultFunction::VerifyEcdsaSecp256k1Signature => todo!(),
DefaultFunction::VerifySchnorrSecp256k1Signature => todo!(),
DefaultFunction::AppendString => match (&args[0], &args[1]) {