{
  "systems": [
    {
      "namespaceLabel": "evefrontier",
      "label": "AccessConfigSystem",
      "namespace": "evefrontier",
      "name": "AccessConfigSyst",
      "systemId": "0x737965766566726f6e74696572000000416363657373436f6e66696753797374",
      "abi": [
        "error AccessConfig_AccessDenied(bytes32 targetSystemId, address caller)",
        "error AccessConfig_InvalidAccessSystem(bytes32 accessSystemId)",
        "error AccessConfig_InvalidTargetSystem(bytes32 targetSystemId)",
        "error AccessConfig_RoleAccessDenied(bytes32 roleId, address caller)",
        "error AccessConfig_TargetNotConfigured(bytes32 targetSystemId, bytes4 targetFunctionId)",
        "error SOF_CallTooDeep(uint256 callCount)",
        "error SOF_InvalidAccessLogic()",
        "error SOF_InvalidCall()",
        "error SOF_InvalidEntityType(uint256 givenEntity)",
        "error SOF_UnscopedSystemCall(uint256 entityId, bytes32 systemId)",
        "function configureAccess(bytes32 targetSystemId, bytes4 targetFunctionId, bytes32 accessSystemId, bytes4 accessFunctionId)",
        "function setAccessEnforcement(bytes32 targetSystemId, bytes4 targetFunctionId, bool enforced)"
      ],
      "worldAbi": [
        "error AccessConfig_AccessDenied(bytes32 targetSystemId, address caller)",
        "error AccessConfig_InvalidAccessSystem(bytes32 accessSystemId)",
        "error AccessConfig_InvalidTargetSystem(bytes32 targetSystemId)",
        "error AccessConfig_RoleAccessDenied(bytes32 roleId, address caller)",
        "error AccessConfig_TargetNotConfigured(bytes32 targetSystemId, bytes4 targetFunctionId)",
        "error SOF_CallTooDeep(uint256 callCount)",
        "error SOF_InvalidAccessLogic()",
        "error SOF_InvalidCall()",
        "error SOF_InvalidEntityType(uint256 givenEntity)",
        "error SOF_UnscopedSystemCall(uint256 entityId, bytes32 systemId)",
        "function evefrontier__configureAccess(bytes32 targetSystemId, bytes4 targetFunctionId, bytes32 accessSystemId, bytes4 accessFunctionId)",
        "function evefrontier__setAccessEnforcement(bytes32 targetSystemId, bytes4 targetFunctionId, bool enforced)"
      ]
    },
    {
      "namespaceLabel": "evefrontier",
      "label": "EntitySystem",
      "namespace": "evefrontier",
      "name": "EntitySystem",
      "systemId": "0x737965766566726f6e74696572000000456e7469747953797374656d00000000",
      "abi": [
        "error Entity_BadRoleConfirmation()",
        "error Entity_EntityAlreadyExists(uint256 entityId)",
        "error Entity_EntityDoesNotExist(uint256 classId)",
        "error Entity_EntityRelationsFound(uint256 classId, uint256 numOfTags)",
        "error Entity_InvalidEntityId(uint256 entityId)",
        "error Entity_PropertyTagNotFound(uint256 entityId, bytes32 tagId)",
        "error Entity_RoleDoesNotExist(bytes32 role)",
        "error RoleManagementSystemLib_CallingFromRootSystem()",
        "error SOF_CallTooDeep(uint256 callCount)",
        "error SOF_InvalidAccessLogic()",
        "error SOF_InvalidCall()",
        "error SOF_InvalidEntityType(uint256 givenEntity)",
        "error SOF_UnscopedSystemCall(uint256 entityId, bytes32 systemId)",
        "error TagSystemLib_CallingFromRootSystem()",
        "function deleteClass(uint256 classId)",
        "function deleteClasses(uint256[] classIds)",
        "function deleteObject(uint256 objectId)",
        "function deleteObjects(uint256[] objectIds)",
        "function instantiate(uint256 classId, uint256 objectId, address accessRoleMember)",
        "function registerClass(uint256 classId, bytes32[] scopedSystemIds)",
        "function scopedRegisterClass(uint256 classId, address accessRoleMember, bytes32[] scopedSystemIds)",
        "function setClassAccessRole(uint256 classId, bytes32 newAccessRole)",
        "function setObjectAccessRole(uint256 objectId, bytes32 newAccessRole)"
      ],
      "worldAbi": [
        "error Entity_BadRoleConfirmation()",
        "error Entity_EntityAlreadyExists(uint256 entityId)",
        "error Entity_EntityDoesNotExist(uint256 classId)",
        "error Entity_EntityRelationsFound(uint256 classId, uint256 numOfTags)",
        "error Entity_InvalidEntityId(uint256 entityId)",
        "error Entity_PropertyTagNotFound(uint256 entityId, bytes32 tagId)",
        "error Entity_RoleDoesNotExist(bytes32 role)",
        "error RoleManagementSystemLib_CallingFromRootSystem()",
        "error SOF_CallTooDeep(uint256 callCount)",
        "error SOF_InvalidAccessLogic()",
        "error SOF_InvalidCall()",
        "error SOF_InvalidEntityType(uint256 givenEntity)",
        "error SOF_UnscopedSystemCall(uint256 entityId, bytes32 systemId)",
        "error TagSystemLib_CallingFromRootSystem()",
        "function evefrontier__deleteClass(uint256 classId)",
        "function evefrontier__deleteClasses(uint256[] classIds)",
        "function evefrontier__deleteObject(uint256 objectId)",
        "function evefrontier__deleteObjects(uint256[] objectIds)",
        "function evefrontier__instantiate(uint256 classId, uint256 objectId, address accessRoleMember)",
        "function evefrontier__registerClass(uint256 classId, bytes32[] scopedSystemIds)",
        "function evefrontier__scopedRegisterClass(uint256 classId, address accessRoleMember, bytes32[] scopedSystemIds)",
        "function evefrontier__setClassAccessRole(uint256 classId, bytes32 newAccessRole)",
        "function evefrontier__setObjectAccessRole(uint256 objectId, bytes32 newAccessRole)"
      ]
    },
    {
      "namespaceLabel": "evefrontier",
      "label": "RoleManagementSystem",
      "namespace": "evefrontier",
      "name": "RoleManagementSy",
      "systemId": "0x737965766566726f6e74696572000000526f6c654d616e6167656d656e745379",
      "abi": [
        "error RoleManagement_AdminAlreadyAssigned(bytes32 role, bytes32 admin)",
        "error RoleManagement_BadConfirmation()",
        "error RoleManagement_InvalidRole()",
        "error RoleManagement_InvalidRoleMember()",
        "error RoleManagement_MustRenounceSelf()",
        "error RoleManagement_RoleAlreadyCreated(bytes32 role)",
        "error RoleManagement_RoleDoesNotExist(bytes32 role)",
        "error RoleManagement_UnauthorizedAccount(bytes32 role, address caller)",
        "error SOF_CallTooDeep(uint256 callCount)",
        "error SOF_InvalidAccessLogic()",
        "error SOF_InvalidCall()",
        "error SOF_InvalidEntityType(uint256 givenEntity)",
        "error SOF_UnscopedSystemCall(uint256 entityId, bytes32 systemId)",
        "function createRole(bytes32 role, bytes32 admin)",
        "function grantRole(bytes32 role, address account)",
        "function renounceRole(bytes32 role, address callerConfirmation)",
        "function revokeAll(bytes32 role)",
        "function revokeRole(bytes32 role, address account)",
        "function scopedCreateRole(uint256 entityId, bytes32 role, bytes32 admin, address roleMember)",
        "function scopedGrantRole(uint256 entityId, bytes32 role, address account)",
        "function scopedRenounceRole(uint256 entityId, bytes32 role, address callerConfirmation)",
        "function scopedRevokeAll(uint256 entityId, bytes32 role)",
        "function scopedRevokeRole(uint256 entityId, bytes32 role, address account)",
        "function scopedTransferRoleAdmin(uint256 entityId, bytes32 role, bytes32 newAdmin)",
        "function transferRoleAdmin(bytes32 role, bytes32 newAdmin)"
      ],
      "worldAbi": [
        "error RoleManagement_AdminAlreadyAssigned(bytes32 role, bytes32 admin)",
        "error RoleManagement_BadConfirmation()",
        "error RoleManagement_InvalidRole()",
        "error RoleManagement_InvalidRoleMember()",
        "error RoleManagement_MustRenounceSelf()",
        "error RoleManagement_RoleAlreadyCreated(bytes32 role)",
        "error RoleManagement_RoleDoesNotExist(bytes32 role)",
        "error RoleManagement_UnauthorizedAccount(bytes32 role, address caller)",
        "error SOF_CallTooDeep(uint256 callCount)",
        "error SOF_InvalidAccessLogic()",
        "error SOF_InvalidCall()",
        "error SOF_InvalidEntityType(uint256 givenEntity)",
        "error SOF_UnscopedSystemCall(uint256 entityId, bytes32 systemId)",
        "function evefrontier__createRole(bytes32 role, bytes32 admin)",
        "function evefrontier__grantRole(bytes32 role, address account)",
        "function evefrontier__renounceRole(bytes32 role, address callerConfirmation)",
        "function evefrontier__revokeAll(bytes32 role)",
        "function evefrontier__revokeRole(bytes32 role, address account)",
        "function evefrontier__scopedCreateRole(uint256 entityId, bytes32 role, bytes32 admin, address roleMember)",
        "function evefrontier__scopedGrantRole(uint256 entityId, bytes32 role, address account)",
        "function evefrontier__scopedRenounceRole(uint256 entityId, bytes32 role, address callerConfirmation)",
        "function evefrontier__scopedRevokeAll(uint256 entityId, bytes32 role)",
        "function evefrontier__scopedRevokeRole(uint256 entityId, bytes32 role, address account)",
        "function evefrontier__scopedTransferRoleAdmin(uint256 entityId, bytes32 role, bytes32 newAdmin)",
        "function evefrontier__transferRoleAdmin(bytes32 role, bytes32 newAdmin)"
      ]
    },
    {
      "namespaceLabel": "evefrontier",
      "label": "TagSystem",
      "namespace": "evefrontier",
      "name": "TagSystem",
      "systemId": "0x737965766566726f6e7469657200000054616753797374656d00000000000000",
      "abi": [
        "error SOF_CallTooDeep(uint256 callCount)",
        "error SOF_InvalidAccessLogic()",
        "error SOF_InvalidCall()",
        "error SOF_InvalidEntityType(uint256 givenEntity)",
        "error SOF_UnscopedSystemCall(uint256 entityId, bytes32 systemId)",
        "error Tag_EntityAlreadyHasTag(uint256 entityId, bytes32 tagId)",
        "error Tag_EntityDoesNotExist(uint256 entityId)",
        "error Tag_InvalidCaller(address caller)",
        "error Tag_InvalidTagId(bytes32 tagId)",
        "error Tag_OnlyClassOrObjectPropertyAllowed()",
        "error Tag_ResourceNotRegistered(bytes32 systemId)",
        "error Tag_TagDoesNotExist(bytes32 tagId)",
        "error Tag_TagNotFound(uint256 entityId, bytes32 tagId)",
        "error Tag_TagTypeNotDefined(bytes2 tagType)",
        "function removeTag(uint256 entityId, bytes32 tagId)",
        "function removeTags(uint256 entityId, bytes32[] tagIds)",
        "function setTag(uint256 entityId, (bytes32 tagId, bytes value) tagParams)",
        "function setTags(uint256 entityId, (bytes32 tagId, bytes value)[] tagParams)"
      ],
      "worldAbi": [
        "error SOF_CallTooDeep(uint256 callCount)",
        "error SOF_InvalidAccessLogic()",
        "error SOF_InvalidCall()",
        "error SOF_InvalidEntityType(uint256 givenEntity)",
        "error SOF_UnscopedSystemCall(uint256 entityId, bytes32 systemId)",
        "error Tag_EntityAlreadyHasTag(uint256 entityId, bytes32 tagId)",
        "error Tag_EntityDoesNotExist(uint256 entityId)",
        "error Tag_InvalidCaller(address caller)",
        "error Tag_InvalidTagId(bytes32 tagId)",
        "error Tag_OnlyClassOrObjectPropertyAllowed()",
        "error Tag_ResourceNotRegistered(bytes32 systemId)",
        "error Tag_TagDoesNotExist(bytes32 tagId)",
        "error Tag_TagNotFound(uint256 entityId, bytes32 tagId)",
        "error Tag_TagTypeNotDefined(bytes2 tagType)",
        "function evefrontier__removeTag(uint256 entityId, bytes32 tagId)",
        "function evefrontier__removeTags(uint256 entityId, bytes32[] tagIds)",
        "function evefrontier__setTag(uint256 entityId, (bytes32 tagId, bytes value) tagParams)",
        "function evefrontier__setTags(uint256 entityId, (bytes32 tagId, bytes value)[] tagParams)"
      ]
    },
    {
      "namespaceLabel": "sofaccess",
      "label": "SOFAccessSystem",
      "namespace": "sofaccess",
      "name": "SOFAccessSystem",
      "systemId": "0x7379736f666163636573730000000000534f4641636365737353797374656d00",
      "abi": [
        "error SOF_CallTooDeep(uint256 callCount)",
        "error SOF_InvalidAccessLogic()",
        "error SOF_InvalidCall()",
        "error SOF_InvalidEntityType(uint256 givenEntity)",
        "error SOF_UnscopedSystemCall(uint256 entityId, bytes32 systemId)",
        "error SOFAccess_AccessDenied(uint256 entityId, address caller)",
        "function allowCallAccessOnly(uint256 entityId, bytes targetCallData) view",
        "function allowCallAccessOrClassScopedSystem(uint256 entityId, bytes targetCallData) view",
        "function allowCallAccessOrClassScopedSystemOrDirectAccessRole(uint256 entityId, bytes targetCallData) view",
        "function allowCallAccessOrClassScopedSystemOrDirectClassAccessRole(uint256 entityId, bytes targetCallData) view",
        "function allowCallAccessOrDirectAccessRole(uint256 entityId, bytes targetCallData) view",
        "function allowClassScopedSystemOnly(uint256 entityId, bytes targetCallData) view",
        "function allowClassScopedSystemOrDirectAccessRole(uint256 entityId, bytes targetCallData) view",
        "function allowClassScopedSystemOrDirectClassAccessRole(uint256 entityId, bytes targetCallData) view",
        "function allowDirectAccessRoleOnly(uint256 entityId, bytes targetCallData) view",
        "function allowDirectClassAccessRoleOnly(uint256 entityId, bytes targetCallData) view",
        "function noAllowances(uint256 entityId, bytes targetCallData) view"
      ],
      "worldAbi": [
        "error SOF_CallTooDeep(uint256 callCount)",
        "error SOF_InvalidAccessLogic()",
        "error SOF_InvalidCall()",
        "error SOF_InvalidEntityType(uint256 givenEntity)",
        "error SOF_UnscopedSystemCall(uint256 entityId, bytes32 systemId)",
        "error SOFAccess_AccessDenied(uint256 entityId, address caller)",
        "function sofaccess__allowCallAccessOnly(uint256 entityId, bytes targetCallData) view",
        "function sofaccess__allowCallAccessOrClassScopedSystem(uint256 entityId, bytes targetCallData) view",
        "function sofaccess__allowCallAccessOrClassScopedSystemOrDirectAccessRole(uint256 entityId, bytes targetCallData) view",
        "function sofaccess__allowCallAccessOrClassScopedSystemOrDirectClassAccessRole(uint256 entityId, bytes targetCallData) view",
        "function sofaccess__allowCallAccessOrDirectAccessRole(uint256 entityId, bytes targetCallData) view",
        "function sofaccess__allowClassScopedSystemOnly(uint256 entityId, bytes targetCallData) view",
        "function sofaccess__allowClassScopedSystemOrDirectAccessRole(uint256 entityId, bytes targetCallData) view",
        "function sofaccess__allowClassScopedSystemOrDirectClassAccessRole(uint256 entityId, bytes targetCallData) view",
        "function sofaccess__allowDirectAccessRoleOnly(uint256 entityId, bytes targetCallData) view",
        "function sofaccess__allowDirectClassAccessRoleOnly(uint256 entityId, bytes targetCallData) view",
        "function sofaccess__noAllowances(uint256 entityId, bytes targetCallData) view"
      ]
    }
  ],
  "createdAt": 1749655775463
}
