Skip to main content

SaveVar / FromWorkspace

saveVar

builder = builder
.callMethod(
{
componentAddress: account.address,
methodName: "withdraw",
},
[tokenResource, amount.toString()],
)
.saveVar("bucket")

This saves the result of the withdraw instruction to the intermediate variable bucket, which can later be accessed using fromWorkspace.

fromWorkspace

builder = builder
.callMethod(
{
componentAddress: account.address,
methodName: "deposit",
},
[fromWorkspace("bucket")],
);

It is important to note that some methods may return multiple values, and you might want to access them separately. In that case, you can address them using .0, .1, and so on.

builder = builder
.callMethod(
{
componentAddress: poolComponent,
methodName: "remove_liquidity",
},
[fromWorkspace("tokens_lp")]
)
.saveVar("buckets")
.callMethod(
{
componentAddress: account.address,
methodName: "deposit",
},
[fromWorkspace("buckets.0")]
)
.callMethod(
{
componentAddress: account.address,
methodName: "deposit",
},
[fromWorkspace("buckets.1")]
);