You work in the business department of a law company which uses an online solution to deploy DeFi contracts on the Tezos blockchain.
Today you are deploying a Zero-Coupon Bond contract from the tailord template. Fill in the contract parameters and deploy the smart contract.
The holder (or subscriber) of a Zero-Coupon bond provides the bond's present value to the issuer and gets redeemed at maturity date of its face value.
In this example DApp, the present value of the bond (value at which the bond is traded) is computed as the face value (value at which the bond is redeemed at maturity date) minus a discount percent of face value.
The schema below illustrates the two steps of the bond:
The smart contract is designed with the Archetype language as a simple state machine for clarity purpose toward involved parties:
The smart contract's entry points are the state machine's transitions:
- sign: called by parties, transitions from *Created* to *Signed* when both parties have signed; holder must transfer *present value*
- terminate: transition is validated when called by issuer after maturity date and before end of payback perdiod
- dispute: transition is validated when called by holder after end of payback period
Dates and periods are illustrated in the schema below:
The smart contract's implementation is presented in this section.
The DApp is made of:
- an online editor and its content servers
- deployed smart contracts