@ardier16/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
93 lines • 4.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ValidationRewardPoolsInstance = void 0;
const SystemContractInstance_1 = require("../SystemContractInstance");
/**
* Validation reward pools instance to interact with Validation reward pools contract.
* See [onchain documentation](@system-contracts-repo/@network/ValidationRewardPools/) for more details.
* An instance of this class for a deployed network can be obtained via {@link ContractRegistryInstance.validationRewardPools}
*/
class ValidationRewardPoolsInstance extends SystemContractInstance_1.SystemContractInstance {
constructor(web3, address) {
super(web3, 'ValidationRewardPools.json', address);
}
/**
* [External documentation](@system-contracts-repo/@network/ValidationRewardPools/#validatorproperties)
*/
async validatorProperties(address) {
return this.instance.methods.validatorsProperties(address).call();
}
/**
* Checks whether a user has CompoundRateKeeper
* @param address user
* @returns CRKeeper existence for given address
*/
async compoundRateKeeperExists(address) {
const properties = await this.validatorProperties(address);
return properties.compoundRate != this.adapter.ZERO_ADDRESS;
}
/**
* [External documentation](@system-contracts-repo/@network/ValidationRewardPools/#setdelegatorsshare)
*/
async setDelegatorsShare(qsv, txOptions) {
return this.submitTransaction(this.instance.methods.setDelegatorsShare(qsv), txOptions);
}
/**
* [External documentation](@system-contracts-repo/@network/ValidationRewardPools/#increase)
*/
async increase(address, txOptions) {
return this.submitTransaction(this.instance.methods.increase(address), txOptions);
}
/**
* [External documentation](@system-contracts-repo/@network/ValidationRewardPools/#updatevalidatorscompoundrate)
*/
async updateValidatorsCompoundRate(address, txOptions) {
return this.submitTransaction(this.instance.methods.updateValidatorsCompoundRate(address), txOptions);
}
/**
* [External documentation](@system-contracts-repo/@network/ValidationRewardPools/#reserveadditionalfunds)
*/
async reserveAdditionalFunds(validator, txOptions) {
return this.submitTransaction(this.instance.methods.reserveAdditionalFunds(validator), txOptions);
}
/**
* [External documentation](@system-contracts-repo/@network/ValidationRewardPools/#getcompoundrate)
*/
async getCompoundRate(address) {
return this.instance.methods.getCompoundRate(address).call();
}
/**
* [External documentation](@system-contracts-repo/@network/ValidationRewardPools/#getlastupdateofcompoundrate)
*/
async getLastUpdateOfCompoundRate(address) {
return this.instance.methods.getLastUpdateOfCompoundRate(address).call();
}
/**
* [External documentation](@system-contracts-repo/@network/ValidationRewardPools/#getbalance)
*/
async getValidatorBalance(address) {
return this.instance.methods.getBalance(address).call();
}
/**
* [External documentation](@system-contracts-repo/@network/ValidationRewardPools/#getdelegatedstake)
*/
async getDelegatedStake(address) {
return this.instance.methods.getDelegatedStake(address).call();
}
/**
* [External documentation](@system-contracts-repo/@network/ValidationRewardPools/#getdelegatorsshare)
*/
async getDelegatorsShare(address) {
return this.instance.methods.getDelegatorsShare(address).call();
}
/**
* [External documentation](@system-contracts-repo/@network/ValidationRewardPools/#getpoolinfo)
*/
async getPoolInfo(address) {
const poolInfo = await this.instance.methods.getPoolInfo(address).call();
return poolInfo;
}
}
exports.ValidationRewardPoolsInstance = ValidationRewardPoolsInstance;
ValidationRewardPoolsInstance.registryKey = 'tokeneconomics.validationRewardPools';
//# sourceMappingURL=ValidationRewardPoolsInstance.js.map