def METHOD_NAME(
    self,
    ritual_id: int,
    transcript: Transcript,
    transacting_power: TransactingPower,
    fire_and_forget: bool = False,
) -> TxReceipt:
    ritual = self.rituals[ritual_id]
    operator_address = transacting_power.account
    # either mapping is populated or just assume provider same as operator for testing
    provider = (
        self._get_staking_provider_from_operator(operator=operator_address)
        or transacting_power.account
    )
    participant = self.get_participant_from_provider(ritual_id, provider)
    participant.transcript = bytes(transcript)
    ritual.total_transcripts += 1
    if ritual.total_transcripts == ritual.dkg_size:
        ritual.status = self.RitualStatus.AWAITING_AGGREGATIONS
        self.emit_event(
            signal=self.Events.START_AGGREGATION_ROUND,
            ritual_id=ritual_id,
            participants=[
                p.provider for p in ritual.participants
            ],  # TODO This should not be
        )
    return self.blockchain.FAKE_RECEIPT