@tasenor/common-plugins 1.9.117 → 1.9.119

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.
@@ -1,4 +1,4 @@
1
1
 
2
- > @tasenor/common-plugins@1.9.116 build /home/wigy/tasenor-qa/tasenor-bookkeeper/packages/tasenor-common-plugins
2
+ > @tasenor/common-plugins@1.9.118 build /home/wigy/tasenor-qa/tasenor-bookkeeper/packages/tasenor-common-plugins
3
3
  > rm -fr dist && tsc
4
4
 
@@ -1,8 +1,8 @@
1
1
 
2
- > @tasenor/common-plugins@1.9.116 ci /home/wigy/tasenor-qa/tasenor-bookkeeper/packages/tasenor-common-plugins
2
+ > @tasenor/common-plugins@1.9.118 ci /home/wigy/tasenor-qa/tasenor-bookkeeper/packages/tasenor-common-plugins
3
3
  > pnpm run lint
4
4
 
5
5
 
6
- > @tasenor/common-plugins@1.9.116 lint /home/wigy/tasenor-qa/tasenor-bookkeeper/packages/tasenor-common-plugins
6
+ > @tasenor/common-plugins@1.9.118 lint /home/wigy/tasenor-qa/tasenor-bookkeeper/packages/tasenor-common-plugins
7
7
  > eslint 'src/**/*.{ts,tsx}' 'data/**/*.mjs'
8
8
 
@@ -0,0 +1,12 @@
1
+
2
+ > @tasenor/common-plugins@1.9.117 nightly /home/wigy/tasenor-qa/tasenor-bookkeeper/packages/tasenor-common-plugins
3
+ > pnpm run ci
4
+
5
+
6
+ > @tasenor/common-plugins@1.9.117 ci /home/wigy/tasenor-qa/tasenor-bookkeeper/packages/tasenor-common-plugins
7
+ > pnpm run lint
8
+
9
+
10
+ > @tasenor/common-plugins@1.9.117 lint /home/wigy/tasenor-qa/tasenor-bookkeeper/packages/tasenor-common-plugins
11
+ > eslint 'src/**/*.{ts,tsx}' 'data/**/*.mjs'
12
+
@@ -47,6 +47,8 @@ _OTHER_INCOME Other Income Muut tulot
47
47
  __OTHER_OPERATING_INCOME Other operating income Muut liiketoiminnan tuotot
48
48
 
49
49
  __MISC_INCOME Miscellaneous Income Satunnaiset tulot
50
+ ___REWARDS Rewards Palkkiot
51
+ ____LEARNING_REWARDS Learning rewards Opintopalkkiot
50
52
 
51
53
 
52
54
  _SPECIAL_INCOME_CASES Cases That Need Special Handling Erityiskäsittelyä vaativat tapaukset
@@ -108,7 +108,8 @@ class AssetReport extends ReportPlugin {
108
108
  });
109
109
  // Note: we could construct also detailed changes at this point, if we want detailed version of the report.
110
110
  let total = 0;
