3.3.1 • Published 4 months ago

@midnight-ntwrk/wallet-api v3.3.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
4 months ago

Midnight Wallet API

Definition of the Midnight Wallet set of interfaces.

Structure

This is a plain yarn project that declares a set of TypeScript interfaces. All of them can be found in src/ directory:

  • wallet.ts - To prepare/balance/submit transactions
  • filterService.ts - To retrieve transactions from a node, filtered by an arbitrary condition

Development setup

To start developing, first install Nix. Then direnv is optional but strongly recommended. This project provides a flake with a dev shell definition.

Then, configure Yarn with your credentials by following the Authentication setup document.

If you're using direnv, only the first time you will need to do:

direnv allow

After that, yarn should be available in your path.

If you're not using direnv, you will have to manually start the dev shell every time with:

nix develop

Lint

yarn eslint
nix fmt

Build

Remember to install the dependencies after cloning:

yarn install

Build:

yarn build

The generated TypeScript definitions and JavaScript code are written to dist/ directory.

Contributing

All new features must branch off the default branch main.

Release a new version

Please read our git workflow for how to branch and tag releases.

In order to release a new version, the version in package.json should be bumped.

After that, use the Releases feature from GitHub to create a tag with a name following the pattern vX.Y.Z. Cicero will detect it and automatically build and publish the new version.

Test

This is an interface only, without implementations, so no tests are provided. The CI will only try to lint and build the code to verify its correctness.

Documentation

To generate documentation files in docs folder:

yarn run build:markdown-docs