```\n    uint256 received;\n    {\n        // Get the starting balance of the principal token\n        uint256 starting = token.balanceOf(address(this));\n\n        // Swap those tokens for the principal tokens\n        ISensePeriphery(x).swapUnderlyingForPTs(adapter, s, lent, r);\n\n        // Calculate number of principal tokens received in the swap\n        received = token.balanceOf(address(this)) - starting;\n\n        // Verify that we received the principal tokens\n        if (received < r) {\n            revert Exception(11, 0, 0, address(0), address(0));\n        }\n    }\n\n    // Mint the Illuminate tokens based on the returned amount\n    IERC5095(principalToken(u, m)).authMint(msg.sender, received);\n```\n