UNPKG

@collabland/staking-contracts

Version:
66 lines 2.47 kB
import { __decorate } from "tslib"; import { BindingScope, extensionFor, injectable } from '@loopback/core'; import { BigNumber } from 'ethers'; import { STAKING_ADAPTERS_EXTENSION_POINT } from '../keys.js'; import { BaseStakingContractAdapter } from '../staking.js'; // Use the full path to import instead of `../types` import { DwebStaking__factory } from '../types/factories/DwebStaking__factory.js'; class BaseDwebStakingContractAdapter extends BaseStakingContractAdapter { /** * Get staked token balance for the given owner * @param owner - Owner address * @returns */ async getStakedTokenBalance(owner) { const contract = DwebStaking__factory.connect(this.contractAddress, this.provider); try { return (await contract.getStakeDetails(owner)).initialDeposit; } catch (err) { return BigNumber.from(0); } } } let DwebEthereumStakingContractAdapter = class DwebEthereumStakingContractAdapter extends BaseDwebStakingContractAdapter { constructor() { super(...arguments); this.contractAddress = '0x7aA1f1A3c2BBfB7802313b6f18a2fc408A030564'; this.chainId = 1; /** * Assets that can be staked to this contract */ this.supportedAssets = [ { asset: 'ERC20:0xE7f58A92476056627f9FdB92286778aBd83b285F', }, ]; } }; DwebEthereumStakingContractAdapter = __decorate([ injectable({ scope: BindingScope.SINGLETON, }, extensionFor(STAKING_ADAPTERS_EXTENSION_POINT)) ], DwebEthereumStakingContractAdapter); export { DwebEthereumStakingContractAdapter }; let DwebPolygonStakingContractAdapter = class DwebPolygonStakingContractAdapter extends BaseDwebStakingContractAdapter { constructor() { super(...arguments); this.contractAddress = '0x5DB2dE06eD6797E180cD432Ff0BeC6332a34C18E'; this.chainId = 137; /** * Assets that can be staked to this contract */ this.supportedAssets = [ { asset: 'ERC20:0x8839e639F210B80ffea73AedF51baed8DAc04499', }, ]; } }; DwebPolygonStakingContractAdapter = __decorate([ injectable({ scope: BindingScope.SINGLETON, }, extensionFor(STAKING_ADAPTERS_EXTENSION_POINT)) ], DwebPolygonStakingContractAdapter); export { DwebPolygonStakingContractAdapter }; //# sourceMappingURL=dweb-staking.adapter.js.map