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

@thxnetwork/artifacts

v4.0.6

Published

Maintainer: [Peter Polman](mailto:[email protected]) - [THX Discord](https://discord.gg/6n6QK8Qk) - [THX Slack](https://thx.page.link/slack)

Downloads

79

Readme

Diamond Facets & Factories

Maintainer: Peter Polman

Support: THX Discord THX Slack

Default Asset Pools are connected to an ERC20 contract. The pool is controlled by a permissioned (OAuth2.0) REST API which is responsible for paying the gas costs used to manage the pool. Access to the pool is managed with a flexible role-based access mechanism. Pools can hold various reward configurations for the connected ERC20 tokent contract and will manage the distribution of those token rewards with a withdrawal system. The poll system used to govern the reward configuration and withdrawals is optional.

Running network localhost

npx hardhat node

Deployment

Deploy facets, factory and registry on localhost network.

sh ./scripts/publish.sh [major, minor, nonce] (default=patch)

Diamonds

Pools are build and managed using the Nick Mudges Diamonds concept. Listen to Nick explain them in this interview.

Reasons for diamonds implementation:

  • No contract size limit
  • Deterministic contract addresses
  • Maintain contract functionality after upgrade

Pool Factory

The pool factory is used to deploy asset pools from a single source and keep track of them. IDefaultDiamond.sol contains the full interface the initally deployed asset pool.

Pool Registry

The registry is used to expose settings that go for all asset pools. Future development will make this contract governable.

Fee Collector

The Fee Collector address is set in the registry and will receive the deposit fee as configured in the registry.

Tests

All the meaningfull logic in the contracts is and should be covered with tests. Run the tests with npm test. Read the test scripts to get more insight into the facet features.