@gearbox-protocol/sdk 14.12.0-next.24 → 14.12.0-next.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -227,43 +227,50 @@ async function fulfillSecuritizeWithdrawal(anvil, creditAccount, withdrawalPhant
|
|
|
227
227
|
const redeemers = await anvil.readContract({
|
|
228
228
|
address: redemptionGateway,
|
|
229
229
|
abi: import_withdrawalAbi.securitizeRedemptionGatewayAbi,
|
|
230
|
-
functionName: "
|
|
230
|
+
functionName: "getUnclaimedRedeemers",
|
|
231
231
|
args: [creditAccount]
|
|
232
232
|
});
|
|
233
233
|
logger?.debug(
|
|
234
|
-
`securitize: gateway ${redemptionGateway}, stablecoin ${stableCoinToken}, ${redeemers.length} redeemers`
|
|
234
|
+
`securitize: gateway ${redemptionGateway}, stablecoin ${stableCoinToken}, ${redeemers.length} unclaimed redeemers`
|
|
235
235
|
);
|
|
236
236
|
if (redeemers.length === 0) {
|
|
237
237
|
logger?.warn(
|
|
238
|
-
`securitize: no redeemers found for credit account ${creditAccount}`
|
|
238
|
+
`securitize: no unclaimed redeemers found for credit account ${creditAccount}`
|
|
239
239
|
);
|
|
240
240
|
return;
|
|
241
241
|
}
|
|
242
|
-
const redeemer
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
242
|
+
for (const redeemer of redeemers) {
|
|
243
|
+
const [redemptionValue, redeemerBalance] = await anvil.multicall({
|
|
244
|
+
allowFailure: false,
|
|
245
|
+
contracts: [
|
|
246
|
+
{
|
|
247
|
+
address: redeemer,
|
|
248
|
+
abi: import_withdrawalAbi.securitizeRedeemerAbi,
|
|
249
|
+
functionName: "getCurrentRedemptionValue"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
address: stableCoinToken,
|
|
253
|
+
abi: import_viem.erc20Abi,
|
|
254
|
+
functionName: "balanceOf",
|
|
255
|
+
args: [redeemer]
|
|
256
|
+
}
|
|
257
|
+
]
|
|
258
|
+
});
|
|
259
|
+
if (redemptionValue === 0n) {
|
|
260
|
+
logger?.debug(
|
|
261
|
+
`securitize: skipping redeemer ${redeemer} with zero redemption value`
|
|
262
|
+
);
|
|
263
|
+
continue;
|
|
264
|
+
}
|
|
265
|
+
logger?.debug(
|
|
266
|
+
`securitize: dealing ${redemptionValue} of stablecoin ${stableCoinToken} to redeemer ${redeemer}`
|
|
267
|
+
);
|
|
268
|
+
await anvil.deal({
|
|
269
|
+
erc20: stableCoinToken,
|
|
270
|
+
account: redeemer,
|
|
271
|
+
amount: redeemerBalance + redemptionValue
|
|
272
|
+
});
|
|
273
|
+
}
|
|
267
274
|
}
|
|
268
275
|
// Annotate the CommonJS export names for ESM import in node:
|
|
269
276
|
0 && (module.exports = {
|
|
@@ -216,43 +216,50 @@ async function fulfillSecuritizeWithdrawal(anvil, creditAccount, withdrawalPhant
|
|
|
216
216
|
const redeemers = await anvil.readContract({
|
|
217
217
|
address: redemptionGateway,
|
|
218
218
|
abi: securitizeRedemptionGatewayAbi,
|
|
219
|
-
functionName: "
|
|
219
|
+
functionName: "getUnclaimedRedeemers",
|
|
220
220
|
args: [creditAccount]
|
|
221
221
|
});
|
|
222
222
|
logger?.debug(
|
|
223
|
-
`securitize: gateway ${redemptionGateway}, stablecoin ${stableCoinToken}, ${redeemers.length} redeemers`
|
|
223
|
+
`securitize: gateway ${redemptionGateway}, stablecoin ${stableCoinToken}, ${redeemers.length} unclaimed redeemers`
|
|
224
224
|
);
|
|
225
225
|
if (redeemers.length === 0) {
|
|
226
226
|
logger?.warn(
|
|
227
|
-
`securitize: no redeemers found for credit account ${creditAccount}`
|
|
227
|
+
`securitize: no unclaimed redeemers found for credit account ${creditAccount}`
|
|
228
228
|
);
|
|
229
229
|
return;
|
|
230
230
|
}
|
|
231
|
-
const redeemer
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
231
|
+
for (const redeemer of redeemers) {
|
|
232
|
+
const [redemptionValue, redeemerBalance] = await anvil.multicall({
|
|
233
|
+
allowFailure: false,
|
|
234
|
+
contracts: [
|
|
235
|
+
{
|
|
236
|
+
address: redeemer,
|
|
237
|
+
abi: securitizeRedeemerAbi,
|
|
238
|
+
functionName: "getCurrentRedemptionValue"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
address: stableCoinToken,
|
|
242
|
+
abi: erc20Abi,
|
|
243
|
+
functionName: "balanceOf",
|
|
244
|
+
args: [redeemer]
|
|
245
|
+
}
|
|
246
|
+
]
|
|
247
|
+
});
|
|
248
|
+
if (redemptionValue === 0n) {
|
|
249
|
+
logger?.debug(
|
|
250
|
+
`securitize: skipping redeemer ${redeemer} with zero redemption value`
|
|
251
|
+
);
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
254
|
+
logger?.debug(
|
|
255
|
+
`securitize: dealing ${redemptionValue} of stablecoin ${stableCoinToken} to redeemer ${redeemer}`
|
|
256
|
+
);
|
|
257
|
+
await anvil.deal({
|
|
258
|
+
erc20: stableCoinToken,
|
|
259
|
+
account: redeemer,
|
|
260
|
+
amount: redeemerBalance + redemptionValue
|
|
261
|
+
});
|
|
262
|
+
}
|
|
256
263
|
}
|
|
257
264
|
export {
|
|
258
265
|
makePendingWithdrawalsClaimable
|