import { IAaveGovernanceV2 } from '../../contract-types/IAaveGovernanceV2'; import AaveGovernanceV2Interface from '../../interfaces/v2/AaveGovernanceV2'; import { Configuration, EthereumTransactionTypeExtended, GovernanceConfig, tEthereumAddress } from '../../types'; import { GovCancelType, GovCreateType, GovExecuteType, GovGetProposalsType, GovGetProposalType, GovGetVotingAtBlockType, GovGetVotingSupplyType, GovQueueType, GovSignVotingType, GovSubmitVoteSignType, GovSubmitVoteType, GovGetTokensVotingPower as GovGetPower, GovGetVoteOnProposal } from '../../types/GovernanceV2MethodTypes'; import { Proposal, Power, Vote } from '../../types/GovernanceV2ReturnTypes'; import BaseService from '../BaseService'; export default class AaveGovernanceV2Service extends BaseService implements AaveGovernanceV2Interface { readonly aaveGovernanceV2Address: string; readonly aaveGovernanceV2HelperAddress: string; readonly executors: tEthereumAddress[]; readonly governanceConfig: GovernanceConfig | undefined; constructor(config: Configuration, governanceConfig: GovernanceConfig | undefined); create({ user, targets, values, signatures, calldatas, withDelegateCalls, ipfsHash, executor, }: GovCreateType): Promise; cancel({ user, proposalId }: GovCancelType): Promise; queue({ user, proposalId }: GovQueueType): Promise; execute({ user, proposalId }: GovExecuteType): Promise; submitVote({ user, proposalId, support }: GovSubmitVoteType): Promise; signVoting({ support, proposalId }: GovSignVotingType): Promise; submitVoteBySignature({ user, proposalId, support, signature }: GovSubmitVoteSignType): Promise; getProposals({ skip, limit, }: GovGetProposalsType): Promise; getProposal({ proposalId, }: GovGetProposalType): Promise; getPropositionPowerAt({ user, block, strategy, }: GovGetVotingAtBlockType): Promise; getVotingPowerAt({ user, block, strategy, }: GovGetVotingAtBlockType): Promise; getTotalPropositionSupplyAt({ block, strategy, }: GovGetVotingSupplyType): Promise; getTotalVotingSupplyAt({ block, strategy, }: GovGetVotingSupplyType): Promise; getTokensPower({ user, tokens }: GovGetPower): Promise; getVoteOnProposal({ proposalId, user, }: GovGetVoteOnProposal): Promise; }