From 51f480676e4ab595e1567dccae4808a7ee4c1cc4 Mon Sep 17 00:00:00 2001 From: Gabriel Rocheleau Date: Fri, 29 Dec 2023 12:23:57 -0500 Subject: [PATCH 1/3] feat: add stakewise external calls --- .../src/Portfolio/Integrations/StakeWiseV3.ts | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/packages/sdk/src/Portfolio/Integrations/StakeWiseV3.ts b/packages/sdk/src/Portfolio/Integrations/StakeWiseV3.ts index ae305327..428e1032 100644 --- a/packages/sdk/src/Portfolio/Integrations/StakeWiseV3.ts +++ b/packages/sdk/src/Portfolio/Integrations/StakeWiseV3.ts @@ -230,3 +230,37 @@ 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], + }); +} From 2554d3da25f579846f4cf08545c2ee04222f2b1f Mon Sep 17 00:00:00 2001 From: Gabriel Rocheleau Date: Fri, 29 Dec 2023 12:25:55 -0500 Subject: [PATCH 2/3] chore: changeset --- .changeset/heavy-pets-learn.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/heavy-pets-learn.md 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 From 559189b109ad121dee2e9ef9f2d219e45231b8d2 Mon Sep 17 00:00:00 2001 From: Gabriel Rocheleau Date: Fri, 29 Dec 2023 12:29:28 -0500 Subject: [PATCH 3/3] format: fix --- packages/sdk/src/Portfolio/Integrations/StakeWiseV3.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/sdk/src/Portfolio/Integrations/StakeWiseV3.ts b/packages/sdk/src/Portfolio/Integrations/StakeWiseV3.ts index 428e1032..46368fbe 100644 --- a/packages/sdk/src/Portfolio/Integrations/StakeWiseV3.ts +++ b/packages/sdk/src/Portfolio/Integrations/StakeWiseV3.ts @@ -239,9 +239,7 @@ export async function getExitQueueIndex( }>, ) { return Viem.readContract(client, args, { - abi: parseAbi([ - "function getExitQueueIndex(uint256 _positionTicket) view returns (int256 exitQueueIndex_)", - ]), + abi: parseAbi(["function getExitQueueIndex(uint256 _positionTicket) view returns (int256 exitQueueIndex_)"]), functionName: "getExitQueueIndex", address: args.stakeWiseVault, args: [args.positionTicket], @@ -256,9 +254,7 @@ export async function isHarvestRequired( }>, ) { return Viem.readContract(client, args, { - abi: parseAbi([ - "function isHarvestRequired(address _vault) view returns (bool harvestRequired_)", - ]), + abi: parseAbi(["function isHarvestRequired(address _vault) view returns (bool harvestRequired_)"]), functionName: "isHarvestRequired", address: args.keeperRewards, args: [args.stakeWiseVault],