Gelato Automate hits mainnet & introduces Task Modules

Gelato
Gelato Network
Published in
4 min readNov 15, 2022

TL;DR 👇

  • Gelato Automate introduces “Task Modules” where devs can specify to Gelato Nodes how certain types of tasks should be checked and executed, including a new msg.sender module, single execution module and off-chain module
  • The codebase for the Gelato Dashboard has been completely revamped so we can ship new features faster
  • The Gelato Automate SDK has been upgraded to support the new msg.sender Task Module
  • You can now receive enhanced alerts and notifications in both Discord and Telegram
  • Users don’t need to worry about any migrations or existing tasks, we will continue to ensure all tasks are executed reliably and efficiently

We have an ambitious roadmap of exciting features planned for Gelato Automate. While Gelato’s core developers are shipping these features and upgrades, we need to ensure that all existing tasks execute as reliably and efficiently as always.

The team has worked on a major refactor of the Ops.sol smart contract over the past few months, which enables new features to be added to the system without requiring users to do any task migration and without impacting the performance of existing tasks. This is achieved by the Gelato Automate V2 smart contract protocol which introduces a new modular smart contract architecture that has now been rolled out across the 15 EVM networks that Gelato currently supports.

From an end-user perspective, the changes will seem modest — primarily centered around enhanced security. However, Gelato Automate is a critical release in terms of putting in a solid foundation for future versions. Users do not need to do anything with their existing tasks.

What’s new?

Task Modules

Gelato Automate introduces the concept of “Task Modules”. Developers can choose to submit tasks that include individual or combinations of modules that tell Gelato Nodes how exactly these tasks should be checked and executed.

Long-standing Gelato Automate features are now handled via modules:

  • Scheduled Task Module — for tasks that execute regularly, for example every 2 minutes
  • Resolver Module — for tasks that must execute when particular on-chain conditions are satisfied, e.g. harvesting and auto compounding yield when it makes economic sense to do so

New Task Modules include:

  • Dedicated msg.sender Module
  • Single Execution Module
  • Off-chain Module

Dedicated msg.sender Module

Automation services in web3 are currently limited in that everyone can create tasks which execute any smart contract.

This has implications on the security of those tasks, as users that whitelist a dedicated `msg.sender` in their smart contracts must guarantee that only their tasks are being executed and not any other tasks created by another user which may not check the same conditions in order to trigger an execution.

The `dedicated msg.sender` module solves this issue and guarantees to users that their tasks will only be executed by their own Gelato Automate tasks. When a user creates their first Gelato Automate task, we automatically deploy a dedicated msg.sender proxy contract for them and all executions are routed through this contract.

By simply whitelisting this contract, users can securely outsource all of the checks they want to be done into a Resolver smart contract without running the risk that someone else can create a task which executes their smart contract with a different Resolver.

Single Execution Module

For some use cases you just want to spin up a task that is designed to execute just once and then self-destruct. For example, you have a NFT-based game that enables you to request that two NFTs are combined over a period of time to spawn a brand new NFT. You can programmatically create a single-execution task that locks the NFTs, waits for a day, generates the new NFT, unlocks the original NFTs and deletes the task.

Users can choose to create Automate tasks via three routes: the Dashboard app, our SDK or from a smart contract. You can currently specify that you want to use the Single Execution Module using the SDK or smart contract routes. Dashboard support is coming very soon.

Off-chain Module (beta)

To get closer to fulfilling our vision for Gelato, smart contracts need to be able to tap into off-chain data — such as APIs and subgraphs — and run computational logic to decide if tasks should execute and with what payload. Our new Off-chain Module is the first step towards making this a reality.

If you would like to participate in the private beta for off-chain resolvers please get in touch on Discord and get started today!

Gelato Dashboard

The codebase for the Gelato Dashboard has been completely rebuilt from the ground up to enhance performance and give us a solid platform to ship exciting new features and enhancements at a faster rate.

Gelato Automate SDK Upgrade

The Gelato Automate SDK has been upgraded by V2 to support the new modules. After upgrading to the new version of the SDK, you will need to adjust your code to specify whether you want to use these new features.

Alerts & Notifications

Alerts and notifications get an upgrade too; as a user you can now receive alerts for both successful and failed executions in Telegram or Discord. You can also configure your balance alerts to trigger at thresholds of your own choosing.

What’s next?

These updates represent the culmination of our hard work to lay the foundations for exciting new features that will launch over the coming months, so stay tuned!

Join our active and growing communities below:

Twitter | Telegram | Discord

Want to decentralize your web3 backend with Gelato? Reach out to us here!

--

--