@cobre-npm/library-portal-core 0.49.0 → 0.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -241,27 +241,37 @@ hasCountryISOFlag("col") // true — whether a flag asset is avai
241
241
  import {
242
242
  getMovementTypes, queryMovementTypes, type MovementType, type MovementTypeGroupLabel,
243
243
  type MovementTypeOption, type MovementTypeQuery,
244
+ type ClassificationLine, type ClassificationCategory,
244
245
  getMovementStatuses, queryMovementStatuses, type MovementStatus, type MovementStatusType,
245
246
  type MovementStatusOption, type MovementStatusQuery,
246
247
  } from "@cobre-npm/library-portal-core/movements"
247
248
 
248
- getMovementTypes("en").ach.label // "ACH"
249
+ getMovementTypes("en").ach.label // "Transfer · ACH"
249
250
  getMovementTypes("en").on_ramp.groupLabel // "Stablecoin"
250
- getMovementTypes("en").on_ramp.label // "On Ramp" (individual label, unchanged)
251
+ getMovementTypes("en").on_ramp.label // "Conversion to stablecoin" (individual label)
252
+ getMovementTypes("en").spei.category // "payments"
253
+ queryMovementTypes({ lang: "en", category: "top_up" }) // r2p_top_up_bancolombia, r2p_top_up_pse
251
254
  queryMovementTypes({ lang: "en", groupLabel: "Stablecoin" }) // global, off_ramp, on_ramp, stable_payout
252
255
  getMovementStatuses("en").completed // { code: "completed", label: "Completed", type: "success", icon: "icon-check" }
253
256
  queryMovementStatuses({ lang: "en", type: "error" }) // error, failed, rejected — localized
254
257
  ```
255
258
 
256
- - **types** (i18n): movement types (ACH, SPEI, R2P, …). `on_ramp`/`off_ramp`/`stable_payout`/`global`
259
+ - **types** (i18n): movement types, usually labelled as "what you did · rail" (`Transfer · SPEI`,
260
+ `Collection · Bre-B`). Movement and transaction types share one classification, carried on each record as
261
+ codes, not translated text (nothing displays them yet): `line: ClassificationLine`
262
+ (`payin | payout | cbmm | stable | unclassified`) and `category: ClassificationCategory`
263
+ (`payments | collections | conversions | international | between_accounts | top_up | adjustment |
264
+ reward | unclassified`). Both types are exported from `/movements` and `/transactions` (the same types on
265
+ both subpaths). `on_ramp`/`off_ramp`/`stable_payout`/`global`
257
266
  additionally carry `groupLabel: "Stablecoin"` — a display grouping for views that need to show them
258
267
  under one label. `getMovementTypes()` keeps returning each rail's own individual `label` unchanged; a
259
268
  consumer that wants the grouped label picks `groupLabel ?? label`. There's no separate `getXLabel`
260
269
  for this — the value already comes back inside `getMovementTypes()`, same as everything else in this
261
270
  catalog.
262
271
  - **types query** (i18n `queryX()`): `queryMovementTypes({ lang, ...filters })` — same rules as
263
- `queryTransactionTypes`/`queryDocumentTypes`, no default field. `groupLabel` is the only filterable
264
- field besides `code`, and it's optional on the record: **a key that is present always filters**, so
272
+ `queryTransactionTypes`/`queryDocumentTypes`, no default field. `code`, `line`, `category`, `group` and
273
+ `groupLabel` are filterable (equality only; a list matches any of its values). Filter by `group`, not
274
+ `groupLabel` — the label is display text. Both are optional on the record: **a key that is present always filters**, so
265
275
  `groupLabel: undefined` matches the 19 rails that don't carry a group, not "no filter". An optional UI
266
276
  filter has to be spread in conditionally:
267
277
 
@@ -405,19 +415,31 @@ And two on rule 1: `{ minAmount: 1 }` is equality, not `>=`, which is rarely wha
405
415
  ```ts
406
416
  import {
407
417
  getTransactionTypes, queryTransactionTypes, type TransactionType, type TransactionTypeQuery,
418
+ type ClassificationLine, type ClassificationCategory,
408
419
  type Transaction, type EnrichedTransaction, /* ...interfaces */
409
420
  } from "@cobre-npm/library-portal-core/transactions"
