Hello, this is not a question on coding itself but in operation. The question is, assuming you have an ERC-20 token, who must be the holder of the initial and all unassigned supply? In other words, who do I mint to the unasigned tokens?
I find 4 candidates:
the owner who deployed the contracts
the ICO smart contract if there is an ICO
the ERC-20 token address itself
another special wallet/smart contract, as an escrow or vault, holding all the unassigned liquidity
Whereas I find enough documentation and discussions on coding, I am not able to find much documentation on operation, e.g. operation with supplies. Can you please point me out to some resources that you know discussing good operation practices?
2 - MinterRole from ERC20Mintable owns the tokens => use MintedCrowdsale
3 - Other owns the tokens (owner, token smart contract, third party smart contract) =>
3.1 - use approve + transferFrom or
3.2 - use AllowanceCrowdsale
It would be interesting to assess each from the point of view of security BTW.
Thanks for making sense of my question. I see your approach is not suitable for a few cases like:
it does not allow a crowdsale contract to make the initial token distribution
it can only work with one exchange which owns this liquidity pool
it can only work with one network and token cannot be crosschain (this would raise another question as I see many tokens mantaining supply integrity across chains manually instead of using bridges, eg USDT)
I would get the same thing by transferring an amount of tokens to the pool manually from the owner
Why should I design the contract centered on the exchange instead of centered on itself and its allocation? ok, gas fees is a reason. But still I see more difficult allocation?