111
- for (const [, asset, amount] of bookkeeping.totals()) {
111
+ const totals = bookkeeping.totals().sort((a, b) => a[1] < b[1] ? -1 : (a[1] > b[1] ? 1 : 0));
112
+ for (const [, asset, amount] of totals) {
112
113
  if (amount) {
113
114
  const value = bookkeeping.value(asset);
114
115
  total += value;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AssetReport/backend/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AssetReport/backend/index.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ import { ProcessFile, TransactionImportHandler } from '@tasenor/common-node';
6
6
  export declare class CoinbaseHandler extends TransactionImportHandler {
7
7
  constructor();
8
8
  get path(): DirectoryPath;
9
- canHandle(file: ProcessFile): boolean;
9
+ canHandle(file: ProcessFile): boolean | number;
10
+ init(files: ProcessFile[]): Promise<ProcessFile[]>;
10
11
  segmentId(line: TextFileLine): SegmentId | typeof NO_SEGMENT;
11
12
  time(line: TextFileLine): Date | undefined;
12
13
  }
@@ -7,26 +7,63 @@ export class CoinbaseHandler extends TransactionImportHandler {
7
7
  super('CoinbaseImport');
8
8
  this.importOptions = {
9
9
  parser: 'csv',
10
- numericFields: ['amount', 'balance'],
10
+ numericFields: ['amount', 'balance', 'Quantity', 'Price', 'Total', 'Subtotal', 'Fees'],
11
11
  requiredFields: [],
12
12
  textField: 'type',
13
13
  totalAmountField: 'amount',
14
- csv: { useFirstLineHeadings: true }
14
+ csv: { useFirstLineHeadings: true },
15
+ fieldRemapping: {
16
+ // V1
17
+ 'amount/balance unit': 'unit',
18
+ // V2
19
+ 'Transaction Type': 'type',
20
+ 'Quantity Transacted': 'Quantity',
21
+ 'Spot Price Currency': 'Currency',
22
+ 'Spot Price at Transaction': 'Price',
23
+ 'Total (inclusive of fees and/or spread)': 'Total',
24
+ 'Fees and/or Spread': 'Fees'
25
+ }
15
26
  };
16
27
  }
17
28
  get path() {
18
29
  return __dirname;
19
30
  }
20
31
  canHandle(file) {
21
- return file.firstLineMatch(/^(portfolio,)?type,time,amount,balance,amount.balance unit,transfer id,trade id,order id/);
32
+ if (file.firstLineMatch(/^(portfolio,)?type,time,amount,balance,amount.balance unit,transfer id,trade id,order id/)) {
33
+ return 1;
34
+ }
35
+ if (file.firstLineMatch(/"You can use this transaction report/)) {
36
+ return 2;
37
+ }
38
+ return 0;
39
+ }
40
+ async init(files) {
41
+ if (this.version === 2) {
42
+ // Clean up trash from the beginning.
43
+ for (const file of files) {
44
+ const data = file.decode();
45
+ const lines = data.split('\n').splice(7);
46
+ if (!/^Timestamp,Transaction Type,Asset,Quantity Transacted,Spot Price Currency,Spot Price at Transaction,Subtotal,Total/.test(lines[0])) {
47
+ throw new Error('Coinbase parser is not able to understand the format.');
48
+ }
49
+ file.set(lines.join('\n'));
50
+ }
51
+ }
52
+ return files;
22
53
  }
23
54
  segmentId(line) {
55
+ if (this.version === 2) {
56
+ return super.segmentId(line);
57
+ }
24
58
  if (['deposit', 'withdrawal'].includes(line.columns.type)) {
25
59
  return line.columns['transfer id'];
26
60
  }
27
61
  return line.columns['trade id'];
28
62
  }
29
63
  time(line) {
64
+ if (this.version === 2) {
65
+ return line.columns.Timestamp ? new Date(line.columns.Timestamp) : undefined;
66
+ }
30
67
  return line.columns.time ? new Date(line.columns.time) : undefined;
31
68
  }
32
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CoinbaseHandler.js","sourceRoot":"","sources":["../../../src/CoinbaseImport/backend/CoinbaseHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAE5E;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,wBAAwB;IAE3D;QACE,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACvB,IAAI,CAAC,aAAa,GAAG;YACnB,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;YACpC,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,MAAM;YACjB,gBAAgB,EAAE,QAAQ;YAC1B,GAAG,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE;SACpC,CAAA;IACH,CAAC;IAED,IAAI,IAAI;QACN,OAAO,SAA0B,CAAA;IACnC,CAAC;IAED,SAAS,CAAC,IAAiB;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,0FAA0F,CAAC,CAAA;IACxH,CAAC;IAED,SAAS,CAAC,IAAkB;QAC1B,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;SACnC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,CAAC,IAAkB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACpE,CAAC;CACF"}
1
+ {"version":3,"file":"CoinbaseHandler.js","sourceRoot":"","sources":["../../../src/CoinbaseImport/backend/CoinbaseHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAE5E;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,wBAAwB;IAE3D;QACE,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACvB,IAAI,CAAC,aAAa,GAAG;YACnB,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC;YACtF,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,MAAM;YACjB,gBAAgB,EAAE,QAAQ;YAC1B,GAAG,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE;YACnC,cAAc,EAAE;gBACd,KAAK;gBACL,qBAAqB,EAAE,MAAM;gBAC7B,KAAK;gBACL,kBAAkB,EAAE,MAAM;gBAC1B,qBAAqB,EAAE,UAAU;gBACjC,qBAAqB,EAAE,UAAU;gBACjC,2BAA2B,EAAE,OAAO;gBACpC,yCAAyC,EAAE,OAAO;gBAClD,oBAAoB,EAAE,MAAM;aAC7B;SACF,CAAA;IACH,CAAC;IAED,IAAI,IAAI;QACN,OAAO,SAA0B,CAAA;IACnC,CAAC;IAED,SAAS,CAAC,IAAiB;QACzB,IAAI,IAAI,CAAC,cAAc,CAAC,0FAA0F,CAAC,EAAE;YACnH,OAAO,CAAC,CAAA;SACT;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,sCAAsC,CAAC,EAAE;YAC/D,OAAO,CAAC,CAAA;SACT;QAED,OAAO,CAAC,CAAA;IACV,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAoB;QAC7B,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;YACtB,qCAAqC;YACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;gBAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBACxC,IAAI,CAAC,oHAAoH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;oBACxI,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;iBACzE;gBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;aAC3B;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS,CAAC,IAAkB;QAC1B,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;YACtB,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;SAC7B;QACD,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;SACnC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,CAAC,IAAkB;QACrB,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE;YACtB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;SAC7E;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACpE,CAAC;CACF"}
@@ -141,6 +141,7 @@ class IncomeAndExpenses extends DataPlugin {
141
141
  'income-INCOME_CORRECTION_WITHHOLDING_TAX': 'Corrections in Withholding Tax',
142
142
  'income-INTEREST': 'Interest Income',
143
143
  'income-INVEST': 'Capital Investments',
144
+ 'income-LEARNING_REWARDS': 'Learning rewards',
144
145
  'income-LISTED_CASH_DIVIDEND': 'Cash Dividends from Listed Companies',
145
146
  'income-LISTED_DIVIDEND': 'Dividends from Listed Companies',
146
147
  'income-LISTED_STOCK_DIVIDEND': 'Stock Dividends from Listed Companies',
@@ -154,6 +155,7 @@ class IncomeAndExpenses extends DataPlugin {
154
155
  'income-OTHER_OPERATING_INCOME': 'Other operating income',
155
156
  'income-P2P_INTEREST': 'Interest Income from P2P Loaning',
156
157
  'income-PAID_SHARES': 'Payment Received from Company Shares',
158
+ 'income-REWARDS': 'Rewards',
157
159
  'income-SALES': 'Sales',
158
160
  'income-SHAREHOLDER_BORROWING': 'Loan from a Shareholder',
159
161
  'income-SHARE_ISSUED': 'Issue New Shares',
@@ -306,6 +308,7 @@ class IncomeAndExpenses extends DataPlugin {
306
308
  'income-INCOME_CORRECTION_WITHHOLDING_TAX': 'Korjaukset ennakonpidätyksiin',
307
309
  'income-INTEREST': 'Korkotulot',
308
310
  'income-INVEST': 'Pääomasijoitukset',
311
+ 'income-LEARNING_REWARDS': 'Opintopalkkiot',
309
312
  'income-LISTED_CASH_DIVIDEND': 'Käteisosingot listatuista yhtiöistä',
310
313
  'income-LISTED_DIVIDEND': 'Osingot listatuista yhtiöistä',
311
314
  'income-LISTED_STOCK_DIVIDEND': 'Osakeosingot listatuista yhtiöistä',
@@ -319,6 +322,7 @@ class IncomeAndExpenses extends DataPlugin {
319
322
  'income-OTHER_OPERATING_INCOME': 'Muut liiketoiminnan tuotot',
320
323
  'income-P2P_INTEREST': 'Korkotulot P2P lainaamisesta',
321
324
  'income-PAID_SHARES': 'Osakeannista saadut maksut',
325
+ 'income-REWARDS': 'Palkkiot',
322
326
  'income-SALES': 'Myynti',
323
327
  'income-SHAREHOLDER_BORROWING': 'Osakaslainan nosto',
324
328
  'income-SHARE_ISSUED': 'Uusien osakkeiden liikkeellelasku',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/IncomeAndExpenses/backend/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/IncomeAndExpenses/backend/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { default as AssetReportBackend } from './AssetReport/backend';
1
2
  export { default as CoinAPIBackend } from './CoinAPI/backend';
2
3
  export { default as CoinbaseImportBackend } from './CoinbaseImport/backend';
3
4
  export { CoinbaseHandler } from './CoinbaseImport/backend/CoinbaseHandler';
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export { default as AssetReportBackend } from './AssetReport/backend';
1
2
  export { default as CoinAPIBackend } from './CoinAPI/backend';
2
3
  export { default as CoinbaseImportBackend } from './CoinbaseImport/backend';
3
4
  export { CoinbaseHandler } from './CoinbaseImport/backend/CoinbaseHandler';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,EAAE,OAAO,IAAI,gCAAgC,EAAE,MAAM,qCAAqC,CAAA;AACjG,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,MAAM,yCAAyC,CAAA;AACzG,OAAO,EAAE,OAAO,IAAI,mCAAmC,EAAE,MAAM,wCAAwC,CAAA;AACvG,OAAO,EAAE,OAAO,IAAI,uCAAuC,EAAE,MAAM,4CAA4C,CAAA;AAC/G,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,MAAM,yCAAyC,CAAA;AACzG,OAAO,EAAE,OAAO,IAAI,gCAAgC,EAAE,MAAM,qCAAqC,CAAA;AACjG,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACjF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,EAAE,OAAO,IAAI,gCAAgC,EAAE,MAAM,qCAAqC,CAAA;AACjG,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,MAAM,yCAAyC,CAAA;AACzG,OAAO,EAAE,OAAO,IAAI,mCAAmC,EAAE,MAAM,wCAAwC,CAAA;AACvG,OAAO,EAAE,OAAO,IAAI,uCAAuC,EAAE,MAAM,4CAA4C,CAAA;AAC/G,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,MAAM,yCAAyC,CAAA;AACzG,OAAO,EAAE,OAAO,IAAI,gCAAgC,EAAE,MAAM,qCAAqC,CAAA;AACjG,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACjF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tasenor/common-plugins",
3
- "version": "1.9.117",
3
+ "version": "1.9.119",
4
4
  "description": "Shared common plugins of Tasenor project",
5
5
  "repository": "git@github.com:dataplugoy/tasenor-bookkeeper.git",
6
6
  "author": "Tommi Ronkainen <tommi.ronkainen@gmail.com>",
@@ -11,10 +11,10 @@
11
11
  "clone": "^2.1.2",
12
12
  "dayjs": "1.10.8",
13
13
  "sprintf-js": "^1.1.2",
14
- "tsx": "^3.12.7",
15
- "@tasenor/common": "1.9.117",
16
- "@tasenor/common-node": "1.9.117",
17
- "@tasenor/common-ui": "1.9.117"
14
+ "tsx": "3.12.7",
15
+ "@tasenor/common-node": "1.9.119",
16
+ "@tasenor/common-ui": "1.9.119",
17
+ "@tasenor/common": "1.9.119"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@mui/icons-material": "^5.14.1",
@@ -30,8 +30,8 @@
30
30
  "react-i18next": "^13.0.2",
31
31
  "react-router-dom": "^6.14.1",
32
32
  "typescript": "^5.1.6",
33
- "@tasenor/config": "1.9.116",
34
- "eslint-config-tasenor": "0.0.0"
33
+ "eslint-config-tasenor": "0.0.0",
34
+ "@tasenor/config": "1.9.118"
35
35
  },
36
36
  "peerDependencies": {
37
37
  "@mui/icons-material": "^5.14.1",
@@ -121,7 +121,8 @@ class AssetReport extends ReportPlugin {
121
121
  })
122
122
  // Note: we could construct also detailed changes at this point, if we want detailed version of the report.
123
123
  let total = 0
124
- for (const [, asset, amount] of bookkeeping.totals()) {
124
+ const totals = bookkeeping.totals().sort((a, b) => a[1] < b[1] ? -1 : (a[1] > b[1] ? 1 : 0))
125
+ for (const [, asset, amount] of totals) {
125
126
  if (amount) {
126
127
  const value = bookkeeping.value(asset)
127
128
  total += value
@@ -10,11 +10,22 @@ export class CoinbaseHandler extends TransactionImportHandler {
10
10
  super('CoinbaseImport')
11
11
  this.importOptions = {
12
12
  parser: 'csv',
13
- numericFields: ['amount', 'balance'],
13
+ numericFields: ['amount', 'balance', 'Quantity', 'Price', 'Total', 'Subtotal', 'Fees'],
14
14
  requiredFields: [],
15
15
  textField: 'type',
16
16
  totalAmountField: 'amount',
17
- csv: { useFirstLineHeadings: true }
17
+ csv: { useFirstLineHeadings: true },
18
+ fieldRemapping: {
19
+ // V1
20
+ 'amount/balance unit': 'unit',
21
+ // V2
22
+ 'Transaction Type': 'type',
23
+ 'Quantity Transacted': 'Quantity',
24
+ 'Spot Price Currency': 'Currency',
25
+ 'Spot Price at Transaction': 'Price',
26
+ 'Total (inclusive of fees and/or spread)': 'Total',
27
+ 'Fees and/or Spread': 'Fees'
28
+ }
18
29
  }
19
30
  }
20
31
 
@@ -22,11 +33,36 @@ export class CoinbaseHandler extends TransactionImportHandler {
22
33
  return __dirname as DirectoryPath
23
34
  }
24
35
 
25
- canHandle(file: ProcessFile): boolean {
26
- return file.firstLineMatch(/^(portfolio,)?type,time,amount,balance,amount.balance unit,transfer id,trade id,order id/)
36
+ canHandle(file: ProcessFile): boolean | number {
37
+ if (file.firstLineMatch(/^(portfolio,)?type,time,amount,balance,amount.balance unit,transfer id,trade id,order id/)) {
38
+ return 1
39
+ }
40
+ if (file.firstLineMatch(/"You can use this transaction report/)) {
41
+ return 2
42
+ }
43
+
44
+ return 0
45
+ }
46
+
47
+ async init(files: ProcessFile[]): Promise<ProcessFile[]> {
48
+ if (this.version === 2) {
49
+ // Clean up trash from the beginning.
50
+ for (const file of files) {
51
+ const data = file.decode()
52
+ const lines = data.split('\n').splice(7)
53
+ if (!/^Timestamp,Transaction Type,Asset,Quantity Transacted,Spot Price Currency,Spot Price at Transaction,Subtotal,Total/.test(lines[0])) {
54
+ throw new Error('Coinbase parser is not able to understand the format.')
55
+ }
56
+ file.set(lines.join('\n'))
57
+ }
58
+ }
59
+ return files
27
60
  }
28
61
 
29
62
  segmentId(line: TextFileLine): SegmentId | typeof NO_SEGMENT {
63
+ if (this.version === 2) {
64
+ return super.segmentId(line)
65
+ }
30
66
  if (['deposit', 'withdrawal'].includes(line.columns.type)) {
31
67
  return line.columns['transfer id']
32
68
  }
@@ -34,6 +70,9 @@ export class CoinbaseHandler extends TransactionImportHandler {
34
70
  }
35
71
 
36
72
  time(line: TextFileLine): Date | undefined {
73
+ if (this.version === 2) {
74
+ return line.columns.Timestamp ? new Date(line.columns.Timestamp) : undefined
75
+ }
37
76
  return line.columns.time ? new Date(line.columns.time) : undefined
38
77
  }
39
78
  }
@@ -1,64 +1,142 @@
1
1
  {
2
2
  "rules": [
3
3
  {
4
- "name": "Coinbase withdrawal",
4
+ "name": "Coinbase withdrawal (v1)",
5
5
  "filter": "type == 'withdrawal'",
6
6
  "result": [
7
7
  {
8
8
  "reason": "type",
9
9
  "type": "'external'",
10
- "asset": "$('amount/balance unit')",
10
+ "asset": "unit",
11
11
  "amount": "-amount"
12
12
  },
13
13
  {
14
14
  "reason": "type",
15
- "type": "isCurrency($('amount/balance unit')) ? 'currency' : 'crypto'",
16
- "asset": "$('amount/balance unit')",
15
+ "type": "isCurrency(unit) ? 'currency' : 'crypto'",
16
+ "asset": "unit",
17
17
  "amount": "amount"
18
18
  }
19
19
  ]
20
20
  },
21
21
  {
22
- "name": "Coinbase deposit",
22
+ "name": "Coinbase deposit (v1)",
23
23
  "filter": "type == 'deposit'",
24
24
  "result": [
25
25
  {
26
26
  "reason": "type",
27
27
  "type": "'external'",
28
- "asset": "$('amount/balance unit')",
28
+ "asset": "unit",
29
29
  "amount": "-amount"
30
30
  },
31
31
  {
32
32
  "reason": "type",
33
- "type": "isCurrency($('amount/balance unit')) ? 'currency' : 'crypto'",
34
- "asset": "$('amount/balance unit')",
33
+ "type": "isCurrency(unit) ? 'currency' : 'crypto'",
34
+ "asset": "unit",
35
35
  "amount": "amount"
36
36
  }
37
37
  ]
38
38
  },
39
39
  {
40
- "name": "Trade",
40
+ "name": "Trade (v1)",
41
41
  "filter": "type == 'match'",
42
42
  "result": [
43
43
  {
44
44
  "reason": "'trade'",
45
- "type": "isCurrency($('amount/balance unit')) ? 'currency' : 'crypto'",
46
- "asset": "$('amount/balance unit')",
45
+ "type": "isCurrency(unit) ? 'currency' : 'crypto'",
46
+ "asset": "unit",
47
47
  "amount": "amount"
48
48
  }
49
49
  ]
50
50
  },
51
51
  {
52
- "name": "Trading fee",
52
+ "name": "Trading fee (v1)",
53
53
  "filter": "type == 'fee'",
54
54
  "result": [
55
55
  {
56
56
  "reason": "'fee'",
57
- "type": "isCurrency($('amount/balance unit')) ? 'currency' : 'crypto'",
58
- "asset": "$('amount/balance unit')",
57
+ "type": "isCurrency(unit) ? 'currency' : 'crypto'",
58
+ "asset": "unit",
59
59
  "amount": "-amount"
60
60
  }
61
61
  ]
62
+ },
63
+
64
+ {
65
+ "name": "Rewards (v2)",
66
+ "filter": "type == 'Learning Reward'",
67
+ "result": [
68
+ {
69
+ "data": {
70
+ "text": "Notes",
71
+ "currency": "Currency",
72
+ "currencyValue": "Price * 100"
73
+ },
74
+ "type": "'crypto'",
75
+ "asset": "Asset",
76
+ "amount": "Quantity",
77
+ "reason": "'income'"
78
+ },
79
+ {
80
+ "type": "'statement'",
81
+ "asset": "'LEARNING_REWARDS'",
82
+ "reason": "'income'",
83
+ "amount": "null"
84
+ }
85
+ ]
86
+ },
87
+ {
88
+ "name": "Selling (v2)",
89
+ "filter": "type == 'Sell'",
90
+ "result": [
91
+ {
92
+ "data": {
93
+ "text": "Notes"
94
+ },
95
+ "type": "'crypto'",
96
+ "asset": "Asset",
97
+ "amount": "-Quantity",
98
+ "reason": "'trade'"
99
+ },
100
+ {
101
+ "reason": "'fee'",
102
+ "type": "'currency'",
103
+ "asset": "Currency",
104
+ "amount": "Fees"
105
+ },
106
+ {
107
+ "type": "'currency'",
108
+ "asset": "Currency",
109
+ "amount": "Subtotal",
110
+ "reason": "'trade'"
111
+ }
112
+ ]
113
+ },
114
+ {
115
+ "name": "Buying (v2)",
116
+ "filter": "type == 'Buy'",
117
+ "result": [
118
+ {
119
+ "data": {
120
+ "text": "Notes"
121
+ },
122
+ "type": "'crypto'",
123
+ "asset": "Asset",
124
+ "amount": "Quantity",
125
+ "reason": "'trade'"
126
+ },
127
+ {
128
+ "reason": "'fee'",
129
+ "type": "'currency'",
130
+ "asset": "Currency",
131
+ "amount": "Fees"
132
+ },
133
+ {
134
+ "type": "'currency'",
135
+ "asset": "Currency",
136
+ "amount": "-Subtotal",
137
+ "reason": "'trade'"
138
+ }
139
+ ]
62
140
  }
63
141
  ]
64
142
  }
@@ -65,6 +65,12 @@
65
65
  "OTHER_OPERATING_INCOME",
66
66
  "MISC_INCOME"
67
67
  ],
68
+ "MISC_INCOME": [
69
+ "REWARDS"
70
+ ],
71
+ "REWARDS": [
72
+ "LEARNING_REWARDS"
73
+ ],
68
74
  "SPECIAL_INCOME_CASES": [
69
75
  "NEEDS_MANUAL_INSPECTION_IN",
70
76
  "ERROR_INCOME"
@@ -110,6 +116,8 @@
110
116
  "OTHER_INCOME": "INCOME",
111
117
  "OTHER_OPERATING_INCOME": "OTHER_INCOME",
112
118
  "MISC_INCOME": "OTHER_INCOME",
119
+ "REWARDS": "MISC_INCOME",
120
+ "LEARNING_REWARDS": "REWARDS",
113
121
  "SPECIAL_INCOME_CASES": "INCOME",
114
122
  "NEEDS_MANUAL_INSPECTION_IN": "SPECIAL_INCOME_CASES",
115
123
  "ERROR_INCOME": "SPECIAL_INCOME_CASES",
@@ -145,6 +145,7 @@ class IncomeAndExpenses extends DataPlugin {
145
145
  'income-INCOME_CORRECTION_WITHHOLDING_TAX': 'Corrections in Withholding Tax',
146
146
  'income-INTEREST': 'Interest Income',
147
147
  'income-INVEST': 'Capital Investments',
148
+ 'income-LEARNING_REWARDS': 'Learning rewards',
148
149
  'income-LISTED_CASH_DIVIDEND': 'Cash Dividends from Listed Companies',
149
150
  'income-LISTED_DIVIDEND': 'Dividends from Listed Companies',
150
151
  'income-LISTED_STOCK_DIVIDEND': 'Stock Dividends from Listed Companies',
@@ -158,6 +159,7 @@ class IncomeAndExpenses extends DataPlugin {
158
159
  'income-OTHER_OPERATING_INCOME': 'Other operating income',
159
160
  'income-P2P_INTEREST': 'Interest Income from P2P Loaning',
160
161
  'income-PAID_SHARES': 'Payment Received from Company Shares',
162
+ 'income-REWARDS': 'Rewards',
161
163
  'income-SALES': 'Sales',
162
164
  'income-SHAREHOLDER_BORROWING': 'Loan from a Shareholder',
163
165
  'income-SHARE_ISSUED': 'Issue New Shares',
@@ -310,6 +312,7 @@ class IncomeAndExpenses extends DataPlugin {
310
312
  'income-INCOME_CORRECTION_WITHHOLDING_TAX': 'Korjaukset ennakonpidätyksiin',
311
313
  'income-INTEREST': 'Korkotulot',
312
314
  'income-INVEST': 'Pääomasijoitukset',
315
+ 'income-LEARNING_REWARDS': 'Opintopalkkiot',
313
316
  'income-LISTED_CASH_DIVIDEND': 'Käteisosingot listatuista yhtiöistä',
314
317
  'income-LISTED_DIVIDEND': 'Osingot listatuista yhtiöistä',
315
318
  'income-LISTED_STOCK_DIVIDEND': 'Osakeosingot listatuista yhtiöistä',
@@ -323,6 +326,7 @@ class IncomeAndExpenses extends DataPlugin {
323
326
  'income-OTHER_OPERATING_INCOME': 'Muut liiketoiminnan tuotot',
324
327
  'income-P2P_INTEREST': 'Korkotulot P2P lainaamisesta',
325
328
  'income-PAID_SHARES': 'Osakeannista saadut maksut',
329
+ 'income-REWARDS': 'Palkkiot',
326
330
  'income-SALES': 'Myynti',
327
331
  'income-SHAREHOLDER_BORROWING': 'Osakaslainan nosto',
328
332
  'income-SHARE_ISSUED': 'Uusien osakkeiden liikkeellelasku',
package/src/index.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { default as AssetReportBackend } from './AssetReport/backend'
1
2
  export { default as CoinAPIBackend } from './CoinAPI/backend'
2
3
  export { default as CoinbaseImportBackend } from './CoinbaseImport/backend'
3
4
  export { CoinbaseHandler } from './CoinbaseImport/backend/CoinbaseHandler'