Contract Inheritance

The following diagram shows how the contracts inherit from one another. Click on a node to see the corresponding API.

Assets

graph TD linkStyle default interpolate basis SafeMath([SafeMath]) Outcome([Outcome]) IAssetHolder AssetHolder IERC20 ERC20AssetHolder ETHAssetHolder TESTAssetHolder IAssetHolder--> AssetHolder SafeMath-.-> AssetHolder IERC20-.-> ERC20AssetHolder Outcome-.-> AssetHolder AssetHolder-->ETHAssetHolder AssetHolder-->ERC20AssetHolder AssetHolder-->TESTAssetHolder classDef Library fill:#ffffff,stroke:#656664,stroke-dasharray: 5 5 classDef Contract fill:#ffffff,stroke:#656664; classDef DeployedContract fill:#ffffff,stroke:#3531ff,stroke-width:3px; classDef Abstraction fill:#ffffff,stroke:#8dc404,stroke-dasharray: 5 5; classDef Interface fill:#ffffff,stroke:#de1065,stroke-dasharray: 5 5; classDef TestContract fill:#fafe4f,stroke-width:0px class SafeMath,Outcome Library; class IAssetHolder,IERC20 Interface; class AssetHolder,ETHAssetHolder,ERC20AssetHolder Contract; class TESTAssetHolder TestContract; class ETHAssetHolder,ERC20AssetHolder DeployedContract; click SafeMath "/contract-api/natspec/SafeMath"; click Outcome "/contract-api/natspec/Outcome"; click AssetHolder "/contract-api/natspec/AssetHolder"; click ERC20AssetHolder "/contract-api/natspec/ERC20AssetHolder"; click ETHAssetHolder "/contract-api/natspec/ETHAssetHolder"; click IAssetHolder "/contract-api/natspec/IAssetHolder"; click TESTAssetHolder "/contract-api/natspec/TESTAssetHolder"; click IERC20 "/contract-api/natspec/IERC20";

Adjudication

graph TD linkStyle default interpolate basis Outcome([Outcome]) Adjudicator IForceMove ForceMove NitroAdjudicator TESTForceMove TESTNitroAdjudicator ForceMoveApp-.-> ForceMove IForceMove--> ForceMove Outcome--> NitroAdjudicator Adjudicator--> NitroAdjudicator ForceMove--> NitroAdjudicator ForceMove-->TESTForceMove NitroAdjudicator--> TESTNitroAdjudicator classDef Contract fill:#ffffff,stroke:#656664; classDef DeployedContract fill:#ffffff,stroke:#3531ff,stroke-width:3px; classDef Abstraction fill:#ffffff,stroke:#8dc404,stroke-dasharray: 5 5 classDef Interface fill:#ffffff,stroke:#de1065,stroke-dasharray: 5 5 classDef TestContract fill:#fafe4f,stroke-width:0px; classDef Library fill:#ffffff,stroke:#656664,stroke-dasharray: 5 5 class Outcome,SafeMath Library; class IForceMove Abstraction; class Adjudicator,ForceMoveApp Interface; class ForceMove Contract; class TESTForceMove,TESTNitroAdjudicator TestContract; class NitroAdjudicator DeployedContract; click ForceMoveApp "/contract-api/natspec/ForceMoveApp"; click SafeMath "/contract-api/natspec/SafeMath"; click Outcome "/contract-api/natspec/Outcome"; click Adjudicator "/contract-api/natspec/Adjudicator"; click ForceMove "/contract-api/natspec/ForceMove"; click IForceMove "/contract-api/natspec/IForceMove"; click NitroAdjudicator "/contract-api/natspec/NitroAdjudicator"; click Outcome "/contract-api/natspec/Outcome"; click SafeMath "/contract-api/natspec/SafeMath"; click TESTForceMove "/contract-api/natspec/TESTForceMove"; click TESTNitroAdjudicator "/contract-api/natspec/TESTNitroAdjudicator";

3rd Party

graph TD linkStyle default interpolate basis ERC20 IERC20 Token CountingApp ForceMoveApp SingleAssetPayments TrivialApp ForceMoveApp-->CountingApp ForceMoveApp-->TrivialApp ForceMoveApp-->SingleAssetPayments IERC20-->ERC20 ERC20-->Token classDef Contract fill:#ffffff,stroke:#656664; classDef DeployedContract fill:#ffffff,stroke:#3531ff,stroke-width:3px; classDef Abstraction fill:#ffffff,stroke:#8dc404,stroke-dasharray: 5 5 classDef Interface fill:#ffffff,stroke:#de1065,stroke-dasharray: 5 5 classDef TestContract fill:#fafe4f,stroke-width:0px; classDef fill:#ffffff,stroke:#656664,stroke-dasharray: 5 5 class Outcome,SafeMath Library; class ForceMoveApp,IERC20 Interface; class SingleAssetPayments,TrivialApp,CountingApp,ERC20 Contract; class Token TestContract; click CountingApp "/contract-api/natspec/CountingApp"; click ERC20 "/contract-api/natspec/ERC20"; click ForceMoveApp "/contract-api/natspec/ForceMoveApp"; click IERC20 "/contract-api/natspec/IERC20"; click Outcome "/contract-api/natspec/Outcome"; click SafeMath "/contract-api/natspec/SafeMath"; click SingleAssetPayments "/contract-api/natspec/SingleAssetPayments"; click Token "/contract-api/natspec/Token"; click TrivialApp "/contract-api/natspec/TrivialApp";

Key

graph TD linkStyle default interpolate basis Abstraction-->|Inherited by| Contract Contract-->|Inherited by| TESTContract Interface-->|Inherited by| Contract Library([Library])-.->|Imported by| Contract DeployedContract classDef Contract fill:#ffffff,stroke:#656664; classDef Abstraction fill:#ffffff,stroke:#8dc404,stroke-dasharray: 5 5 classDef TestContract fill:#fafe4f,stroke-width:0px; classDef Interface fill:#ffffff,stroke:#de1065,stroke-dasharray: 5 5 classDef Library fill:#ffffff,stroke:#656664,stroke-dasharray: 5 5 classDef DeployedContract fill:#ffffff,stroke:#3531ff,stroke-width:3px; class Library Library; class Abstraction Abstraction; class Contract Contract; class TESTContract TestContract; class Interface Interface; class DeployedContract DeployedContract

TESTContracts are only used in development.

Last updated on by geoknee