func decodeAddress(s string) (common.Address, error) {
    b, err := hexutil.Decode(s)
    if err == nil && len(b) != common.AddressLength {
        err = fmt.Errorf("hex has invalid length %d after decoding; expected %d for address", len(b), common.AddressLength)
    }