Skip to content

feat(canton): run local stack on splice localnet#83

Draft
nicosampler wants to merge 99 commits into
mainfrom
canton-barebones-splice
Draft

feat(canton): run local stack on splice localnet#83
nicosampler wants to merge 99 commits into
mainfrom
canton-barebones-splice

Conversation

@nicosampler

Copy link
Copy Markdown
Collaborator

Summary

No related issue. Move the local Canton stack onto Splice LocalNet so Carpincho can exercise CIP-56 token flows against a closer production shape.

This replaces the custom barebones participant wiring with the official Splice LocalNet app-user/SV stack, then extends wallet-service and Carpincho around CIP-56 holdings, transfers, and Amulet preapproval flows.

Changes

  • Run canton-barebones on Splice LocalNet with app-user/SV services, explicit backend tokens, updated health checks, and DAR deployment helpers.
  • Add wallet-service RPC support for CIP-56 holdings, transfer creation/acceptance, and Amulet preapproval proposals.
  • Add Carpincho token tabs for holdings, incoming transfers, sending tokens, and Amulet preapproval controls.
  • Derive Carpincho network status from wallet-service instead of editable local config.
  • Document the Splice LocalNet setup, tokens, service ports, and manual run flow.
  • Remove the old root scripts/dev-stack.sh helper.

Acceptance criteria

  • Local stack starts through the Splice LocalNet sv and app-user profiles.
  • Wallet-service can use explicit Splice service URLs and backend tokens.
  • Carpincho can view CIP-56 holdings, incoming transfers, sends, and Amulet preapproval state.
  • Documentation reflects the new LocalNet setup and ports.

Test plan

Automated tests

Added or updated tests under:

  • canton-barebones/test/*.test.mjs
  • canton-barebones/wallet-service/test/*.test.ts
  • carpincho-wallet/test/**/*.test.ts
  • carpincho-wallet/test/**/*.test.tsx

Commands:

  • npm --prefix canton-barebones test
  • npm --prefix canton-barebones/wallet-service test
  • npm --prefix carpincho-wallet test

Manual verification

  • Run npm run canton:up
  • Run npm run canton:health
  • Build and deploy the sample DAR.
  • Start Carpincho and the dApp.
  • Connect the dApp through Carpincho and verify token holdings, transfers, and Amulet preapproval controls.

Breaking changes

None.

Checklist

  • Self-reviewed my own diff
  • Tests added or updated
  • Docs updated (if applicable)
  • No unrelated changes bundled in

Screenshots

None.

Classify active transfer instructions by sender so the wallet that sent a
transfer sees it as awaiting acceptance instead of an Accept button, which only
the receiver gets. Count only incoming transfers toward the tab badge, drop the
Incoming transfers heading, and merge transfer history into the Transfers tab
while keeping the rest of the activity log under Activity.
…y in activity

Revert the transfer-history merge: the Transfers tab again shows only active
incoming and outgoing transfers, and the full transaction log including
transfers returns to the Activity tab. The direction-aware rendering and
incoming-only badge are retained.
A transfer is outgoing only when sent to a different party; a transfer to one's
own party stays incoming so the receiver can still accept it. Make the accept
props optional on the transfer card and label each card by direction.
Selecting the account you are already on does nothing, so the switcher now
lists only the other accounts and shows a dedicated empty message when there
are none.
…fers tab

Move incoming/outgoing classification into a reusable transferDirection helper
in cip56/transfers, simplify the transfers tab empty/list rendering and accept
callback, and fold the account switcher filter into a single pass.
…her exclusion

Describe the transfers tab splitting pending transfers by direction via
transferDirection, the active account being omitted from the switcher, and the
pending list spanning both directions.
Add a shared LoadingState spinner and render it in the Assets and Transfers
tabs while their first fetch is in flight, instead of leaving the body blank.
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.

2 participants