{"_id":"@crestfi/crest-bnb-sdk","_rev":"10-ad0df0a81f06fe76516ac8779c2bdaac","name":"@crestfi/crest-bnb-sdk","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@crestfi/crest-bnb-sdk","version":"1.0.0","keywords":["crestfi","stream","stake","bulk-transfer"],"author":{"name":"CrestFi Team"},"license":"MIT","_id":"@crestfi/crest-bnb-sdk@1.0.0","maintainers":[{"name":"kilros","email":"kilros.kai@gmail.com"},{"name":"lindabrown2204","email":"linda.brown2204@outlook.com"}],"homepage":"https://github.com/CrestFi/bnb-crest-sdk#README","bugs":{"url":"https://github.com/CrestFi/bnb-crest-sdk/issues"},"dist":{"shasum":"a24dacbe7e16df4eee7f8d4c052a81439e4faef5","tarball":"https://registry.npmjs.org/@crestfi/crest-bnb-sdk/-/crest-bnb-sdk-1.0.0.tgz","fileCount":95,"integrity":"sha512-HlM3xiWkILpV2J4oSTuD7sBEKHJtQ+/Le1vFOi5Bq8SFtNJcZwNpNwHPigweOas55PZuc/VqJCxRCEbK9wfOxw==","signatures":[{"sig":"MEYCIQC6iUIBfzfYq2YtCjU9L5Rw8jFfiMsF2UDY+kiTUW2WYQIhAO8wV5XEQnwJtDMK4Q8HO0c6Y26ScgkM8dG9rSNV6zNw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":923215},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"f9671db3d231bcf18e53bd2fba35d4dbeb37e131","scripts":{"build":"yarn clean && tsc","clean":"rimraf dist/","start":"ts-node src","gen:typedoc":"typedoc","test:single":"export SDK_ENV=test; export CHAIN_ID=97; mocha --bail --timeout=300000 --check-leaks -r ts-node/register","build-factory":"typechain --target ethers-v5 --out-dir src/contract './abis/*.json'"},"_npmUser":{"name":"kilros","email":"kilros.kai@gmail.com"},"repository":{"url":"git+https://github.com/CrestFi/bnb-crest-sdk.git","type":"git"},"_npmVersion":"9.6.7","description":"1. [StreamClient](#crestfistreamclient)\r    1. [Installation](#installation)\r    2. [Environment Setup](#environment-setup)\r    3. [Run tests](#run-tests)\r    4. [Contracts](#contracts)\r    5. [Usage](#usage)\r       1. [Getting Signer Address](#getting-si","directories":{},"_nodeVersion":"18.17.1","dependencies":{"dotenv":"^16.0.3","ethers":"^5.7.0","@opengsn/common":"3.0.0-beta.9","@opengsn/provider":"3.0.0-beta.9","@opengsn/contracts":"3.0.0-beta.9","@openzeppelin/merkle-tree":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","rimraf":"^5.0.0","ts-node":"^10.9.1","typedoc":"^0.24.8","typechain":"^8.1.1","typescript":"^4.8.2","@types/chai":"^4.3.5","@types/node":"^18.16.3","@types/mocha":"^10.0.1","tsconfig-paths":"^4.1.0","@typechain/ethers-v5":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/crest-bnb-sdk_1.0.0_1733890202640_0.33738619516229185","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@crestfi/crest-bnb-sdk","version":"1.0.1","keywords":["crestfi","stream","stake","bulk-transfer"],"author":{"name":"CrestFi Team"},"license":"MIT","_id":"@crestfi/crest-bnb-sdk@1.0.1","maintainers":[{"name":"kilros","email":"kilros.kai@gmail.com"},{"name":"lindabrown2204","email":"linda.brown2204@outlook.com"}],"homepage":"https://github.com/CrestFi/bnb-crest-sdk#README","bugs":{"url":"https://github.com/CrestFi/bnb-crest-sdk/issues"},"dist":{"shasum":"b3daf0e861ef318f392fff75c1ba64c0510276e1","tarball":"https://registry.npmjs.org/@crestfi/crest-bnb-sdk/-/crest-bnb-sdk-1.0.1.tgz","fileCount":95,"integrity":"sha512-8trmVFJ1OMLF0xFDcRAfhijFDVZL25eKmA/suWcNqlyoVh2tnCRoTmMC7/ICVWtJxj56nKpQe4GTpJr8TOhd7g==","signatures":[{"sig":"MEQCICftGsfWkt/NU0BiyAA50pGo4mrDAVqrRKaTA7lq0V/TAiAXggWzJKhug6xd3S4I6YVf5MRM/nvW7+HrhYOqzZiIXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":920520},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"yarn clean && tsc","clean":"rimraf dist/","start":"ts-node src","gen:typedoc":"typedoc","test:single":"export SDK_ENV=test; export CHAIN_ID=97; mocha --bail --timeout=300000 --check-leaks -r ts-node/register","build-factory":"typechain --target ethers-v5 --out-dir src/contract './abis/*.json'"},"_npmUser":{"name":"kilros","email":"kilros.kai@gmail.com"},"repository":{"url":"git+https://github.com/CrestFi/bnb-crest-sdk.git","type":"git"},"_npmVersion":"9.6.7","description":"1. [StreamClient](#crestfistreamclient)\r    1. [Installation](#installation)\r    2. [Environment Setup](#environment-setup)\r    3. [Run tests](#run-tests)\r    4. [Contracts](#contracts)\r    5. [Usage](#usage)\r       1. [Getting Signer Address](#getting-si","directories":{},"_nodeVersion":"18.17.1","dependencies":{"dotenv":"^16.0.3","ethers":"^5.7.0","@opengsn/common":"3.0.0-beta.9","@opengsn/provider":"3.0.0-beta.9","@opengsn/contracts":"3.0.0-beta.9","@openzeppelin/merkle-tree":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","rimraf":"^5.0.0","ts-node":"^10.9.1","typedoc":"^0.24.8","typechain":"^8.1.1","typescript":"^4.8.2","@types/chai":"^4.3.5","@types/node":"^18.16.3","@types/mocha":"^10.0.1","tsconfig-paths":"^4.1.0","@typechain/ethers-v5":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/crest-bnb-sdk_1.0.1_1735120407448_0.2473817721023024","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@crestfi/crest-bnb-sdk","version":"1.0.2","keywords":["crestfi","stream","stake","bulk-transfer"],"author":{"name":"CrestFi Team"},"license":"MIT","_id":"@crestfi/crest-bnb-sdk@1.0.2","maintainers":[{"name":"kilros","email":"kilros.kai@gmail.com"},{"name":"lindabrown2204","email":"linda.brown2204@outlook.com"}],"homepage":"https://github.com/CrestFi/bnb-crest-sdk#README","bugs":{"url":"https://github.com/CrestFi/bnb-crest-sdk/issues"},"dist":{"shasum":"11e8491d1c48293122e0cfdfed36a71496787a4f","tarball":"https://registry.npmjs.org/@crestfi/crest-bnb-sdk/-/crest-bnb-sdk-1.0.2.tgz","fileCount":95,"integrity":"sha512-LOtYiUKn6jTgq7U4yyjIIgSHS30meH1+cwVLLyVeNRGv6rra0ezw+LTBJhJmHBDT17+eI4vdHtDseErcn1Gqrg==","signatures":[{"sig":"MEQCID7O2YAftc591PbVHIqoq5kaJWKXWx14d8+s/iF86m3xAiBceaJi8KUzH3iawNFDn2Z0zEJGZOPqJNgJvOiTQ9tDxQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":920520},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5a3202e7fc295de98b923671bf27a7f725282ece","scripts":{"build":"yarn clean && tsc","clean":"rimraf dist/","start":"ts-node src","gen:typedoc":"typedoc","test:single":"export SDK_ENV=test; export CHAIN_ID=97; mocha --bail --timeout=300000 --check-leaks -r ts-node/register","build-factory":"typechain --target ethers-v5 --out-dir src/contract './abis/*.json'"},"_npmUser":{"name":"kilros","email":"kilros.kai@gmail.com"},"repository":{"url":"git+https://github.com/CrestFi/bnb-crest-sdk.git","type":"git"},"_npmVersion":"9.6.7","description":"1. [StreamClient](#crestfistreamclient)\r    1. [Installation](#installation)\r    2. [Environment Setup](#environment-setup)\r    3. [Run tests](#run-tests)\r    4. [Contracts](#contracts)\r    5. [Usage](#usage)\r       1. [Getting Signer Address](#getting-si","directories":{},"_nodeVersion":"18.17.1","dependencies":{"dotenv":"^16.0.3","ethers":"^5.7.0","@opengsn/common":"3.0.0-beta.9","@opengsn/provider":"3.0.0-beta.9","@opengsn/contracts":"3.0.0-beta.9","@openzeppelin/merkle-tree":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","rimraf":"^5.0.0","ts-node":"^10.9.1","typedoc":"^0.24.8","typechain":"^8.1.1","typescript":"^4.8.2","@types/chai":"^4.3.5","@types/node":"^18.16.3","@types/mocha":"^10.0.1","tsconfig-paths":"^4.1.0","@typechain/ethers-v5":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/crest-bnb-sdk_1.0.2_1735212823308_0.6352498571154244","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@crestfi/crest-bnb-sdk","version":"1.0.3","keywords":["crestfi","stream","stake","bulk-transfer"],"author":{"name":"CrestFi Team"},"license":"MIT","_id":"@crestfi/crest-bnb-sdk@1.0.3","maintainers":[{"name":"kilros","email":"kilros.kai@gmail.com"},{"name":"lindabrown2204","email":"linda.brown2204@outlook.com"}],"homepage":"https://github.com/CrestFi/bnb-crest-sdk#README","bugs":{"url":"https://github.com/CrestFi/bnb-crest-sdk/issues"},"dist":{"shasum":"20f25f74e8857542ca0b2caf48cdceddb76ce089","tarball":"https://registry.npmjs.org/@crestfi/crest-bnb-sdk/-/crest-bnb-sdk-1.0.3.tgz","fileCount":95,"integrity":"sha512-S++QKMIe9PGGRcoIQm1NgdH1du47HVzdGEJfrI2M9shTquxBDtTpxVF4eksq9Wrc0vIjCy/68Ynj52LZk94GbQ==","signatures":[{"sig":"MEQCIBJkVreslNFoqJnHBmFMddrgKJ9eNbwgyQqT6vf5C0XfAiBztKQ5m55alvfAqtNtvFtwH3ZA4sLjphT3FI7SgfkHeA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":920520},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5a3202e7fc295de98b923671bf27a7f725282ece","scripts":{"build":"yarn clean && tsc","clean":"rimraf dist/","start":"ts-node src","gen:typedoc":"typedoc","test:single":"export SDK_ENV=test; export CHAIN_ID=97; mocha --bail --timeout=300000 --check-leaks -r ts-node/register","build-factory":"typechain --target ethers-v5 --out-dir src/contract './abis/*.json'"},"_npmUser":{"name":"kilros","email":"kilros.kai@gmail.com"},"repository":{"url":"git+https://github.com/CrestFi/bnb-crest-sdk.git","type":"git"},"_npmVersion":"9.6.7","description":"1. [StreamClient](#crestfistreamclient)\r    1. [Installation](#installation)\r    2. [Environment Setup](#environment-setup)\r    3. [Run tests](#run-tests)\r    4. [Contracts](#contracts)\r    5. [Usage](#usage)\r       1. [Getting Signer Address](#getting-si","directories":{},"_nodeVersion":"18.17.1","dependencies":{"dotenv":"^16.0.3","ethers":"^5.7.0","@opengsn/common":"3.0.0-beta.9","@opengsn/provider":"3.0.0-beta.9","@opengsn/contracts":"3.0.0-beta.9","@openzeppelin/merkle-tree":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","rimraf":"^5.0.0","ts-node":"^10.9.1","typedoc":"^0.24.8","typechain":"^8.1.1","typescript":"^4.8.2","@types/chai":"^4.3.5","@types/node":"^18.16.3","@types/mocha":"^10.0.1","tsconfig-paths":"^4.1.0","@typechain/ethers-v5":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/crest-bnb-sdk_1.0.3_1735984487318_0.5319968983053689","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@crestfi/crest-bnb-sdk","version":"1.0.4","keywords":["crestfi","stream","stake","bulk-transfer"],"author":{"name":"CrestFi Team"},"license":"MIT","_id":"@crestfi/crest-bnb-sdk@1.0.4","maintainers":[{"name":"kilros","email":"kilros.kai@gmail.com"},{"name":"lindabrown2204","email":"linda.brown2204@outlook.com"}],"homepage":"https://github.com/CrestFi/bnb-crest-sdk#README","bugs":{"url":"https://github.com/CrestFi/bnb-crest-sdk/issues"},"dist":{"shasum":"5c7a38d91018c3f7ee5455dcbd6102a09418c2e0","tarball":"https://registry.npmjs.org/@crestfi/crest-bnb-sdk/-/crest-bnb-sdk-1.0.4.tgz","fileCount":95,"integrity":"sha512-HLtH/g47eM9V7hExDcBI+pfXbpVroLYYSKxgbPaS8QE9I/X3xR6lQy96mTPXhwdNP+kMIPOvCdOHmXAgK1/nuQ==","signatures":[{"sig":"MEUCIH8Ri9/h9HVCmeNTwzEHWbtNTH4ocbEFm/hG9F98Quz2AiEA+p+XE5zzDpSC28DTcqUY4B8BoZ+rfzLJihjCt/jkeiE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":920520},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5a3202e7fc295de98b923671bf27a7f725282ece","scripts":{"build":"yarn clean && tsc","clean":"rimraf dist/","start":"ts-node src","gen:typedoc":"typedoc","test:single":"export SDK_ENV=test; export CHAIN_ID=97; mocha --bail --timeout=300000 --check-leaks -r ts-node/register","build-factory":"typechain --target ethers-v5 --out-dir src/contract './abis/*.json'"},"_npmUser":{"name":"kilros","email":"kilros.kai@gmail.com"},"repository":{"url":"git+https://github.com/CrestFi/bnb-crest-sdk.git","type":"git"},"_npmVersion":"9.6.7","description":"1. [StreamClient](#crestfistreamclient)\r    1. [Installation](#installation)\r    2. [Environment Setup](#environment-setup)\r    3. [Run tests](#run-tests)\r    4. [Contracts](#contracts)\r    5. [Usage](#usage)\r       1. [Getting Signer Address](#getting-si","directories":{},"_nodeVersion":"18.17.1","dependencies":{"dotenv":"^16.0.3","ethers":"^5.7.0","@opengsn/common":"3.0.0-beta.9","@opengsn/provider":"3.0.0-beta.9","@opengsn/contracts":"3.0.0-beta.9","@openzeppelin/merkle-tree":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","rimraf":"^5.0.0","ts-node":"^10.9.1","typedoc":"^0.24.8","typechain":"^8.1.1","typescript":"^4.8.2","@types/chai":"^4.3.5","@types/node":"^18.16.3","@types/mocha":"^10.0.1","tsconfig-paths":"^4.1.0","@typechain/ethers-v5":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/crest-bnb-sdk_1.0.4_1735991174231_0.9776390921372411","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@crestfi/crest-bnb-sdk","version":"1.0.5","keywords":["crestfi","stream","stake","bulk-transfer"],"author":{"name":"CrestFi Team"},"license":"MIT","_id":"@crestfi/crest-bnb-sdk@1.0.5","maintainers":[{"name":"kilros","email":"kilros.kai@gmail.com"},{"name":"lindabrown2204","email":"linda.brown2204@outlook.com"}],"homepage":"https://github.com/CrestFi/bnb-crest-sdk#README","bugs":{"url":"https://github.com/CrestFi/bnb-crest-sdk/issues"},"dist":{"shasum":"941d0c31bfe225f5c7731f9f99dd8cd737d9f11a","tarball":"https://registry.npmjs.org/@crestfi/crest-bnb-sdk/-/crest-bnb-sdk-1.0.5.tgz","fileCount":95,"integrity":"sha512-pI6sdQdrqkQ0p1k2vh7ZeK/BPuKtrRpPI1apvpquGRgHn04GlABO/1LR4A62IhcxOQgmpDIpyaAZFNnQzoawEw==","signatures":[{"sig":"MEUCIQCRx8K9q+QZRhoL4J47QwfDhOYgL3X04pbJtkr8eGVyTwIgJlNgzl5hPlzNqBRA69JYYKyHYEsOy5eRRbQaO5oGkj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":920520},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"15091a529c9c8c3e9d1150afe151370b75c78a0e","scripts":{"build":"yarn clean && tsc","clean":"rimraf dist/","start":"ts-node src","gen:typedoc":"typedoc","test:single":"export SDK_ENV=test; export CHAIN_ID=97; mocha --bail --timeout=300000 --check-leaks -r ts-node/register","build-factory":"typechain --target ethers-v5 --out-dir src/contract './abis/*.json'"},"_npmUser":{"name":"kilros","email":"kilros.kai@gmail.com"},"repository":{"url":"git+https://github.com/CrestFi/bnb-crest-sdk.git","type":"git"},"_npmVersion":"9.6.7","description":"1. [StreamClient](#crestfistreamclient)\r    1. [Installation](#installation)\r    2. [Environment Setup](#environment-setup)\r    3. [Run tests](#run-tests)\r    4. [Contracts](#contracts)\r    5. [Usage](#usage)\r       1. [Getting Signer Address](#getting-si","directories":{},"_nodeVersion":"18.17.1","dependencies":{"dotenv":"^16.0.3","ethers":"^5.7.0","@opengsn/common":"3.0.0-beta.9","@opengsn/provider":"3.0.0-beta.9","@opengsn/contracts":"3.0.0-beta.9","@openzeppelin/merkle-tree":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","rimraf":"^5.0.0","ts-node":"^10.9.1","typedoc":"^0.24.8","typechain":"^8.1.1","typescript":"^4.8.2","@types/chai":"^4.3.5","@types/node":"^18.16.3","@types/mocha":"^10.0.1","tsconfig-paths":"^4.1.0","@typechain/ethers-v5":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/crest-bnb-sdk_1.0.5_1736319468223_0.8418185002005627","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@crestfi/crest-bnb-sdk","version":"1.0.6","keywords":["crestfi","stream","stake","bulk-transfer"],"author":{"name":"CrestFi Team"},"license":"MIT","_id":"@crestfi/crest-bnb-sdk@1.0.6","maintainers":[{"name":"kilros","email":"kilros.kai@gmail.com"},{"name":"lindabrown2204","email":"linda.brown2204@outlook.com"}],"homepage":"https://github.com/CrestFi/bnb-crest-sdk#README","bugs":{"url":"https://github.com/CrestFi/bnb-crest-sdk/issues"},"dist":{"shasum":"e4d98ecfd5203154de720f82776de987c256a424","tarball":"https://registry.npmjs.org/@crestfi/crest-bnb-sdk/-/crest-bnb-sdk-1.0.6.tgz","fileCount":95,"integrity":"sha512-lbPEnHmsVm8+p5+t/42lFkRiKVxOPc0lw6PHL2tASeRKptTRlTspk7XjXMWgoE4BD8pP5L1rFRPEZrnIIyZCVg==","signatures":[{"sig":"MEQCIAypkN5mC9kTKYlRULm5f0/kuGJt5C5vrwKvQZcqJrjDAiB9735ls9/ByDqPnVDjkVSCbcGfICGjptj6ovQ5vr2Eag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":920513},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"06cc4a01f281477fcdc420b224b55ebf472702ae","scripts":{"build":"yarn clean && tsc","clean":"rimraf dist/","start":"ts-node src","gen:typedoc":"typedoc","test:single":"export SDK_ENV=test; export CHAIN_ID=97; mocha --bail --timeout=300000 --check-leaks -r ts-node/register","build-factory":"typechain --target ethers-v5 --out-dir src/contract './abis/*.json'"},"_npmUser":{"name":"kilros","email":"kilros.kai@gmail.com"},"repository":{"url":"git+https://github.com/CrestFi/bnb-crest-sdk.git","type":"git"},"_npmVersion":"10.9.0","description":"1. [StreamClient](#crestfistreamclient)\r    1. [Installation](#installation)\r    2. [Environment Setup](#environment-setup)\r    3. [Run tests](#run-tests)\r    4. [Contracts](#contracts)\r    5. [Usage](#usage)\r       1. [Getting Signer Address](#getting-si","directories":{},"_nodeVersion":"23.3.0","dependencies":{"dotenv":"^16.0.3","ethers":"^5.7.0","@opengsn/common":"3.0.0-beta.9","@opengsn/provider":"3.0.0-beta.9","@opengsn/contracts":"3.0.0-beta.9","@openzeppelin/merkle-tree":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","rimraf":"^5.0.0","ts-node":"^10.9.1","typedoc":"^0.24.8","typechain":"^8.1.1","typescript":"^4.8.2","@types/chai":"^4.3.5","@types/node":"^18.16.3","@types/mocha":"^10.0.1","tsconfig-paths":"^4.1.0","@typechain/ethers-v5":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/crest-bnb-sdk_1.0.6_1738293991897_0.8595127179527444","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@crestfi/crest-bnb-sdk","version":"1.0.7","keywords":["crestfi","stream","stake","bulk-transfer"],"author":{"name":"CrestFi Team"},"license":"MIT","_id":"@crestfi/crest-bnb-sdk@1.0.7","maintainers":[{"name":"kilros","email":"kilros.kai@gmail.com"},{"name":"lindabrown2204","email":"linda.brown2204@outlook.com"}],"homepage":"https://github.com/CrestFi/bnb-crest-sdk#README","bugs":{"url":"https://github.com/CrestFi/bnb-crest-sdk/issues"},"dist":{"shasum":"3a34ef61f37a4d9606c08866c9083835c1c7014d","tarball":"https://registry.npmjs.org/@crestfi/crest-bnb-sdk/-/crest-bnb-sdk-1.0.7.tgz","fileCount":95,"integrity":"sha512-EqVD+gA4L5rYlCgRK3wygHu3hWrA8Ci/0MQi9BSAMbd3hxX+w2YSG3h0HKNS+VIt6JVVesbDUMmcAer+OUgUpg==","signatures":[{"sig":"MEUCIQCX+c1tlERUcmvleBHW44O0Iabg6bObOeR2qXzMX/rrVgIgdN7gsBo0FsNZxdk803NqwpehAM4UF9Nj7k2Riu5SXic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":920786},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"06cc4a01f281477fcdc420b224b55ebf472702ae","scripts":{"build":"yarn clean && tsc","clean":"rimraf dist/","start":"ts-node src","gen:typedoc":"typedoc","test:single":"export SDK_ENV=test; export CHAIN_ID=97; mocha --bail --timeout=300000 --check-leaks -r ts-node/register","build-factory":"typechain --target ethers-v5 --out-dir src/contract './abis/*.json'"},"_npmUser":{"name":"kilros","email":"kilros.kai@gmail.com"},"repository":{"url":"git+https://github.com/CrestFi/bnb-crest-sdk.git","type":"git"},"_npmVersion":"10.9.0","description":"1. [StreamClient](#crestfistreamclient)\r    1. [Installation](#installation)\r    2. [Environment Setup](#environment-setup)\r    3. [Run tests](#run-tests)\r    4. [Contracts](#contracts)\r    5. [Usage](#usage)\r       1. [Getting Signer Address](#getting-si","directories":{},"_nodeVersion":"23.3.0","dependencies":{"dotenv":"^16.0.3","ethers":"^5.7.0","@opengsn/common":"3.0.0-beta.9","@opengsn/provider":"3.0.0-beta.9","@opengsn/contracts":"3.0.0-beta.9","@openzeppelin/merkle-tree":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","rimraf":"^5.0.0","ts-node":"^10.9.1","typedoc":"^0.24.8","typechain":"^8.1.1","typescript":"^4.8.2","@types/chai":"^4.3.5","@types/node":"^18.16.3","@types/mocha":"^10.0.1","tsconfig-paths":"^4.1.0","@typechain/ethers-v5":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/crest-bnb-sdk_1.0.7_1738570686807_0.3367166298301192","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@crestfi/crest-bnb-sdk","version":"1.0.8","keywords":["crestfi","stream","stake","bulk-transfer"],"author":{"name":"CrestFi Team"},"license":"MIT","_id":"@crestfi/crest-bnb-sdk@1.0.8","maintainers":[{"name":"kilros","email":"kilros.kai@gmail.com"},{"name":"lindabrown2204","email":"linda.brown2204@outlook.com"}],"homepage":"https://github.com/CrestFi/bnb-crest-sdk#README","bugs":{"url":"https://github.com/CrestFi/bnb-crest-sdk/issues"},"dist":{"shasum":"ddb42f5a82bc82b2897bce0c87a447ac5c80f265","tarball":"https://registry.npmjs.org/@crestfi/crest-bnb-sdk/-/crest-bnb-sdk-1.0.8.tgz","fileCount":95,"integrity":"sha512-zEuR/Pkod+YTgA1WmEO2+PRIw9Lo88JLcCSSNOvSFXPHBrDxkXc5SaNkn+p2NdEMe/7sQnbXlp9dt/2mApVTwA==","signatures":[{"sig":"MEQCIH7XODg+otOqOQEaGXCjbVv6pvGjl4QHFmH0M+DH0/nbAiAR/NrO4OYmgnbnkTuBOftRqwV077AG03KZ0iPfT+1AeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":920768},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"06cc4a01f281477fcdc420b224b55ebf472702ae","scripts":{"build":"yarn clean && tsc","clean":"rimraf dist/","start":"ts-node src","gen:typedoc":"typedoc","test:single":"export SDK_ENV=test; export CHAIN_ID=97; mocha --bail --timeout=300000 --check-leaks -r ts-node/register","build-factory":"typechain --target ethers-v5 --out-dir src/contract './abis/*.json'"},"_npmUser":{"name":"kilros","email":"kilros.kai@gmail.com"},"repository":{"url":"git+https://github.com/CrestFi/bnb-crest-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"1. [StreamClient](#crestfistreamclient)\r    1. [Installation](#installation)\r    2. [Environment Setup](#environment-setup)\r    3. [Run tests](#run-tests)\r    4. [Contracts](#contracts)\r    5. [Usage](#usage)\r       1. [Getting Signer Address](#getting-si","directories":{},"_nodeVersion":"20.18.0","dependencies":{"dotenv":"^16.0.3","ethers":"^5.7.0","@opengsn/common":"3.0.0-beta.9","@opengsn/provider":"3.0.0-beta.9","@opengsn/contracts":"3.0.0-beta.9","@openzeppelin/merkle-tree":"^1.0.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.6","mocha":"^10.0.0","rimraf":"^5.0.0","ts-node":"^10.9.1","typedoc":"^0.24.8","typechain":"^8.1.1","typescript":"^4.8.2","@types/chai":"^4.3.5","@types/node":"^18.16.3","@types/mocha":"^10.0.1","tsconfig-paths":"^4.1.0","@typechain/ethers-v5":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/crest-bnb-sdk_1.0.8_1741262345670_0.593738548533361","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@crestfi/crest-bnb-sdk","version":"1.1.0","description":"1. [StreamClient](#crestfistreamclient)\r    1. [Installation](#installation)\r    2. [Environment Setup](#environment-setup)\r    3. [Run tests](#run-tests)\r    4. [Contracts](#contracts)\r    5. [Usage](#usage)\r       1. [Getting Signer Address](#getting-si","main":"dist/index.js","types":"dist/index.d.ts","keywords":["crestfi","stream","stake","bulk-transfer"],"repository":{"type":"git","url":"git+https://github.com/CrestFi/bnb-crest-sdk.git"},"scripts":{"build":"yarn clean && tsc","build-factory":"typechain --target ethers-v5 --out-dir src/contract './abis/*.json'","clean":"rimraf dist/","start":"ts-node src","gen:typedoc":"typedoc","test:single":"export SDK_ENV=test; export CHAIN_ID=97; mocha --bail --timeout=300000 --check-leaks -r ts-node/register"},"author":{"name":"CrestFi Team"},"license":"MIT","homepage":"https://github.com/CrestFi/bnb-crest-sdk#README","devDependencies":{"@typechain/ethers-v5":"^10.2.0","@types/chai":"^4.3.5","@types/mocha":"^10.0.1","@types/node":"^18.16.3","chai":"^4.3.6","mocha":"^10.0.0","rimraf":"^5.0.0","ts-node":"^10.9.1","tsconfig-paths":"^4.1.0","typechain":"^8.1.1","typedoc":"^0.24.8","typescript":"^4.8.2"},"dependencies":{"@opengsn/contracts":"3.0.0-beta.9","@opengsn/provider":"3.0.0-beta.9","@opengsn/common":"3.0.0-beta.9","@openzeppelin/merkle-tree":"^1.0.4","dotenv":"^16.0.3","ethers":"^5.7.0"},"publishConfig":{"access":"public"},"_id":"@crestfi/crest-bnb-sdk@1.1.0","gitHead":"9464ab86de08760bef3ffe8b026f85d61ff5bad2","bugs":{"url":"https://github.com/CrestFi/bnb-crest-sdk/issues"},"_nodeVersion":"20.18.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-I5J34cvNFu7O9aasfFSWI6ufUcfVnNuSpm0yCemTK6qT2lLH466+GQLnAiJAXZS4qH3J5Op9KGRWie9HcLGcQA==","shasum":"7d9ef5daf575da74517ac0ebb3df8af0ac64365d","tarball":"https://registry.npmjs.org/@crestfi/crest-bnb-sdk/-/crest-bnb-sdk-1.1.0.tgz","fileCount":95,"unpackedSize":920786,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA8vVmmljD45ts7HV68jT1365xJlM0gfH0+cZjX2L8R3AiEA/23IEJ3W0Vp34J2Dl0ov66CnV1SF6Kwg8LCGPjR0w/8="}]},"_npmUser":{"name":"kilros","email":"kilros.kai@gmail.com"},"directories":{},"maintainers":[{"name":"kilros","email":"kilros.kai@gmail.com"},{"name":"lindabrown2204","email":"linda.brown2204@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/crest-bnb-sdk_1.1.0_1741575763258_0.5642973918145904"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-11T04:10:02.412Z","modified":"2025-03-10T03:02:43.675Z","1.0.0":"2024-12-11T04:10:02.816Z","1.0.1":"2024-12-25T09:53:27.604Z","1.0.2":"2024-12-26T11:33:43.557Z","1.0.3":"2025-01-04T09:54:47.544Z","1.0.4":"2025-01-04T11:46:14.400Z","1.0.5":"2025-01-08T06:57:48.387Z","1.0.6":"2025-01-31T03:26:32.141Z","1.0.7":"2025-02-03T08:18:07.071Z","1.0.8":"2025-03-06T11:59:05.906Z","1.1.0":"2025-03-10T03:02:43.445Z"},"bugs":{"url":"https://github.com/CrestFi/bnb-crest-sdk/issues"},"author":{"name":"CrestFi Team"},"license":"MIT","homepage":"https://github.com/CrestFi/bnb-crest-sdk#README","keywords":["crestfi","stream","stake","bulk-transfer"],"repository":{"type":"git","url":"git+https://github.com/CrestFi/bnb-crest-sdk.git"},"description":"1. [StreamClient](#crestfistreamclient)\r    1. [Installation](#installation)\r    2. [Environment Setup](#environment-setup)\r    3. [Run tests](#run-tests)\r    4. [Contracts](#contracts)\r    5. [Usage](#usage)\r       1. [Getting Signer Address](#getting-si","maintainers":[{"name":"kilros","email":"kilros.kai@gmail.com"},{"name":"lindabrown2204","email":"linda.brown2204@outlook.com"}],"readme":"# Table of Contents\r\n\r\n1. [StreamClient](#crestfistreamclient)\r\n   1. [Installation](#installation)\r\n   2. [Environment Setup](#environment-setup)\r\n   3. [Run tests](#run-tests)\r\n   4. [Contracts](#contracts)\r\n   5. [Usage](#usage)\r\n      1. [Getting Signer Address](#getting-signer-address)\r\n      2. [Whitelisting Tokens](#whitelisting-tokens)\r\n      3. [Depositing Tokens into the CrestFi Wallet](#depositing-tokens-into-the-crestfi-wallet)\r\n      4. [Withdraw Tokens from the CrestFi Wallet](#withdraw-tokens-from-the-crestfi-wallet)\r\n      5. [Initiating a Stream](#initiating-a-stream)\r\n      6. [Pausing/Resuming/Canceling a Stream](#pausingresumingcanceling-a-stream)\r\n      7. [Updating a Stream](#updating-a-stream)\r\n      8. [Withdrawing Streamed Tokens](#withdrawing-streamed-tokens)\r\n      9. [Getting Stream Details](#getting-stream-details)\r\n2. [CrestFiBulkClient](#crestfibulkclient)\r\n   1. [Overview](#overview)\r\n   2. [Importing the Class](#importing-the-class)\r\n   3. [Initializing the Class](#initializing-the-class)\r\n   4. [Example Use Cases](#example-use-cases)\r\n      1. [Initialize Bulk Instant Transfer](#initialize-bulk-instant-transfer)\r\n      2. [Update Bulk Transfer](#update-bulk-transfer)\r\n      3. [Withdraw Bulk Instant Transfer By Receiver](#withdraw-bulk-instant-transfer-by-receiver)\r\n      4. [Cancel Bulk Instant Transfer](#cancel-bulk-instant-transfer)\r\n      5. [Calculate Latest Bulk Bytes](#calculate-latest-bulk-bytes)\r\n      6. [Get Bulk Transfer Root](#get-bulk-transfer-root)\r\n      7. [Verify Bulk Transfer](#verify-bulk-transfer)\r\n3. [List of Whitelisted Tokens on BSC and Nautilus](#list-of-whitelisted-tokens-on-bsc-and-nautilus)\r\n4. [Contributing](#contributing)\r\n\r\n# CrestFiStreamClient\r\n\r\nCrestFiStreamClient is a client library that provides an interface to interact with the CrestFi Stream smart contract. It allows you to perform various operations such as initiating streams, withdrawing tokens, updating streams, and more.\r\n\r\n## Installation\r\n\r\nTo use the CrestFiStreamClient library, you need to have `ethers.js` and the `crest-bnb-sdk` package installed in your project. You can install them using npm:\r\n\r\n```shell\r\nnpm install @crestfi/crest-bnb-sdk\r\n```\r\n\r\n## Environment Setup\r\n\r\nTo Setup the environment checkout the .env.example file.\r\n\r\n| Variables | Description                                     | Values                                                             |\r\n| --------- | ----------------------------------------------- | ------------------------------------------------------------------ |\r\n| CHAIN_ID  | Chain Ids                                       | 56, 22222(Nautilus), 5, 97                                         |\r\n| SDK_ENV   | Environment to work on : \"production\" or \"test\" | \"production\" if you are working on mainnet and \"test\" for testnets |\r\n\r\n## Run tests\r\n\r\nTo run the streaming intgration tests from this repo:\r\n\r\n```shell\r\nyarn test:single test/integration/stream/stream.spec.ts\r\n```\r\n\r\n## Contracts\r\n\r\n[Checkout the CrestFi BNB Contract Repository](https://github.com/CrestFi/bnb-crestfi-contract)\r\n\r\n## Usage\r\n\r\nImport the necessary dependencies and create an instance of the `CrestFiStreamClient` class:\r\n\r\n```javascript\r\nimport { CrestFiStreamClient } from \"@crestfi/crest-bnb-sdk\";\r\n\r\n// Create an instance of CrestFiStreamClient\r\nconst crestfiClient = new CrestFiStreamClient(signer);\r\n```\r\n\r\n### Getting Signer Address\r\n\r\nYou can get the signer's address using the `getSignerAddress()` method:\r\n\r\n```javascript\r\nconst signerAddress = await client.getSignerAddress();\r\nconsole.log(\"Signer Address:\", signerAddress);\r\n```\r\n\r\n### Whitelisting Tokens\r\n\r\nStreaming is only allowed for tokens that have been added to the whitelist within the CrestFi Core Contract. Use `whitelistToken()` method:\r\n\r\n```javascript\r\nconst tokenAddresses = [\"tokenA\", \"tokenB\"];\r\nawait crestfiClient.grantWhitelisterRole(sender.address);\r\nawait crestfiClient.whitelistToken([tokenAddress]);\r\n```\r\n\r\nNote: Only user who has whitlisterRole can whitelist a token. To grant whitelister role, use the `grantWhitelisterRole()`\r\n\r\n```javascript\r\n//only contract owner can grant whitelister role\r\nconst crestfiClientOwner = new CrestFiStreamClient(contractOwner);\r\nawait crestfiClientOwner.grantWhitelisterRole(whitelisterAddress);\r\n```\r\n\r\n### Depositing Tokens into the CrestFi Wallet\r\n\r\nTo deposit tokens into the crestfi wallet, use the `depositToken()` method:\r\n\r\nNote: You can override the default sdk overrides using optional param called `overrides` in every client functions.\r\n\r\n```javascript\r\nconst tokenAddress = \"0x1234567890abcdef\";\r\nconst amount = \"100\";\r\nconst customOverrides = {\r\n  gasLimit: 25000000,\r\n};\r\n\r\nconst receipt = await client.depositToken(\r\n  tokenAddress,\r\n  amount,\r\n  customOverrides\r\n);\r\n\r\nconsole.log(\"Deposit Token Receipt:\", receipt);\r\n```\r\n\r\n### Withdraw Tokens from the CrestFi Wallet\r\n\r\nTo withdraw tokens from the crestfi wallet, use the `withdrawToken()` method:\r\n\r\nNote: You can override the default sdk overrides using optional param called `overrides` in every client functions.\r\n\r\n```javascript\r\nconst tokenAddress = \"0x1234567890abcdef\";\r\nconst amount = \"10\";\r\nconst customOverrides = {\r\n  gasLimit: 25000000,\r\n};\r\n\r\nconst receipt = await client.withdrawToken(\r\n  tokenAddress,\r\n  amount,\r\n  customOverrides\r\n);\r\n\r\nconsole.log(\"Withdraw Token Receipt:\", receipt);\r\n```\r\n\r\n### Initiating a Stream\r\n\r\nTo initiate a stream, use the `initStream()` method:\r\n\r\n```javascript\r\nconst streamName = \"MyStream\";\r\nconst amount = \"100\";\r\nconst tokenAddress = \"0x1234567890abcdef\";\r\nconst receiver = \"0xabcdef1234567890\";\r\nconst startTime = 1654320000;\r\nconst endTime = 1657008000;\r\nconst canCancel = true;\r\nconst canPause = true;\r\nconst customOverrides = {\r\n  gasLimit: 25000000,\r\n};\r\n\r\nconst receipt = await crestfiClient.initStream(\r\n  streamName,\r\n  amount,\r\n  tokenAddress,\r\n  receiver,\r\n  startTime,\r\n  endTime,\r\n  canCancel,\r\n  canPause,\r\n  customOverrides\r\n);\r\n\r\nconsole.log(\"Initiate Stream Receipt:\", receipt);\r\n```\r\n\r\n### Pausing/Resuming/Canceling a Stream\r\n\r\nYou can pause, resume, or cancel a stream using the respective methods:\r\n\r\n```javascript\r\nconst streamBytes = \"0xabcdef1234567890\"; // Stream ID\r\n\r\n// Pause a stream\r\nconst pauseReceipt = await crestfiClient.pauseStream(streamBytes);\r\nconsole.log(\"Pause Stream Receipt:\", pauseReceipt);\r\n\r\n// Resume a stream\r\nconst resumeReceipt = await crestfiClient.resumeStream(streamBytes);\r\nconsole.log(\"Resume Stream Receipt:\", resumeReceipt);\r\n\r\n// Cancel a stream\r\nconst cancelReceipt = await crestfiClient.cancelStream(streamBytes);\r\nconsole.log(\"Cancel Stream Receipt:\", cancelReceipt);\r\n```\r\n\r\n### Updating a Stream\r\n\r\nTo update a stream, use the `updateStream()` method:\r\n\r\n```javascript\r\nconst streamName = \"UpdatedStream\";\r\nconst streamBytes = \"0xabcdef1234567890\"; // Stream ID\r\nconst startTime = 1657008000;\r\nconst endTime = 1659696000;\r\nconst amount = \"200\";\r\n\r\nconst receipt = await crestfiClient.updateStream(\r\n  streamName,\r\n  streamBytes,\r\n  tokenAddress,\r\n  startTime,\r\n  endTime,\r\n  amount\r\n);\r\n\r\nconsole.log(\"Update Stream Receipt:\", receipt);\r\n```\r\n\r\n### Withdrawing Streamed Tokens\r\n\r\nTo withdraw tokens from a stream by receiver, use the `withdrawStream()` method:\r\n\r\n```javascript\r\nconst streamBytes = \"0xabcdef1234567890\"; // Stream ID\r\nconst tokenAddress = \"0x1234567890abcdef\";\r\nconst amount = \"50\";\r\nconst crestfiWalletWithdrawal = false;\r\n\r\nconst receipt = await crestfiReceiverClient.withdrawStream(\r\n  streamBytes,\r\n  tokenAddress,\r\n  amount,\r\n  crestfiWalletWithdrawal\r\n);\r\n\r\nconsole.log(\"Withdraw Stream Receipt:\", receipt);\r\n```\r\n\r\n### Getting Stream Details\r\n\r\nTo get the details of a stream, use the `getStreamDetails()` method:\r\n\r\n```javascript\r\nconst streamBytes = await crestfiClient.getLatestStreamBytes(sender.address);\r\nconst streamDetails = await crestfiClient.getStreamDetails(streamBytes);\r\n\r\nconsole.log(\"Stream Details:\", streamDetails);\r\n```\r\n\r\nFor more details and methods, please refer to the source code or documentation of the `CrestFiStreamClient` class.\r\n\r\n# CrestFiBulkClient\r\n\r\nThe `CrestFiBulkClient` is a TypeScript class designed to interact with Ethereum smart contracts for bulk transfers in the CrestFi protocol. This README will provide an overview of the class and its methods, along with example use cases using the provided test code.\r\n\r\n## Overview\r\n\r\nThe `CrestFiBulkClient` class is designed to interact with two key contracts in the CrestFi protocol: `BulkTransfer` and `Core`. These contracts are used to manage bulk transfers of tokens. The class provides methods to perform actions such as initializing bulk transfers, updating bulk transfers, and withdrawing funds from bulk transfers.\r\n\r\n### Importing the Class\r\n\r\nYou can import the `CrestFiBulkClient` class as follows:\r\n\r\n```typescript\r\nimport { CrestFiBulkClient } from \"./path-to-CrestFiBulkClient\";\r\n```\r\n\r\n### Initializing the Class\r\n\r\nTo initialize an instance of the `CrestFiBulkClient` class, you need to provide a signer or provider and optionally specify contract addresses for `BulkTransfer` and `Core`. Here's an example of how to initialize the class:\r\n\r\n```typescript\r\nimport { ethers } from \"ethers\";\r\nimport { CrestFiBulkClient } from \"./path-to-CrestFiBulkClient\";\r\n\r\n// Initialize with a signer (e.g., MetaMask)\r\nconst signer = new ethers.Wallet(\"your-private-key\");\r\nconst bulkClient = new CrestFiBulkClient(signer);\r\n```\r\n\r\n### Example Use Cases\r\n\r\nHere are some example use cases of how to use the methods provided by the `CrestFiBulkClient` class, along with explanations of what each method does:\r\n\r\n## Bulk Instant Transfer\r\n\r\nThe following guide provides instructions on working with the CrestFiBulkClient class to perform various actions related to bulk instant transfers in the CrestFi protocol.\r\n\r\n### Initializing the Class\r\n\r\nTo start using the CrestFiBulkClient class, you need to initialize it with a signer or provider. Optionally, you can specify contract addresses for BulkTransfer and Core. Here's an example of how to initialize the class:\r\n\r\n```javascript\r\nimport { ethers } from \"ethers\";\r\nimport { CrestFiBulkClient } from \"@crestfi/crest-bnb-sdk\";\r\n\r\n// Initialize with a signer (e.g., MetaMask)\r\nconst signer = new ethers.Wallet(\"your-private-key\");\r\nconst bulkClient = new CrestFiBulkClient(signer);\r\n```\r\n\r\n### Initialize Bulk Instant Transfer\r\n\r\nTo initiate a bulk instant transfer, use the `initBulkInstantTransfer` method. Here's an example of how to do it:\r\n\r\n```javascript\r\nconst bulkStreamName = \"YourBulkStreamName\";\r\nconst now = Math.floor(Date.now() / 1000);\r\nconst amounts = [\"1\", \"2\", \"3\"];\r\nconst tokenAddress = \"0xTokenAddress\";\r\nconst receivers = [receiver1.address, receiver2.address, receiver3.address];\r\nconst startTimes = [BigNumber.from(now + 100)]; // An array of start times. Length must be equal to recurring Frequency\r\nconst recurringFrequency = 1;\r\nconst overrides = {}; // Optional overrides\r\n\r\nconst bulkInstantTree = await bulkClient.getBulkInstantTransferRoot(\r\n  tokenAddress,\r\n  amounts,\r\n  receivers\r\n);\r\n\r\nconst txnReceipt = await bulkClient.initBulkInstantTransfer(\r\n  bulkStreamName,\r\n  bulkInstantTree.root,\r\n  startTimes,\r\n  recurringFrequency,\r\n  overrides\r\n);\r\nconsole.log(txnReceipt);\r\n```\r\n\r\nThe `initBulkInstantTransfer` method initializes a bulk stream with a bulk tree root, start times, and other parameters.\r\n\r\n### Update Bulk Transfer\r\n\r\nTo update an existing bulk transfer, you can follow these steps:\r\n\r\n```javascript\r\nconst bulkName = \"Updated Bulk\";\r\nconst bulkIndex = await receiver1Client\r\n  .getLatestBulkCount(sender.address)\r\n  .toNumber(); // Bulk index to update\r\nconst amounts = [\"5\", \"7\", \"9\"];\r\nconst tokenAddress = \"0xNewTokenAddress\";\r\nconst receivers = [receiver1.address, receiver2.address, receiver3.address];\r\nconst startTimes = [BigNumber.from(now + 600), BigNumber.from(now + 900)]; // An array of start times. Length must be equal to recurring Frequency\r\nconst recurringFrequency = 2;\r\nconst overrides = {}; // Optional overrides\r\n\r\nbulkInstantTree = await bulkClient.updateBulkInstantTransferRoot(\r\n  tokenAddress,\r\n  amounts,\r\n  receivers,\r\n  withdrawBulkCount\r\n);\r\n\r\nconst txnReceipt = await bulkClient.updateBulkTransfer(\r\n  bulkName,\r\n  bulkIndex,\r\n  merkleRoot,\r\n  startTimes,\r\n  recurringFrequency,\r\n  overrides\r\n);\r\nconsole.log(txnReceipt);\r\n```\r\n\r\nThe `updateBulkInstantTransferRoot` function recalculates the Merkle tree root based on new transfer data, and the `updateBulkTransfer` method updates a bulk transfer with new information such as a merkle root and start times.\r\n\r\n### Withdraw Bulk Instant Transfer By Receiver\r\n\r\nTo withdraw funds from a bulk instant transfer, you can use the following method:\r\n\r\n```javascript\r\nconst amount = \"1\";\r\nconst tokenAddress = \"0xTokenAddress\";\r\nconst sender = \"0xSenderAddress\";\r\nconst receiver = \"0xReceiverAddress\";\r\nconst proofs = [\"0xProof1\", \"0xProof2\"]; // Array of merkle proofs\r\nconst crestfiWalletTransfer = false;\r\nconst overrides = {}; // Optional overrides\r\nconst bulkIndex = await receiver1Client\r\n  .getLatestBulkCount(sender.address)\r\n  .toNumber(); // Get the latest bulk index\r\n\r\nconst txnReceipt = await bulkClient.withdrawBulkInstantTransfer(\r\n  bulkIndex,\r\n  amount,\r\n  tokenAddress,\r\n  sender,\r\n  receiver,\r\n  proofs,\r\n  crestfiWalletTransfer,\r\n  overrides\r\n);\r\nconsole.log(txnReceipt);\r\n```\r\n\r\nThis method allows a user to withdraw funds from a bulk instant transfer using merkle proofs.\r\n\r\nPlease note that the purpose of the `getLatestBulkCount` function is to determine the number of bulk transfers that a user has created within the CrestFi protocol. Bulk transfers are collections of individual token streams, and each bulk transfer has a unique index or identifier.\r\n\r\n### Cancel Bulk Instant Transfer\r\n\r\nTo cancel a bulk instant transfer, you can use the following method:\r\n\r\n```javascript\r\nconst bulkIndex = 1;\r\nconst overrides = {}; // Optional overrides\r\nconst txnReceipt = await bulkClient.cancelBulkInstantTransfer(\r\n  bulkIndex,\r\n  overrides\r\n);\r\nconsole.log(txnReceipt);\r\n```\r\n\r\nThis method cancels a bulk instant transfer.\r\n\r\n### Calculate Latest Bulk Bytes\r\n\r\nThe `calculateLatestBulkBytes` function in the CrestFiBulkClient class is used to calculate the byte representation of the latest bulk transfer associated with a specific user's address. This function allows you to obtain the byte representation of the most recent bulk transfer.\r\n\r\n```javascript\r\nconst userAddress = \"0xUserAddress\";\r\nconst bulkBytes = await bulkClient.calculateLatestBulkBytes(userAddress);\r\nconsole.log(bulkBytes);\r\n```\r\n\r\n### Get Bulk Transfer Root\r\n\r\nYou can retrieve the Merkle root associated with a specific bulk transfer using the `getBulkTransferRoot` function.\r\n\r\n```javascript\r\nconst bulkBytes = \"0xabcdef123456...\"; // Replace with the actual bulk transfer identifier\r\n// Retrieve the Merkle root of the specified bulk transfer\r\n\r\nconst bulkTransferRoot = await bulkClient.getBulkTransferRoot(\r\n  bulkTransferBytes\r\n);\r\nconsole.log(`Merkle Root of Bulk Transfer: ${bulkTransferRoot}`);\r\n```\r\n\r\n### Verify Bulk Transfer\r\n\r\nYou can use the `verifyBulkInstantTransfer` function to verify a bulk instant transfer. This function performs verification checks on a bulk instant transfer to ensure that it matches the expected properties and has not been manipulated or tampered with.\r\n\r\n```javascript\r\n// Verify the bulk instant transfer\r\nconst verified = await bulkClient.verifyBulkInstantTransfer(\r\n  index,\r\n  amount,\r\n  tokenAddress,\r\n  sender,\r\n  receiver,\r\n  proofs\r\n);\r\n\r\nif (verified) {\r\n  console.log(\"Bulk Instant Transfer is valid and verified.\");\r\n} else {\r\n  console.log(\"Bulk Instant Transfer is not valid.\");\r\n}\r\n```\r\n\r\nThis guide provides an overview of how to initialize the class and perform various actions related to bulk instant transfers using the CrestFiBulkClient in the CrestFi protocol.\r\n\r\n## List of Whitelisted Tokens on BSC and Nautilus\r\n\r\n### BNB Smart Chain\r\n\r\n| Token | Address                                    |\r\n| ----- | ------------------------------------------ |\r\n| BNB   | 0x0000000000000000000000000000000000000000 |\r\n| wBNB  | 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c |\r\n| USDT  | 0x55d398326f99059fF775485246999027B3197955 |\r\n| USDC  | 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d |\r\n\r\n### Nautilus\r\n\r\n| Token Name | Token Address                              |\r\n| ---------- | ------------------------------------------ |\r\n| USDC       | 0xB2723928400AE5778f6A3C69D7Ca9e90FC430180 |\r\n| USDT       | 0xBDa330Ea8F3005C421C8088e638fBB64fA71b9e0 |\r\n\r\n## Contributing\r\n\r\nContributions are welcome! If you find any issues or have suggestions, please open an issue or submit a pull request.\r\n\r\n\r\n## Upgrade sdk\r\n1.change the verion value of package.json\r\n1.npm login\r\n2.npm publish --access public\r\n","readmeFilename":"README.md"}