@vechain/vebetterdao-contracts
Version:
Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.
19 lines (18 loc) • 913 B
JavaScript
import { VeBetterPassport__factory } from "../../typechain-types";
import { chunk } from "./chunk";
import { Clause, ABIContract, Address } from "@vechain/sdk-core";
import { TransactionUtils } from "@repo/utils";
import { getConfig } from "@repo/config";
import { ThorClient } from "@vechain/sdk-network";
const thorClient = ThorClient.at(getConfig().nodeUrl);
export const whitelist = async (accounts, admin, veBetterPassportAddress) => {
console.log(`Whitelisting accounts...`);
const accountChunks = chunk(accounts, 200);
for (const accountChunk of accountChunks) {
const clauses = [];
accountChunk.forEach(account => {
clauses.push(Clause.callFunction(Address.of(veBetterPassportAddress), ABIContract.ofAbi(VeBetterPassport__factory.abi).getFunction("whitelist"), [account]));
});
await TransactionUtils.sendTx(thorClient, clauses, admin.pk);
}
};