Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aa-labs/hivm

Integrate Intent Instantly: where sophistication meets simplicity. ETHIndia'23 Finalist
https://github.com/aa-labs/hivm

1inch account-abstraction assembler bungee erc4337 eth-india ethereum intents micro-rollups solvers stackr virutal-machine

Last synced: 23 days ago
JSON representation

Integrate Intent Instantly: where sophistication meets simplicity. ETHIndia'23 Finalist

Awesome Lists containing this project

README

        

# hIVM - Hybrid Intent Virtual Machine

![image](https://github.com/AmanRaj1608/hIVM/assets/16562513/737dde3b-33a0-4405-a791-d892b638dbb4)

## Overview
hIVM (Hybrid Intents Virtual Machine) represents a significant leap forward in the field of intent-based programming. Bridging the gap between the expansive potential of generic networks and the precision of use-case-specific models, hIVM introduces a unique approach to decentralized application (DApp) development. This project aims to simplify the DApp development process while maintaining the adaptability and efficiency needed for sophisticated decentralized systems.

## Key Features
- **Domain Specific Language (DSL)**: hIVM employs a custom-designed DSL that allows developers to express intents in a high-level, Turing-complete language. This DSL facilitates the creation of complex multi-flow DApps, enabling clear and concise programming of decentralized workflows.
- **Stack-Based Virtual Machine**: The core of hIVM is a stack-based virtual machine architecture. It uses an assembler for converting high-level intents, specified in opcodes, into executable bytecode.
- **Micro Rollup Integration**: The bytecode is uploaded to a micro rollup, which plays a crucial role in maintaining the execution state of DApps by tracking the program counter. This system allows for efficient and seamless execution management across various components of a DApp.
- **Solver Ecosystem**: hIVM's architecture includes specialized solvers for primitive operations like SWAP, BRIDGE, and CALL. These solvers are responsible for executing specific parts of an intent, thereby abstracting complex implementation details from developers and optimizing the execution of these operations.
- **Account Abstraction**: The platform extensively uses account abstraction, allowing users to delegate their funds to solvers. This enables seamless transaction execution and enhances the overall user experience.

## Benefits
- **Improved Developer Experience**: Developers can focus on high-level, imperative flows without getting bogged down by the underlying complexities. hIVM's abstraction mechanisms significantly streamline the development process.
- **Flexibility and Generality**: While developers define specific intents, the execution and optimization are managed by specialized solvers, allowing for flexible and general solutions to complex DApps.
- **Efficient Problem Solving**: The solvers are designed to efficiently handle their respective operations, ensuring optimal problem-solving and transaction execution on the layer 1 network.

# Getting Started
[Instructions on installation, setup, and basic usage]

## Examples
```js
// Define the counterfactual Smart Account address to be used on all chains.
USE:
ADDR -> 0x0D125Df38bFd6eAA2478052ABB7d7E62d2CF604B

// Route funds such that ARB has >= 10$ worth of funds
CONSOLIDATE:
CHAINS -> ARB, BASE
DEST -> ARB
VALUE -> 10

// Swap funds on ARB such that the wallet has >= 7 USDC
SWAP:
FROM -> ANY
TO -> USDC
VALUE -> 7000000
CHAIN -> ARB

// Mint an NFT on ARB by paying USDC
CALL:
ADDR -> 0x9CaeFEb398C3F2601Fb09E232f0a7eB37724b361
DATA -> 0xa14481940000000000000000000000000d125df38bfd6eaa2478052abb7d7e62d2cf604b00000000000000000000000000000000000000000000000000000000004c4b40
VALUE -> 0
CHAIN -> ARB

```

## Contributing
We welcome contributions from the community! Please read our contributing guidelines to get started.