https://github.com/left-curve/left-curve
The Left Curve Stack
https://github.com/left-curve/left-curve
blockchain cryptocurrency defi smart-contracts web3
Last synced: 3 months ago
JSON representation
The Left Curve Stack
- Host: GitHub
- URL: https://github.com/left-curve/left-curve
- Owner: left-curve
- Created: 2023-12-28T01:37:54.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-05T02:14:30.000Z (3 months ago)
- Last Synced: 2025-02-05T09:13:33.647Z (3 months ago)
- Topics: blockchain, cryptocurrency, defi, smart-contracts, web3
- Language: TypeScript
- Homepage: https://grug.build
- Size: 30 MB
- Stars: 97
- Watchers: 6
- Forks: 15
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
- awesome-ccamel - left-curve/left-curve - Left curve monorepo (Rust)
README
![]()
# Left Curve
This is a [monorepo](https://en.wikipedia.org/wiki/Monorepo) containing a number of [Left Curve Software](https://x.com/leftCurveSoft) products:
| Name | Language | Description |
| ----------------- | ---------- | ------------------------------------------- |
| [dango](./dango/) | Rust | A suite of DeFi application smart contracts |
| [grug](./grug/) | Rust | An execution environment for blockchains |
| [sdk](./sdk/) | TypeScript | An SDK for interacting with Grug chains |
| [ui](./ui/) | TypeScript | A web interface for accessing Dango |## How to use
Prerequisites:
- [Rust](https://rustup.rs/) with `wasm32-unknown-unknown` target
- [Just](https://just.systems/man/en/)
- [Docker](https://docs.docker.com/engine/install/)
- [Node.js](https://nodejs.org/en/download/) [version 21.0+](https://github.com/left-curve/left-curve/blob/main/sdk/README.md?plain=1#L62)
- [pnpm](https://pnpm.io/)
- [Forge](https://book.getfoundry.sh/getting-started/installation)We use [VS Code](https://code.visualstudio.com/) as text editor with the following plugins:
- [Biomejs](https://marketplace.visualstudio.com/items?itemName=biomejs.biome)
- [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
- [Dependi](https://marketplace.visualstudio.com/items?itemName=fill-labs.dependi)
- [EditorConfig](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig)
- [Error Lens](https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens)
- [Even Better TOML](https://marketplace.visualstudio.com/items?itemName=tamasfe.even-better-toml)
- [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
- [Markdown All in One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one)
- [markdownlint](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint)
- [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)
- [solidity](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity)
- [Todo Tree](https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree)
- [Trailing Spaces](https://marketplace.visualstudio.com/items?itemName=shardulm94.trailing-spaces)### Rust
Install the `grug` command line software:
```shell
just install
```Run tests:
```shell
just test
```Lint the code:
```shell
just lint
```Compile and optimize smart contracts:
```shell
just optimize
```### TypeScript
Before running any command is necessary to run:
```shell
pnpm install
```Start the development mode for dango and grug sdk:
```shell
pnpm dev:sdk
```Start the development mode for the app located in the `ui/portal/web` directory:
```shell
pnpm dev:portal-web
```Build Grug and Dango SDK:
```shell
pnpm build:sdk
```Build Portal Website:
```shell
pnpm build:portal-web
```Run tests:
```shell
pnpm test
```Run linter:
```shell
pnpm lint
```Generate documentation:
```shell
pnpm doc
```Storybook:
```shell
pnpm storybook
```## Solidity
Install dependencies:
```shell
forge soldeer install
```Install dependencies of dependencies (this isn't done automatically in the previous step):
```shell
cd dependencies/hyperlane-monorepo-0.0.0
yarn install
```Compile contracts:
```shell
forge build
```Run tests:
```shell
forge test
```## Docs
Install dependencies:
```shell
cargo install mdbook
cargo install mdbook-katex
```Generate docs:
```shell
mdbook build
```## Acknowledgement
> TODO
## License
> TBD