Hi, welcome!
I think you can transfer tokens to developers directly, if there are not too many accounts. Or you can create an airdrop contract, just like Uniswap distribute UNI, this needs developers to claim by themselves.
And pre-sale
? Do you mean the Crowdsale
contract? If so, I think you can have a look at this documentation: https://docs.openzeppelin.com/contracts/2.x/crowdsales
If your original contract does have your new feature function, I think you have got to upgrade your contract, maybe you can have a look at this tutorial: OpenZeppelin Upgrades: Step by Step Tutorial for Hardhat
I think you mean the decentralized exchange, such as Uniswap, anyway, for any kind of exchange, there should be a exchange rate
or just the price
to swap token. For more details about Uniswap, you can have a look at this article: https://pintail.medium.com/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2
And for decentralized exchange, users call token.aprove
and then exchange can call transferFrom
to get token from user to swap.
Have a look at the article I shared above.