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]) IAdjudicator IForceMove ForceMove NitroAdjudicator TESTForceMove TESTNitroAdjudicator IForceMoveApp-.-> ForceMove IForceMove--> ForceMove Outcome--> NitroAdjudicator IAdjudicator--> 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 IAdjudicator,IForceMoveApp,IForceMove Interface; class ForceMove Contract; class TESTForceMove,TESTNitroAdjudicator TestContract; class NitroAdjudicator DeployedContract; click IForceMoveApp "/contract-api/natspec/IForceMoveApp"; click SafeMath "/contract-api/natspec/SafeMath"; click Outcome "/contract-api/natspec/Outcome"; click IAdjudicator "/contract-api/natspec/IAdjudicator"; 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 IForceMoveApp SingleAssetPayments TrivialApp IForceMoveApp-->CountingApp IForceMoveApp-->TrivialApp IForceMoveApp-->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 IForceMoveApp,IERC20 Interface; class SingleAssetPayments,TrivialApp,CountingApp,ERC20 Contract; class Token TestContract; click CountingApp "/contract-api/natspec/CountingApp"; click ERC20 "/contract-api/natspec/ERC20"; click IForceMoveApp "/contract-api/natspec/IForceMoveApp"; 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 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 Contract Contract; class TESTContract TestContract; class Interface Interface; class DeployedContract DeployedContract

TESTContracts are only used in development.

Last updated on by George C. Knee