UNPKG

@river-build/web3

Version:

Dapps for our Space and Registry contracts

44 lines 1.69 kB
import LocalhostAbi from '@river-build/generated/dev/abis/UserEntitlement.abi.json' assert { type: 'json' }; import { BaseContractShim } from './BaseContractShim'; import { ethers } from 'ethers'; import { decodeUsers } from '../ConvertersEntitlements'; import { EntitlementModuleType } from '../ContractTypes'; import { dlogger } from '@river-build/dlog'; const logger = dlogger('csb:UserEntitlementShim:debug'); export class UserEntitlementShim extends BaseContractShim { constructor(address, provider) { super(address, provider, LocalhostAbi); } get moduleType() { return EntitlementModuleType.UserEntitlement; } async getRoleEntitlement(roleId) { try { const users = await this.read.getEntitlementDataByRoleId(roleId); if (typeof users === 'string') { return decodeUsers(users); } else { return []; } } catch (e) { logger.error('Error getting role entitlement:', e); throw e; } } decodeGetAddresses(entitlementData) { // where does this come from? const abiDef = `[{"name":"getAddresses","outputs":[{"type":"address[]","name":"out"}],"constant":true,"payable":false,"type":"function"}]`; const abi = new ethers.utils.Interface(abiDef); try { const decoded = abi.decodeFunctionResult('getAddresses', entitlementData); return decoded.out; } catch (error) { logger.error('RuleEntitlementShim Error decoding RuleDataStruct', error); } return; } } //# sourceMappingURL=UserEntitlementShim.js.map