@river-build/web3
Version:
Dapps for our Space and Registry contracts
38 lines • 1.39 kB
JavaScript
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