Receipt and typed amount checks for staking adapter migrations
Some upgrade reviews are driven less by environment problems and more by staking behavior that has drifted from earlier assumptions. This page summarizes a practical migration pattern for services where add_stake returns an object, the API now expects strict amount typing, and teams want that behavior normalized at a stable adapter boundary.
Receipt handling first
When a staking call yields a receipt-like object instead of a plain boolean, success checks should move to explicit status inspection. That reduces ambiguity in logs and keeps downstream operations from inferring success from truthy values alone.
Typed value normalization
Stricter typed amount requirements usually point to the same maintenance need: centralize conversions before the request leaves the service layer. This is often part of a wider service migration effort, especially when wallet boundaries and queue workers share the same helper code.
Recommended operational checks
- Confirm every stake path constructs the expected typed amount object.
- Ensure logs record both request intent and receipt status.
- Keep adapter code responsible for shape conversions, not job callers.
- Exercise one end-to-end stake path before widening the rollout.