@atpar/actus-solidity v0.4.3
ACTUS Solidity
Solidity implementation of ACTUS Contract Types (https://www.actusfrf.org/algorithmic-standard)
Smart Contracts
Core
Contains banking-grade financial logic such as ACTUS day-count & end-of-month conventions, ACTUS datatypes and floating point arithmetic used throughout all ACTUS engines.
Engines
Contains ACTUS state machine engines for each ACTUS Contract Type. An Engine implements the state transition & payoff functions and the schedule generation logic for an ACTUS Contract Type. Engines are stateless smart contracts, thus can be used on-chain as well as off-chain (e.g. by using the EVM as a TEE).
Basic workflow
- Define an ACTUS term sheet depending on the financial contract you want to model and derive the
LifecycleTermsobject from that - Compute EventType-specific schedules via
computeNonCyclicScheduleSegment()andcomputeCyclicScheduleSegment()(you may combine the schedules into one schedule for easier handling) as well as the initial state of the asset viacomputeInitialState()via the corresponding Engine contract - Evaluate each event in the schedule by computing its payoff via
computePayoffForEvent()and the resulting state viacomputeStateForEvent()(note: the payoff has to be computed from the previous state - always compute payoff first then the state)
Development
Requirements and Setup
See README in root directory.
Testing
yarn testImplemented Conventions
- Contract-Role-Sign-Convention (for PAM)
- Contract-Default-Convention
Business-Day-Count-Conventions
- SCF (Shift/Calculate following)
- SCMF (Shift/Calculate modified following)
- CSF (Calculate/Shift following)
- CSMF (Calculate/Shift modified following)
- SCP (Shift/Calculate preceding)
- SCMP (Shift/Calculate modified preceding)
- CSP (Calculate/Shift preceding)
- CSMP (Calculate/Shift modified preceding)
Year-Fraction-Conventions (Day-Count-Methods)
- A/AISDA (Actual Actual ISDA)
- A/360 (Actual Three Sixty)
- A/365 (Actual Three Sixty Five)
- 30E/360ISDA (Thirty E Three Sixty ISDA)
- 30E/360 (Thirty E Three Sixty)
- BUS/252 (Business Two Fifty Two)
- 1/1
End-Of-Month-Conventions
- Same Day Shift
- End-Of-Month Shift
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago