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

@yield-protocol/yield-utils-v2

v2.0.1

Published

Yield v2 utility contracts

Downloads

6

Readme

YieldToken

YieldToken is an implementation of zero-coupon Dai bonds. It is inspired by the paper "The Yield Protocol: On-Chain Lending With Interest Rate Discovery" by Dan Robinson and Allan Niemerg.

These smart contracts have been deployed to Kovan and the Mainnet, and a web frontend is deployed at http://app.yield.is

Detailed documentation can be found in the Yield docs.

Warning

This code is provided as-is, with no guarantees of any kind.

Install

Pre Requisites

Before running any command, make sure to install dependencies:

$ yarn

Lint Solidity

Lint the Solidity code:

$ yarn lint:sol

Lint TypeScript

Lint the TypeScript code:

$ yarn lint:ts

Coverage

Generate the code coverage report:

$ yarn coverage

Test

Compile and test the smart contracts with Buidler and Mocha:

$ yarn test

Fuzz

You will need to install echidna separately, and then run:

$ echidna-test . --contract WhitepaperInvariant --config contracts/invariants/config.yaml

Start a local blockchain

We use ganache as a local blockchain:

$ yarn ganache

Start a local copy of the mainnet blockchain

We use ganache to fork the mainnet blockchain:

$ yarn mainnet-ganache

Migrate

We use truffle for migrations, make sure that truffle-config.js suits your use case, start a local ganache instance as explained above, and then run truffle:

$ npx truffle migrate

or

$ npx truffle migrate --network mainnet-ganache

Math

In developing fyDai we have used two different libraries for fixed point arithmetic.

Security

In developing the code in this repository we have set the highest bar possible for security. We have been fully audited by Trail of Bits, with the results publicly available. We have also used fuzzing tests for the Pool and YieldMath contracts, allowing us to find edge cases and vulnerabilities that we would have missed otherwise.

Bug Bounty

Yield is offering bounties for bugs disclosed to us at [email protected]. The bounty reward is up to $25,000, depending on severity. Please include full details of the vulnerability and steps/code to reproduce. We ask that you permit us time to review and remediate any findings before public disclosure.

Contributing

This project doesn't include any governance or upgradability features. If you have a contribution to make, please reach us out on Discord and we will consider it for a future release or product.

Acknowledgements

We would like to thank Dan Robinson (Paradigm), Georgios Konstantopoulos (Paradigm), Sam Sun (Paradigm), Mikhail Vladimirov (ABDK), Gustavo Grieco (Trail of Bits), Martin Lundfall (dAppHub) and Noah Zinsmeister (Uniswap) for their feedback and advice. We wouldn't be here without them.

License

All files in this repository are released under the GPLv3 license.