Skip to content

DO NOT MERGE - Quanstamp audit nr2 scope preview#5553

Draft
meiersi-da wants to merge 114 commits into
mainfrom
quanstamp-audit-nr2-scope-preview
Draft

DO NOT MERGE - Quanstamp audit nr2 scope preview#5553
meiersi-da wants to merge 114 commits into
mainfrom
quanstamp-audit-nr2-scope-preview

Conversation

@meiersi-da
Copy link
Copy Markdown
Contributor

Preview branch maintained by @meiersi-da for the purpose of scoping the Quanstamp audit.

Pull Request Checklist

Cluster Testing

  • If a cluster test is required, comment /cluster_test on this PR to request it, and ping someone with access to the DA-internal system to approve it.
  • If a hard-migration test is required (from the latest release), comment /hdm_test on this PR to request it, and ping someone with access to the DA-internal system to approve it.
  • If a logical synchronizer upgrade test is required (from canton-3.5), comment /lsu_test on this PR to request it, and ping someone with access to the DA-internal system to approve it.

PR Guidelines

  • Include any change that might be observable by our partners or affect their deployment in the release notes.
  • Specify fixed issues with Fixes #n, and mention issues worked on using #n
  • Include a screenshot for frontend-related PRs - see README or use your favorite screenshot tool

Merge Guidelines

  • Make the git commit message look sensible when squash-merging on GitHub (most likely: just copy your PR description).

OriolMunoz-da and others added 30 commits March 26, 2026 11:45
---------

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
Signed-off-by: Simon Meier <simon@digitalasset.com>
Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
Signed-off-by: Simon Meier <simon@digitalasset.com>
Fixes #4619

Signed-off-by: Simon Meier <simon@digitalasset.com>
Fixes #4620 [ci]

Signed-off-by: Simon Meier <simon@digitalasset.com>
[ci]

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
[ci]

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
---------

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
Signed-off-by: Simon Meier <simon@digitalasset.com>
[ci]

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
---------

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
---------

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
[ci]

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
Token standard API changes:
- return 'TextMap [ContractId Holding]' as change
- clarify that input holdings can be passed through the
  allocation and transfer choices

Token standard utility changes:
- add BatchinUtilityV2 with support for allocations,
  and partial support for transfers. Completion is
  postponed into a follow-up ticket.

Include test infrastructure changes:
- add a V1-only TestToken with multiple instrument-ids
- add a V2 TestToken with instrument ids and accounts
- add WalletClientV2 support for batching actions via
  the BatchingUtilityV2

[ci]

Signed-off-by: Simon Meier <simon@digitalasset.com>
including
- improve comments on `V2.AllocationRequest` choices.
- improve error message on missing authorizations in default
  settlement implementations
- use plural for `_extraObserversDefaultImpl` methods
- make default observers for for Allocation_Settle include
  the accountParties of the authorizer

[ci]

Signed-off-by: Simon Meier <simon@digitalasset.com>
…ming-080426

[ci]

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
Includes:
- Clarify that input holdings for `V2.TransferFactory_Transfer` must be
of the transferred instrument
- Add `WalletClientV2` support for listing and accepting V1 and V2
transfer offers using the same functions
- Extend `BatchingUtilityV2` with support for accepting V2 transfer
instructions
- Add utility functions to create metadata for V1 transaction history
parsing to `Splice.TokenStandard.Utils`

[ci]

Signed-off-by: Simon Meier <simon@digitalasset.com>
Includes all necessary pieces for it to work (mostly OpenAPI definitions and implementations)

---------

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
Co-authored-by: Simon Meier <simon@digitalasset.com>
)

- check uniqueness of transfer leg ids
- add default extra observer implementations
- improve commentary on API methods

[ci]

Signed-off-by: Simon Meier <simon@digitalasset.com>
to avoid having two different kinds of default accounts (None vs Some "").

[ci]

Signed-off-by: Simon Meier <simon@digitalasset.com>
[ci]

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
dfordivam and others added 30 commits May 5, 2026 04:37
Signed-off-by: Divam <dfordivam@gmail.com>
Signed-off-by: Divam <dfordivam@gmail.com>
Signed-off-by: Divam <dfordivam@gmail.com>
Signed-off-by: Divam <dfordivam@gmail.com>
Signed-off-by: Divam <dfordivam@gmail.com>
Signed-off-by: Divam <dfordivam@gmail.com>
Signed-off-by: Divam <dfordivam@gmail.com>
- Note that beneficiary is rewardParty (and not the provider)

Signed-off-by: Divam <dfordivam@gmail.com>
Signed-off-by: Divam <dfordivam@gmail.com>
Signed-off-by: Divam <dfordivam@gmail.com>
Introduce and use TransferEventsV2 interface, which tracks all 
changes to holdings and all transfers between accounts.
It is fully implemented for Amulet and TestTokenV2.

Fixes #4550, #746, #5001

[ci]

Signed-off-by: Simon Meier <simon@digitalasset.com>
and address some typos and minor cleanup.

[ci]

Fixes #5031

Signed-off-by: Simon Meier <simon@digitalasset.com>
in ClaimExpiredRewardsV2 require actual expiryObservers


---------

Signed-off-by: Divam <dfordivam@gmail.com>
[ci]
Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
---------

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
Fixes #5401 [ci]

Signed-off-by: Simon Meier <simon@digitalasset.com>
…andard v2 (#5439)

---------

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
[ci]

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
[static]

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
- add rich account authorization options to TestTokenV2
  together with a comprehensive test-suite.
- adjust V2 token standard Daml APIs to include
  `AllocationInstruction_Accept` and support
  using a token standard wallet to drive jointly
  authorized workflows

Part of #4542 [ci]

Co-authored-by: Bernhard Elsner <bernhard.elsner@digitalasset.com>
Signed-off-by: Simon Meier <simon@digitalasset.com>
See V2_VALIDATION.md for an explanation of the changes.

Signed-off-by: Simon Meier <simon@digitalasset.com>
Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
Co-authored-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
---------

Signed-off-by: Oriol Muñoz <oriol.munoz@digitalasset.com>
[ci]

Signed-off-by: Simon Meier <simon@digitalasset.com>
[ci]

Signed-off-by: Simon Meier <simon@digitalasset.com>
Fixes #4978

Signed-off-by: Simon Meier <simon@digitalasset.com>
Fixes #5504, #4976, #4608.

Signed-off-by: Simon Meier <simon@digitalasset.com>
…nr2-scope-preview [ci]

Signed-off-by: Simon Meier <simon@digitalasset.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants