mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 21:01:05 +00:00
Add frame_support::crypto::ecdsa::Public.to_eth_address() (k256-based) and use it in pallets (#11087)
* `ecdsa::Public::to_eth_address` + test, beefy-mmr `convert()` to use it, contracts Ext interface * `seal_ecdsa_to_eth_address` all but benchmark done * `seal_ecdsa_to_eth_address` + wasm test * `seal_ecdsa_to_eth_address` + benchmark * fixed dependencies * Apply suggestions from code review Co-authored-by: Alexander Theißen <alex.theissen@me.com> * fixes from review #1 * ecdsa::Public(*pk).to_eth_address() moved to frame_support and contracts to use it * beefy-mmr to use newly added frame_support function for convertion * a doc fix * import fix * benchmark fix-1 (still fails) * benchmark fixed * Apply suggestions from code review Co-authored-by: Alexander Theißen <alex.theissen@me.com> * fixes on Alex T feedback * to_eth_address() put into extension trait for sp-core::ecdsa::Public * Update frame/support/src/crypto/ecdsa.rs Co-authored-by: Alexander Theißen <alex.theissen@me.com> * Update frame/contracts/src/wasm/mod.rs Co-authored-by: Alexander Theißen <alex.theissen@me.com> * fixes on issues pointed out in review * benchmark errors fixed * fmt fix * EcdsaRecoverFailed err docs updated * Apply suggestions from code review Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> * make applied suggestions compile * get rid of unwrap() in runtime * Remove expect Co-authored-by: Alexander Theißen <alex.theissen@me.com> Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> Co-authored-by: Bastian Köcher <info@kchr.de>
This commit is contained in:
committed by
GitHub
parent
c6e452108b
commit
9676ce6f36
@@ -103,6 +103,7 @@ pub trait WeightInfo {
|
||||
fn seal_hash_blake2_128(r: u32, ) -> Weight;
|
||||
fn seal_hash_blake2_128_per_kb(n: u32, ) -> Weight;
|
||||
fn seal_ecdsa_recover(r: u32, ) -> Weight;
|
||||
fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight;
|
||||
fn seal_set_code_hash(r: u32, ) -> Weight;
|
||||
fn instr_i64const(r: u32, ) -> Weight;
|
||||
fn instr_i64load(r: u32, ) -> Weight;
|
||||
@@ -805,6 +806,17 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Storage: Contracts ContractInfoOf (r:1 w:1)
|
||||
// Storage: Contracts CodeStorage (r:1 w:0)
|
||||
// Storage: Timestamp Now (r:1 w:0)
|
||||
fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight {
|
||||
(272_893_000 as Weight)
|
||||
// Standard Error: 1_438_000
|
||||
.saturating_add((15_412_877_000 as Weight).saturating_mul(r as Weight))
|
||||
.saturating_add(T::DbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(T::DbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
// Storage: System Account (r:1 w:0)
|
||||
// Storage: Contracts ContractInfoOf (r:1 w:1)
|
||||
// Storage: Contracts CodeStorage (r:1 w:0)
|
||||
// Storage: Timestamp Now (r:1 w:0)
|
||||
// Storage: Contracts OwnerInfoOf (r:36 w:36)
|
||||
fn seal_set_code_hash(r: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
@@ -1717,6 +1729,17 @@ impl WeightInfo for () {
|
||||
// Storage: Contracts ContractInfoOf (r:1 w:1)
|
||||
// Storage: Contracts CodeStorage (r:1 w:0)
|
||||
// Storage: Timestamp Now (r:1 w:0)
|
||||
fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight {
|
||||
(272_893_000 as Weight)
|
||||
// Standard Error: 1_438_000
|
||||
.saturating_add((15_412_877_000 as Weight).saturating_mul(r as Weight))
|
||||
.saturating_add(RocksDbWeight::get().reads(4 as Weight))
|
||||
.saturating_add(RocksDbWeight::get().writes(1 as Weight))
|
||||
}
|
||||
// Storage: System Account (r:1 w:0)
|
||||
// Storage: Contracts ContractInfoOf (r:1 w:1)
|
||||
// Storage: Contracts CodeStorage (r:1 w:0)
|
||||
// Storage: Timestamp Now (r:1 w:0)
|
||||
// Storage: Contracts OwnerInfoOf (r:36 w:36)
|
||||
fn seal_set_code_hash(r: u32, ) -> Weight {
|
||||
(0 as Weight)
|
||||
|
||||
Reference in New Issue
Block a user