https://docs.near.org/docs/concepts/account#account-id-rules says that account IDs must be 2 to 64 characters, and currently MIN_ALLOWED_TOP_LEVEL_ACCOUNT_LENGTH = 32, so top-level accounts of 32 to 64 characters are available without needing to be purchased at auction.
It also says:
Currently all
mainnetaccounts use aneartop-level account name (exexample.near)
My guess is that "currently" means not just that there don't happen to be any other top-level accounts now but that there cannot be until a future change in NEAR protocol.
Where can I see the source code related to this statement?
And is there a public roadmap / timeline somewhere stating when (auctioned and non-auctioned) top-level accounts will become available?
given how account and account names are implemented (an account is actually a smart contract) the use of "near" as as a root-level account is needed. ".near" is actually an account with a smart contract deployed on it: https://explorer.near.org/accounts/near
Anything related to account id (names) can be found here: https://github.com/near/nearcore/blob/master/core/account-id/src/lib.rs