class TransactionRepositoryOkHttpImpl extends AbstractRepositoryOkHttpImpl implements TransactionRepository {

  @Override
  public Observable<TransactionAnnounceResponse> announceAggregateBondedCosignature(
      CosignatureSignedTransaction cosignatureSignedTransaction) {

    Callable<AnnounceTransactionInfoDTO> callback =
        () ->
            getClient()
                .announceCosignatureTransaction(
                    new Cosignature()
                        .parentHash(cosignatureSignedTransaction.getParentHash())
                        .signature(cosignatureSignedTransaction.getSignature())
                        .version(cosignatureSignedTransaction.getVersion())
                        .signerPublicKey(
                            cosignatureSignedTransaction.getSigner().getPublicKey().toHex()));
    return call(callback, dto -> new TransactionAnnounceResponse(dto.getMessage()));
  }

  public  TransactionRepositoryOkHttpImpl(ApiClient apiClient);

}