git.delta.rocks / unique-network / refs/commits / 9252b2e53bcd

difftreelog

path: Add check for address length.

Trubnikov Sergey2022-08-05parent: #a0a04c8.patch.diff
in: master

2 files changed

modifiedpallets/common/src/eth.rsdiffbeforeafterboth
--- a/pallets/common/src/eth.rs
+++ b/pallets/common/src/eth.rs
@@ -16,7 +16,7 @@
 
 //! The module contains a number of functions for converting and checking ethereum identifiers.
 
-use evm_coder::{types::*};
+use evm_coder::{types::uint256, execution::Result};
 pub use pallet_evm::account::CrossAccountId;
 use sp_core::H160;
 use up_data_structs::CollectionId;
@@ -53,24 +53,11 @@
 }
 
 /// Convert `CrossAccountId` to `uint256`.
-pub fn convert_cross_account_to_eth_uint256<T: Config>(from: &T::CrossAccountId) -> uint256
+pub fn convert_cross_account_to_eth_uint256<T: Config>(from: &T::CrossAccountId) -> Result<uint256>
 where
 	T::AccountId: AsRef<[u8]>,
 {
 	use pallet_evm::account::CrossAccountId;
 	let slice = from.as_sub().as_ref();
 	uint256::from_big_endian(slice)
-}
-
-/// Converts Substrate address to CrossAccountId
-pub fn convert_substrate_address_to_cross_account_id<T: Config>(
-	address: uint256,
-) -> T::CrossAccountId
-where
-	T::AccountId: From<[u8; 32]>,
-{
-	let mut address_arr: [u8; 32] = Default::default();
-	address.to_big_endian(&mut address_arr);
-	let account_id = T::AccountId::from(address_arr);
-	T::CrossAccountId::from_sub(account_id)
 }
modifiedpallets/evm-contract-helpers/src/eth.rsdiffbeforeafterboth
110 fn get_sponsor(&self, contract_address: address) -> Result<(address, uint256)> {110 fn get_sponsor(&self, contract_address: address) -> Result<(address, uint256)> {
111 let sponsor =111 let sponsor =
112 Pallet::<T>::get_sponsor(contract_address).ok_or("Contract has no sponsor")?;112 Pallet::<T>::get_sponsor(contract_address).ok_or("Contract has no sponsor")?;
113 let sponsor_sub = pallet_common::eth::convert_cross_account_to_eth_uint256::<T>(&sponsor);113 let sponsor_sub = pallet_common::eth::convert_cross_account_to_eth_uint256::<T>(&sponsor)?;
114 Ok((*sponsor.as_eth(), sponsor_sub))114 Ok((*sponsor.as_eth(), sponsor_sub))
115 }115 }
116116