parachain has a
crowdloan account when they conduct
crowdloans for the purpose of winning a slot auction. How are these crowdloan accounts generated and does the
parachain have the private keys to access the accounts on their
crowdloan accounts? So can they submit extrinsics via the crowdloan account?
Each parachain project has a crowdloan account id for its funds pot that is created using the
fund_account_id function of the Crowdloan pallet where its account id is generated using the parachain id using the
into_sub_account function. When a crowdloan campaign is created for a parachain slot a
Funds storage item is created to track the fund configuration, and a child-trie is used to store account IDs and the amount they contributed to the fund pot.
The parachain project does not have access to the private key of their crowdloan account id.
If the parachain project contributed to its own crowdloan using an account that it created then it would likely have the private key or password encrypted wallet to access the funds of that account.
If the crowdloan wasn't run on a decentralised network where the Sudo pallet functionality was not removed and the parachain project had the private key to the root Sudo account then they could use the Balances pallet to access contributor account funds using the
force_transfer extrinsic function or
Since they don't have the private key or password encrypted wallet associated with the crowdloan account id of its funds pot they wouldn't be able to submit extrinsics using that account.