You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
let input = hex!("089142debb13c461f61523586a60732d8b69c5b38a3380a74da7b2961d867dbf2d5fc7bbc013c16d7945f190b232eacc25da675c0eb093fe6b9f1b4b4e107b3625f8c89ea3437f44f8fc8b6bfbb6312074dc6f983809a5e809ff4e1d076dd5850b38c7ced6e4daef9c4347f370d6d8b58f4b1d8dc61a3c59d651a0644a2a27cf");
1998
+
let expected = hex!("0a6678fd675aa4d8f0d03a1feb921a27f38ebdcb860cc083653519655acd6d79172fd5b3b2bfdd44e43bcec3eace9347608f9f0a16f1e184cb3f52e6f259cbeb");
1999
+
letmut call_setup = CallSetup::<T>::default();
2000
+
let(mut ext, _) = call_setup.ext();
2001
+
2002
+
let result;
2003
+
2004
+
#[block]
2005
+
{
2006
+
result = pure_precompiles::Bn128Add::execute(ext.gas_meter_mut(),&input);
2007
+
}
2008
+
2009
+
assert_eq!(result.unwrap().data, expected);
2010
+
}
2011
+
2012
+
#[benchmark(pov_mode = Measured)]
2013
+
fnbn128_mul(){
2014
+
use hex_literal::hex;
2015
+
let input = hex!("089142debb13c461f61523586a60732d8b69c5b38a3380a74da7b2961d867dbf2d5fc7bbc013c16d7945f190b232eacc25da675c0eb093fe6b9f1b4b4e107b36ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
2016
+
let expected = hex!("0bf982b98a2757878c051bfe7eee228b12bc69274b918f08d9fcb21e9184ddc10b17c77cbf3c19d5d27e18cbd4a8c336afb488d0e92c18d56e64dd4ea5c437e6");
2017
+
letmut call_setup = CallSetup::<T>::default();
2018
+
let(mut ext, _) = call_setup.ext();
2019
+
2020
+
let result;
2021
+
2022
+
#[block]
2023
+
{
2024
+
result = pure_precompiles::Bn128Mul::execute(ext.gas_meter_mut(),&input);
let input = pure_precompiles::generate_random_ecpairs(n asusize);
2034
+
letmut call_setup = CallSetup::<T>::default();
2035
+
let(mut ext, _) = call_setup.ext();
2036
+
2037
+
let result;
2038
+
#[block]
2039
+
{
2040
+
result = pure_precompiles::Bn128Pairing::execute(ext.gas_meter_mut(),&input);
2041
+
}
2042
+
assert_ok!(result);
2043
+
}
2044
+
2045
+
// `n`: number of rounds to perform
2046
+
#[benchmark(pov_mode = Measured)]
2047
+
fnblake2f(n:Linear<0,1200>){
2048
+
use hex_literal::hex;
2049
+
let input = hex!("48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa5d182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b61626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000001");
2050
+
let input = n.to_be_bytes().to_vec().into_iter().chain(input.to_vec()).collect::<Vec<_>>();
2051
+
letmut call_setup = CallSetup::<T>::default();
2052
+
let(mut ext, _) = call_setup.ext();
2053
+
2054
+
let result;
2055
+
#[block]
2056
+
{
2057
+
result = pure_precompiles::Blake2F::execute(ext.gas_meter_mut(),&input);
2058
+
}
2059
+
assert_ok!(result);
2060
+
}
2061
+
1960
2062
// Only calling the function itself for the list of
1961
2063
// generated different ECDSA keys.
1962
2064
// This is a slow call: We reduce the number of runs.
0 commit comments