We have an ERC20 contract which is not burnable, and migrating to a new chain.
So far the new “swap” contract has a function to swap which checks the balance of the user and allowance before transferring to burn address, emitting a log of the burn with sender, amount and nonce (no use for the nonce so I may remove this)
Then we monitor the events and mint on the new chain.
Is this a reasonable approach? Appreciate any ideas or samples of other contracts like this to look at.