Summary
The contract exposes jar_exists, added specifically so a slug availability
check does not have to call get_jar and catch a JarNotFound panic.
TipSplitterClient never wraps it, so consumers cannot reach it and end up
doing exactly the thing it was added to avoid.
The onboarding slug field is the direct consumer: it needs a cheap boolean it
can call on every debounced keystroke.
Acceptance criteria
Getting started
Fork this repository, clone your fork, and add this repo as upstream:
git clone https://github.com/<your-username>/novatip-sdk.git
cd novatip-sdk
git remote add upstream https://github.com/Novatip/novatip-sdk.git
npm install
Create a branch for this issue:
git checkout -b feat/client-jar-exists
Suggested commit message:
feat: add jarExists to the client
Run npm run lint, npm run typecheck, and npm run build before pushing, then open a pull request from your fork against main and link this issue. See the contributing guide for the full workflow.
Summary
The contract exposes
jar_exists, added specifically so a slug availabilitycheck does not have to call
get_jarand catch aJarNotFoundpanic.TipSplitterClientnever wraps it, so consumers cannot reach it and end updoing exactly the thing it was added to avoid.
The onboarding slug field is the direct consumer: it needs a cheap boolean it
can call on every debounced keystroke.
Acceptance criteria
jarExists(jarId)returns a boolean using the contract's view, followingthe read pattern the other view methods use.
falsefor an unregistered slug rather than throwing.Getting started
Fork this repository, clone your fork, and add this repo as
upstream:Create a branch for this issue:
Suggested commit message:
Run
npm run lint,npm run typecheck, andnpm run buildbefore pushing, then open a pull request from your fork againstmainand link this issue. See the contributing guide for the full workflow.