Zaps
MigratorZap.sol
The MigratorZap allows holders to move from an NFTX v2 or v3 vault into v4 in a single transaction. It redeems whole NFTs from the legacy vault, deposits them into the Locker and mints the collection tokens directly to the recipient. Balances that are too small to redeem an NFT can be placed into an escrow that is settled by the owner.
At the audited commit the zap only supports redemption by vault ID and the dust escrow. The migration of xTokens, LP and inventory positions is being developed on a separate branch and has not been included in this audit.
As the dust escrow is settled by the owner, we have assumed that each of the replacement token pairs are registered and funded correctly. It is noted that a depositor can always call withdrawDust before settlement, and that this cannot be paused or swept.
The ordering of the v2 fee values that the zap reads matches the interface, mock and fork test in the repository, but we were not able to confirm this against the deployed v2 vault. Whilst the zap is excluded from vault fees these will be zero and the ordering has no effect, but we would recommend confirming this before relying on it.
There are no issues specific to MigratorZap.sol.