Interactions

Operations involving two or more objects are generally referred to as interactions. These are actually interoperations that can be registered and executed through the OOPS contract.

Research on transforms is ongoing, and they will be detailed in future updates.

New Relations

To register a new relation:

function registerRelation(bytes32 desc, RelationRule memory rule, uint128[] memory adjs)
    external
    returns (uint64);

Relating Objects

To relate a dependent object to a destination object:

function relate(uint256 dep, uint128 dest) external;

To relate multiple dependent objects to a destination object:

function relate(uint256[] memory deps, uint128 dest) external;

Unrelating Objects

To unrelate a dependent object from a destination object:

function unrelate(uint256 dep, uint128 dest) external;

To unrelate multiple dependent objects from a destination object:

function unrelate(uint256[] memory deps, uint256 dest) external;