https://github.com/bootnodedev/intents-framework
ERC-7683 - Intents Framework Monorepo
https://github.com/bootnodedev/intents-framework
Last synced: 2 months ago
JSON representation
ERC-7683 - Intents Framework Monorepo
- Host: GitHub
- URL: https://github.com/bootnodedev/intents-framework
- Owner: BootNodeDev
- License: apache-2.0
- Created: 2024-10-22T13:16:56.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-03-27T12:14:32.000Z (2 months ago)
- Last Synced: 2025-03-29T20:08:53.236Z (2 months ago)
- Language: TypeScript
- Homepage: https://app.openintents.xyz/
- Size: 2.6 MB
- Stars: 126
- Watchers: 12
- Forks: 26
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Intents For Everyone, With EveryoneA modular, open-source framework for permissionless, scalable intent execution.
# Open Intents Framework
[![License: MIT][license-badge]][license]
[license]: https://www.apache.org/licenses/LICENSE-2.0
[license-badge]: https://img.shields.io/badge/License-Apache-blue.svg## Description
The Open Intents Framework is an open-source framework that provides a full stack of smart contracts, solvers and UI with modular abstractions for settlement to build and deploy intent protocols across EVM chains.
With out-of-the-box ERC-7683 support, the Open Intents Framework standardizes cross-chain transactions and unlocks intents on day 1 for builders in the whole Ethereum ecosystem (and beyond).
## Features
- **ERC-7683 Reference Implementation:** Standardizes cross-chain intent execution, making transactions more interoperable and predictable across EVM chains.
- **Open-Source Reference Solver:** application that provides customizable protocol-independent features—such as indexing, transaction submission, and rebalancing.
- **Composable Smart Contracts:** composable framework where developers can mix and match smart contracts, solvers, and settlement layers to fit their use case
- **Ready-to-Use UI:** A pre-built, customizable UI template that makes intents accessible to end users.
- **Credibly Neutral:** works across different intent-based protocols and settlement mechanisms## Directory Structure
- `solidity/` - Contains the smart contract code written in Solidity.
- `typescript/solvers/` - Houses the TypeScript implementations of the solvers that execute the intents.## Getting Started
### Prerequisites
- Node.js
- yarn
- Git### Installation
```bash
git clone https://github.com/BootNodeDev/intents-framework.git
cd intents-framework
yarn
```### Running the Solver
Run the following commands from the root directory (you need `docker` installed)
```bash
docker build -t solver .
```Once it finish building the image
```bash
docker run -it -e [PRIVATE_KEY=SOME_PK_YOU_OWN | MNEMONIC=SOME_MNEMONIC_YOU_OWN] solver
```The solver is run using `pm2` inside the docker container so `pm2` commands can still be used inside a container with the docker exec command:
```bash
# Monitoring CPU/Usage of each process
docker exec -it pm2 monit
# Listing managed processes
docker exec -it pm2 list
# Get more information about a process
docker exec -it pm2 show
# 0sec downtime reload all applications
docker exec -it pm2 reload all
```### Versioning
For the versions available, see the tags on this repository.
### Releasing packages to NPM
We use [changesets](https://github.com/changesets/changesets) to release to NPM. You can use the `release` script in `package.json` to publish.
Currently the only workspace being released as an NPM package is the one in `solidity`, which contains the contracts and typechain artifacts.
### License
This project is licensed under the Apache 2.0 License - see the LICENSE.md file for details.