Skip to content

Vest a canton-token-forge instrument instead of Canton Coin #157

Description

@lmcorbalan

Objective

The vesting dApp stops vesting Canton Coin and starts vesting a canton-token-forge instrument, dropping the Daml toolchain requirement with it.

Rationale

Canton Coin ties every write to Splice reference data: AmuletRules, an open mining round and a wallet-service tap. A token-forge instrument replaces all of it with one InstrumentConfig from a CIP-56 registry, cuts grant creation from two wallet approvals to one, and lets the repository run without dpm.

Scope

In scope:

  • Vendor the vesting and canton-token-forge DARs as binaries, delete dapp/daml/
  • Run the canton-token-forge registry on 3013 and seed a DBT instrument
  • Rewrite LedgerBackend, commands.ts and config.ts behind an unchanged VestingBackend
  • Add an in-app faucet over InstrumentConfig_Tap

Out of scope:

  • More than one instrument, or an instrument picker in the UI
  • Hosting a registry for demo.canton-dappbooster
  • Moving off @bootnodedev/canton-barebones

Architecture & technical considerations

Design doc: docs/superpowers/specs/2026-09-02-token-forge-vesting-design.md. VestingBackend is the seam that makes this survivable: the UI, the schedule editor and the domain types are untouched. Token-forge only, no second backend alongside Amulet.

Dependencies

canton-token-forge v0.2.0 (registry npm package and DAR) and canton-vesting-forge v0.1.0 (DAR). Both released.

Issue breakdown

Acceptance criteria

  • A grant is created, accepted, withdrawn, cancelled and residual-claimed in DBT end to end
  • dpm is not required to run the repository
  • No AmuletRules or mining round reaches a write
  • Creating a grant is one wallet approval, not two

Additional context

#134 asks for a Canton Coin faucet. This epic supersedes the asset it names: the faucet lands as an in-app InstrumentConfig_Tap over DBT, in #155.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions