UNPKG

@river-build/web3

Version:

Dapps for our Space and Registry contracts

38 lines 1.39 kB
import LocalhostAbi from '@river-build/generated/dev/abis/IRuleEntitlement.abi.json' assert { type: 'json' }; import { BaseContractShim } from './BaseContractShim'; import { EntitlementModuleType } from '../ContractTypes'; import { dlogger } from '@river-build/dlog'; const logger = dlogger('csb:SpaceDapp:debug'); export class RuleEntitlementShim extends BaseContractShim { constructor(address, provider) { super(address, provider, LocalhostAbi); } get moduleType() { return EntitlementModuleType.RuleEntitlement; } async getRoleEntitlement(roleId) { if (roleId === 0) { return { operations: [], checkOperations: [], logicalOperations: [], }; } return this.read.getRuleData(roleId); } decodeGetRuleData(entitlementData) { try { const decoded = this.decodeFunctionResult('getRuleData', entitlementData); if (decoded.length === 0) { logger.error('RuleEntitlementShim No rule data', decoded); return undefined; } return decoded?.length > 0 ? decoded[0] : undefined; } catch (error) { logger.error('RuleEntitlementShim Error decoding RuleDataStruct', error); } return; } } //# sourceMappingURL=RuleEntitlementShim.js.map