diff --git a/.changeset/heavy-pets-learn.md b/.changeset/heavy-pets-learn.md new file mode 100644 index 00000000..55d5c71c --- /dev/null +++ b/.changeset/heavy-pets-learn.md @@ -0,0 +1,5 @@ +--- +"@enzymefinance/sdk": patch +--- + +Add StakeWise external calls diff --git a/packages/sdk/src/Portfolio/Integrations/StakeWiseV3.ts b/packages/sdk/src/Portfolio/Integrations/StakeWiseV3.ts index ae305327..46368fbe 100644 --- a/packages/sdk/src/Portfolio/Integrations/StakeWiseV3.ts +++ b/packages/sdk/src/Portfolio/Integrations/StakeWiseV3.ts @@ -230,3 +230,33 @@ export async function getClaimExitedAssetsPreview( args: [args.receiver, args.positionTicket, args.timestamp, args.exitQueueIndex], }); } + +export async function getExitQueueIndex( + client: PublicClient, + args: Viem.ContractCallParameters<{ + positionTicket: bigint; + stakeWiseVault: Address; + }>, +) { + return Viem.readContract(client, args, { + abi: parseAbi(["function getExitQueueIndex(uint256 _positionTicket) view returns (int256 exitQueueIndex_)"]), + functionName: "getExitQueueIndex", + address: args.stakeWiseVault, + args: [args.positionTicket], + }); +} + +export async function isHarvestRequired( + client: PublicClient, + args: Viem.ContractCallParameters<{ + keeperRewards: Address; + stakeWiseVault: Address; + }>, +) { + return Viem.readContract(client, args, { + abi: parseAbi(["function isHarvestRequired(address _vault) view returns (bool harvestRequired_)"]), + functionName: "isHarvestRequired", + address: args.keeperRewards, + args: [args.stakeWiseVault], + }); +}