Skip to content

Commit

Permalink
Add v1beta2 version of validation protos with metadata for results (#28)
Browse files Browse the repository at this point in the history
* Add new package `tech.figure.validation.v1beta2` which replaces usage of `ValidationResults` from `v1beta1` with a new simple metadata pointer object `ValidationResultsMetadata`

* Improve generated documentation for validation package
  • Loading branch information
rpatel-figure authored Feb 16, 2023
1 parent 59bd714 commit 363be0f
Show file tree
Hide file tree
Showing 14 changed files with 576 additions and 213 deletions.
3 changes: 2 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@
- [MISMO Loan](mismo.md)
- [Loan Servicing](servicing.md)
- [Util](util.md)
- [Registry](registry.md)
- [Registry](registry.md)
- [Validation](validation)
2 changes: 1 addition & 1 deletion docs/asset.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Example:

| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| id | [tech.figure.util.v1beta1.UUID](util#tech.figure.util.v1beta1.UUID) | | Required UUID identifier for this asset |
| id | [tech.figure.util.v1beta1.UUID](util.md#tech.figure.util.v1beta1.UUID) | | Required UUID identifier for this asset |
| type | [string](#string) | | Optional user-defined type (e.g. LOAN, ART, PROPERTY TITLE, FUND, SHARE CLASS) |
| description | [string](#string) | | Optional user-defined description, title, name, etc. for display |
| kv | [Asset.KvEntry](#tech.figure.asset.v1beta1.Asset.KvEntry) | repeated | Key-value store of asset data |
Expand Down
8 changes: 4 additions & 4 deletions docs/heloc.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ A Home Equity Line of Credit (HELOC) Loan

| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| lien_property | [tech.figure.util.v1beta1.Property](util#tech.figure.util.v1beta1.Property) | | Subject property |
| lien_property | [tech.figure.util.v1beta1.Property](util.md#tech.figure.util.v1beta1.Property) | | Subject property |
| lien_position | [uint32](#uint32) | | Lien position: 1 = first lien position, 2 or higher = junior lien position |
| draw_term_in_months | [google.protobuf.UInt32Value](#google.protobuf.UInt32Value) | | Total number of months the borrower can draw on the line |
| draw_percentage | [tech.figure.util.v1beta1.Rate](util#tech.figure.util.v1beta1.Rate) | | The maximum amount a borrower can redraw as a percent of the paid balance of the original draw (borrower cannot draw more than the original balance) |
| recording_status | [tech.figure.util.v1beta1.Status](util#tech.figure.util.v1beta1.Status) | | Loan recording status (e.g. PENDING, RECORDED) |
| credit_limit_amount | [tech.figure.util.v1beta1.Money](util#tech.figure.util.v1beta1.Money) | | HELOC credit limit |
| draw_percentage | [tech.figure.util.v1beta1.Rate](util.md#tech.figure.util.v1beta1.Rate) | | The maximum amount a borrower can redraw as a percent of the paid balance of the original draw (borrower cannot draw more than the original balance) |
| recording_status | [tech.figure.util.v1beta1.Status](util.md#tech.figure.util.v1beta1.Status) | | Loan recording status (e.g. PENDING, RECORDED) |
| credit_limit_amount | [tech.figure.util.v1beta1.Money](util.md#tech.figure.util.v1beta1.Money) | | HELOC credit limit |
| paid_draw_bonus_months | [int32](#int32) | | Number of months draw period is extended by if paid off in original draw period |
| static_draw_rate_flag | [bool](#bool) | | If true, use interest_rate for any future draws. If false, use current prime rate |
| recording_info | [Recording](#tech.figure.loan.v1beta1.Recording) | | The registration of the lien in a public record by a government agency |
Expand Down
74 changes: 37 additions & 37 deletions docs/loan.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/mismo.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ Example:
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| uli | [string](#string) | | Universal Loan Identifier (ULI) is a unique number made up of 23 to 45 characters that begins with the loan originator's Legal Entity Identifier (LEI). An originator's LEI can be found by searching the [GLEIF Website](https://search.gleif.org/#/search/). |
| document | [tech.figure.util.v1beta1.DocumentMetadata](util#tech.figure.util.v1beta1.DocumentMetadata) | | Pointer to MISMO loan file in Object Store |
| document | [tech.figure.util.v1beta1.DocumentMetadata](util.md#tech.figure.util.v1beta1.DocumentMetadata) | | Pointer to MISMO loan file in Object Store |
| recording_info | [Recording](#tech.figure.loan.v1beta1.Recording) | | The registration of the mortgage in a public record by a government agency |
| kv | [MISMOLoanMetadata.KvEntry](#tech.figure.loan.v1beta1.MISMOLoanMetadata.KvEntry) | repeated | Key-value map allowing originator to provide additional data |

Expand Down
62 changes: 31 additions & 31 deletions docs/mortgage.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,18 @@ Terms and dates for an Adjustable-Rate Mortgage (ARM)

| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| index | [tech.figure.util.v1beta1.Rate](util#tech.figure.util.v1beta1.Rate) | | |
| index | [tech.figure.util.v1beta1.Rate](util.md#tech.figure.util.v1beta1.Rate) | | |
| initial_fixed_rate_period_months | [uint32](#uint32) | | |
| initial_payment_adj_date | [tech.figure.util.v1beta1.Date](util#tech.figure.util.v1beta1.Date) | | |
| initial_rate_adj_cap | [tech.figure.util.v1beta1.Rate](util#tech.figure.util.v1beta1.Rate) | | |
| initial_rate_adj_date | [tech.figure.util.v1beta1.Date](util#tech.figure.util.v1beta1.Date) | | |
| initial_rate_adj_floor | [tech.figure.util.v1beta1.Rate](util#tech.figure.util.v1beta1.Rate) | | |
| lifetime_rate_adj_cap | [tech.figure.util.v1beta1.Rate](util#tech.figure.util.v1beta1.Rate) | | |
| margin | [tech.figure.util.v1beta1.Rate](util#tech.figure.util.v1beta1.Rate) | | |
| max_rate | [tech.figure.util.v1beta1.Rate](util#tech.figure.util.v1beta1.Rate) | | |
| min_rate | [tech.figure.util.v1beta1.Rate](util#tech.figure.util.v1beta1.Rate) | | |
| next_rate_adj_date | [tech.figure.util.v1beta1.Date](util#tech.figure.util.v1beta1.Date) | | |
| subs_rate_adj_cap | [tech.figure.util.v1beta1.Rate](util#tech.figure.util.v1beta1.Rate) | | |
| initial_payment_adj_date | [tech.figure.util.v1beta1.Date](util.md#tech.figure.util.v1beta1.Date) | | |
| initial_rate_adj_cap | [tech.figure.util.v1beta1.Rate](util.md#tech.figure.util.v1beta1.Rate) | | |
| initial_rate_adj_date | [tech.figure.util.v1beta1.Date](util.md#tech.figure.util.v1beta1.Date) | | |
| initial_rate_adj_floor | [tech.figure.util.v1beta1.Rate](util.md#tech.figure.util.v1beta1.Rate) | | |
| lifetime_rate_adj_cap | [tech.figure.util.v1beta1.Rate](util.md#tech.figure.util.v1beta1.Rate) | | |
| margin | [tech.figure.util.v1beta1.Rate](util.md#tech.figure.util.v1beta1.Rate) | | |
| max_rate | [tech.figure.util.v1beta1.Rate](util.md#tech.figure.util.v1beta1.Rate) | | |
| min_rate | [tech.figure.util.v1beta1.Rate](util.md#tech.figure.util.v1beta1.Rate) | | |
| next_rate_adj_date | [tech.figure.util.v1beta1.Date](util.md#tech.figure.util.v1beta1.Date) | | |
| subs_rate_adj_cap | [tech.figure.util.v1beta1.Rate](util.md#tech.figure.util.v1beta1.Rate) | | |
| subs_rate_adj_period_months | [uint32](#uint32) | | |


Expand All @@ -45,9 +45,9 @@ such as taxes and insurance.

| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| escrow_monthly_amount | [tech.figure.util.v1beta1.Money](util#tech.figure.util.v1beta1.Money) | | Sum of all monthly escrow amounts paid by the borrower in addition to the monthly payment amount |
| pre_paid_escrow_amount | [tech.figure.util.v1beta1.Money](util#tech.figure.util.v1beta1.Money) | | Prepaid escrow (paid out at closing to insurance / tax entities) |
| initial_escrow_amount | [tech.figure.util.v1beta1.Money](util#tech.figure.util.v1beta1.Money) | | Initial/starting escrow balance (held in escrow account by the servicer for future use) |
| escrow_monthly_amount | [tech.figure.util.v1beta1.Money](util.md#tech.figure.util.v1beta1.Money) | | Sum of all monthly escrow amounts paid by the borrower in addition to the monthly payment amount |
| pre_paid_escrow_amount | [tech.figure.util.v1beta1.Money](util.md#tech.figure.util.v1beta1.Money) | | Prepaid escrow (paid out at closing to insurance / tax entities) |
| initial_escrow_amount | [tech.figure.util.v1beta1.Money](util.md#tech.figure.util.v1beta1.Money) | | Initial/starting escrow balance (held in escrow account by the servicer for future use) |
| insurance_coverage | [InsuranceEscrow](#tech.figure.loan.v1beta1.InsuranceEscrow) | repeated | Homeowner's insurance |
| tax_escrow | [TaxEscrow](#tech.figure.loan.v1beta1.TaxEscrow) | repeated | Property tax escrow |
| hoa | [HomeOwnersAssociationEscrow](#tech.figure.loan.v1beta1.HomeOwnersAssociationEscrow) | | Home Owner's Association information and dues |
Expand All @@ -64,9 +64,9 @@ Describes how and when funds are withdrawn from an escrow account to pay an item

| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| first_withdraw_date | [tech.figure.util.v1beta1.Date](util#tech.figure.util.v1beta1.Date) | | The initial withdraw date after funding |
| first_withdraw_date | [tech.figure.util.v1beta1.Date](util.md#tech.figure.util.v1beta1.Date) | | The initial withdraw date after funding |
| withdraw_frequency | [string](#string) | | How often funds are withdrawn from escrow account to pay this item e.g. MONTHLY, SEMIANNUAL, YEARLY |
| withdraw_amount | [tech.figure.util.v1beta1.Money](util#tech.figure.util.v1beta1.Money) | | Amount to be withdrawn at the given frequency |
| withdraw_amount | [tech.figure.util.v1beta1.Money](util.md#tech.figure.util.v1beta1.Money) | | Amount to be withdrawn at the given frequency |



Expand All @@ -81,9 +81,9 @@ Detail about escrow withholding for a Home Owners' Association for the lien prop
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| escrow_flag | [bool](#bool) | | Indication whether HOA dues are part of escrow |
| escrow_monthly_amount | [tech.figure.util.v1beta1.Money](util#tech.figure.util.v1beta1.Money) | | If escrow flag is set, the amount withheld from the loan payment for this item |
| escrow_monthly_amount | [tech.figure.util.v1beta1.Money](util.md#tech.figure.util.v1beta1.Money) | | If escrow flag is set, the amount withheld from the loan payment for this item |
| withdraw_policy | [EscrowWithdrawPolicy](#tech.figure.loan.v1beta1.EscrowWithdrawPolicy) | | HOA dues payment policy |
| contact_info | [tech.figure.util.v1beta1.ContactInformation](util#tech.figure.util.v1beta1.ContactInformation) | | HOA contact information |
| contact_info | [tech.figure.util.v1beta1.ContactInformation](util.md#tech.figure.util.v1beta1.ContactInformation) | | HOA contact information |



Expand All @@ -98,14 +98,14 @@ Detail about escrow withholding for insurance related to the lien property
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| escrow_flag | [bool](#bool) | | Indication whether loan is escrowed for this type of insurance |
| escrow_monthly_amount | [tech.figure.util.v1beta1.Money](util#tech.figure.util.v1beta1.Money) | | If escrow flag is set, the amount withheld from the loan payment for this item |
| escrow_monthly_amount | [tech.figure.util.v1beta1.Money](util.md#tech.figure.util.v1beta1.Money) | | If escrow flag is set, the amount withheld from the loan payment for this item |
| type | [string](#string) | | Type of insurance, e.g. HOMEOWNERS, FLOOD, EARTHQUAKE, CONDO, HOA, PMI, MIP |
| coverage_amount | [tech.figure.util.v1beta1.Money](util#tech.figure.util.v1beta1.Money) | | Amount for which the property is insured |
| expiration_date | [tech.figure.util.v1beta1.Date](util#tech.figure.util.v1beta1.Date) | | Policy expiration date |
| coverage_amount | [tech.figure.util.v1beta1.Money](util.md#tech.figure.util.v1beta1.Money) | | Amount for which the property is insured |
| expiration_date | [tech.figure.util.v1beta1.Date](util.md#tech.figure.util.v1beta1.Date) | | Policy expiration date |
| policy_number | [string](#string) | | Policy account number |
| withdraw_policy | [EscrowWithdrawPolicy](#tech.figure.loan.v1beta1.EscrowWithdrawPolicy) | | Insurance escrow payment policy |
| start_date | [tech.figure.util.v1beta1.Date](util#tech.figure.util.v1beta1.Date) | | Policy start date |
| contact_info | [tech.figure.util.v1beta1.ContactInformation](util#tech.figure.util.v1beta1.ContactInformation) | | Insurance company contact information |
| start_date | [tech.figure.util.v1beta1.Date](util.md#tech.figure.util.v1beta1.Date) | | Policy start date |
| contact_info | [tech.figure.util.v1beta1.ContactInformation](util.md#tech.figure.util.v1beta1.ContactInformation) | | Insurance company contact information |



Expand All @@ -119,9 +119,9 @@ A home Mortgage loan

| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| lien_property | [tech.figure.util.v1beta1.Property](util#tech.figure.util.v1beta1.Property) | | Property for which this mortgage was obtained |
| lien_property | [tech.figure.util.v1beta1.Property](util.md#tech.figure.util.v1beta1.Property) | | Property for which this mortgage was obtained |
| lien_position | [uint32](#uint32) | | Lien position: 1 = first lien position, 2 or more = junior lien position |
| cash_out_amount | [tech.figure.util.v1beta1.Money](util#tech.figure.util.v1beta1.Money) | | Cash proceeds to the borrower from a cash out refinancing after all other loans to be paid by the mortgage proceeds have been satisfied |
| cash_out_amount | [tech.figure.util.v1beta1.Money](util.md#tech.figure.util.v1beta1.Money) | | Cash proceeds to the borrower from a cash out refinancing after all other loans to be paid by the mortgage proceeds have been satisfied |
| arm_flag | [bool](#bool) | | True if loan is an Adjustable Rate Mortgage |
| arm | [ARM](#tech.figure.loan.v1beta1.ARM) | | If Adjustable-Rate Mortgage, the ARM terms |
| io_flag | [bool](#bool) | | True if loan is an interest-only loan |
Expand All @@ -145,12 +145,12 @@ The registration of the mortgage in a public record by a government agency

| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| recorded_document_id | [tech.figure.util.v1beta1.UUID](util#tech.figure.util.v1beta1.UUID) | | |
| recording_status | [tech.figure.util.v1beta1.Status](util#tech.figure.util.v1beta1.Status) | | |
| recorded_document_id | [tech.figure.util.v1beta1.UUID](util.md#tech.figure.util.v1beta1.UUID) | | |
| recording_status | [tech.figure.util.v1beta1.Status](util.md#tech.figure.util.v1beta1.Status) | | |
| recorded_timestamp | [google.protobuf.Timestamp](#google.protobuf.Timestamp) | | |
| instrument_number | [string](#string) | | |
| security_instrument_date | [tech.figure.util.v1beta1.Date](util#tech.figure.util.v1beta1.Date) | | |
| county_recorded_date | [tech.figure.util.v1beta1.Date](util#tech.figure.util.v1beta1.Date) | | |
| security_instrument_date | [tech.figure.util.v1beta1.Date](util.md#tech.figure.util.v1beta1.Date) | | |
| county_recorded_date | [tech.figure.util.v1beta1.Date](util.md#tech.figure.util.v1beta1.Date) | | |
| document_number | [string](#string) | | |
| book | [string](#string) | | |
| page | [string](#string) | | |
Expand All @@ -174,11 +174,11 @@ Detail about escrow witholding for tax payments related to the lien property
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| escrow_flag | [bool](#bool) | | Indication whether loan is escrowed for taxes |
| escrow_monthly_amount | [tech.figure.util.v1beta1.Money](util#tech.figure.util.v1beta1.Money) | | If escrow flag is set, the amount withheld from the loan payment for this item |
| escrow_monthly_amount | [tech.figure.util.v1beta1.Money](util.md#tech.figure.util.v1beta1.Money) | | If escrow flag is set, the amount withheld from the loan payment for this item |
| tax_type | [string](#string) | | Type of tax, e.g. COMBINED, CITY, COUNTY, SCHOOL, MISC, BONDS, HOA_DUES, MOBILE_HOME, GROUND_RENT, OTHER, DELINQUENT |
| withdraw_policy | [EscrowWithdrawPolicy](#tech.figure.loan.v1beta1.EscrowWithdrawPolicy) | | Tax escrow payment policy |
| tax_year | [string](#string) | | Initial tax year |
| contact_info | [tech.figure.util.v1beta1.ContactInformation](util#tech.figure.util.v1beta1.ContactInformation) | | Tax authority contact information |
| contact_info | [tech.figure.util.v1beta1.ContactInformation](util.md#tech.figure.util.v1beta1.ContactInformation) | | Tax authority contact information |



Expand Down
12 changes: 6 additions & 6 deletions docs/registry.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ ENote controller

| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| controller_uuid | [tech.figure.util.v1beta1.UUID](util#tech.figure.util.v1beta1.UUID) | | ENote controller ID |
| controller_uuid | [tech.figure.util.v1beta1.UUID](util.md#tech.figure.util.v1beta1.UUID) | | ENote controller ID |
| controller_name | [string](#string) | | ENote controller name |


Expand Down Expand Up @@ -63,12 +63,12 @@ Digital Asset Registry Technology (DART) ENote metadata
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| controller | [Controller](#io.dartinc.registry.v1beta1.Controller) | | Identity of the ENote controller |
| e_note | [tech.figure.util.v1beta1.DocumentMetadata](util#tech.figure.util.v1beta1.DocumentMetadata) | | Metadata of the authoritative copy of the ENote |
| signed_date | [tech.figure.util.v1beta1.Date](util#tech.figure.util.v1beta1.Date) | | Date the ENote was signed by the borrower |
| e_note | [tech.figure.util.v1beta1.DocumentMetadata](util.md#tech.figure.util.v1beta1.DocumentMetadata) | | Metadata of the authoritative copy of the ENote |
| signed_date | [tech.figure.util.v1beta1.Date](util.md#tech.figure.util.v1beta1.Date) | | Date the ENote was signed by the borrower |
| vault_name | [string](#string) | | Name of the eVault storing the Authoritative copy of the ENote |
| modification | [tech.figure.util.v1beta1.DocumentMetadata](util#tech.figure.util.v1beta1.DocumentMetadata) | repeated | Documents containing modifications to the ENote |
| assumption | [tech.figure.util.v1beta1.DocumentMetadata](util#tech.figure.util.v1beta1.DocumentMetadata) | repeated | Documents containing additional assumptions about the ENote |
| borrower_signature_image | [tech.figure.util.v1beta1.DocumentMetadata](util#tech.figure.util.v1beta1.DocumentMetadata) | repeated | Documents containing image signatures of all signers of the ENote |
| modification | [tech.figure.util.v1beta1.DocumentMetadata](util.md#tech.figure.util.v1beta1.DocumentMetadata) | repeated | Documents containing modifications to the ENote |
| assumption | [tech.figure.util.v1beta1.DocumentMetadata](util.md#tech.figure.util.v1beta1.DocumentMetadata) | repeated | Documents containing additional assumptions about the ENote |
| borrower_signature_image | [tech.figure.util.v1beta1.DocumentMetadata](util.md#tech.figure.util.v1beta1.DocumentMetadata) | repeated | Documents containing image signatures of all signers of the ENote |



Expand Down
Loading

0 comments on commit 363be0f

Please sign in to comment.