To start the presale pool send a transaction to deploy the contract.
Once the contract is live, anyone can send eth to the contract address and they will be included in the pool. As long as the pool remains open anyone can decide to take their funds out of the pool by sending 0 eth to the contract address. You must send the eth from the same address you deposited the funds originally.
Only the contract creator can close the pool. The pool can be closed in two ways:
- Allow all deposits in the pool to go through
- Allow only deposits from a vetted list of addresses to go through
To close the pool you will also need to supply the address of the pre-sale ICO wallet where the funds will be delivered.
After the ICO is finished, I assume the tokens will be payed out to the address of the contract. At this point the contract creator needs to set the address of the new token contract. Once the address is set, everyone who participated in the pool will be able to withdraw their tokens by sending 0 eth to the contract address.