Registry

onlyRoleHolder(uint256 roleId) modifier

Reverts unless the caller is a member of the specified roleId.

onlyRoleManager(uint256 roleId) modifier

Reverts unless the caller is a member of the manager role for the specified roleId.

onlyExclusive(uint256 roleId) modifier

Reverts unless the roleId represents an initialized, exclusive roleId.

onlyShared(uint256 roleId) modifier

Reverts unless the roleId represents an initialized, shared roleId.

onlyValidRole(uint256 roleId) modifier

Reverts if roleId is not initialized.

onlyInvalidRole(uint256 roleId) modifier

Reverts if roleId is initialized.

constructor() public

Construct the Registry contract.

registerContract(address[] parties, address contractAddress) external

Registers a new financial contract.

Only authorized contract creators can call this method.

Parameters:

  • parties: an array of addresses who become parties in the contract.

  • contractAddress: defines the address of the deployed finan.

addPartyToContract(address party) external

Adds a party member to the calling contract.

msg.sender will be used to determine the contract that this party is added to.

Parameters:

  • party: new party for the calling contract.

removePartyFromContract(address partyAddress) external

Removes a party member to the calling contract.

msg.sender will be used to determine the contract that this party is removed from.

Parameters:

  • partyAddress: address to be removed from the calling contract.

isContractRegistered(address contractAddress) → bool external

Returns whether the contract has been registered with the registry.

If it is registered, it is an authorized participant in the UMA system.

Parameters:

  • contractAddress: address of the financial contract.

getRegisteredContracts(address party) → address[] external

Returns a list of all contracts that are associated with a particular party.

Parameters:

  • party: address of the party.

getAllRegisteredContracts() → address[] external

Returns all registered contracts.

isPartyMemberOfContract(address party, address contractAddress) → bool public

checks if an address is a party of a contract.

Parameters:

  • party: party to check.

  • contractAddress: address to check against the party.

holdsRole(uint256 roleId, address memberToCheck) → bool public

Whether memberToCheck is a member of roleId.

Reverts if roleId does not correspond to an initialized role.

resetMember(uint256 roleId, address newMember) public

Changes the exclusive role holder of roleId to newMember.

Reverts if the caller is not a member of the managing role for roleId or if roleId is not an initialized, exclusive role.

getMember(uint256 roleId) → address public

Gets the current holder of the exclusive role, roleId.

Reverts if roleId does not represent an initialized, exclusive role.

addMember(uint256 roleId, address newMember) public

Adds newMember to the shared role, roleId.

Reverts if roleId does not represent an initialized, shared role or if the caller is not a member of the managing role for roleId.

removeMember(uint256 roleId, address memberToRemove) public

Removes memberToRemove from the shared role, roleId.

Reverts if roleId does not represent an initialized, shared role or if the caller is not a member of the managing role for roleId.

_createSharedRole(uint256 roleId, uint256 managingRoleId, address[] initialMembers) internal

Internal method to initialize a shared role, roleId, which will be managed by managingRoleId. initialMembers will be immediately added to the role.

Should be called by derived contracts, usually at construction time. Will revert if the role is already initialized.

_createExclusiveRole(uint256 roleId, uint256 managingRoleId, address initialMember) internal

Internal method to initialize a exclusive role, roleId, which will be managed by managingRoleId. initialMembers will be immediately added to the role.

Should be called by derived contracts, usually at construction time. Will revert if the role is already initialized.

NewContractRegistered(address contractAddress, address creator, address[] parties) event

EVENTS

==== PartyAdded(address contractAddress, address party) event

==== PartyRemoved(address contractAddress, address party) event

© UMA Project 2018-2019