Encodes a uint256 token ID as a 32-byte hex word (no 0x prefix).
String abiEncodeUint256(String tokenId) { final bigInt = BigInt.parse(tokenId); return bigInt.toRadixString(16).padLeft(64, '0'); }