Skip to content
Discussions/App Development/How to get the utility-registry DARs for an AMM/LP-token build on LocalNet?Forum ↗

How to get the utility-registry DARs for an AMM/LP-token build on LocalNet?

App Development1 posts3 viewsLast activity 14h ago
SA
sanujitOP
14h ago
Currently, on LocalNet, I am trying to build a Canton AMM (constant-product swap)
that mints/burns its own **LP tokens**. The swap math and pool templates compile
fine — my build only fails because it depends on the **Utility Registry** packages,
which I can't locate.

## What I'm building
A `x*y=k` AMM with pool create / swap / deposit / withdraw. Deposits mint LP tokens
and withdrawals burn them, using a registrar + allocation factory (Uniswap-V2-style
fee minting).

## Environment
- SDK: **3.4.11**, built with **DPM** (`dpm build`), target LF 2.1
- Token-standard interface DARs already in place and resolving correctly:
  `splice-api-token-holding-v1`, `-metadata-v1`, `-allocation-v1`,
  `-transfer-instruction-v1`, `splice-api-featured-app-v1` (all v1-1.0.0 from
  the public `hyperledger-labs/splice` repo `daml/dars`).

## The blocker
`dpm build` succeeds on everything **except** 8 imports, all from the registry
packages:

​```
Could not find module 'Utility.Registry.App.V0.Configuration.Provider'
Could not find module 'Utility.Registry.App.V0.Model.Burn'
Could not find module 'Utility.Registry.App.V0.Model.Mint'
Could not find module 'Utility.Registry.App.V0.Service.AllocationFactory'
Could not find module 'Utility.Registry.App.V0.Service.Registrar'
Could not find module 'Utility.Registry.V0.Configuration.Instrument'
Could not find module 'Utility.Registry.V0.Holding.TokenApiUtils'
Could not find module 'Utility.Registry.V0.Rule.Transfer'
​```

These map to three DARs (versions taken from a reference project):
- `utility-registry-app-v0` (0.4.0)
- `utility-registry-v0` (0.4.0)
- `utility-registry-holding-v0` (0.1.2)

## What I've already tried
1. They are **not** in the public `hyperledger-labs/splice` `daml/dars` folder
   (only the `splice-api-token-*` interface DARs are there).
2. They are **not** in the `decentralized-canton-sync` `splice-node.tar.gz`
   release bundle (that ships Amulet + token-standard, not `utility-registry`).
3. The DA JFrog repo `digitalasset.jfrog.io/artifactory/canton-network-utility/`
   returns **HTTP 401** without credentials.

## My questions
1. What is the correct/supported way to obtain the `utility-registry-app-v0`,
   `utility-registry-v0`, and `utility-registry-holding-v0` DARs for **LocalNet**
   development? Are they bundled with LocalNet/DPM somewhere, or do they require
   DevNet onboarding / JFrog credentials?
2. Are these the right artifacts/versions for an SDK **3.4.11 / LF 2.1** build, or
   is there a newer set I should target?
3. If they aren't publicly available, is the recommended approach to **implement my
   own minimal token issuer** against the public `splice-api-token-burn-mint-v1`
   interface for the LP token, rather than depending on `utility-registry`?

Any pointers (download location, credentials process, or the "build your own
issuer" pattern) would be hugely appreciated. Thanks!
← Back to Discussions