resolveTokenDecimals() treats a scale of 0 from the bundled list or a tracked token as an answer, but nothing tested it: changing either `d !== null` check to a plain truthiness check left every test green while a zero-decimal token fell through to the next source or to "decimals unknown". The approval tests now assert a scale of 0 from each source, both from the resolver and on the approval screen's Amount line. toDecimals() was already shared from transferAmount.js since #349. Model: opus-5-5