Legacy Automate Migration Guide
Deprecation Notice: Gelato Functions is set to replace Automate, providing enhanced automation capabilities, access to off-chain data, unified payments across networks, and a performance boost. Migrate your tasks to Gelato Functions before Legacy Automate's end of life on June 30th, 2024 for uninterrupted service.
Gelato Functions replacing Automate
With the launch of Gelato Functions we are deprecating our Automate service. The key benefits of Gelato Functions include:
Access off-chain data & computation via Typescript Functions
Unified payments across all networks via 1Balance
Listen to on-chain Events to trigger your Functions
Support for many more networks
Much higher performance and lower latencies
Enhanced UX, DevX and analytics
To get these benefits users need to migrate their tasks from Automate (now Legacy Automate) to Gelato Functions.
When should I migrate?
Legacy Automate will be deprecated 30th June 2024 so users should plan to migrate to Functions before this date.
Legacy Automate: Key Changes
From 1st December 2023, some Legacy Automate tasks will be expired and won’t be checked anymore. Check conditions for expired tasks.
From 1st January 2024, Automate Legacy transactions will cost 50% higher than on new Gelato Functions. Check details on cost changes.
Cost changes
Gelato Functions unifies your transaction costs across all networks using our 1Balance system. For each execution of your target contract you will be billed the USDC equivalent of your gas costs plus a fee - the fee varies depending on the network and your subscription plan. Fees will be applied to all Automate Legacy transactions from 1st January 2024. These fees will be 50% higher than those on Gelato Functions.
Task Expiries
As part of the migration we are going to introduce task expiries from 1st December 2023 - any Legacy Automate tasks that meet the following conditions will be automatically cancelled.
Testnets
Tasks expire after 30 days without any execution
Mainnets
Tasks expire after 120 days without any execution
If you have any concerns about these limits please do not hesitate to reach out to us.
Naming Updates
We have updated what some things are called in Functions, but they are directly equivalent. The most notable one is that Resolvers are now called Solidity Functions - the smart contract code that determines if your target contract can be executed and with what payload. The flow for creating a new task has been changed to follow more of an “if this then that” pattern and allows you to also use Typescript functions that tap into off-chain APIs to also determine when target contracts should be executed and with what payloads.
How do I migrate a task from Legacy Automate to Functions?
The exact steps you need to go through will depend on the precise characteristics of your existing tasks. Here is some general guidance - if you have any questions or require further support please contact us for assistance.
1. Smart contract changes (optional)
If you are inheriting
AutomateReady
orOpsReady
in your target contracts, upgrade them to use the new version ofAutomateReady
If you are whitelisting Gelato as an restricted
msg.sender
, update your whitelisting to use your new dedicatedmsg.sender
:Check your dedicated msg.sender address on each network here: https://app.gelato.network/settings
2. Create your new tasks on app.gelato.network
Connect to app.gelato.network to create your new tasks
If you were using “Resolver”, they are now called “Solidity functions”
if you were using "Predefined Inputs", they are now called "Automated Transactions"
3. Deposit into 1Balance
Deposit $USDC into your 1Balance to pay for your transactions across all networks
Set up low balance e-mail alert
4. Cancel old tasks & withdraw remaining balance
Connect to Automate Legacy app and check the modal listing all your current active tasks
Manually "Pause" all your old tasks
Withdraw your assets on each network where you still hold any balance on Gelato TaskTreasury
Advanced user migration
Creating tasks via Smart Contract
Upgrade your Smart Contracts to use the latest version
AutomateTaskCreator
If you were relying on Time Module, it has been replaced by Trigger Module, which allows similar configurations
Note that it’s now required to use the Proxy Module on all your task creations, to enforce stricter security
Creating tasks via SDK
Make sure to upgrade to use the latest version of the
automate-sdk
:yarn add @gelatonetwork/automate-sdk
You can create task using the same
createTask
methodif you were using
startTime
&interval
, these options are now available inside the trigger configuration:
Last updated