From ebbaeab8d781835c7a7576e333fdccea8399fa25 Mon Sep 17 00:00:00 2001 From: Messer4 Date: Mon, 16 Sep 2024 12:54:19 +0300 Subject: [PATCH] polygon: unbondNonce as optional param --- package.json | 2 +- polygon.js | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 7bce9f1..bae5711 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@everstake/wallet-sdk", - "version": "0.3.54", + "version": "0.3.55", "description": "Everstake Wallet SDK for Javascript", "main": "index.js", "publishConfig": { diff --git a/polygon.js b/polygon.js index 90fa5cd..c8cb1b9 100644 --- a/polygon.js +++ b/polygon.js @@ -122,8 +122,8 @@ async function undelegate(token, address, amount) { } } -async function claimUndelegate(address) { - const unbond = await getUnbond(address); +async function claimUndelegate(address, unbondNonce = 0) { + const unbond = await getUnbond(address, unbondNonce); if (BigNumber(unbond.amount).isZero()) throw new Error(`Nothing to claim`); const currentEpoch = await getCurrentEpoch(); @@ -172,9 +172,10 @@ async function getTotalDelegate(address) { throw new Error(error); } } -async function getUnbond(address) { +async function getUnbond(address, unbondNonce = 0) { try { - const unbondNonces = await contract_buy.methods.unbondNonces(address).call(); + // Get recent nonces if not provided + const unbondNonces = unbondNonce === 0 ? await contract_buy.methods.unbondNonces(address).call() : unbondNonce; const result = await contract_buy.methods.unbonds_new(address, unbondNonces).call(); return { amount: new BigNumber(web3.utils.fromWei(result[0], 'ether')), withdrawEpoch: result[1], unbondNonces: unbondNonces }; } catch (error) {