Skip to content

Conversation

@TaoGe96
Copy link
Contributor

@TaoGe96 TaoGe96 commented Nov 25, 2025

Add support for ERC1155C for MagicDrop.

This is a temporary solution targeting L2 deployments, as the contract code size exceeds 24KB, making it undeployable on Ethereum mainnet.

Due to this limitation, we cannot directly inherit from ERC1155M. Instead, most of the implementation is copied from ERC1155MInitializable v1.0.2, with minimal modifications.

The reason for this approach is that some functions in ERC1155MInitializable, such as:

function contractNameAndVersion() public pure returns (string memory, string memory) {
        return ("ERC1155MInitializable", "1.0.2");
    }

are not declared as virtual, and therefore cannot be overridden, which prevents us from extending the contract via inheritance.

test on monad

image image image image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant