const primitives = @import("primitives");
const crypto = @import("crypto");
// Addresses
const address = try primitives.Address.fromHex("0x742d35Cc6634C0532925a3b844Bc9e7595f51e3e");
const hex = address.toHex(); // "0x742d35cc..."
const checksummed = address.toChecksummed(); // "0x742d35Cc..."
// Hashes
const hash = crypto.keccak256.hash("hello");
const bytes32 = primitives.Bytes32.zero();
// Numbers (use u256 for wei amounts)
const value: u256 = 1_000_000_000_000_000_000; // 1 ETH in wei
// Bytecode analysis
const code = try primitives.Bytecode.fromHex("0x6080604052");
const analysis = code.analyze();
// RLP encoding
const encoded = try primitives.rlp.encode(allocator, data);
defer allocator.free(encoded);
// Secp256k1 signing
const signature = try crypto.secp256k1.sign(message_hash, private_key);
const recovered = try crypto.secp256k1.recoverPublicKey(message_hash, signature);