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

@moonwell-fi/market-reward-adjuster

v1.0.42

Published

The Moonwell Market Reward Automation tool is a tool designed to automate the market reward emissions in a sane, repeatable, and verifiable way.

Downloads

125

Readme

Moonwell Market Reward Automation

The Moonwell Market Reward Automation tool is a tool designed to automate the market reward emissions in a sane, repeatable, and verifiable way.

Installation

The tool is hosted on NPM and can be installed just like any other node package.

It is recommended to run this tool inside docker to hedge against the risk of malicious supply chains or other comprimises.

You can use the following command to start a new docker container with the local directory mounted, then follow the other installation instructions to use the tool.

If you prefer not to use docker, simply skip the first step below, though it's highly recommended.

$ docker run --rm -it -v $(pwd):$(pwd) --workdir $(pwd) node:lts bash
$ npm install -g @moonwell-fi/market-reward-adjuster

Usage

Once you have the reward adjuster installed, you will have 2 new command line utilities at your disposal

  • moonwell-config-generator will prompt you with a few questions about which network you're on, the amount of tokens to disburse, etc and generate you a config file with all relevant market data needed to generate a proposal. No arguments are necessary for this command. The default output will weight rewards based on TVL.
  • moonwell-proposal-generator will read in a config file that's generated by moonwell-config-generator and display and generate a proposal with an outline of what it does that can be put on-chain. The only argument you should need for this tool is a path to the generated config file.

The idea is that you run moonwell-config-generator to generate a config, tweak it as needed, then use moonwell-proposal-generator to generate the artifacts that you need to upload to the gov portal to put the proposal on-chain.

There are a number of sections in the config file that are adjustable, though this process needs to be improved IMO. ONLY update the following things in the generated config file:

  • marketData.govRewardSplits - governs weighting for gov reward tokens per market. Must add up to 1
  • marketData.nativeRewardSplits - governs weighting for native reward tokens per market. Must add up to 1
  • marketData.assets.[*].nativeSupplyBorrowSplit - governs how much weight the borrow and supply side has of the share of tokens it's given in marketData.nativeRewardSplits. Must add up to 1
  • marketData.assets.[*].govSupplyBorrowSplit - governs how much weight the borrow and supply side has of the share of tokens it's given in marketData.govSupplyBorrowSplit. Must add up to 1

Once you've made any of these weighting tweaks desired, you can run moonwell-proposal-generator MIP-xxx.json, which will print out a summary of the proposal/adjustments, and write out the following files:

  • MIP-xxx-description.md - The markdown of the proposal itself
  • MIP-xxx-proposal.json - The proposal JSON with the markdown embedded in it which should be submitted to the gov portal.

Updating grant information

When submitting a reward speed proposal for governance, please update the Grants Project and mark the grant as reduced by the amount awarded.