Modular SDK examples
Generate Module deinitData
import { EtherspotBundler, ModularSdk, MODULE_TYPE, sleep } from '@etherspot/modular-sdk';
import * as dotenv from 'dotenv';
dotenv.config();
async function main() {
const bundlerApiKey = process.env.API_KEY;
// initializating sdk...
const modularSdk = new ModularSdk({ privateKey: process.env.WALLET_PRIVATE_KEY },
{ chainId: Number(process.env.CHAIN_ID),
bundlerProvider: new EtherspotBundler(Number(process.env.CHAIN_ID), bundlerApiKey)
}
);
console.log('address: ', modularSdk.state.EOAAddress);
// get address of EtherspotWallet
const address: string = await modularSdk.getCounterFactualAddress();
console.log('\x1b[33m%s\x1b[0m', `EtherspotWallet address: ${address}`);
//this should be previous node address of the module to be uninstalled and the deinit data
//deinit data is the data that is passed to the module to be uninstalled
// here we need to call the function which can find out the address of previous node of the module to be uninstalled
// and the deinit data can be 0x00 as default value
const deInitData = '0x00';
// set moduleAddress on which deinitData is to be generated
const moduleAddress = '';
const deinitData = await modularSdk.generateModuleDeInitData(MODULE_TYPE.VALIDATOR, moduleAddress, deInitData);
console.log(`deinitData: ${deinitData}`);
}
main()
.catch(console.error)
.finally(() => process.exit());