Skip to content

Releases: onflow/freshmint

Freshmint CLI v0.5.0

18 Dec 21:12
Compare
Choose a tag to compare

Installation

npm install -g freshmint

Follow the getting started guide to create your first Freshmint project.

Changelog

  • Add support for edition_limit field: #173
  • Update web app to work on testnet: #174

Freshmint CLI v0.4.0

14 Dec 19:59
Compare
Choose a tag to compare

Changelog

  • Add burn command (#114)

Example

# Destroy 3 existing NFTs, the IDs of which are 29, 35, and 36
fresh burn 29 35 36

Freshmint Core v0.4.0

06 Dec 19:12
Compare
Choose a tag to compare

Installation

npm install @freshmint/[email protected]

Changelog

Standard Edition Updates

The edition template now allows developers to create either closed or open editions. Open editions are editions that have no predefined limit, whereas a closed edition must contain a fixed number of NFTs determined before minting.

Previously, an edition had two fields: size and count. Freshmint only supported closed editions. As such, every edition had to specify a fixed size.

An edition now contains the fields limit, size and burned:

pub struct Edition {

    pub let id: UInt64

    /// The maximum number of NFTs that can be minted in this edition.
    ///
    /// If nil, the edition has no size limit.
    ///
    pub let limit: UInt64?

    /// The number of NFTs minted in this edition.
    ///
    /// This field is incremented each time a new NFT is minted.
    /// It cannot exceed the limit defined above.
    ///
    pub var size: UInt64

    /// The number of NFTs in this edition that have been burned.
    ///
    /// This field is incremented each time an NFT is burned.
    ///
    pub var burned: UInt64
}

How to mint a closed edition

See the updated edition documentation for full instructions.

It is still possible to mint a closed edition like before. It requires a change when calling the createEditions function.

When creating an edition, include the limit field instead of size:

const edition = {
  // Previously this field was named `size`:
  // size: 100
  limit: 100,
  metadata: {
    name: 'Edition 1',
    description: 'This is the first edition',
    thumbnail: 'bafybeidlkqhddsjrdue7y3dy27pu5d7ydyemcls4z24szlyik3we7vqvam',
  }
};

const editions = await client.send(contract.createEditions([edition]));

Blind Edition Updates

See the updated blind edition documentation for full instructions.

The blind edition template was updated in two ways:

  1. Same as the standard edition template above, it now accepts a limit parameter instead of size (to support open editions).
  2. It now shows an NFT's edition at mint time instead of at reveal time. The serial number is still hidden. We call these "partially-blind editions".

How to mint a partially blind edition

const edition = {
  // Previously this field was named `size`:
  // size: 100
  limit: 100,
  metadata: {
    name: 'Edition 1',
    description: 'This is the first edition',
    thumbnail: 'bafybeidlkqhddsjrdue7y3dy27pu5d7ydyemcls4z24szlyik3we7vqvam',
  }
};

const editions = await client.send(contract.createEditions([edition]));

for (const edition of editions) {
  // THE OLD WAY
  //
  //  const mintedNFTs = await client.send(contract.mintNFTs(
  //    randomizedNFTs,
  //    { bucket: edition.id }
  //  ));

  const randomizedSerialNumbers = shuffle(edition.serialNumbers);

  // THE NEW WAY: specify an editionId and a list of serialNumbers.
  // 
  const mintedNFTs = await client.send(contract.mintNFTs({ 
    editionId: edition.id,
    serialNumbers: randomizedSerialNumbers,
    bucket: edition.id
  }));
}

Other Changes

  • Add optional attributes field to all NFTs (#160)
  • Support async signers, fix authorization tempId (#156)
  • Support IPFS files in directory format (#157)
  • Export the hash function for blind NFTs (ee10584)
  • Add transferNFT transaction to all contracts (#162)

Freshmint CLI v0.1.0 (Alpha)

24 Nov 00:24
Compare
Choose a tag to compare
Pre-release

Installation

# Install the Freshmint CLI
npm install -g freshmint

CLI Quick Start

# Create a new Freshmint project in ./my-project
fresh start my-project

Now follow the steps in my-project/README.md to get started!

v0.0.29 (Alpha)

04 Oct 19:34
Compare
Choose a tag to compare
v0.0.29 (Alpha) Pre-release
Pre-release

Installation

# Install the Freshmint CLI
npm install -g [email protected]
# Install as a local NPM package
npm install [email protected]

CLI Quick Start

# Create a new Freshmint project in ./my-project
fresh start my-project

Changelog

  • Update Blind NFT contract template to validate revealed metadata (#97)
  • Add support for MetadataViews.Serial view (#109)

v0.0.28 (Alpha)

27 Sep 22:17
Compare
Choose a tag to compare
v0.0.28 (Alpha) Pre-release
Pre-release

Installation

# Install the Freshmint CLI
npm install -g [email protected]
# Install as a local NPM package
npm install [email protected]

CLI Quick Start

# Create a new Freshmint project in ./my-project
fresh start my-project

Changelog

  • Add support for on-chain royalties in Node.js library (#103)
  • Throw error when collection is missing a deployed address (#99)

v0.0.27 (Alpha)

22 Sep 00:31
Compare
Choose a tag to compare
v0.0.27 (Alpha) Pre-release
Pre-release

Installation

# Install the Freshmint CLI
npm install -g [email protected]
# Install as a local NPM package
npm install [email protected]

CLI Quick Start

# Create a new Freshmint project in ./my-project
fresh start my-project

Changelog

  • Switch from MIT to Apache 2.0 license (#94)
  • Update NFTCollectionDisplayView to support HTTP media (#98)
  • Documentation updates
    • Add documentation for allowlists
    • Update documentation for EditionNFT
    • Fix typo in README (#92) - @justinawrey

v0.0.20 (Alpha)

08 Sep 01:33
Compare
Choose a tag to compare
v0.0.20 (Alpha) Pre-release
Pre-release

Installation

# Install Freshmint CLI
npm install -g freshmint@alpha
# Install as local NPM package
npm install freshmint@alpha

Quick Start

# Create a new Freshmint project in ./my-project
fresh start my-project

Changelog

  • Fix metadata view schema parsing (#72)
  • Add support to pin IPFS files from a URL (#74)
  • Add metadata view for blind NFTs (#78)

v0.0.18 (Alpha)

29 Aug 17:49
Compare
Choose a tag to compare
v0.0.18 (Alpha) Pre-release
Pre-release

Installation

# Install Freshmint CLI
npm install -g freshmint@alpha

# Install as local NPM package
npm install freshmint@alpha

Quick Start

# Create a new Freshmint project in ./my-project
fresh start my-project

Changelog

  • Pin remote files to IPFS by specifying an HTTP URL in CSV file (#74).
  • Add FreshmintMetadataViews.BlindNFT view to BlindNFT and EditionNFT contracts (#79).
    • This also adds a generic get_nft.cdc Cadence script that works for standard, blind and revealed NFTs.
  • Validate freshmint.yaml and return better error messages for invalid configuration.

v0.0.17 (Alpha 2)

22 Aug 22:31
Compare
Choose a tag to compare
v0.0.17 (Alpha 2) Pre-release
Pre-release

This is a small release to fix a package configuration error in the previous v0.0.17 Alpha 1 release.

Installation

npm install -g freshmint@alpha

πŸ› Bug Fixes

  • Add freshmint/crypto submodule to the "exports" object in package.json (13907bc).