Developers

The following sections describe the tech behind INFINIT that lets builders launch and customize DeFi protocols or scale existing protocols in minutes.

There are 3 key Modules that make up the INFINIT platform:

  • Intent Module (also referred to as ‘INFINIT Project’)

  • Abstraction Module (also referred to as ‘INFINIT Module’)

  • Chain Interaction Module (also referred to as ‘INFINIT Core’)

These modular modules work together to translate developers' intents and product requirements into a set of smart contracts and a frontend.

  1. Intent Module

Intent Module is the layer within INFINIT that enables builders to use TypeScript instead of Solidity or other smart contract languages to express the intent of their DeFi application to INFINIT. This script-based approach is flexible, customizable and easy to integrate with external APIs. Alternatively, builders can use INFINIT frontend to express the intent without needing to write any code. The intent includes the type of DeFi product to be built/scaled, features to be added, and parameters to be customized.

  1. Abstraction Module

The Abstraction Module contains a library of Abstraction Blocks that enables developers to build different types of DeFi protocols (e.g. money market, DEX, derivatives). The Abstraction Blocks contain Actions and Parameters that define the type and behavior of the resulting DeFi protocol, all of which are customizable. For example, an Action could be a lending pool, and the Parameters may include tokens, collateral tokens, borrow tokens, and collateral ratio.

  1. Chain Interaction Module

The Chain Interaction Module is responsible for handling all interactions between INFINIT and the blockchain. It sets up the deployment environment such as smart contract deployment, variable setting, and providing the wallet provider for developers. Developers will only need to add the RPC URL and deploy a private key in the INFINIT configuration file.

As a result, once INFINIT receives the intent from the Intent Module, it will retrieve the corresponding Abstraction Blocks from the Abstraction Module and input the specified Actions and Parameters into those blocks, ready for execution via the Chain Interaction Module.

Last updated