ui/src/api/wallet.ts is one function per Tauri command, each typed with the ts-rs output in ui/src/api/generated. Decide and document the error shape: commands return Result<T, WalletError> and the client rethrows a typed WalletError. Add a useCommand hook or a React Query setup so screens never call invoke directly.
Acceptance
invoke( appears exactly once in ui/src, in api/wallet.ts. A field renamed in wallet-entities fails pnpm typecheck until the UI follows.
Depends on
Nothing.
Parent: #1
## Scope
`ui/src/api/wallet.ts` is one function per Tauri command, each typed with the ts-rs output in `ui/src/api/generated`. Decide and document the error shape: commands return `Result<T, WalletError>` and the client rethrows a typed `WalletError`. Add a `useCommand` hook or a React Query setup so screens never call `invoke` directly.
## Acceptance
`invoke(` appears exactly once in `ui/src`, in `api/wallet.ts`. A field renamed in `wallet-entities` fails `pnpm typecheck` until the UI follows.
## Depends on
Nothing.
grenade
added the child label 2026-09-15 12:38:54 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Parent: #1
Scope
ui/src/api/wallet.tsis one function per Tauri command, each typed with the ts-rs output inui/src/api/generated. Decide and document the error shape: commands returnResult<T, WalletError>and the client rethrows a typedWalletError. Add auseCommandhook or a React Query setup so screens never callinvokedirectly.Acceptance
invoke(appears exactly once inui/src, inapi/wallet.ts. A field renamed inwallet-entitiesfailspnpm typecheckuntil the UI follows.Depends on
Nothing.