bootPopup() in tests/support/popupBoot.js mocked three of the modules that reach the network, but a boot onto the transaction screen still asked Blockscout for its transaction, and a boot onto the confirmation screen had src/shared/etherscanLabels.js look the recipient up on Etherscan, both through the real fetch(). tests/persistedFieldContract.test.js boots onto both, so every run sent those requests and logged their answers after its tests had finished. bootPopup() now replaces fetch() with the throwing stub the rest of the suite uses, and cleanupPopup() puts it back. tests/popupBoot.test.js checks that both requests reach the stub. Model: opus-5-5