diff --git a/ERCS/erc-6123.md b/ERCS/erc-6123.md index 16ce2ce58f..43986463a8 100644 --- a/ERCS/erc-6123.md +++ b/ERCS/erc-6123.md @@ -238,7 +238,8 @@ The interface design and reference implementation are based on the following con - The interface specification is generic enough to handle the case that parties process one or even multiple financial transactions (on a netted base) - Usually, the valuation of financial trades (e.g. OTC Derivatives) will require advanced valuation methodology to determine the market value. This is why the concept might rely on an external market data source and hosted valuation algorithms - A pull-based valuation-based oracle pattern can be implemented by using the provided callback pattern (methods: `initiateSettlement`, `performSettlement`) -- The reference implementation `SDC.sol` is based on a state-machine pattern where the states also serve as guards (via modifiers) to check which method is allowed to be called at a particular given process and trade state +- The reference implementation `SDCSingleTrade.sol` considers a single trade and is based on a state-machine pattern where the states also serve as guards (via modifiers) to check which method is allowed to be called at a particular given process and trade state +- The interface allows the extension to multiple trades with common (netted) settlement. ### State diagram of trade and process states @@ -254,7 +255,7 @@ Life-cycle unit tests based on the sample implementation and usage of [ERC-20](. ## Reference Implementation -An abstract contract class SDC.sol as well as a full reference implementation SDCPledgedBalance.sol for an OTC-Derivative is provided and is based on the [ERC-20](./eip-20.md) token standard. +An abstract contract class `SDCSingleTrade.sol` for single trade SDCs as well as a full reference implementation SDCPledgedBalance.sol for an OTC-Derivative is provided and is based on the [ERC-20](./eip-20.md) token standard. See folder `/assets/contracts`, more explanation on the implementation is provided inline. ### Trade Data Specification (suggestion) diff --git a/assets/erc-6123/contracts/SDC.sol b/assets/erc-6123/contracts/SDCSingleTrade.sol similarity index 100% rename from assets/erc-6123/contracts/SDC.sol rename to assets/erc-6123/contracts/SDCSingleTrade.sol diff --git a/assets/erc-6123/contracts/SDCPledgedBalance.sol b/assets/erc-6123/contracts/SDCSingleTradePledgedBalance.sol similarity index 99% rename from assets/erc-6123/contracts/SDCPledgedBalance.sol rename to assets/erc-6123/contracts/SDCSingleTradePledgedBalance.sol index e6a6732ee7..0268780714 100644 --- a/assets/erc-6123/contracts/SDCPledgedBalance.sol +++ b/assets/erc-6123/contracts/SDCSingleTradePledgedBalance.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: CC0-1.0 pragma solidity >=0.8.0 <0.9.0; -import "./SDC.sol"; +import "./SDCSingleTrade.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/utils/Strings.sol"; import "./ERC20Settlement.sol";