pub struct Function { /* private fields */ }Expand description
An Ethereum contract function for ABI-encoding calls and decoding results.
§Example
use chains_sdk::ethereum::abi::{Function, AbiValue};
let transfer = Function::new("transfer(address,uint256)");
assert_eq!(hex::encode(transfer.selector()), "a9059cbb");
let calldata = transfer.encode(&[
AbiValue::Address([0xBB; 20]),
AbiValue::from_u128(1_000_000_000_000_000_000), // 1 token (18 decimals)
]);Implementations§
Auto Trait Implementations§
impl Freeze for Function
impl RefUnwindSafe for Function
impl Send for Function
impl Sync for Function
impl Unpin for Function
impl UnsafeUnpin for Function
impl UnwindSafe for Function
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more