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 agoCurrently, 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!