OrderedDataStore doesn't work properly

I have tried making my own donation board but something didn’t work out and there were no errors in the output and no frame was cloned.

local DataStore = game:GetService("DataStoreService"):GetDataStore("DonationData_")
local OrderedDataStore = game:GetService("DataStoreService"):GetOrderedDataStore("OrderedData_".."DonatedAmount")
local mps = game:GetService("MarketplaceService")
local Products = require(game:GetService("ReplicatedStorage"):WaitForChild("Products")).DevProducts
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local Template = script.Template
local ScrollingFrame = workspace.DonationLeaderboard.leaderboard.SurfaceGui.ScrollingFrame

local function updateBoards()
	local data = OrderedDataStore:GetSortedAsync(false, 10, 1, 10e15)
	local topPage = data:GetCurrentPage()
	
	for position, v in ipairs(topPage) do
		local userId = v.key
		local value = v.value
		local username = Players:GetPlayerByUserId(userId)
		
		local NewClone = Template:Clone()
		NewClone.Parent = ScrollingFrame
		NewClone.PlayerInfoFrame.PlayerNameText.Text = tostring(username)
		NewClone.PlayerInfoFrame.PlaceLabel.Text = position
		NewClone.AmountFrame.AmountFrame.Text = value
	end
end

while true do
	for _, item in pairs(ScrollingFrame:GetChildren()) do
		if item:IsA("Frame") then
			item:Destroy()
		end
	end
	
	updateBoards()
	wait(5)
end