Socket
Socket
Sign inDemoInstall

@manifoldxyz/creator-core-solidity

Package Overview
Dependencies
500
Maintainers
17
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @manifoldxyz/creator-core-solidity

## The Manifold Creator Core Contracts


Version published
Weekly downloads
238
decreased by-24.68%
Maintainers
17
Created
Weekly downloads
 

Readme

Source

manifoldxyz-creator-core-solidity

The Manifold Creator Core Contracts

A library for extendible creator contracts.

  • Implementation for ERC721
  • Implementation for ERC1155

The Manifold Creator Core contracts provide creators with the ability to deploy an ERC721/ERC1155 NFT smart contract with basic minting functionality, on-chain royalties and permissioning. Additionally, they provide a framework for extending the functionality of the smart contract by installing extension applications.

These contracts are used in the Manifold Studio.

This enables creators to use the same underlying Manifold Creator Core contract to continue creating new and innovative NFT's and experiences.

See our developer documentation and blog post for more information.

Go here for example applications that have been added to Manifold Creator Core contracts.

Overview

Installation

$ npm install @manifoldxyz/creator-core-solidity

Usage

Once installed, you can use the contracts in the library by importing them:

pragma solidity ^0.8.0;

import "@manifoldxyz/creator-core-solidity/contracts/ERC721Creator.sol";

contract MyContract is ERC721Creator  {
    constructor() ERC721Creator ("MyContract", "MC") {
    }
}

The available contracts are:

  • ERC721Creator
  • ERC721CreatorUpgradeable - A transparent proxy upgradeable version of ERC721Creator
  • ERC721CreatorEnumerable - Note that using enumerable significantly increase mint costs by around 2x
  • ERC1155Creator

Manifold Studio currently makes use of ERC721Creator and ERC1155Creator

Extension Applications

The most powerful aspect of Manifold Creator Core contracts is the ability to extend the functionality of your smart contract by adding new Extension Applications (Apps). Apps have the ability to override the following functionality for any token created by that App:

ERC721

  • mint
  • tokenURI
  • transferFrom/safeTransferFrom pre-transfer check
  • burn pre-burn check
  • define royalties for extension minted tokens

ERC1155

  • mint
  • uri
  • safeTransferFrom pre-transfer check
  • burn pre-burn check
  • define royalties for extension minted tokens

In order to create an app, you'll need to implement one or more interfaces within contracts/extensions, deploy the new app and register it to the main Creator Core contract using the registerExtension function (which is only accessible to the contract owner or admins).

Example applications can be found here.

Running the package unit tests

Visit the github repo and clone the repo. It uses the truffle framework and ganache-cli.

Install both:

npm install -g truffle
npm install -g ganache-cli

install dependencies

npm install

Compile

truffle compile

Start development server

ganache-cli

Deploy migrations

truffle migrate

Run tests

truffle test

FAQs

Last updated on 22 Mar 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc