0.1.2 • Published 4 years ago

@protofire/subgraph-toolkit v0.1.2

Weekly downloads
54
License
GPL-3.0-only
Repository
github
Last release
4 years ago

Subgraph Toolkit

NPM Package License: GPL v3 Code Style: prettier


Content

Features ✨

This library complements and extends the official library @graphprotocol/graph-ts with the following functionality:

  • Useful constants ready to use in the subgraph mappings (including numeric constants, addresses, hashes and more).
  • Helper functions to convert between different types not available in the standard library
    • Convert Bytes to Address
    • Convert Bytes to signed and unsigned integer
    • Convert BigDecimal to BigInt with a given precision
    • Convert BigInt to Bytes
    • Convert BigInt to BigDecimal with a given precision
  • Calculate maximum and minimum of BigInt and BigDecimal values.
  • Hex Strings helpers
  • Counters
  • Accumulators
  • Helper functions to handle aggregated data WIP
  • Utilities to manipulate tokens (ERC20/ERC721/ERC1115)

Install 🐙

In subgraph project, install this library as dependency or devDependency:

    yarn add @protofire/subgraph-toolkit --exact

NOTE

It's highly recommended installing a specific version of this library since in between early versions API is subject to change without previous notice.


Usage 💡

Utilities

TODO

Prettier configuration

This package also provides an opinionated Prettier configuration file. To apply the recommended config:

// prettier.config.js

module.exports = require('@protofire/subgraph-toolkit/prettier.config.js')

To override and/or extend use that config file as:

// .prettierrc.js

module.exports = {
  ...require('@protofire/subgraph-toolkit/prettier.config.js'),

  printWidth: 120,

  overrides: [
    {
      files: '*.json',
      options: {
        printWidth: 80,
      },
    },
  ],
}

Examples 🖍

The following subgraphs are using this library:

Documentation 📄

TODO

Contributing 🍰

Please make sure to read the Contributing Guide before making a pull request.

Thank you to all the people who already contributed to this project!

License ⚖️

Copyright © 2020 Protofire.io and contributors

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses.