UNPKG

@bandz/protocol-js

Version:

Bandz protocol data aggregation tool

22 lines (21 loc) 1.72 kB
import IERC20ServiceInterface from '../interfaces/ERC20'; import { IStakedToken, IAaveStakingHelper } from '../contract-types'; import StakingInterface from '../interfaces/Staking'; import { Configuration, SmartBCHTransactionTypeExtended, StakingNetworkConfig, tSmartBCHAddress, tStringCurrencyUnits } from '../types'; import BaseService from './BaseService'; export default class StakingService extends BaseService<IStakedToken> implements StakingInterface { readonly stakingHelperContract: IAaveStakingHelper; readonly stakingContractAddress: tSmartBCHAddress; readonly stakingRewardTokenContractAddress: tSmartBCHAddress; readonly stakingHelperContractAddress: tSmartBCHAddress | undefined; readonly erc20Service: IERC20ServiceInterface; readonly tokenStake: string; readonly stakingConfig: StakingNetworkConfig | undefined; constructor(config: Configuration, erc20Service: IERC20ServiceInterface, tokenStake: string, stakingConfig: StakingNetworkConfig | undefined); signStaking(user: tSmartBCHAddress, amount: tStringCurrencyUnits, nonce: string): Promise<string>; stakeWithPermit(user: tSmartBCHAddress, amount: tStringCurrencyUnits, signature: string): Promise<SmartBCHTransactionTypeExtended[]>; stake(user: tSmartBCHAddress, amount: tStringCurrencyUnits, onBehalfOf?: tSmartBCHAddress): Promise<SmartBCHTransactionTypeExtended[]>; redeem(user: tSmartBCHAddress, amount: tStringCurrencyUnits): Promise<SmartBCHTransactionTypeExtended[]>; cooldown(user: tSmartBCHAddress): Promise<SmartBCHTransactionTypeExtended[]>; claimRewards(user: tSmartBCHAddress, amount: tStringCurrencyUnits): Promise<SmartBCHTransactionTypeExtended[]>; }