diff --git a/substrate/primitives/wasm-interface/src/lib.rs b/substrate/primitives/wasm-interface/src/lib.rs index 246c1abaeae3bba2d36018d5b3e709db69f16190..173e3241170fc2e0d6ce33b4e3af82496469d64a 100644 --- a/substrate/primitives/wasm-interface/src/lib.rs +++ b/substrate/primitives/wasm-interface/src/lib.rs @@ -627,48 +627,6 @@ impl_into_and_from_value! { i64, I64, } -/// Something that can write a primitive to wasm memory location. -pub trait WritePrimitive<T: PointerType> { - /// Write the given value `t` to the given memory location `ptr`. - fn write_primitive(&mut self, ptr: Pointer<T>, t: T) -> Result<()>; -} - -impl WritePrimitive<u32> for &mut dyn FunctionContext { - fn write_primitive(&mut self, ptr: Pointer<u32>, t: u32) -> Result<()> { - let r = t.to_le_bytes(); - self.write_memory(ptr.cast(), &r) - } -} - -impl WritePrimitive<u64> for &mut dyn FunctionContext { - fn write_primitive(&mut self, ptr: Pointer<u64>, t: u64) -> Result<()> { - let r = t.to_le_bytes(); - self.write_memory(ptr.cast(), &r) - } -} - -/// Something that can read a primitive from a wasm memory location. -pub trait ReadPrimitive<T: PointerType> { - /// Read a primitive from the given memory location `ptr`. - fn read_primitive(&self, ptr: Pointer<T>) -> Result<T>; -} - -impl ReadPrimitive<u32> for &mut dyn FunctionContext { - fn read_primitive(&self, ptr: Pointer<u32>) -> Result<u32> { - let mut r = [0u8; 4]; - self.read_memory_into(ptr.cast(), &mut r)?; - Ok(u32::from_le_bytes(r)) - } -} - -impl ReadPrimitive<u64> for &mut dyn FunctionContext { - fn read_primitive(&self, ptr: Pointer<u64>) -> Result<u64> { - let mut r = [0u8; 8]; - self.read_memory_into(ptr.cast(), &mut r)?; - Ok(u64::from_le_bytes(r)) - } -} - /// Typed value that can be returned from a function. /// /// Basically a `TypedValue` plus `Unit`, for functions which return nothing.