const redeemResult = builder.core.call('redeem', {
resource: builder.inputs.shares,
bind: {
shares: builder.inputs.shares,
receiver: builder.context.executionAddress,
owner: builder.context.executionAddress,
},
config: {
target: VAULT,
functionSignature:
'function redeem(uint256 shares, address receiver, address owner) returns (uint256)',
approvals: [{ spender: VAULT }],
},
});
// Graduate the uint256 return value into a tracked resource.
builder.core.asResource('underlying', {
bind: { handle: redeemResult.result },
config: { resource: resources.erc20(USDC, 1) },
});