0.3.1-beta.0 • Published 4 years ago

actus-solidity v0.3.1-beta.0

Weekly downloads
6
License
Apache-2.0
Repository
github
Last release
4 years ago

ACTUS Solidity

Build Status License npm version Coverage Status

DISCLAIMER: THIS IS A WORK IN PROGRESS AND NOT AUDITED. USE IT AT YOUR OWN RISK.

Solidity implementation of ACTUS Contract Types (https://www.actusfrf.org/algorithmic-standard)

Demo: ACTUS Solidity Calculator running on Görli Testnet.

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).

Development

Requirements

  • node: >=10.0.0 <11.0.0
  • npm: >=6.8.0
  • yarn: 1.16.0
  • truffle
  • ganache-cli
  • jq (only for generating artifacts)

Note, install truffle and ganache-cli using npm as follows:

npm install -g truffle
npm install -g ganache-cli

Run

  1. install dependencies
# contracts/
yarn install
  1. deploy contracts and run tests
# contracts/
yarn test

Deployments

NetworkANNEnginePAMEngineSignedMath
Görli0xF7584Ac4375890505ccAbe43927F061284Ff30dD0xAd135adab829EEdc52a1c5c24741F4196f2D71A00xE9692a8E5eAaE6a01A82BB734A42cBA0A9b0541a
Kovan0xF7584Ac4375890505ccAbe43927F061284Ff30dD0xAd135adab829EEdc52a1c5c24741F4196f2D71A00xE9692a8E5eAaE6a01A82BB734A42cBA0A9b0541a
Rinkeby0x53162Fd13940fD778F024982a756faa64CECf9a30xBDB1624D894A62b4fB3B3D9bE20b1F69Ba969cD40x27bd9D7c156AF2BC60e0B2b458D716e080066697
Ropsten0x53162Fd13940fD778F024982a756faa64CECf9a30xBDB1624D894A62b4fB3B3D9bE20b1F69Ba969cD40x27bd9D7c156AF2BC60e0B2b458D716e080066697

Implemented 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)
  • 30/360 (Thirty Three Sixty)
  • BUS/252 (Business Two Fifty Two)
  • 1/1

End-Of-Month-Conventions

  • Same Day Shift
  • End-Of-Month Shift
0.3.1-beta.0

4 years ago

0.3.0

4 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.2.0-beta.1

5 years ago

0.2.0-beta.0

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.1.0-1

5 years ago

0.1.0-0

5 years ago