Initialize Token Stream

const params: InitTokenStreamParams = {
   canCancel: true,
   canUpdate: true,
   startTime: (nowInSec() + 1000).toString(),
   endTime: (nowInSec() + 1300).toString(), // after 2 min
   receiver: account2.accountId,
   streamRate: FungibleTokenAmount.parse("0.1", 18).toString(),
   tokenId: "dai.fakes.testnet",
};

const payload = await multiSigService1.initTokenStream(params);

const result = await wallet.signAndTransactions(payload);

Then to confirm the request by another member you need to retrieve the requestId from the result which can be done in the following way.

const successValue = (result[result.length - 1].status as FinalExecutionStatus).SuccessValue;
if (!successValue) throw new Error("successValue is missing");
const requestId = Number(Buffer.from(successValue, "base64").toString());

Then request can be confirmed by another member in the following way.

const confirmPayload = await multiSigService2.confirm({ requestId: Number(requestId) });
const result = await wallet.signAndTransactions(payload);

Last updated