Zebec Protocol

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);