Contract Instance sub-class
This sub-class allows users to get the contract instance of specific smart contracts of the LSD network. This turns out to be useful when a function from one of the smart contracts is not exposed in Wizard SDK directly. For a user to use this sub-class, it is necessary to initialize the Wizard SDK with the signer
instance.
Contracts exposed via the sub-class
- lsdnFactory: LSDN factory (used to deploy a new LSD Network)
- liquidStakingManager: Liquid staking manager contract of the respective LSD
- savETHVault: Protected Staking Pool smart contract
- feesAndMevPool: Fees and MEV pool contract of the LSD
- giantSavETHPool: Giant Protected Staking Pool smart contract
- giantFeesAndMevPool: Giant Fees and MEV pool smart contract
- syndicate: Syndicate contract of the respective LSD
- smartWallet: Smart wallet contract generated for the node operator
- smartWalletNamingRegistry: Registry contract used to assign names to smart wallet
- dETH: dETH contract
- erc20: Contract instance of a general ERC20 contract
- frenDelegationBribeVault
- rageQuitAssistant: Rage quit assistant contract deployed for every BLS public key
Getting the contract instances
- LSDN Factory
const contract = (await wizard.contractInstance).lsdnFactory();
- Liquid Staking Manager
const contract = (await wizard.contractInstance).liquidStakingManager(LIQUID_STAKING_MANAGER_ADDRESS);
- Protected Staking Pool
const contract = (await wizard.contractInstance).savETHVault(PROTECTED_STAKING_POOL_ADDRESS);
- MEV Staking Pool
const contract = (await wizard.contractInstance).feesAndMevPool(FEES_AND_MEV_POOL_ADDRESS);
- Giant Protected Staking Pool
const contract = (await wizard.contractInstance).giantSavETHPool();
- Giant MEV Staking Pool
const contract = (await wizard.contractInstance).giantFeesAndMevPool();
- Syndicate contract
const contract = (await wizard.contractInstance).syndicate(SYNDICATE_ADDRESS);
- Smart wallet contract
const contract = (await wizard.contractInstance).smartWallet(SMART_WALLET_ADDRESS);
- Smart wallet naming registry
const contract = (await wizard.contractInstance).smartWalletNamingRegistry();
- dETH token contract
const contract = (await wizard.contractInstance).dETH();
- Generic ERC20 contract
const contract = (await wizard.contractInstance).erc20(GENERIC_ERC20_CONTRACT_ADDRESS);
- Fren delegation bribe vault contract
const contract = (await wizard.contractInstance).frenDelegationBribeVault(FREN_DELEGATION_BRIBE_VAULT_ADDRESS);
- Rage quit assistant contract
const contract = (await wizard.contractInstance).rageQuitAssistant(RAGE_QUIT_ASSISTANT_ADDRESS);