Skip to content

Extract wallet-service into its own repo and consume it as a git dependency #116

Description

@gabitoesmiapodo

User story / Problem statement

Currently wallet-service lives inside this monorepo, but three consumers need it: local
development here, the devnet droplet's container, and cn-darkpools. Each runs its own
forked copy. The droplet's Canton Coin faucet is broken today for exactly that reason.
One canonical repo removes that class of bug.

Expected outcome

wallet-service ships from BootNodeDev/canton-wallet-service and this repo consumes it
as a git dependency pinned to a ref. No npm publish yet. Behaviour is unchanged: this
issue moves the code and nothing else. It ends with the local loop working again.

Acceptance criteria

New repo — BootNodeDev/canton-wallet-service

  • Holds the contents of canton-barebones/wallet-service, behaviour unchanged
  • Has its own lockfile from a fresh pnpm install
  • bin entry canton-wallet-service points at dist/server.js, entry carries a shebang
  • prepare script builds it, so installing produces a dist/
  • engines.node and .nvmrc mirror this repo's >=24.15.0
  • Dockerfile flattened to a single COPY package.json
  • @canton-network/wallet-sdk pinned to 1.3.1, @canton-network/core-acs-reader to 1.12.0
  • Its README, CLAUDE.md, AGENTS.md and api-specs travel with it

This repo

  • canton-barebones/wallet-service/ deleted
  • Dependency added as git+ssh://git@github.com/BootNodeDev/canton-wallet-service.git#<ref>
  • pnpm-workspace.yaml package entry removed, SDK overrides no longer needed here
  • biome.json override and the wallet-service:dev script removed
  • wallet-service service block removed from canton-barebones/docker-compose.yaml
  • scripts/dev-stack.sh starts it with pnpm exec canton-wallet-service
  • Root CLAUDE.md tables, architecture.md and root README drop or repoint the wallet-service rows
  • canton-barebones/ otherwise untouched

End-to-end

  • LocalNet up with the external @bootnodedev/canton-barebones tool
  • wallet-service starts from the git dependency, vesting DAR deployed, bootstrap run
  • CIP-0103 browser extension connects and a grant is visible on port 3012
  • No wallet-service directory left in this tree

Technical notes

  • Outside the workspace the pnpm-workspace.yaml overrides are gone and ^1.1.0 resolves to 1.4.0
  • pnpm builds git dependencies on install, so prepare is what makes dist/ exist
  • The Dockerfile's six COPY <path>/package.json lines exist only to satisfy the monorepo lockfile
  • The image is not needed to close this issue, but the file should be correct
  • Deleting canton-barebones/ is a separate follow-up issue

Metadata

Metadata

Labels

enhancementNew feature or requestpriority: highMust be addressed in current sprint

Type

No type

Projects

Status
In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions