diff options
Diffstat (limited to 'packages/exchange-backoffice-ui/src/types.ts')
-rw-r--r-- | packages/exchange-backoffice-ui/src/types.ts | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/packages/exchange-backoffice-ui/src/types.ts b/packages/exchange-backoffice-ui/src/types.ts new file mode 100644 index 000000000..1197b6b35 --- /dev/null +++ b/packages/exchange-backoffice-ui/src/types.ts @@ -0,0 +1,81 @@ +export interface AmlDecisionDetails { + // Array of AML decisions made for this account. Possibly + // contains only the most recent decision if "history" was + // not set to 'true'. + aml_history: AmlDecisionDetail[]; + + // Array of KYC attributes obtained for this account. + kyc_attributes: KycDetail[]; +} + +type AmlOfficerPublicKeyP = string; + +export interface AmlDecisionDetail { + // What was the justification given? + justification: string; + + // What is the new AML state. + new_state: Integer; + + // When was this decision made? + decision_time: Timestamp; + + // What is the new AML decision threshold (in monthly transaction volume)? + new_threshold: Amount; + + // Who made the decision? + decider_pub: AmlOfficerPublicKeyP; +} +export interface KycDetail { + // Name of the configuration section that specifies the provider + // which was used to collect the KYC details + provider_section: string; + + // The collected KYC data. NULL if the attribute data could not + // be decrypted (internal error of the exchange, likely the + // attribute key was changed). + attributes?: Object; + + // Time when the KYC data was collected + collection_time: Timestamp; + + // Time when the validity of the KYC data will expire + expiration_time: Timestamp; +} + +interface Timestamp { + // Seconds since epoch, or the special + // value "never" to represent an event that will + // never happen. + t_s: number | "never"; +} + +type PaytoHash = string; +type Integer = number; +type Amount = string; + +export interface AmlRecords { + // Array of AML records matching the query. + records: AmlRecord[]; +} + +interface AmlRecord { + // Which payto-address is this record about. + // Identifies a GNU Taler wallet or an affected bank account. + h_payto: PaytoHash; + + // What is the current AML state. + current_state: AmlState; + + // Monthly transaction threshold before a review will be triggered + threshold: Amount; + + // RowID of the record. + rowid: Integer; +} + +export enum AmlState { + normal = 0, + pending = 1, + frozen = 2, +} |