@ikalasdev/multisender

1.1.5 • Public • Published

MultiSender

Installation

  1. This is a Node.js module available through the npm registry. Before installing, download and install Node.js. If this is a brand new project, make sure to create a package.json first with the npm init command.

  2. This module need to be in a hardhat project.
    create hardhat project with

npm install hardhat --save-dev
npx hardhat
  1. install the module using
npm install @ikalasdev/multisender

Usage

if you want to send to a lot of addresses the module need to split the transaction in multiple ones. you can specify the chunk size using :

multisender.setChunkSize(500);

the module offer a methode to get the best chunk size for your transaction.

multisender.getBestChunkSize(address, amounts, tokenToSend);

the methode search by default between 100 and 1000 addresses or lower. you can change the boundary using:

multisender.getBestChunkSize(address, amounts, tokenToSend, mininumBoundary, maximumBoundary);

Examples

const multisender = require('@ikalasdev/multisender');

const rpcUrl = "https://data-seed-prebsc-1-s1.binance.org:8545/";
const multiSenderContractAdress = "0xBbF1e343953e749d7f00C68bE3FA64E1e044f4d4";


await multisender.init(multiSenderContractAdress, rpcUrl, SENDER_PUBLIC_KEY);
        
const estimation = await multisender.estimate( [addr1.address], [ethers.utils.parseEther("1")], token.address);

console.log("gas cost: ", estimation.gas);
console.log("fee: ", estimation.fee);
const transaction = await multisender.createTransaction(
            [addr1.address],
            [ethers.utils.parseEther("1")],
            token.address);


// sign and send the transaction
await clientSigner.sendTransaction(transaction);

utils

const decimal = await getDecimal(tokenAddress); //you must have called init before to provide a network

Want to see more ? Check the test code in the repository

Readme

Keywords

none

Package Sidebar

Install

npm i @ikalasdev/multisender

Weekly Downloads

3

Version

1.1.5

License

MIT

Unpacked Size

46.6 kB

Total Files

3

Last publish

Collaborators

  • lechiffre4
  • tlbail
  • malik-ikalas