Giter Club home page Giter Club logo

launchpad's Introduction

Stargaze Launchpad CosmWasm Contracts

Stargaze smart contracts are written in CosmWasm, a multi-chain smart contract platform in Rust.

Architecture

Launchpad consists of minter factories, minters, and SG-721 collection contracts.

Minter Factories

A minter factory is a singleton contract that encapsulates all governance parameters for a type of minter. It's sole responsibility is to instantiate new minters with the latest governance parameters.

Each factory also maintains an inventory of minters it has created, along with a verified, blocked, and explicit status for each. Goverance can vote to verify and block minters.

Minters

Stargaze supports various types of minters. CosmWasm developers are encouraged to contribute new types of minters. Developers can earn a fee from every mint via Fair Burn's developer incentive.

Collection contracts

Stargaze collections are based on cw721 and 100% compatible with the cw721 spec. SG-721 simply adds on-chain collection-level metadata. Developers are encouraged to contribute different types of collection contracts.

Running e2e Tests

End-to-end tests run on a Stargaze blockchain node, providing a higher assurance of safety than CosmWasm multitest.

make optimize
make e2etest

Publish release

Only crate owners can publish a new release.

make release VERSION=[version]

Note: You may have to close your editor to prevent rust-analyzer from interfering with the script.

Latest contracts: https://github.com/public-awesome/launchpad/releases/latest

Latest types: https://www.npmjs.com/package/@stargazezone/launchpad

DISCLAIMER

STARGAZE CONTRACTS IS PROVIDED β€œAS IS”, AT YOUR OWN RISK, AND WITHOUT WARRANTIES OF ANY KIND. No developer or entity involved in creating or instantiating Stargaze smart contracts will be liable for any claims or damages whatsoever associated with your use, inability to use, or your interaction with other users of Stargaze, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value. Although Public Awesome, LLC and it's affilliates developed the initial code for Stargaze, it does not own or control the Stargaze network, which is run by a decentralized validator set.

launchpad's People

Contributors

de-husk avatar humanalgorithm avatar jakehartnell avatar jhernandezb avatar kayanski avatar keyleu avatar kromsten avatar larry0x avatar mightofoaks avatar pyramation avatar racoon-supply-rac avatar shanev avatar spoo-bar avatar taitruong avatar tasiov avatar yubrew avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

launchpad's Issues

Query for number of minted tokens

unused_token_id was removed in a recent commit. We need some way of calculating how many tokens remain and what percentage has been sold for the UI.

Optimize code size

Check production code size. If size is an issue can make some simple changes:

  • replace URL validation with a regexp

Claim contract

MsgClaimMintNFT -> Checks that the user sending the tx owns an nft from a giving sg-721 contract address and if it does should execute a custom ClaimFor message

remove enforcing dates

Currently people on testnet can not mint or whitelist until after start_time which is hard wired for genesis mint day. Comment the code out during testing.

query mint price

query mint price so front end can access correct mint price as Coin

change whitelist pricing

whitelist fee should increase with increasing number of members.

  • either up front in instantiation (this is probably easier and more user friendly)
  • as you add and pass thresholds

add whitelist ContractError::AlreadyStarted {}

similar to error in minter

 let start_time = if start_time < default_start_time {
        default_start_time
    if config.start_time.is_expired(&env.block) {
        return Err(ContractError::AlreadyStarted {});

add error for whitelist per_address_limit == 0

if msg.per_address_limit > MAX_PER_ADDRESS_LIMIT {
        return Err(ContractError::InvalidPerAddressLimit {
            max: MAX_PER_ADDRESS_LIMIT.to_string(),
            got: msg.per_address_limit.to_string(),
        });

should we check msg.per_address_limit !=0 ? same for num_tokens?

Batch mint error

submessages: 0ustars is smaller than 100000000ustars: insufficient funds

but do have funds.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.