Initialize Near Stream

Stream can be initialize in the following way:

const now = nowInSec();
const streamRate = NearAmount.parse("0.0001").toString();

const startTime = (now + 15).toString();
const endTime = (now + 400).toString(); // 5 min
const receiver = "receiverAccountId.testnet";
const canCancel = true;
const canUpdate = true;

const streamParams: InitStreamParams = {
   streamRate,
   startTime,
   endTime,
   receiver,
   canCancel,
   canUpdate,
};

const streamPayload = await client.initStream(streamParams);

// for node application
const results = await streamPayload.execute(); // throws error if keystore is not provided.

// or
// for browser application
const results = await wallet.signAndSendTransactions(streamPayload);

If you require to obtain streamId, then you can get it in the following way.

 const streamId = JSON.parse(
   Buffer.from((results[results.length - 1].status as any).SuccessValue || "", "base64").toString(),
);

However, this is not applicable for the case of token stream. See Next page for code.

Last updated