@protofire/subgraph-toolkit
v0.1.2
Published
AssemblyScript helpers for writing subgraph mappings for The Graph
Downloads
6,012
Keywords
Readme
Subgraph Toolkit
Content
Features ✨
This library complements and extends the official library @graphprotocol/graph-ts
with the following functionality:
- [x] Useful constants ready to use in the subgraph mappings (including numeric constants, addresses, hashes and more).
- [x] Helper functions to convert between different types not available in the standard library
- [x] Convert Bytes to Address
- [x] Convert Bytes to signed and unsigned integer
- [x] Convert BigDecimal to BigInt with a given precision
- [x] Convert BigInt to Bytes
- [x] Convert BigInt to BigDecimal with a given precision
- [x] Calculate maximum and minimum of BigInt and BigDecimal values.
- [x] Hex Strings helpers
- [x] Counters
- [x] 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.