🚀 Npm package to hold all reusable functions for EVM compatible chains ⚒️
yarn add kotani-evm or
npm install kotani-evm
const kotaniEvm = require('kotani-evm');
const config = {
CHAIN: 'eg: CELO, POLYGON, ETHEREUM, BINANCE, ARBITRAM, AVALANCHE, OPTIMISM','COSMOS'
ENVIRONMENT: 'eg: TESTNET, MAINNET',
TOKEN_TYPE: 'eg: CUSD, USDC, USDT, BUSD',
};
const evm = new kotaniEvm.Evm(config)
/**
* @param accountAddress
* */
await evm.getBalance(
'0x278c43C0cdE777DF8fAA921F7aB2fb235A699B93'
);
const payload = {
recipientAddress: '0x278c43C0cdE777DF8fAA921F7aB2fb235A699B93',
amount: 0.00001,
privateKey:
'29fd8128fc45a67f1c5db331b2f14c45c399ec9b9180a73d37b60c1a99d37ec7',
};
await evm.sendToken(payload);
await evm.createAccount();
/**
* @param txHash - transaction hash of the transaction
* */
await evm.validateTx('0x19c68b1c8f1fcbca024dc29628d4723864fee9b060bbb97cbe492a33ae67e963');
const payload = {
privateKey:
'29fd8128fc45a67f1c5db331b2f14c45c399ec9b9180a73d37b60c1a99d37ec7',
};
/**
* @param {privateKey} - privateKey is an optional param
* @return {string} - gasEstimation
*/
await evm.estimateGas(payload);
/**
* @param {string} accountAddress - account address of the user
* @param {string} rpcUrl - rpc url to connect to the blockchain
* @returns {string} tokenBalance
*
*/
await testClient.getNativeBalance(
'0x278c43C0cdE777DF8fAA921F7aB2fb235A699B93',
'https://alfajores-forno.celo-testnet.org'
);