The 'getAccountsWithActivePositions' function takes in an 'upperbound' and `lowerbound` parameter
that gives the system a range of accountIDs to retrieve as seen below
```solidity```
function getAccountsWithActivePositions(
uint256 lowerBound,
uint256 upperBound
)
external
view
returns (uint128[] memory accountsIds)
{
GlobalConfiguration.Data storage globalConfiguration = GlobalConfiguration.load();
accountsIds = new uint128[](upperBound - lowerBound + 1);
uint256 index = 0;
for (uint256 i = lowerBound; i <= upperBound; i++) {
accountsIds[index] = uint128(globalConfiguration.accountsIdsWithActivePositions.at(i));
index++;
}
}
As seen above, the upperbound and lowerbound are intended to be used differently in the functions logic
to give the system a range of accountIDs to retrieve and work with but they could easily be interchanged wrongly
and this will make the function call fail
The upper bound and lower bound are meant to be used differently in the function's logic to define a range of
account IDs to retrieve and process. However, if they are mistakenly swapped, it will cause the function call
to fail.