24 packages
hardhat-circom
Hardhat plugin to integrate Circom and SnarkJS into your build process.
hardhat-diamond-abi
Hardhat plugin to combine multiple ABIs into a Diamond ABI artifact.
hardhat-settings
Hardhat plugin to load, validate, and populate settings in the environment.
hardhat-vite
Hardhat plugin wrapping Vite to configure and launch dApps.
@projectsophon/constants
This package contains useful constants for use when interacting with the Dark Forest smart contracts within JavaScript or TypeScript.
@projectsophon/df-plugin-dev-server
An ESBuild server for Dark Forest plugin development.
@projectsophon/eslint-config
ESLint config for Project Sophon projects.
@projectsophon/eslint-plugin-typescript-enum
ESLint rules for TypeScript enums.
@projectsophon/events
This package contains a typed, single pub/sub pattern used in the Dark Forest game. Inspired by https://www.npmjs.com/package/monomitter
@projectsophon/gamelogic
## Table of contents
@projectsophon/hashing
This package contains MiMC hashing utilities for use with Dark Forest. The MiMC algorithm is used for both finding planet hashes and calculating the perlin in-game. Among other things, these values are often needed for generating Snarks.
@projectsophon/hexgen
This package contains functions for determining various properties of Dark Forest objects based on their ID in hex. You could think of this package like procedural generation for Ethereum addresses.
@projectsophon/network
This package contains functions and classes useful for communicating with the blockchain.
@projectsophon/prettier-config
Prettier config for Project Sophon projects.
@projectsophon/procgen
## Table of contents
@projectsophon/renderer
## Table of contents
@projectsophon/serde
This package contains serializers and deserializers for converting between various representations of Dark Forest data, for example between raw data received from blockchain calls to Dark Forest contracts and the typescript types used across the client.
@projectsophon/settings
This package contains decoders and types for settings required to prepare and deploy the Dark Forest smart contracts.
@projectsophon/snarkjs-helpers
This package contains simple TypeScript types for working with SnarkJS, plus utilities to convert from SnarkJS outputs to smart contract call data.
@projectsophon/tsconfig
TypeScript config for Project Sophon projects.
@projectsophon/types
This package contains commonly-used data types in the Dark Forest webclient, also accessible in node.js server environments.
@projectsophon/ui
## Table of contents
@projectsophon/whitelist
This package contains utilities for working with DarkForest whitelist keys.
@projectsophon/workspace
Utility for finding workspace directory paths in a project using npm workspaces.