@ardier16/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
116 lines (115 loc) • 7.69 kB
TypeScript
import Web3 from 'web3';
import { SystemContractWithQBalance } from '..';
import { ContractRegistry } from '../web3-contracts/ContractRegistry';
import { SystemContractInstance } from './SystemContractInstance';
import { DefaultAllocationProxyInstance } from './tokeneconomics/DefaultAllocationProxyInstance';
import { RootNodeRewardProxyInstance } from './tokeneconomics/RootNodeRewardProxyInstance';
import { ValidationRewardProxyInstance } from './tokeneconomics/ValidationRewardProxyInstance';
import { ValidationRewardPoolsInstance } from './tokeneconomics/ValidationRewardPoolsInstance';
import { RootNodesInstance } from './governance/rootNodes/RootNodesInstance';
import { RootNodesMembershipVotingInstance } from './governance/rootNodes/RootNodesMembershipVotingInstance';
import { RootNodesSlashingVotingInstance } from './governance/rootNodes/RootNodesSlashingVotingInstance';
import { ValidatorsInstance } from './governance/validators/ValidatorsInstance';
import { ValidatorsSlashingVotingInstance } from './governance/validators/ValidatorsSlashingVotingInstance';
import { ConstitutionInstance } from './governance/constitution/ConstitutionInstance';
import { VotingWeightProxyInstance } from './governance/VotingWeightProxyInstance';
import { EPDRParametersInstance } from './governance/experts/EPDRParametersInstance';
import { EPDRMembershipInstance } from './governance/experts/EPDRMembershipInstance';
import { EPDRMembershipVotingInstance } from './governance/experts/EPDRMembershipVotingInstance';
import { EPDRParametersVotingInstance } from './governance/experts/EPDRParametersVotingInstance';
import { EPRSParametersInstance } from './governance/experts/EPRSParametersInstance';
import { EPRSMembershipInstance } from './governance/experts/EPRSMembershipInstance';
import { EPRSMembershipVotingInstance } from './governance/experts/EPRSMembershipVotingInstance';
import { EPRSParametersVotingInstance } from './governance/experts/EPRSParametersVotingInstance';
import { EPQFIParametersInstance } from './governance/experts/EPQFIParametersInstance';
import { EPQFIMembershipInstance } from './governance/experts/EPQFIMembershipInstance';
import { EPQFIMembershipVotingInstance } from './governance/experts/EPQFIMembershipVotingInstance';
import { QVaultInstance } from './tokeneconomics/QVaultInstance';
import { SystemReserveInstance } from './tokeneconomics/SystemReserveInstance';
import { BorrowingCoreInstance } from './defi/BorrowingCoreInstance';
import { SavingInstance } from './defi/SavingInstance';
import { ERC20Instance } from './defi/token/ERC20Instance';
import { SystemBalanceInstance } from './defi/SystemBalanceInstance';
import { LiquidationAuctionInstance } from './defi/LiquidationAuctionInstance';
import { SystemSurplusAuctionInstance } from './defi/SystemSurplusAuctionInstance';
import { SystemDebtAuctionInstance } from './defi/SystemDebtAuctionInstance';
import { TokenBridgeAdminProxyInstance } from './defi/TokenBridgeAdminProxyInstance';
import { ConstitutionVotingInstance } from './governance/constitution/ConstitutionVotingInstance';
import { EPQFIParametersVotingInstance } from './governance/experts/EPQFIParametersVotingInstance';
import { VestingInstance } from './tokeneconomics/VestingInstance';
import { EmergencyUpdateVotingInstance } from './governance/EmergencyUpdateVotingInstance';
import { GeneralUpdateVotingInstance } from './governance/GeneralUpdateVotingInstance';
import { ValidatorSlashingEscrowInstance } from './governance/validators/ValidatorSlashingEscrowInstance';
import { RootNodeSlashingEscrowInstance } from './governance/rootNodes/RootNodeSlashingEscrowInstance';
import { PushPaymentsInstance } from './tokeneconomics/PushPaymentsInstance';
import { ContractRegistryUpgradeVotingInstance } from './governance/ContractRegistryUpgradeVoting';
import { ContractRegistryAddressVotingInstance } from './governance/ContractRegistryAddressVoting';
import { AccountAliasesInstance } from './governance/AccountAliases';
/**
* Contract registry instance to interact with Contract registry contract.
* See [onchain documentation](@system-contracts-repo/@network/ContractRegistry/) for more details.
*/
export declare class ContractRegistryInstance extends SystemContractInstance<ContractRegistry> {
constructor(web3: Web3, address?: string);
/**
* [External documentation](@system-contracts-repo/@network/ContractRegistry/#getmaintainers)
*/
getMaintainers(): Promise<string[]>;
/**
* Retrieve contract balances
* @returns contracts with balance and address
*/
getSystemContractsAndBalances(): Promise<SystemContractWithQBalance[]>;
/**
* Main method to create instance.
* @param t constructor
* @param registryKey contract registry key
* @returns contract instance
*/
createInstance<T>(t: new (web3: Web3, address: string) => T, registryKey?: string): Promise<T>;
rootNodes(): Promise<RootNodesInstance>;
rootNodesMembershipVoting(): Promise<RootNodesMembershipVotingInstance>;
rootNodesSlashingVoting(): Promise<RootNodesSlashingVotingInstance>;
validators(): Promise<ValidatorsInstance>;
validatorsSlashingVoting(): Promise<ValidatorsSlashingVotingInstance>;
vesting(): Promise<VestingInstance>;
constitution(): Promise<ConstitutionInstance>;
constitutionVoting(): Promise<ConstitutionVotingInstance>;
votingWeightProxy(): Promise<VotingWeightProxyInstance>;
defaultAllocationProxy(): Promise<DefaultAllocationProxyInstance>;
validationRewardProxy(): Promise<ValidationRewardProxyInstance>;
validationRewardPools(): Promise<ValidationRewardPoolsInstance>;
rootNodeRewardProxy(): Promise<RootNodeRewardProxyInstance>;
emergencyUpdateVoting(): Promise<EmergencyUpdateVotingInstance>;
generalUpdateVoting(): Promise<GeneralUpdateVotingInstance>;
/** @deprecated use qVault instead */
piggyBank(): Promise<QVaultInstance>;
qVault(): Promise<QVaultInstance>;
systemReserve(): Promise<SystemReserveInstance>;
epqfiParameters(): Promise<EPQFIParametersInstance>;
epqfiParametersVoting(): Promise<EPQFIParametersVotingInstance>;
epqfiMembershipVoting(): Promise<EPQFIMembershipVotingInstance>;
epqfiMembership(): Promise<EPQFIMembershipInstance>;
epdrParameters(): Promise<EPDRParametersInstance>;
epdrParametersVoting(): Promise<EPDRParametersVotingInstance>;
epdrMembership(): Promise<EPDRMembershipInstance>;
epdrMembershipVoting(): Promise<EPDRMembershipVotingInstance>;
eprsParameters(): Promise<EPRSParametersInstance>;
eprsParametersVoting(): Promise<EPRSParametersVotingInstance>;
eprsMembership(): Promise<EPRSMembershipInstance>;
eprsMembershipVoting(): Promise<EPRSMembershipVotingInstance>;
borrowingCore(stc: string): Promise<BorrowingCoreInstance>;
saving(stc: string): Promise<SavingInstance>;
stableCoin(stc: string): Promise<ERC20Instance>;
systemBalance(stc: string): Promise<SystemBalanceInstance>;
liquidationAuction(stc: string): Promise<LiquidationAuctionInstance>;
systemSurplusAuction(stc: string): Promise<SystemSurplusAuctionInstance>;
systemDebtAuction(stc: string): Promise<SystemDebtAuctionInstance>;
validatorSlashingEscrow(): Promise<ValidatorSlashingEscrowInstance>;
rootNodeSlashingEscrow(): Promise<RootNodeSlashingEscrowInstance>;
pushPayments(): Promise<PushPaymentsInstance>;
tokenBridgeAdminProxy(): Promise<TokenBridgeAdminProxyInstance>;
upgradeVoting(): Promise<ContractRegistryUpgradeVotingInstance>;
addressVoting(): Promise<ContractRegistryAddressVotingInstance>;
accountAliases(): Promise<AccountAliasesInstance>;
}