Skip to content
/ hIVM Public

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

Notifications You must be signed in to change notification settings

aa-labs/hIVM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hIVM - Hybrid Intent Virtual Machine

image

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

// 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.