def METHOD_NAME(
    label_model: Union[EthereumLabel, PolygonLabel]
) -> NftApprovalForAllEvent:
    assert (
        label_model.label_data["type"] == "event"
    ), "Expected label to be of type 'event'"
    assert (
        label_model.label_data["name"] == "ApprovalForAll"
    ), "Expected label to be of type 'ApprovalForAll'"
    if isinstance(label_model, EthereumLabel):
        blockchain_type = "ethereum"
    else:
        blockchain_type = "polygon"
    return NftApprovalForAllEvent(
        blockchain_type=blockchain_type,
        token_address=label_model.address,
        owner=label_model.label_data["args"]["owner"],
        operator=label_model.label_data["args"]["operator"],
        approved=label_model.label_data["args"]["approved"],
        log_index=label_model.log_index,
        transaction_hash=label_model.transaction_hash,
    )