npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

flowty-drops

v1.0.0

Published

A system of contracts designed to make it easy to expose drops to platforms on the Flow Blockchain. Using FlowtyDrops and its supporting contracts, you can easily integrate an open framework for anyone to showcase your drop on their own site/platform

Downloads

5

Readme

Flowty Drops

A system of contracts designed to make it easy to expose drops to platforms on the Flow Blockchain. Using FlowtyDrops and its supporting contracts, you can easily integrate an open framework for anyone to showcase your drop on their own site/platform

Overview

FlowtyDrops is made up of a few core resources and structs:

  1. @Drop - Coordinates drops. Drop resources contain an array of Phase resources, details, and a capability to a Minter interface for it to us
  2. @Phase - A stage of a drop. Many drops are segments into multiple stages (such as an allow-list followed by a public mint), phases are a way to represent this. Phases dictate what accounts can mint, how many, for what price. Each phase is independent of others, and be asked if it is active or not.
  3. @Container - Holds Drop resources in it.
  4. @{Minter} - A resource interface that creators can implement to be compatible with FlowtyDrops. When constructing a drop, you must supply a Capability<&{Minter}> to it.
  5. {ActiveChecker} - A struct interface that is responsible for whether a phase is active or not. For example, one implementation could be configured to start a phase at a time in the future, while another could turn start based on block height.
  6. {AddressVerifier} - A struct interface that is responsible for determining if an account is permitted to mint or not. For example, one implementation might permit any account to mint as many as it wants, while another might check an allow-list.
  7. {Pricer} - A struct interface that is responsible for the price of a mint. For example, one implementation could be for a set flat fee while another could be dynamic based on an account's ownership of a certain collection

Contracts

  1. FlowtyDrops - The primary contract. All core resources and structs can be found here. All other contracts represent sample implementations of the definitions found here
  2. DropFactory - Helper method to create pre-configured popular drop options
  3. FlowtyAddressVerifiers - Implementations of the AddressVerifiers struct interface. AddressVerifiers handle whether a minter is permitted to mint with the given parameters they are using. Some verifiers might permit any kind of activity whereas others might require server-side signatures or prescence on an allow-list.
  4. FlowtyPricers - Implementations of the Pricer struct interface. Pricers are responsible for handling how much an attempted mint should cost. For example, you might make a drop free, or might configure a drop to be a flat fee regardless of how many are being minted at once.
  5. FlowtyActiveCheckers - Implementations of the ActiveChecker struct interface. ActiveCheckers are responsible for flagging if a drop is live or not. For example, a drop might go live a certain unix timestamp and end at a future date, or it might be on perpetually until manually turned off.