410
421
 
411
- getTransactionTypes("en").spei_debit.label // "Debit via SPEI"
412
- queryTransactionTypes({ lang: "en", code: "spei_debit" }) // [ { code: "spei_debit", label: "Debit via SPEI" } ]
422
+ getTransactionTypes("en").spei_debit.label // "Outgoing transfer · SPEI"
423
+ getTransactionTypes("es-mex").spei_debit.label // "Transferencia enviada · SPEI"
424
+ queryTransactionTypes({ lang: "en", code: "spei_debit" }) // [ { code: "spei_debit", creditDebitType: "debit", line: "payout", category: "payments", label: "Outgoing transfer · SPEI" } ]
425
+ queryTransactionTypes({ lang: "en", category: "top_up" }) // col_top_up_credit
413
426
  ```
414
427
 
415
428
  - **types** (i18n): `getTransactionTypes(lang)`; each record carries `code`, `creditDebitType`
416
- (`"credit" | "debit"` — the same `CreditDebitType` used by the `Transaction` interface) and `label`.
429
+ (`"credit" | "debit"` — the same `CreditDebitType` used by the `Transaction` interface), `label`, and the same
430
+ `line: ClassificationLine` / `category: ClassificationCategory` codes as movement types (value sets
431
+ listed under [`movements`](#movements)). Labels are usually "what you did · rail" (`Outgoing transfer ·
432
+ SPEI`). Types that stand for a collapsed matrix row (`cbmm_*`, `internal_*`, `mex_*`, `col_debit`/`col_credit`, `misc_*`,
433
+ `adjustment_*`, `col_cb_*`, the corridors, ramps and `stable_payout_*`, plus `transfer_credit`) add a
434
+ "· débito" / "· crédito" (en "· debit" / "· credit") suffix; elsewhere the direction is in the verb
435
+ ("Outgoing transfer", "Incoming transfer"). `col_cb_*` keeps "Cobre Balance" in its label. `misc_*`,
436
+ `internal_*` and `adjustment_*` have `line: "unclassified"`, and `misc_*` also `category: "unclassified"`.
417
437
  - **types query** (i18n `queryX()`): `queryTransactionTypes({ lang, ...filters })` — `lang` is **required inside
418
438
  the query object**, not a separate argument, so the result is already localized. There is no default field
419
439
  (unlike `currencies`' `scope`): every transaction type comes back when only `lang` is given.
420
- `queryTransactionTypes({ lang: "en", creditDebitType: "credit" })` narrows to only the credits.
440
+ `queryTransactionTypes({ lang: "en", creditDebitType: "credit" })` narrows to only the credits;
441
+ `line` and `category` are filterable the same way (equality, a list matches any of its values), e.g.
442
+ `queryTransactionTypes({ lang: "en", line: "payin", category: "collections" })`.
421
443
  - **interfaces**: `Transaction`, `EnrichedTransaction`, `TransactionMetadata`, `CreditDebitType`.
422
444
 
423
445
  ### `search` / `trustedSessions`
@@ -1,4 +1,4 @@
1
- export type { MovementType, MovementTypeGroup, MovementTypeGroupLabel } from "./types/catalog";
1
+ export type { ClassificationCategory, ClassificationLine, MovementType, MovementTypeGroup, MovementTypeGroupLabel } from "./types/catalog";
2
2
  export * from "./types/utils/movement-type.utils";
3
3
  export type { MovementStatus, MovementStatusType } from "./status/catalog";
4
4
  export * from "./status/utils/movement-status.utils";
@@ -1,82 +1,135 @@
1
+ export type ClassificationLine = "payin" | "payout" | "cbmm" | "stable" | "unclassified";
2
+ export type ClassificationCategory = "payments" | "collections" | "conversions" | "international" | "between_accounts" | "top_up" | "adjustment" | "reward" | "unclassified";
1
3
  export type MovementTypeGroup = "stablecoin";
2
4
  export type MovementTypeGroupLabel = "Stablecoin";
3
5
  export declare const MOVEMENT_TYPES: {
4
6
  readonly ach: {
5
7
  readonly code: "ach";
8
+ readonly line: "payout";
9
+ readonly category: "payments";
6
10
  };
7
11
  readonly fast_pay: {
8
12
  readonly code: "fast_pay";
13
+ readonly line: "payout";
14
+ readonly category: "payments";
9
15
  };
10
16
  readonly spei: {
11
17
  readonly code: "spei";
18
+ readonly line: "payout";
19
+ readonly category: "payments";
12
20
  };
13
21
  readonly spei_card: {
14
22
  readonly code: "spei_card";
23
+ readonly line: "payout";
24
+ readonly category: "payments";
15
25
  };
16
26
  readonly spei_return: {
17
27
  readonly code: "spei_return";
28
+ readonly line: "payout";
29
+ readonly category: "payments";
18
30
  };
19
31
  readonly r2p: {
20
32
  readonly code: "r2p";
33
+ readonly line: "payin";
34
+ readonly category: "collections";
21
35
  };
22
36
  readonly r2p_bancolombia: {
23
37
  readonly code: "r2p_bancolombia";
38
+ readonly line: "payin";
39
+ readonly category: "collections";
24
40
  };
25
41
  readonly r2p_nequi: {
26
42
  readonly code: "r2p_nequi";
43
+ readonly line: "payin";
44
+ readonly category: "collections";
27
45
  };
28
46
  readonly r2p_pse: {
29
47
  readonly code: "r2p_pse";
48
+ readonly line: "payin";
49
+ readonly category: "collections";
30
50
  };
31
51
  readonly direct_debit: {
32
52
  readonly code: "direct_debit";
53
+ readonly line: "payin";
54
+ readonly category: "collections";
33
55
  };
34
56
  readonly r2p_breb: {
35
57
  readonly code: "r2p_breb";
58
+ readonly line: "payin";
59
+ readonly category: "collections";
36
60
  };
37
61
  readonly r2p_top_up_pse: {
38
62
  readonly code: "r2p_top_up_pse";
63
+ readonly line: "payin";
64
+ readonly category: "top_up";
39
65
  };
40
66
  readonly r2p_top_up_bancolombia: {
41
67
  readonly code: "r2p_top_up_bancolombia";
68
+ readonly line: "payin";
69
+ readonly category: "top_up";
42
70
  };
43
71
  readonly global: {
44
72
  readonly code: "global";
73
+ readonly line: "stable";
74
+ readonly category: "conversions";
45
75
  readonly group: "stablecoin";
46
76
  readonly groupLabel: "Stablecoin";
47
77
  };
48
78
  readonly r2p_spei: {
49
79
  readonly code: "r2p_spei";
80
+ readonly line: "payin";
81
+ readonly category: "collections";
50
82
  };
51
83
  readonly on_ramp: {
52
84
  readonly code: "on_ramp";
85
+ readonly line: "stable";
86
+ readonly category: "conversions";
53
87
  readonly group: "stablecoin";
54
88
  readonly groupLabel: "Stablecoin";
55
89
  };
56
90
  readonly off_ramp: {
57
91
  readonly code: "off_ramp";
92
+ readonly line: "stable";
93
+ readonly category: "conversions";
58
94
  readonly group: "stablecoin";
59
95
  readonly groupLabel: "Stablecoin";
60
96
  };
61
97
  readonly fedwire: {
62
98
  readonly code: "fedwire";
99
+ readonly line: "payout";
100
+ readonly category: "payments";
63
101
  };
64
102
  readonly global_pay_to_usa: {
65
103
  readonly code: "global_pay_to_usa";
104
+ readonly line: "cbmm";
105
+ readonly category: "international";
66
106
  };
67
107
  readonly usa_pay_to_global: {
68
108
  readonly code: "usa_pay_to_global";
109
+ readonly line: "cbmm";
110
+ readonly category: "international";
111
+ };
112
+ readonly cross_border: {
113
+ readonly code: "cross_border";
114
+ readonly line: "cbmm";
115
+ readonly category: "international";
69
116
  };
70
117
  readonly stable_payout: {
71
118
  readonly code: "stable_payout";
119
+ readonly line: "stable";
120
+ readonly category: "conversions";
72
121
  readonly group: "stablecoin";
73
122
  readonly groupLabel: "Stablecoin";
74
123
  };
75
124
  readonly breb: {
76
125
  readonly code: "breb";
126
+ readonly line: "payout";
127
+ readonly category: "payments";
77
128
  };
78
129
  readonly global_pay_to_generic: {
79
130
  readonly code: "global_pay_to_generic";
131
+ readonly line: "payout";
132
+ readonly category: "payments";
80
133
  };
81
134
  };
82
135
  export type MovementType = keyof typeof MOVEMENT_TYPES;
@@ -2,27 +2,28 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MOVEMENT_TYPES = void 0;
4
4
  exports.MOVEMENT_TYPES = {
5
- ach: { code: "ach" },
6
- fast_pay: { code: "fast_pay" },
7
- spei: { code: "spei" },
8
- spei_card: { code: "spei_card" },
9
- spei_return: { code: "spei_return" },
10
- r2p: { code: "r2p" },
11
- r2p_bancolombia: { code: "r2p_bancolombia" },
12
- r2p_nequi: { code: "r2p_nequi" },
13
- r2p_pse: { code: "r2p_pse" },
14
- direct_debit: { code: "direct_debit" },
15
- r2p_breb: { code: "r2p_breb" },
16
- r2p_top_up_pse: { code: "r2p_top_up_pse" },
17
- r2p_top_up_bancolombia: { code: "r2p_top_up_bancolombia" },
18
- global: { code: "global", group: "stablecoin", groupLabel: "Stablecoin" },
19
- r2p_spei: { code: "r2p_spei" },
20
- on_ramp: { code: "on_ramp", group: "stablecoin", groupLabel: "Stablecoin" },
21
- off_ramp: { code: "off_ramp", group: "stablecoin", groupLabel: "Stablecoin" },
22
- fedwire: { code: "fedwire" },
23
- global_pay_to_usa: { code: "global_pay_to_usa" },
24
- usa_pay_to_global: { code: "usa_pay_to_global" },
25
- stable_payout: { code: "stable_payout", group: "stablecoin", groupLabel: "Stablecoin" },
26
- breb: { code: "breb" },
27
- global_pay_to_generic: { code: "global_pay_to_generic" },
5
+ ach: { code: "ach", line: "payout", category: "payments" },
6
+ fast_pay: { code: "fast_pay", line: "payout", category: "payments" },
7
+ spei: { code: "spei", line: "payout", category: "payments" },
8
+ spei_card: { code: "spei_card", line: "payout", category: "payments" },
9
+ spei_return: { code: "spei_return", line: "payout", category: "payments" },
10
+ r2p: { code: "r2p", line: "payin", category: "collections" },
11
+ r2p_bancolombia: { code: "r2p_bancolombia", line: "payin", category: "collections" },
12
+ r2p_nequi: { code: "r2p_nequi", line: "payin", category: "collections" },
13
+ r2p_pse: { code: "r2p_pse", line: "payin", category: "collections" },
14
+ direct_debit: { code: "direct_debit", line: "payin", category: "collections" },
15
+ r2p_breb: { code: "r2p_breb", line: "payin", category: "collections" },
16
+ r2p_top_up_pse: { code: "r2p_top_up_pse", line: "payin", category: "top_up" },
17
+ r2p_top_up_bancolombia: { code: "r2p_top_up_bancolombia", line: "payin", category: "top_up" },
18
+ global: { code: "global", line: "stable", category: "conversions", group: "stablecoin", groupLabel: "Stablecoin" },
19
+ r2p_spei: { code: "r2p_spei", line: "payin", category: "collections" },
20
+ on_ramp: { code: "on_ramp", line: "stable", category: "conversions", group: "stablecoin", groupLabel: "Stablecoin" },
21
+ off_ramp: { code: "off_ramp", line: "stable", category: "conversions", group: "stablecoin", groupLabel: "Stablecoin" },
22
+ fedwire: { code: "fedwire", line: "payout", category: "payments" },
23
+ global_pay_to_usa: { code: "global_pay_to_usa", line: "cbmm", category: "international" },
24
+ usa_pay_to_global: { code: "usa_pay_to_global", line: "cbmm", category: "international" },
25
+ cross_border: { code: "cross_border", line: "cbmm", category: "international" },
26
+ stable_payout: { code: "stable_payout", line: "stable", category: "conversions", group: "stablecoin", groupLabel: "Stablecoin" },
27
+ breb: { code: "breb", line: "payout", category: "payments" },
28
+ global_pay_to_generic: { code: "global_pay_to_generic", line: "payout", category: "payments" },
28
29
  };
@@ -1,27 +1,28 @@
1
1
  {
2
2
  "movementTypes": {
3
- "ach": "ACH",
4
- "fast_pay": "Fast Pay",
5
- "spei": "SPEI",
6
- "spei_card": "SPEI Card",
7
- "spei_return": "SPEI Refund",
8
- "r2p": "Request",
9
- "r2p_bancolombia": "Collection - Bancolombia Button",
10
- "r2p_nequi": "Collection - Nequi Button",
11
- "r2p_pse": "Collection - PSE",
12
- "direct_debit": "Direct Debit",
13
- "r2p_breb": "R2P Bre-B",
14
- "r2p_top_up_pse": "R2P - PSE",
15
- "r2p_top_up_bancolombia": "R2P - Bancolombia",
3
+ "ach": "Transfer · ACH",
4
+ "fast_pay": "Real-time payment · Fast Pay",
5
+ "spei": "Transfer · SPEI",
6
+ "spei_card": "Transfer · SPEI to debit card",
7
+ "spei_return": "Return · SPEI",
8
+ "r2p": "Payment button collection · Legacy",
9
+ "r2p_bancolombia": "Payment button collection · Bancolombia",
10
+ "r2p_nequi": "Payment button collection · Nequi",
11
+ "r2p_pse": "Payment button collection · PSE",
12
+ "direct_debit": "Direct debit",
13
+ "r2p_breb": "Collection · Bre-B",
14
+ "r2p_top_up_pse": "Own balance top-up · PSE",
15
+ "r2p_top_up_bancolombia": "Own balance top-up · Bancolombia",
16
16
  "global": "Global payout",
17
- "r2p_spei": "R2P SPEI",
18
- "on_ramp": "On Ramp",
19
- "off_ramp": "Off Ramp",
20
- "fedwire": "Fedwire",
21
- "global_pay_to_usa": "FBO Top-Up",
22
- "usa_pay_to_global": "Global Top-Up",
23
- "stable_payout": "Stable payout",
24
- "breb": "Bre-B",
25
- "global_pay_to_generic": "Generic Transfer"
17
+ "r2p_spei": "Collection · SPEI",
18
+ "on_ramp": "Conversion to stablecoin",
19
+ "off_ramp": "Conversion to local currency",
20
+ "fedwire": "International transfer · Fedwire",
21
+ "global_pay_to_usa": "International transfer · USA corridor",
22
+ "usa_pay_to_global": "International transfer · Global corridor",
23
+ "cross_border": "International",
24
+ "stable_payout": "Stablecoin payment · Direct",
25
+ "breb": "Instant payment · Bre-B",
26
+ "global_pay_to_generic": "International payment"
26
27
  }
27
28
  }
@@ -1,27 +1,28 @@
1
1
  {
2
2
  "movementTypes": {
3
- "ach": "ACH",
4
- "fast_pay": "Fast Pay",
5
- "spei": "SPEI",
6
- "spei_card": "SPEI Card",
7
- "spei_return": "Retorno SPEI",
8
- "r2p": "Solicitud",
9
- "r2p_bancolombia": "Recaudo - Botón Bancolombia",
10
- "r2p_nequi": "Recaudo - Botón Nequi",
11
- "r2p_pse": "Recaudo - PSE",
12
- "direct_debit": "Débito a cuenta",
13
- "r2p_breb": "Recaudo Bre-B",
14
- "r2p_top_up_pse": "Recarga - PSE",
15
- "r2p_top_up_bancolombia": "Recarga - Bancolombia",
3
+ "ach": "Transferencia · ACH",
4
+ "fast_pay": "Pago real time · Fast Pay",
5
+ "spei": "Transferencia · SPEI",
6
+ "spei_card": "Transferencia · SPEI a tarjeta de débito",
7
+ "spei_return": "Devolución · SPEI",
8
+ "r2p": "Recaudo con botón de pago · Legacy",
9
+ "r2p_bancolombia": "Recaudo con botón de pago · Bancolombia",
10
+ "r2p_nequi": "Recaudo con botón de pago · Nequi",
11
+ "r2p_pse": "Recaudo con botón de pago · PSE",
12
+ "direct_debit": "Débito automático",
13
+ "r2p_breb": "Recaudo · Bre-B",
14
+ "r2p_top_up_pse": "Recarga de saldo propio · PSE",
15
+ "r2p_top_up_bancolombia": "Recarga de saldo propio · Bancolombia",
16
16
  "global": "Pago global",
17
- "r2p_spei": "Recaudo SPEI",
18
- "on_ramp": "On Ramp",
19
- "off_ramp": "Off Ramp",
20
- "fedwire": "Fedwire",
21
- "global_pay_to_usa": "Recarga FBO",
22
- "usa_pay_to_global": "Recarga Global",
23
- "stable_payout": "Pago stable",
24
- "breb": "Bre-B",
25
- "global_pay_to_generic": "Pago Genérico"
17
+ "r2p_spei": "Recaudo · SPEI",
18
+ "on_ramp": "Conversión a stablecoin",
19
+ "off_ramp": "Conversión a moneda local",
20
+ "fedwire": "Transferencia internacional · Fedwire",
21
+ "global_pay_to_usa": "Transferencia internacional · Corredor USA",
22
+ "usa_pay_to_global": "Transferencia internacional · Corredor Global",
23
+ "cross_border": "Internacional",
24
+ "stable_payout": "Pago en stablecoin · Directo",
25
+ "breb": "Pago instantáneo · Bre-B",
26
+ "global_pay_to_generic": "Pago internacional"
26
27
  }
27
28
  }
@@ -1,3 +1,4 @@
1
+ export type { ClassificationCategory, ClassificationLine } from "../movements/types/catalog";
1
2
  export type { TransactionType } from "./types/catalog";
2
3
  export * from "./types/utils/transaction-type.utils";
3
4
  export * from "./interfaces/response.interface";
@@ -2,178 +2,266 @@ export declare const TRANSACTION_TYPES: {
2
2
  readonly spei_debit: {
3
3
  readonly creditDebitType: "debit";
4
4
  readonly code: "spei_debit";
5
+ readonly line: "payout";
6
+ readonly category: "payments";
5
7
  };
6
8
  readonly spei_credit: {
7
9
  readonly creditDebitType: "credit";
8
10
  readonly code: "spei_credit";
11
+ readonly line: "payin";
12
+ readonly category: "collections";
9
13
  };
10
14
  readonly spei_return: {
11
15
  readonly creditDebitType: "credit";
12
16
  readonly code: "spei_return";
17
+ readonly line: "payout";
18
+ readonly category: "payments";
13
19
  };
14
20
  readonly spei_rejected: {
15
21
  readonly creditDebitType: "credit";
16
22
  readonly code: "spei_rejected";
23
+ readonly line: "payout";
24
+ readonly category: "payments";
17
25
  };
18
26
  readonly internal_spei_debit: {
19
27
  readonly creditDebitType: "debit";
20
28
  readonly code: "internal_spei_debit";
29
+ readonly line: "unclassified";
30
+ readonly category: "between_accounts";
21
31
  };
22
32
  readonly internal_spei_credit: {
23
33
  readonly creditDebitType: "credit";
24
34
  readonly code: "internal_spei_credit";
35
+ readonly line: "unclassified";
36
+ readonly category: "between_accounts";
25
37
  };
26
38
  readonly adjustment_credit: {
27
39
  readonly creditDebitType: "credit";
28
40
  readonly code: "adjustment_credit";
41
+ readonly line: "unclassified";
42
+ readonly category: "adjustment";
29
43
  };
30
44
  readonly adjustment_debit: {
31
45
  readonly creditDebitType: "debit";
32
46
  readonly code: "adjustment_debit";
47
+ readonly line: "unclassified";
48
+ readonly category: "adjustment";
33
49
  };
34
50
  readonly mex_debit: {
35
51
  readonly creditDebitType: "debit";
36
52
  readonly code: "mex_debit";
53
+ readonly line: "payout";
54
+ readonly category: "payments";
37
55
  };
38
56
  readonly mex_credit: {
39
57
  readonly creditDebitType: "credit";
40
58
  readonly code: "mex_credit";
59
+ readonly line: "payout";
60
+ readonly category: "payments";
41
61
  };
42
62
  readonly col_debit: {
43
63
  readonly creditDebitType: "debit";
44
64
  readonly code: "col_debit";
65
+ readonly line: "payout";
66
+ readonly category: "payments";
45
67
  };
46
68
  readonly col_credit: {
47
69
  readonly creditDebitType: "credit";
48
70
  readonly code: "col_credit";
71
+ readonly line: "payout";
72
+ readonly category: "payments";
49
73
  };
50
74
  readonly misc_debit: {
51
75
  readonly creditDebitType: "debit";
52
76
  readonly code: "misc_debit";
77
+ readonly line: "unclassified";
78
+ readonly category: "unclassified";
53
79
  };
54
80
  readonly misc_credit: {
55
81
  readonly creditDebitType: "credit";
56
82
  readonly code: "misc_credit";
83
+ readonly line: "unclassified";
84
+ readonly category: "unclassified";
57
85
  };
58
86
  readonly internal_credit: {
59
87
  readonly creditDebitType: "credit";
60
88
  readonly code: "internal_credit";
89
+ readonly line: "unclassified";
90
+ readonly category: "between_accounts";
61
91
  };
62
92
  readonly internal_debit: {
63
93
  readonly creditDebitType: "debit";
64
94
  readonly code: "internal_debit";
95
+ readonly line: "unclassified";
96
+ readonly category: "between_accounts";
65
97
  };
66
98
  readonly r2p_credit: {
67
99
  readonly creditDebitType: "credit";
68
100
  readonly code: "r2p_credit";
101
+ readonly line: "payin";
102
+ readonly category: "collections";
69
103
  };
70
104
  readonly cbmm_debit: {
71
105
  readonly creditDebitType: "debit";
72
106
  readonly code: "cbmm_debit";
107
+ readonly line: "cbmm";
108
+ readonly category: "international";
73
109
  };
74
110
  readonly cbmm_credit: {
75
111
  readonly creditDebitType: "credit";
76
112
  readonly code: "cbmm_credit";
113
+ readonly line: "cbmm";
114
+ readonly category: "international";
77
115
  };
78
116
  readonly dd_credit: {
79
117
  readonly creditDebitType: "credit";
80
118
  readonly code: "dd_credit";
119
+ readonly line: "payin";
120
+ readonly category: "collections";
81
121
  };
82
122
  readonly col_cb_credit: {
83
123
  readonly creditDebitType: "credit";
84
124
  readonly code: "col_cb_credit";
125
+ readonly line: "payin";
126
+ readonly category: "between_accounts";
85
127
  };
86
128
  readonly col_cb_debit: {
87
129
  readonly creditDebitType: "debit";
88
130
  readonly code: "col_cb_debit";
131
+ readonly line: "payin";
132
+ readonly category: "between_accounts";
89
133
  };
90
134
  readonly breb_credit: {
91
135
  readonly creditDebitType: "credit";
92
136
  readonly code: "breb_credit";
137
+ readonly line: "payin";
138
+ readonly category: "collections";
93
139
  };
94
140
  readonly breb_debit: {
95
141
  readonly creditDebitType: "debit";
96
142
  readonly code: "breb_debit";
143
+ readonly line: "payout";
144
+ readonly category: "payments";
97
145
  };
98
146
  readonly r2p_breb_credit: {
99
147
  readonly creditDebitType: "credit";
100
148
  readonly code: "r2p_breb_credit";
149
+ readonly line: "payin";
150
+ readonly category: "collections";
101
151
  };
102
152
  readonly breb_rejected: {
103
153
  readonly creditDebitType: "credit";
104
154
  readonly code: "breb_rejected";
155
+ readonly line: "payout";
156
+ readonly category: "payments";
105
157
  };
106
158
  readonly col_top_up_credit: {
107
159
  readonly creditDebitType: "credit";
108
160
  readonly code: "col_top_up_credit";
161
+ readonly line: "payin";
162
+ readonly category: "top_up";
109
163
  };
110
164
  readonly global_debit: {
111
165
  readonly creditDebitType: "debit";
112
166
  readonly code: "global_debit";
167
+ readonly line: "payout";
168
+ readonly category: "payments";
113
169
  };
114
170
  readonly global_credit: {
115
171
  readonly creditDebitType: "credit";
116
172
  readonly code: "global_credit";
173
+ readonly line: "cbmm";
174
+ readonly category: "collections";
117
175
  };
118
176
  readonly r2p_spei_credit: {
119
177
  readonly creditDebitType: "credit";
120
178
  readonly code: "r2p_spei_credit";
179
+ readonly line: "payin";
180
+ readonly category: "collections";
121
181
  };
122
182
  readonly transfer_credit: {
123
183
  readonly creditDebitType: "credit";
124
184
  readonly code: "transfer_credit";
185
+ readonly line: "payin";
186
+ readonly category: "collections";
125
187
  };
126
188
  readonly fedwire_debit: {
127
189
  readonly creditDebitType: "debit";
128
190
  readonly code: "fedwire_debit";
191
+ readonly line: "payout";
192
+ readonly category: "payments";
129
193
  };
130
194
  readonly fedwire_credit: {
131
195
  readonly creditDebitType: "credit";
132
196
  readonly code: "fedwire_credit";
197
+ readonly line: "cbmm";
198
+ readonly category: "collections";
133
199
  };
134
200
  readonly reward_credit: {
135
201
  readonly creditDebitType: "credit";
136
202
  readonly code: "reward_credit";
203
+ readonly line: "stable";
204
+ readonly category: "reward";
137
205
  };
138
206
  readonly global_pay_to_usa_debit: {
139
207
  readonly creditDebitType: "debit";
140
208
  readonly code: "global_pay_to_usa_debit";
209
+ readonly line: "cbmm";
210
+ readonly category: "international";
141
211
  };
142
212
  readonly global_pay_to_usa_credit: {
143
213
  readonly creditDebitType: "credit";
144
214
  readonly code: "global_pay_to_usa_credit";
215
+ readonly line: "cbmm";
216
+ readonly category: "international";
145
217
  };
146
218
  readonly usa_pay_to_global_debit: {
147
219
  readonly creditDebitType: "debit";
148
220
  readonly code: "usa_pay_to_global_debit";
221
+ readonly line: "cbmm";
222
+ readonly category: "international";
149
223
  };
150
224
  readonly usa_pay_to_global_credit: {
151
225
  readonly creditDebitType: "credit";
152
226
  readonly code: "usa_pay_to_global_credit";
227
+ readonly line: "cbmm";
228
+ readonly category: "international";
153
229
  };
154
230
  readonly onramp_credit: {
155
231
  readonly creditDebitType: "credit";
156
232
  readonly code: "onramp_credit";
233
+ readonly line: "stable";
234
+ readonly category: "conversions";
157
235
  };
158
236
  readonly offramp_debit: {
159
237
  readonly creditDebitType: "debit";
160
238
  readonly code: "offramp_debit";
239
+ readonly line: "stable";
240
+ readonly category: "conversions";
161
241
  };
162
242
  readonly stable_payout_debit: {
163
243
  readonly creditDebitType: "debit";
164
244
  readonly code: "stable_payout_debit";
245
+ readonly line: "stable";
246
+ readonly category: "conversions";
165
247
  };
166
248
  readonly stable_payout_credit: {
167
249
  readonly creditDebitType: "credit";
168
250
  readonly code: "stable_payout_credit";
251
+ readonly line: "stable";
252
+ readonly category: "conversions";
169
253
  };
170
254
  readonly global_pay_to_generic_debit: {
171
255
  readonly creditDebitType: "debit";
172
256
  readonly code: "global_pay_to_generic_debit";
257
+ readonly line: "payout";
258
+ readonly category: "payments";
173
259
  };
174
260
  readonly global_pay_to_generic_credit: {
175
261
  readonly creditDebitType: "credit";
176
262
  readonly code: "global_pay_to_generic_credit";
263
+ readonly line: "cbmm";
264
+ readonly category: "collections";
177
265
  };
178
266
  };
179
267
  export type TransactionType = keyof typeof TRANSACTION_TYPES;