Skip to content

jito-foundation/metaplex-program-library

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Metaplex Program Library

Metaplex smart contracts and SDK.

Metaplex Contracts

Name Program SDK Integration Test
Candy Machine Program Candy Machine SDK Candy Machine
Token Entangler Program Token Entangler SDK Token Entangler
Token Metadata Program Token Metadata SDK Token Metadata
Auction House Program Auction House SDK Auction House
NFT-Packs Program NFT-Packs
Gumdrop Program Gumdrop SDK Gumdrop
Fixed price sale Program Fixed Price Sale SDK Fixed Price Sale Integration Fixed Price Sale

Development

Setting up Rust Tests

Run the build.sh script with the name of the program to build the shared object and put it in a directory called test-programs in the root of the project.

E.g.:

./build.sh auction-house

Running with all builds all programs.

Versioning and Publishing Packages

Smart contract SDK packages are versioned independently since a contract isn't necessarily coupled to other contracts.

We use the following (pre|post)(version|publish) npm scripts to manage related checks, tagging, commiting and pushing the version bump.

  • preversion: ensures that the package builds and its tests pass
  • postversion: adds and commits the version bump and adds a tag indicating package name and new version, i.e. @metaplex-foundation/[email protected]
  • prepublishOnly: ensures that the package builds and its tests pass again (just to be really sure)
  • postpublish: pushes the committed change and new tag to github

In order to version and then publish a package just run the following commands from the folder of the package you want to update:

  • npm version <patch|minor|major>
  • npm publish

As you note if version + publish succeeds the scripts end up pushing those updates to the master branch. Therefore please ensure to be on and up to date master branch before running them. Please don't ever publish from another branch but only from the main one with only PR approved changes merged.

Rust Crates

Package Link Version
Candy Machine mpl-candy-machine Crate
Token Metadata mpl-token-metadata Crate
Auction House mpl-auction-house Crate
Testing Utils mpl-testing-utils Crate

Npm Packages

Package Link Version
Candy Machine mpl-candy-machine NPM
Token Metadata mpl-token-metadata NPM
Core mpl-core NPM
Auction House mpl-auction-house NPM

Reporting security issues

To report a security issue, please follow the guidance on the SECURITY page.

License

The Rust/Cargo programs are licensed under the “Apache-style” Metaplex(TM) NFT Open Source License and the JS/TS client libraries are licensed under either the MIT or the Apache licenses.

About

Smart contracts maintained by the Metaplex team

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 63.2%
  • TypeScript 36.3%
  • Other 0.5%