UNPKG

@collabland/staking-contracts

Version:
60 lines 2.26 kB
// Copyright Abridged, Inc. 2022. All Rights Reserved. // Node module: @collabland/staking-contracts // This file is licensed under the MIT License. // License text available at https://opensource.org/licenses/MIT import { __decorate, __metadata } from "tslib"; import { AssetName } from '@collabland/chain'; import { BindingScope, extensionFor, injectable } from '@loopback/core'; import { STAKING_ADAPTERS_EXTENSION_POINT } from '../keys.js'; import { BaseStakingContractAdapter } from '../staking.js'; import { RandomStaking__factory } from '../types/factories/RandomStaking__factory.js'; /** * The nft contract address * */ const theRandomNftContractAddress = '0x79Aa05963c92A2a10d96bD840Eb5e73a1E675E92'; let RandomStakingContractAdapter = class RandomStakingContractAdapter extends BaseStakingContractAdapter { constructor() { super(); /** * The staking contract address */ this.contractAddress = '0xB87ef86998cf8a0a75E5d0c323001a133a765537'; this.supportedAssets = [ { name: 'TheRandoms', asset: `ERC721:${theRandomNftContractAddress}`, }, ]; this.contract = RandomStaking__factory.connect(this.contractAddress, this.provider); } /** * Get staked token ids for the given owner * @param owner - Owner address * @returns */ getStakedTokenIds(owner) { return this.contract.tokensOfOwner(owner, theRandomNftContractAddress); } /** * Get staked token balance for the given owner * @param owner - Owner address * @returns */ getStakedTokenBalance(owner) { return this.contract.balanceOf(owner, theRandomNftContractAddress); // return balance; } async isAssetSupported(assetName) { const asset = new AssetName(assetName); return this.contract.stakeAllowedCollections(asset.reference); } }; RandomStakingContractAdapter = __decorate([ injectable({ scope: BindingScope.SINGLETON, }, extensionFor(STAKING_ADAPTERS_EXTENSION_POINT)), __metadata("design:paramtypes", []) ], RandomStakingContractAdapter); export { RandomStakingContractAdapter }; //# sourceMappingURL=random-staking.adapter.js.map