Commit Graph

24 Commits

Author SHA1 Message Date
mziolekda
fd8439144a
fix eta-expansion and nullary method warnings [DPP-1281] (#15689)
* Fix flake jwt leeway test

* fix eta-expansion warnings

* fix nullary method errors

* Revert "Fix flake jwt leeway test"

This reverts commit 5e2fed648b.

* format
2022-11-24 12:28:41 +00:00
Raymond Roestenburg
df41eedc81
Refactored resolving requests in WebSocketService. (#15398)
* Refactored resolving requests in WebSocketService.

CHANGELOG_BEGIN
CHANGELOG_END

* Update ledger-service/http-json/src/main/scala/com/digitalasset/http/WebSocketService.scala

Co-authored-by: Stephen Compall <stephen.compall@daml.com>

* Update ledger-service/http-json/src/main/scala/com/digitalasset/http/WebSocketService.scala

Co-authored-by: Stephen Compall <stephen.compall@daml.com>

* Formatting.

Co-authored-by: Stephen Compall <stephen.compall@daml.com>
2022-11-07 17:22:19 +01:00
Chun Lok Ling
6e7c408484
Replace ContractTypeId with ContractTypeId.Template where appropriate (#15199)
* domain.ContractTypeId.Template
* ResolveKeyType to use .Template
* CreateAndExerciseCommand to use .Template
* keyTypeMap
* bitraverse

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Stephen Compall <stephen.compall@daml.com>
2022-10-19 19:39:19 +00:00
Chun Lok Ling
879048eedf
Removed alias fetchcontracts.domain.TemplateId (#15198)
* Removed alias fetchcontracts.domain.TemplateId

CHANGELOG_BEGIN
CHANGELOG_END

* order

* Apply suggestions from code review

Co-authored-by: Stephen Compall <stephen.compall@daml.com>

* add comment for .template

* format

* todo

Co-authored-by: Stephen Compall <stephen.compall@daml.com>
2022-10-17 17:23:53 +01:00
Stephen Compall
70f118579c
remove some ResolvedQuery cases (#15000)
* introduce ForQuery to overload ActiveContract.fromLedgerApi
* remove booleans from ResolvedQuery.apply
* wrong error string
* use the fact that query is non-empty to hide the Empty case
* we definitely only need a Semigroup, which fixes the law violation
* remove Empty

CHANGELOG_BEGIN
CHANGELOG_END

Co-authored-by: Chun Lok Ling <110462561+chunlokling-da@users.noreply.github.com>
2022-10-10 09:33:40 -04:00
Chun Lok Ling
40e994bd46
Bug fix. template id of archived contracted should be interface id instead (#15117)
* use Consume.syntax

* added exercise in interface "sub query endpoint" test case. checked template id of archive. it is asserting to be template id but not interface id which is wrong. I will change it back to interface id after all CI passed

* test that the archive events have the interface ID; add the template-ID-to-interface-ID mapping to archive events in websocket result stream

* Add change log

CHANGELOG_BEGIM
CHANGELOG_END

* Add change log

CHANGELOG_BEGIN
CHANGELOG_END

* use JSON converter instead of hand-writing JSON

* factor assertions for created records

* combine value assertions

Co-authored-by: Stephen Compall <stephen.compall@daml.com>
2022-09-29 11:52:19 +01:00
Stephen Compall
9f1033a6ec
remove some domain.TemplateId usages (#15097)
* replace several TemplateId with ContractTypeId
* replace several TemplateId with ContractTypeId.Template
* deprecate, even though this misses so many usages
* link to #15098 for followups

CHANGELOG_BEGIN
CHANGELOG_END
2022-09-27 07:53:10 -04:00
Stephen Compall
a9ebecfe5c
retest Oracle with payload indexing (#15041)
* point to #14844 and #15040 for some TODOs
* duplicate the Oracle tests, disable large literals when indexing is on
* split test file for parallelization

CHANGELOG_BEGIN
CHANGELOG_END
2022-09-20 10:32:58 -04:00
Chun Lok Ling
32583edb7d
v1/stream/query interface subscription support (#14919)
* replace Set[TemplateId.Resolved] with ResolvedQuery in StreamPredicate val resolved
CHANGELOG_BEGIN
CHANGELOG_END

* make it compile first and fix those TODOs iteratively.

* `Unsupported or ResolvedQuery monoid` for collectively combine `ResolvedQuery`s; handle unsupported cases

* cleanup todo

* cleanup

* use resolvedQuery instead and add change log

CHANGELOG_BEGIN
CHANGELOG_END

* compile

CHANGELOG_BEGIN
CHANGELOG_END

* added test cases

CHANGELOG_BEGIN
CHANGELOG_END

* Address Ray's comment

CHANGELOG_BEGIN
Users can now subscribe `v1/stream/query` with queries with single interface id.
CHANGELOG_END

* Address Ray's comment

* Address Ray's comment

* fmt

* fix error message

* fix error message

* Addressed Stephen's comment

* Addressed Stephen's comment

* Addressed Stephen's comment
2022-09-07 09:20:23 +01:00
Raymond Roestenburg
fbe3d94bfe
14818 fetch by contract id with interface (#14917)
* Fallback to in-memory for interface ID.

CHANGELOG_BEGIN
- [JSON API] /v1/fetch by interface ID
CHANGELOG_END

* Added fix: not setting key in ActiveContract in interface case, fix for https://github.com/digital-asset/daml/pull/14841#discussion_r961960344
2022-09-06 11:03:31 +02:00
Raymond Roestenburg
d13695c75e
Draft /v1/query with interface ID, without query store (#14841)
Support /v1/query by interfaceID or a non-empty set of template ID's, fallback to in-memory for an interfaceId query.

Co-authored-by: Stephen Compall <stephen.compall@daml.com>


CHANGELOG_BEGIN
- [JSON API] /v1/query with a non-empty set of template ID’s or one interface ID
CHANGELOG_END
2022-09-02 12:49:06 +02:00
Stephen Compall
6236c8cc02
propagate template/interface ID distinction throughout JSON API (#14728)
* percolate Resolved/Definite status

* propagate resolution through the queries, DB updates, and domain resolutions

* include Definite in the definition of Resolved, everywhere

CHANGELOG_BEGIN
CHANGELOG_END
2022-08-29 15:41:20 +00:00
Stephen Compall
22d2c27c4b
distinguishing template and interface IDs in json-api (#14577)
* prevent subclasses from having different equals behavior
* introduce a nominal, matchable subtype for interface IDs

CHANGELOG_BEGIN
CHANGELOG_END
2022-08-15 11:15:00 -04:00
Stephen Compall
1a9dc020f9
overloaded choices in json-api (#14410)
CHANGELOG_BEGIN
- [JSON API] For exercise endpoints, when multiple choices with the same
  name are defined, the one directly defined on the ``templateId``,
  which may be a template or interface ID, will be selected; if a
  template ID is specified that only inherits the choices with the same
  name, the new ``choiceInterfaceId`` option must be specified to select
  the source of the choice.
CHANGELOG_END
2022-07-27 15:40:58 +00:00
Stephen Compall
2dd248cd68
move nonempty code to new nonempty library (#13350)
- new nonempty artifact, separate from scala-utils
- com.daml.scalautil.nonempty is now com.daml.nonempty

CHANGELOG_BEGIN
CHANGELOG_END
2022-03-21 17:14:17 +00:00
Brian Healey
e70237a673
upgrade scalapb/netty/grpc/protobuf in proven combination (#12628)
* upgrade scalapb/netty/grpc/protobuf in proven combination

CHANGELOG_BEGIN
Upgrade scalapb, netty, grpc, protobuf and guava versions
CHANGELOG_END

* bazel reformat

* match grpc version in deps.bzl

* upgrade akka

* keep grpc version to 1.43 that is used in latest nixpkgs-unstable

* rebase and regen

* update SHA for scalapb tarball

Co-authored-by: Samir Talwar <samir.talwar@digitalasset.com>
2022-02-03 08:38:38 -05:00
Remy
5cdf9b95fb
Remove some unecessary implictly with Factory (#12559)
CHANGELOG_BEGIN
CHANGELOG_END
2022-01-26 13:28:26 +00:00
Stefano Baghino
aec3390904
Replace silencer plugin with built-in warning configuration (#12543)
Since Scala 2.13.2, Scala introduced built-in support to
manage warnings in a more granular fashion, thus making
the silencer plugin we are currently using no longer
strictly useful. Removing compiler plugins also removes
friction from migrating to Scala 3 in the future. As a
cherry on top, the built-in warning configuration also
allows to check whether a `@nowarn` actually does
anything, allowing us to proactively remove unused
warnings should the need arise.

[Here][1] is s a blog post by the Scala team about it.

Warnings have been either solved or preserved if useful,
trying to minimize the scope (keeping it at the single
expression scope if possible). In particular, all
remaining usages of the Scala Collection API compatibility
module have been removed.

Using the silencer plugin also apparently hid a few
remaining usages of compatibility libraries that were used
as part of the transition from Scala 2.12 to Scala 2.13
that are no longer needed. Removing those warnings
highlighted those.

changelog_begin
changelog_end

[1]: https://www.scala-lang.org/2021/01/12/configuring-and-suppressing-warnings.html
2022-01-24 15:01:35 +00:00
Gary Verhaegen
d2e2c21684
update copyright headers (#12240)
New year, new copyright, new expected unknown issues with various files
that won't be covered by the script and/or will be but shouldn't change.

I'll do the details on Jan 1, but would appreciate this being
preapproved so I can actually get it merged by then.

CHANGELOG_BEGIN
CHANGELOG_END
2022-01-03 16:36:51 +00:00
Sergey Kisel
4c8be783b2
use domain.Offset instead of String in ContractsFetch functions (#12160)
* Initial commit

CHANGELOG_BEGIN
CHANGELOG_END

* formatting fix

* fix up graph DSL whitespace

Co-authored-by: Stephen Compall <stephen.compall@daml.com>
2021-12-16 18:14:39 +00:00
Moritz Kiefer
c8ace8b1cf
Factor kind projector target into a variable (#11759)
Seems nicer than trying to format a string everywhere

changelog_begin
changelog_end
2021-11-18 09:51:43 +01:00
Stephen Compall
6372d41d13
limit contract insertion/deletion batching on backpressure (#11589)
* move contract insertion/deletion batching to separate function

* limit contract insertion/deletion batching on backpressure

* add changelog

CHANGELOG_BEGIN
- [JSON API] While updating the contract table for a query, if the DB appears to be slow,
  JSON API will slow down its own inserts and deletes at some point rather than construct
  ever-larger INSERT and DELETE batch commands.
  See `issue #11589 <https://github.com/digital-asset/daml/pull/11589>`__.
CHANGELOG_END
2021-11-09 19:03:03 +00:00
Stephen Compall
bf00956143
replace OneAnd party Sets with NonEmpty Set (#11420)
* add PartySet alias for db-backend

* add PartySet alias for fetch-contracts

* add PartySet alias for http-json

* deprecate old apply

* quick builder for NonEmpty collections

* replace PartySet in db-backend

* replace PartySet in fetch-contracts

* lar.Party is also domain.Party

* add incl1 operator

* replace PartySet in http-json

* port tests

* into with Scala 2.12 needs collection-compat

* no changelog

CHANGELOG_BEGIN
CHANGELOG_END

* simplify a couple functions that don't need so much data transformation now

* clean up some OneAnds and HKTs

* deal with Scala 2.12 without having warning suppression

* better, more obscure choice for Scala 2.12
2021-10-28 15:23:12 +00:00
Stephen Compall
9fd8182bbb
move reusable functions from ContractsFetch to new fetch-contracts library (#11057)
* split akka-streams and doobie utils from ContractsFetch to new fetch-contracts library

* move most stream components from ContractsFetch to new library

* fix packages

* make the fetchcontracts domain model work

* move transactionFilter to fetchcontracts

* lots of unused imports

* start incorporating fetch-contracts in http-json

* move toTerminates

* more unused imports; http-json compiles

* more fetch-contracts dep

* bring back HasTemplateId[ActiveContract]; integration tests compile

* whole ledger-service tree compiles

* fix oracle missing dep

* scoping some new library identifiers

* remove apiIdentifier aliases

* comment on Aliases

* remove toTerminates shim

* no changelog

CHANGELOG_BEGIN
CHANGELOG_END

* unused bazel imports

* remove already-addressed TODO

- suggested by @akshayshirahatti-da; thanks
2021-10-05 15:52:18 +00:00