Neurotic Pumpkin Murderer

    @web3-set-theory/schema
    TypeScript icon, indicating that this package has built-in type declarations

    0.1.0-beta.1 • Public • Published

    Sets Schema

    The @metameta/metasets-schema package includes a JSON schema for V1 sets, and TypeScript utilities for working with sets.

    💾 Installation

    npm install @web3-set-theory/schema
    yarn add @web3-set-theory/schema
    git clone https://github.com/web3-set-theory/schema

    💻 Developer Experience

    The module is built using TSDX zero-config CLI which includes:

    • Typescript
    • Rollup
    • Jest
    • Prettier
    • ESLint

    Validating Sets

    JSON Schema $id

    The JSON schema ID is https://metametaprotocol.com/set.smartcontract.schema.json

    Validating Sets

    This package does not include code for token list validation. You can easily do this by including a library such as ajv to perform the validation against the JSON schema. The schema is exported from the package for ease of use.

    import Ajv from 'ajv';
    import { smartcontract } from '@metameta-protocol/metasets-schema'
    
    const ajv = new Ajv({ allErrors: true });
    const validate = ajv.compile(smartcontract);
    
    const response = await fetch('https://metameta.com/guide/defi-kickstart.json')
    const listData = await response.json()
    
    const valid = validate(listData)
    
    if (!valid) {
      // oh no!
    }

    Creating Sets

    Manual

    The best way to manually author token lists is to use an editor that supports JSON schema validation. Most popular code editors do, such as IntelliJ or VSCode. Other editors can be found here.

    In order for your set to be able to be used, it must pass all JSON schema validation specific to that type.

    Semantic versioning

    Sets include a version field, which follows semantic versioning.

    Each set will have specific rules defining versioning but generally a good rule of thumb is...

    • Increment major version when an Entity is removed
    • Increment minor version when an Entity is added
    • Increment patch version when an Entity already on the list have minor details changed that don't effect the set outcome.

    Keywords

    none

    Install

    npm i @web3-set-theory/schema

    DownloadsWeekly Downloads

    2

    Version

    0.1.0-beta.1

    License

    GPL-3.0-only

    Unpacked Size

    135 kB

    Total Files

    46

    Last publish

    Collaborators

    • sudokames
    • kamesdev