Intent
  • Introduction
  • Platform
  • Intent Structure
    • Meta
    • Limits
    • Recurrency (Optional)
    • MultiSig (Optional)
    • Computed (Optional)
    • Calls
      • Call Header
      • Call Params
    • Variables
      • External
      • Returned Data
      • Computed
      • Global
  • Intents vs. traditional methods
  • No-Code Intents Builder
  • Capabilities
  • FAQs
  • Official Tutorials
    • 01 / Introduction to Intentable Trading
  • 02 / Getting Started with Intentable: A Step-by-Step Tutorial
  • 03 / Buying Filtered Tokens with MEV Protection
  • 04 / Stop-Loss Order on any token
  • 05 / Setting Take-Profit / Limit Orders
  • 06 / Setting a Stop-Limit Order
Powered by GitBook
On this page
  • Overview
  • Building Blocks
  • Inputs and Outputs
  • Cloning
  • Grouping
  • Simulation
  • Assets
  • Ether
  • Token
  • NFT
  • Tools
  • Math
  • Validator
  • Secure Storage
  • Batch
  • Solver (Advanced )
  • Protocols
  • Aave
  • Compound
  • Curve
  • Uniswap
  • Bridges
  • cBridge
  • Oracles
  • Chainlink
  • System
  • Global
  • Variables
  • Functions
  • Flow Control
  • Custom Plugins (Advanced )

No-Code Intents Builder

PreviousIntents vs. traditional methodsNextCapabilities

Last updated 1 year ago

Overview

Building Blocks

Inputs and Outputs

Cloning

Grouping

Simulation

Assets

Build-in plugins that implement asset based actions and information

Ether

Native coin actions such as transferring and converting to/from a token

Native coin balance of any address

Token

NFT

Tools

Build-in plugins for extension contracts that extends the functionality of the system

Math

Math extension allows to execute math operations such as addition, subtraction, etc. Math extension is decimal-aware, making it perfectly for doing math operations on token value. For example, 3 USDC (6 decimals) + 5 DAI (18 decimals) will automatically convert the highest decimal and result in number 8 with 18 decimals in this case. Math extension supports converting the results to a desired decimals.

When using the extension output as a token, we must define the output decimal to match tokens decimals.

Validator

Validator extension allows to compare various type of values. When using tokens amount as values, validation extension automatically matches the decimals. For example, 3 USDC (6 decimals) will considered higher than 2 DAI (18 decimals), although the value on the blockchain level is lower (6,000,000 vs 2,000,000,000,000,000,000)

Validator supports: token amounts, numbers, addresses and hashes.

Secure Storage

Secure storage extension allows to store and retrieve values on-chain. Supported values type are numbers, addresses, strings or hashes There are two types of storage: Account level and Intent level.

Account level storage keeps data associated with the account that can be updated by the account on any intent or direct transaction.

Account level storage is recommended for use cases where different intents are needed to perform a single task

Intent level storage keeps data associated with a single intent. Data can be updated only within the specific intent.

Intent level storage is recommended for use cases where there is a need to keep information about intent execution values or in combination with the recurrency feature

Batch

Solver box is replaced with any set of calls by the solver at execution. It opens up a lot of possibilities such as reverse flash loans, p2p swaps, etc.

Always put validators after the solver box, to make sure you're getting the desired outcome

Protocols

Aave

Compound

Curve

Uniswap

Bridges

cBridge

Oracles

Chainlink

System

Global

Global variables holds blockchain values that are connected to the running native transaction.

Available values: block timestamp, block number, gas price, miner address, solver address and intent hash

Variables

Set of values that can be set by the solver at the execution of the intent

Supports up to 16 variables per intent

Functions

Low level function that runs as part of intent execution without the need to call external contracts

Compute and Compute hash

Low level math operators such as +, -, *, /, etc.

Validate and Validate numbers

Low level comparison operators such as >, <, =, etc.

Functions gas consumption is minimal compared to calling external contract that provides the same functionality

Flow Control

Every intent starts with a "start" box that is connected to the first call to activate. Every intent call can succeed or fail. If calls "success" or "failed" are connected to another call, this later will be activated accordingly. If "success" is not connected, intent will stop execution on call success. If "failed" is not connected, intent won't be executed if call fail.

To override the default behavior "End" and "Revert" endpoints can be used.

Contract's interface can be imported to the system and used as any other built-in plugin. When entering contract address, the system will try to retrieve all available functions from the public block explorer.

If you're working on a private contract, you can use a custom ABI.

Transferring and converting native coins available on account assets Transferring and converting directly from wallet is available on blockchains that support

standard interfaces for actions (transfer, approve, etc.) and information (balance of, allowance, etc.)

and standards interfaces for actions (transfer from, approve, etc.) and information (balance of, owner of, etc.)

Solver (Advanced )

Intents with solver box inside are gas free, so make sure to send the transaction fee directly to the solver by using the "" global.

Custom Plugins (Advanced )

👾
👾
wrapped
EIP-3074
ERC20
ERC721
ERC1155
solver address