@collabland/staking-contracts
Version:
Staking contracts supported by Collab.Land
66 lines • 2.47 kB
JavaScript
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