ModuleSDK
Modules
Auto Savings

Auto Savings

The Auto Savings module is a module that allows users users to automatically save a percentage of their received tokens to a vault.

You can find the source code for the module in the Core Modules repo (opens in a new tab) and the deployment address in the address book.

getAutoSavingsExecutor

The getAutoSavingsExecutor function is used to create an instance of the Auto Saving Executor module. This function returns a module object.

import { getAutoSavingsExecutor } from "@rhinestone/module-sdk";
 
const params = {
  tokens: ["0x.."], // array of token addresses
  configs: [
    {
      percentage: 10, // percentage to save
      vault: "0x..", // vault address
      sqrtPriceLimitX96: 10n, // sqrt price limit
    },
  ],
};
 
const autoSavingsExecutor = getAutoSavingsExecutor(params);

getSetAutoSavingConfigAction

The getSetAutoSavingConfigAction function is used to set auto saving config to the executor. This function returns an execution object

import { getSetAutoSavingConfigAction } from "@rhinestone/module-sdk";
 
const params = {
  token: '0x..', // token addresses
  config: {
    percentage: 10, // percentage to save
    vault: '0x..', // vault address
    sqrtPriceLimitX96: 10n, // sqrt price limit
  },
}
 
const setAutoSavingConfigAction = getSetAutoSavingConfigAction(params);

getAutoSavingTokens

The getAutoSavingTokens function is used to get tokens that is auto saved by the executor. This function returns an array of token addresses.

import { getAutoSavingTokens } from "@rhinestone/module-sdk";
 
const autoSavingTokens = await getAutoSavingTokens({
  client,
  account,
});

getDeleteAutoSavingConfigAction

The getDeleteAutoSavingConfigAction function is used to delete an auto saving configuration. This function returns an execution object.

import { getDeleteAutoSavingConfigAction } from "@rhinestone/module-sdk";
 
const params = {
  account,
  client,
  token: "0x..", // token address
};
 
const deleteAutoSavingConfigAction = await getDeleteAutoSavingConfigAction(
  params
);

getAutoSaveAction

The getAutoSaveAction function is used to execute auto save when a token receives some funds.

import { getAutoSaveAction } from "@rhinestone/module-sdk";
 
const params = {
  token: "0x...", // token address
  amountReceived: 10,
};
 
const autoSaveAction = getAutoSaveAction(params);

getAutoSavingAccountTokenConfig

The getAutoSavingAccountTokenConfig function is used to get auto saving config for a specific token.

import { getAutoSavingAccountTokenConfig } from "@rhinestone/module-sdk";
 
const params = {
  token: "0x...", // token address
  account,
  client,
};
 
const autoSavingAccountTokenConfig = await getAutoSavingAccountTokenConfig(
  params
);

AUTO_SAVINGS_ADDRESS

The AUTO_SAVINGS_ADDRESS is a constant that represents the module address.