Jurisdiction V2: 0xF351C1b7a86E38B59D6Bf0C054Cbf710105b4F0a
Jurisdiction V2.1: 0x621B529DF2a13ADaaf9962180f29694ad137bBCA
Jurisdiction V3: 0x5d15e4713fA815D0E9c1B5186C80c689a9a6cA21
Jurisdiction V4: 0x7BAE28280a53D0519F0AAD1C9653D4C148FFDA59
"isClosed" => "true" //Members Can't Join
/// Set Contract URI
function setContractURI(string calldata contract_uri) external;
/// Initialize
function initialize(address hub, string calldata name_, string calldata uri_) external;
/// Symbol As Arbitrary contract designation signature
function symbol() external view returns (string memory);
/// Add Post
function post(string calldata entRole, uint256 tokenId, string calldata uri) external;
/// Disable Case
function caseDisable(address caseContract) external;
/// Check if Case is Owned by This Contract (& Active)
function caseHas(address caseContract) external view returns (bool);
/// Join jurisdiction as member
function join() external returns (uint256);
/// Leave member role in current jurisdiction
function leave() external returns (uint256);
/// Apply to join a jurisdiction
function applyTojoin(string memory uri) external;
/// Assign Someone to a Role
function roleAssign(address account, string calldata role) external;
/// Assign Tethered Token to a Role
function roleAssignToToken(uint256 toToken, string memory role) external;
/// Remove Someone Else from a Role
function roleRemove(address account, string calldata role) external;
/// Remove Tethered Token from a Role
function roleRemoveFromToken(uint256 ownerToken, string memory role) external;
/// Change Role Wrapper (Add & Remove)
function roleChange(address account, string memory roleOld, string memory roleNew) external;
/// Add Reputation (Positive or Negative)
function repAdd(address contractAddr, uint256 tokenId, string calldata domain, bool rating, uint8 amount) external;
//-- Rule Func.
/// Create New Rule
function ruleAdd(DataTypes.Rule memory rule, DataTypes.Confirmation memory confirmation, DataTypes.Effect[] memory effects) external returns (uint256);
/// Update Rule
function ruleUpdate(uint256 id, DataTypes.Rule memory rule, DataTypes.Effect[] memory effects) external;
/// Update Rule's Confirmation Data
function ruleConfirmationUpdate(uint256 id, DataTypes.Confirmation memory confirmation) external;
/// Set Metadata URI For Role
function setRoleURI(string memory role, string memory _tokenURI) external;
/// Generic Config Get Function
function confGet(string memory key) external view returns(string memory);
/// Generic Config Set Function
function confSet(string memory key, string memory value) external;
/// New Case Created
event CaseCreated(uint256 indexed id, address contractAddress);
/// Applied to Join Jurisdiction
event Application(uint256 indexed id, address account, string uri);
/// New Role Added
event RoleCreated(uint256 indexed id, string role);
//-- Rule Events (Inherited)
/// Action Repository (HISTORY) Set
event ActionRepoSet(address actionRepo);
/// Rule Added / Changed
// event Rule(uint256 indexed id, bytes32 about, string uri, bool negation);
event Rule(uint256 indexed id, bytes32 about, string affected, string uri, bool negation);
/// Rule Removed
event RuleRemoved(uint256 indexed id);