Skip to content

Version 0.2 - Verified Reputation

Pre-release
Pre-release
Compare
Choose a tag to compare
@toledoroy toledoroy released this 02 May 18:17
· 436 commits to main since this release

Deployed Contracts (Rinkeby)

  • Config 0x14E5D5B68A41665E86225e6830a69bb2b5F6E484
  • Case 0xB40102c50fEcF14fD8339f3C9A16ef4dec0C0352
  • Hub 0xce92b64ba4b9a2905605c8c04e9F1e27C5D6E559
  • Avatar 0xE7254468763a8d4f791f30F5e8dcA635DF850772
  • History 0xe699f8dd6968F7a60786E846899CEf56154D3573
  • Jurisdiction 0x22A339004E2a005ED5D5b94C83EEA2E47BE249EB

Summary

Complete case flow & reputation change upon completion (both in Jurisdiction and in global context)

Functionality Changes

Avatar Address Lookup

/// Get Token ID by Address
function tokenByAddress(address owner) external view returns (uint256);

Map Multiple Addresses to an Avatar

/// Map Account to Existing Token
function tokenOwnerAdd(address owner, uint256 tokenId) external onlyOwner;

Get Members By Role

Returns an array of Unique Members for a specified Role

/// Unique Members Addresses
function uniqueRoleMembers(string memory role) external view returns (address[] memory);

/// Unique Members Count (w/Token)
function uniqueRoleMembersCount(string memory role) external view returns (uint256);    

Support for Custom Effects

Was

Input: Effects as part of the rule object

 let rule = {
	...
	effects:{
	  environmental: 0,
	  professional: -5,
	  social: 5,
	  personal: 0,
	}
};

Function

jurisdictionContract..ruleAdd(rule, confirmation);

Event

emit RuleEffects(id, rule.effects.environmental, rule.effects.personal, rule.effects.social, rule.effects.professional);	

Now

Input: Effects as a Separate Array

let effects = [
	{name:'environmental', value:10, direction:false},
	{name:'personal', value:4, direction:true},
];

Function:

jurisdictionContract.ruleAdd(rule, confirmation, effects);

Event For Each Rule

RuleEffect(uint256 indexed id, bool direction, int8 value, string name)

Support for Custom Reputation Domains

Event For Opinion Changes w/Crosschain Support

event OpinionChange(uint256 chainId, address indexed contractAddr, uint256 indexed tokenId, string domain, DataTypes.Rating rating, uint256 score);
  • Implemented in Avatar & Jurisdiction Contracts