@river-build/web3
Version:
Dapps for our Space and Registry contracts
38 lines • 1.41 kB
JavaScript
import LocalhostAbi from '@river-build/generated/dev/abis/IRuleEntitlementV2.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 RuleEntitlementV2Shim extends BaseContractShim {
constructor(address, provider) {
super(address, provider, LocalhostAbi);
}
get moduleType() {
return EntitlementModuleType.RuleEntitlementV2;
}
async getRoleEntitlement(roleId) {
if (roleId === 0) {
return {
operations: [],
checkOperations: [],
logicalOperations: [],
};
}
return this.read.getRuleDataV2(roleId);
}
decodeGetRuleData(entitlementData) {
try {
const decoded = this.decodeFunctionResult('getRuleDataV2', entitlementData);
if (decoded.length === 0) {
logger.error('RuleEntitlementV2Shim No rule data', decoded);
return undefined;
}
return decoded.length > 0 ? decoded[0] : undefined;
}
catch (error) {
logger.error('RuleEntitlementV2Shim Error decoding RuleDataV2Struct', error);
}
return;
}
}
//# sourceMappingURL=RuleEntitlementV2Shim.js.map