UNPKG

@vechain/vebetterdao-contracts

Version:

Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.

38 lines (37 loc) 2.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.distributeEmissions = exports.toggleQuadraticRewarding = exports.startEmissions = exports.bootstrapEmissions = void 0; const typechain_types_1 = require("../../typechain-types"); const sdk_core_1 = require("@vechain/sdk-core"); const utils_1 = require("@repo/utils"); const config_1 = require("@repo/config"); const sdk_network_1 = require("@vechain/sdk-network"); const thorClient = sdk_network_1.ThorClient.at((0, config_1.getConfig)().nodeUrl); const bootstrapEmissions = async (contractAddress, admin) => { console.log("Bootstrapping emissions..."); const clauses = []; clauses.push(sdk_core_1.Clause.callFunction(sdk_core_1.Address.of(contractAddress), sdk_core_1.ABIContract.ofAbi(typechain_types_1.Emissions__factory.abi).getFunction("bootstrap"), [])); await utils_1.TransactionUtils.sendTx(thorClient, clauses, admin.pk); }; exports.bootstrapEmissions = bootstrapEmissions; const startEmissions = async (contractAddress, acct) => { console.log("Starting emissions..."); const clauses = []; clauses.push(sdk_core_1.Clause.callFunction(sdk_core_1.Address.of(contractAddress), sdk_core_1.ABIContract.ofAbi(typechain_types_1.Emissions__factory.abi).getFunction("start"), [])); await utils_1.TransactionUtils.sendTx(thorClient, clauses, acct.pk); }; exports.startEmissions = startEmissions; const toggleQuadraticRewarding = async (voterRewards, acct) => { console.log("Toggling quadratic rewarding..."); const clauses = []; clauses.push(sdk_core_1.Clause.callFunction(sdk_core_1.Address.of(await voterRewards.getAddress()), sdk_core_1.ABIContract.ofAbi(typechain_types_1.VoterRewards__factory.abi).getFunction("toggleQuadraticRewarding"), [])); await utils_1.TransactionUtils.sendTx(thorClient, clauses, acct.pk); }; exports.toggleQuadraticRewarding = toggleQuadraticRewarding; const distributeEmissions = async (contractAddress, acct) => { console.log("Distributing emissions..."); const clauses = []; clauses.push(sdk_core_1.Clause.callFunction(sdk_core_1.Address.of(contractAddress), sdk_core_1.ABIContract.ofAbi(typechain_types_1.Emissions__factory.abi).getFunction("distribute"), [])); await utils_1.TransactionUtils.sendTx(thorClient, clauses, acct.pk); }; exports.distributeEmissions = distributeEmissions;