remix · 0.8.24 · chain id 1
method
Gas comes from the 0.141 ETH already in the liquidity wallet. The 2,500 $STRK in that same wallet is the pool, not a fee.
- 01
Deploy the token
Remix, compiler 0.8.24, Ethereum mainnet. Deploy Bunker.sol. The whole supply arrives at the deployer. There is no owner function.
- 02
Deploy the lock
Deploy BunkerLock.sol. The constructor argument is the new $BUNKER address. The treasury address is already fixed in the contract. The lock cannot release the liquidity.
- 03
Sort the two addresses
The smaller address is token0. $STRK is fixed. $BUNKER is known only after deploy. Reversing the price opens the pool at a nonsense rate.
- 04
Add the position
Uniswap v3, fee 1%, full range. Deposit 1,000,000,000 $BUNKER and 2,500 $STRK. The starting price is 0.0000025 $STRK per $BUNKER. Both sides must show a deposit. A one-sided position is not this market.
- 05
Lock the NFT
The position is an NFT on the position manager. safeTransferFrom it to the lock. The lock accepts only this pair, this fee, and the full-range ticks. A wrong NFT is refused and stays with the sender.
- 06
Stop
Anyone may call collect() on the lock. That sends the pool's earned 1% fee, in $BUNKER and $STRK, to the treasury. It does not remove liquidity. There is no trading switch and no second mint.
Position manager 0xC36442b4a4522E871399CD717aBDD847Ab11FE88. Treasury 0xFc8a8f57142f53c4a48fBf44fb72a2864c92B6c6. $STRK 0xCa14007Eff0dB1f8135f4C25B34De49AB0d42766.