use 0x2::hash;
use 0x3::ecdsa_k1;
#[data_struct]
struct ETHAddress has copy, drop, store
Ethereum addresses are always 20 bytes
const ETHEREUM_ADDR_LENGTH: u64 = 20;
const ErrorDecompressPublicKey: u64 = 2;
const ErrorInvaidAddressBytes: u64 = 3;
const ErrorMalformedPublicKey: u64 = 1;
public fun new(pub_key: vector<u8>): ethereum_address::ETHAddress
public fun from_bytes(bytes: vector<u8>): ethereum_address::ETHAddress
public fun as_bytes(addr: ðereum_address::ETHAddress): &vector<u8>
public fun into_bytes(addr: ethereum_address::ETHAddress): vector<u8>