-
-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Labels
Description
In the previous work on logic implementation there was a concept of an Obligation and a type of Obligation called a PaymentObligation. To improve the trigger operation, we should revisit this work and extend it to include commonly found obligations in legal contracts.
A proposal is a set of Obligations that extend a base Obligation type BaseObligation. A possible start could be the following:
- BaseObligation containing a status that could be one of
'ACTIVE' | 'FULFILLED' | 'VIOLATED' | 'PARTIALLY_FULFILLED' | 'DISPUTED' | 'UNDER_REVIEW' | 'RESOLVED_WITH_ADJUSTMENT' | 'CANCELLED' | 'SUPERSEDED' | 'ERROR' | 'OTHER' - OwnershipTransferObligation - encodes a requirement to transfer ownership of a specific asset (NFT, etc.) from one party to another.
- PaymentObligation - a financial obligation requiring a debtor to pay a creditor a specified amount.
- EscrowReleaseObligation - indicates that tokens or funds held in an escrow (e.g. on a blockchain ) should be released to a designated party under certain conditions
- AccessControlObligation - grants a party (grantee) the right to access a resource (e.g., a password-protected document or API).