dao-treasury 0.0.37__cp310-cp310-macosx_11_0_arm64.whl → 0.0.69__cp310-cp310-macosx_11_0_arm64.whl

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.
Files changed (46) hide show
  1. dao_treasury/.grafana/provisioning/dashboards/breakdowns/Expenses.json +551 -0
  2. dao_treasury/.grafana/provisioning/dashboards/breakdowns/Revenue.json +551 -0
  3. dao_treasury/.grafana/provisioning/dashboards/dashboards.yaml +7 -57
  4. dao_treasury/.grafana/provisioning/dashboards/streams/LlamaPay.json +11 -16
  5. dao_treasury/.grafana/provisioning/dashboards/summary/Monthly.json +15 -15
  6. dao_treasury/.grafana/provisioning/dashboards/transactions/Treasury Transactions.json +38 -61
  7. dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow (Including Unsorted).json +122 -149
  8. dao_treasury/.grafana/provisioning/dashboards/treasury/Cashflow.json +87 -100
  9. dao_treasury/.grafana/provisioning/dashboards/treasury/Current Treasury Assets.json +1009 -0
  10. dao_treasury/.grafana/provisioning/dashboards/treasury/Historical Treasury Balances.json +2989 -0
  11. dao_treasury/.grafana/provisioning/dashboards/treasury/Operating Cashflow.json +64 -78
  12. dao_treasury/ENVIRONMENT_VARIABLES.py +12 -0
  13. dao_treasury/__init__.py +14 -0
  14. dao_treasury/_docker.cpython-310-darwin.so +0 -0
  15. dao_treasury/_docker.py +38 -21
  16. dao_treasury/_nicknames.cpython-310-darwin.so +0 -0
  17. dao_treasury/_nicknames.py +15 -0
  18. dao_treasury/_wallet.cpython-310-darwin.so +0 -0
  19. dao_treasury/constants.cpython-310-darwin.so +0 -0
  20. dao_treasury/constants.py +24 -0
  21. dao_treasury/db.py +74 -4
  22. dao_treasury/docker-compose.yaml +1 -1
  23. dao_treasury/main.py +6 -0
  24. dao_treasury/sorting/__init__.cpython-310-darwin.so +0 -0
  25. dao_treasury/sorting/_matchers.cpython-310-darwin.so +0 -0
  26. dao_treasury/sorting/_rules.cpython-310-darwin.so +0 -0
  27. dao_treasury/sorting/factory.cpython-310-darwin.so +0 -0
  28. dao_treasury/sorting/rule.cpython-310-darwin.so +0 -0
  29. dao_treasury/sorting/rule.py +8 -10
  30. dao_treasury/sorting/rules/__init__.cpython-310-darwin.so +0 -0
  31. dao_treasury/sorting/rules/ignore/__init__.cpython-310-darwin.so +0 -0
  32. dao_treasury/sorting/rules/ignore/llamapay.cpython-310-darwin.so +0 -0
  33. dao_treasury/streams/__init__.cpython-310-darwin.so +0 -0
  34. dao_treasury/streams/llamapay.cpython-310-darwin.so +0 -0
  35. dao_treasury/streams/llamapay.py +14 -2
  36. dao_treasury/treasury.py +33 -14
  37. dao_treasury/types.cpython-310-darwin.so +0 -0
  38. {dao_treasury-0.0.37.dist-info → dao_treasury-0.0.69.dist-info}/METADATA +4 -3
  39. dao_treasury-0.0.69.dist-info/RECORD +54 -0
  40. dao_treasury-0.0.69.dist-info/top_level.txt +2 -0
  41. dao_treasury__mypyc.cpython-310-darwin.so +0 -0
  42. bf2b4fe1f86ad2ea158b__mypyc.cpython-310-darwin.so +0 -0
  43. dao_treasury/.grafana/provisioning/dashboards/treasury/Treasury.json +0 -2018
  44. dao_treasury-0.0.37.dist-info/RECORD +0 -51
  45. dao_treasury-0.0.37.dist-info/top_level.txt +0 -2
  46. {dao_treasury-0.0.37.dist-info → dao_treasury-0.0.69.dist-info}/WHEEL +0 -0
@@ -18,12 +18,13 @@
18
18
  "editable": true,
19
19
  "fiscalYearStartMonth": 0,
20
20
  "graphTooltip": 1,
21
+ "id": 4,
21
22
  "links": [],
22
- "liveNow": false,
23
23
  "panels": [
24
24
  {
25
25
  "datasource": "SQLite",
26
26
  "fieldConfig": {
27
+ "unit": "currencyUSD",
27
28
  "defaults": {
28
29
  "color": {
29
30
  "mode": "thresholds"
@@ -34,7 +35,7 @@
34
35
  "steps": [
35
36
  {
36
37
  "color": "green",
37
- "value": null
38
+ "value": 0
38
39
  },
39
40
  {
40
41
  "color": "red",
@@ -57,16 +58,17 @@
57
58
  "graphMode": "area",
58
59
  "justifyMode": "auto",
59
60
  "orientation": "auto",
61
+ "percentChangeColorMode": "standard",
60
62
  "reduceOptions": {
61
- "calcs": [
62
- "lastNotNull"
63
- ],
63
+ "calcs": ["lastNotNull"],
64
64
  "fields": "",
65
65
  "values": false
66
66
  },
67
- "textMode": "auto"
67
+ "showPercentChange": false,
68
+ "textMode": "auto",
69
+ "wideLayout": true
68
70
  },
69
- "pluginVersion": "10.2.0",
71
+ "pluginVersion": "12.1.1",
70
72
  "targets": [
71
73
  {
72
74
  "datasource": "SQLite",
@@ -74,18 +76,17 @@
74
76
  "queryType": "table",
75
77
  "rawQueryText": "SELECT SUM(t.value_usd) AS total_revenue FROM general_ledger t JOIN txgroup_hierarchy gh USING (txgroup_id) WHERE gh.top_category = 'Revenue' AND t.timestamp >= $__from/1000 AND t.timestamp <= $__to/1000",
76
78
  "refId": "A",
77
- "timeColumns": [
78
- "time",
79
- "ts"
80
- ]
79
+ "timeColumns": ["time", "ts"]
81
80
  }
82
81
  ],
83
82
  "title": "Revenue",
84
- "type": "stat"
83
+ "type": "stat",
84
+ "description": "Displays the total value of all transactions sorted as revenue for the selected period."
85
85
  },
86
86
  {
87
87
  "datasource": "SQLite",
88
88
  "fieldConfig": {
89
+ "unit": "currencyUSD",
89
90
  "defaults": {
90
91
  "color": {
91
92
  "mode": "thresholds"
@@ -96,7 +97,7 @@
96
97
  "steps": [
97
98
  {
98
99
  "color": "green",
99
- "value": null
100
+ "value": 0
100
101
  },
101
102
  {
102
103
  "color": "red",
@@ -119,16 +120,17 @@
119
120
  "graphMode": "area",
120
121
  "justifyMode": "auto",
121
122
  "orientation": "auto",
123
+ "percentChangeColorMode": "standard",
122
124
  "reduceOptions": {
123
- "calcs": [
124
- "lastNotNull"
125
- ],
125
+ "calcs": ["lastNotNull"],
126
126
  "fields": "",
127
127
  "values": false
128
128
  },
129
- "textMode": "auto"
129
+ "showPercentChange": false,
130
+ "textMode": "auto",
131
+ "wideLayout": true
130
132
  },
131
- "pluginVersion": "10.2.0",
133
+ "pluginVersion": "12.1.1",
132
134
  "targets": [
133
135
  {
134
136
  "datasource": "SQLite",
@@ -136,18 +138,17 @@
136
138
  "queryType": "table",
137
139
  "rawQueryText": "SELECT SUM(t.value_usd) AS total_revenue FROM general_ledger t JOIN txgroup_hierarchy gh USING (txgroup_id) WHERE gh.top_category = 'Expenses' AND t.timestamp >= $__from/1000 AND t.timestamp <= $__to/1000",
138
140
  "refId": "A",
139
- "timeColumns": [
140
- "time",
141
- "ts"
142
- ]
141
+ "timeColumns": ["time", "ts"]
143
142
  }
144
143
  ],
145
144
  "title": "Expenses",
146
- "type": "stat"
145
+ "type": "stat",
146
+ "description": "Displays the total value of all transactions sorted as expenses for the selected period."
147
147
  },
148
148
  {
149
149
  "datasource": "SQLite",
150
150
  "fieldConfig": {
151
+ "unit": "currencyUSD",
151
152
  "defaults": {
152
153
  "color": {
153
154
  "mode": "thresholds"
@@ -158,7 +159,7 @@
158
159
  "steps": [
159
160
  {
160
161
  "color": "green",
161
- "value": null
162
+ "value": 0
162
163
  },
163
164
  {
164
165
  "color": "red",
@@ -181,16 +182,17 @@
181
182
  "graphMode": "area",
182
183
  "justifyMode": "auto",
183
184
  "orientation": "auto",
185
+ "percentChangeColorMode": "standard",
184
186
  "reduceOptions": {
185
- "calcs": [
186
- "lastNotNull"
187
- ],
187
+ "calcs": ["lastNotNull"],
188
188
  "fields": "",
189
189
  "values": false
190
190
  },
191
- "textMode": "auto"
191
+ "showPercentChange": false,
192
+ "textMode": "auto",
193
+ "wideLayout": true
192
194
  },
193
- "pluginVersion": "10.2.0",
195
+ "pluginVersion": "12.1.1",
194
196
  "targets": [
195
197
  {
196
198
  "datasource": "SQLite",
@@ -198,18 +200,17 @@
198
200
  "queryType": "table",
199
201
  "rawQueryText": "SELECT SUM(t.value_usd) AS total_revenue FROM general_ledger t JOIN txgroup_hierarchy gh USING (txgroup_id) WHERE gh.top_category = 'Cost of Revenue' AND t.timestamp >= $__from/1000 AND t.timestamp <= $__to/1000",
200
202
  "refId": "A",
201
- "timeColumns": [
202
- "time",
203
- "ts"
204
- ]
203
+ "timeColumns": ["time", "ts"]
205
204
  }
206
205
  ],
207
206
  "title": "Cost of Revenue",
208
- "type": "stat"
207
+ "type": "stat",
208
+ "description": "Displays the total value of all transactions sorted as cost of revenue for the selected period."
209
209
  },
210
210
  {
211
211
  "datasource": "SQLite",
212
212
  "fieldConfig": {
213
+ "unit": "currencyUSD",
213
214
  "defaults": {
214
215
  "color": {
215
216
  "mode": "thresholds"
@@ -220,7 +221,7 @@
220
221
  "steps": [
221
222
  {
222
223
  "color": "green",
223
- "value": null
224
+ "value": 0
224
225
  },
225
226
  {
226
227
  "color": "red",
@@ -243,16 +244,17 @@
243
244
  "graphMode": "area",
244
245
  "justifyMode": "auto",
245
246
  "orientation": "auto",
247
+ "percentChangeColorMode": "standard",
246
248
  "reduceOptions": {
247
- "calcs": [
248
- "lastNotNull"
249
- ],
249
+ "calcs": ["lastNotNull"],
250
250
  "fields": "",
251
251
  "values": false
252
252
  },
253
- "textMode": "auto"
253
+ "showPercentChange": false,
254
+ "textMode": "auto",
255
+ "wideLayout": true
254
256
  },
255
- "pluginVersion": "10.2.0",
257
+ "pluginVersion": "12.1.1",
256
258
  "targets": [
257
259
  {
258
260
  "datasource": "SQLite",
@@ -260,18 +262,17 @@
260
262
  "queryType": "table",
261
263
  "rawQueryText": "SELECT SUM(t.value_usd) AS total_revenue FROM general_ledger t JOIN txgroup_hierarchy gh USING (txgroup_id) WHERE gh.top_category = 'Other Income' AND t.timestamp >= $__from/1000 AND t.timestamp <= $__to/1000",
262
264
  "refId": "A",
263
- "timeColumns": [
264
- "time",
265
- "ts"
266
- ]
265
+ "timeColumns": ["time", "ts"]
267
266
  }
268
267
  ],
269
268
  "title": "Other Income",
270
- "type": "stat"
269
+ "type": "stat",
270
+ "description": "Displays the total value of all transactions sorted as other income for the selected period."
271
271
  },
272
272
  {
273
273
  "datasource": "SQLite",
274
274
  "fieldConfig": {
275
+ "unit": "currencyUSD",
275
276
  "defaults": {
276
277
  "color": {
277
278
  "mode": "thresholds"
@@ -282,7 +283,7 @@
282
283
  "steps": [
283
284
  {
284
285
  "color": "green",
285
- "value": null
286
+ "value": 0
286
287
  },
287
288
  {
288
289
  "color": "red",
@@ -305,16 +306,17 @@
305
306
  "graphMode": "area",
306
307
  "justifyMode": "auto",
307
308
  "orientation": "auto",
309
+ "percentChangeColorMode": "standard",
308
310
  "reduceOptions": {
309
- "calcs": [
310
- "lastNotNull"
311
- ],
311
+ "calcs": ["lastNotNull"],
312
312
  "fields": "",
313
313
  "values": false
314
314
  },
315
- "textMode": "auto"
315
+ "showPercentChange": false,
316
+ "textMode": "auto",
317
+ "wideLayout": true
316
318
  },
317
- "pluginVersion": "10.2.0",
319
+ "pluginVersion": "12.1.1",
318
320
  "targets": [
319
321
  {
320
322
  "datasource": "SQLite",
@@ -322,19 +324,18 @@
322
324
  "queryType": "table",
323
325
  "rawQueryText": "SELECT SUM(t.value_usd) AS total_revenue FROM general_ledger t JOIN txgroup_hierarchy gh USING (txgroup_id) WHERE gh.top_category = 'Other Expenses' AND t.timestamp >= $__from/1000 AND t.timestamp <= $__to/1000",
324
326
  "refId": "A",
325
- "timeColumns": [
326
- "time",
327
- "ts"
328
- ]
327
+ "timeColumns": ["time", "ts"]
329
328
  }
330
329
  ],
331
330
  "title": "Other Expenses",
332
- "type": "stat"
331
+ "type": "stat",
332
+ "description": "Displays the total value of all transactions sorted as other expenses for the selected period."
333
333
  },
334
334
  {
335
335
  "datasource": "SQLite",
336
- "description": "",
336
+ "description": "Shows the net total cashflow (all revenue minus all expenses) for the selected period, including both sorted and unsorted transactions.",
337
337
  "fieldConfig": {
338
+ "unit": "currencyUSD",
338
339
  "defaults": {
339
340
  "color": {
340
341
  "mode": "thresholds"
@@ -345,7 +346,7 @@
345
346
  "steps": [
346
347
  {
347
348
  "color": "green",
348
- "value": null
349
+ "value": 0
349
350
  },
350
351
  {
351
352
  "color": "red",
@@ -368,16 +369,17 @@
368
369
  "graphMode": "area",
369
370
  "justifyMode": "auto",
370
371
  "orientation": "auto",
372
+ "percentChangeColorMode": "standard",
371
373
  "reduceOptions": {
372
- "calcs": [
373
- "lastNotNull"
374
- ],
374
+ "calcs": ["lastNotNull"],
375
375
  "fields": "",
376
376
  "values": false
377
377
  },
378
- "textMode": "auto"
378
+ "showPercentChange": false,
379
+ "textMode": "auto",
380
+ "wideLayout": true
379
381
  },
380
- "pluginVersion": "10.2.0",
382
+ "pluginVersion": "12.1.1",
381
383
  "targets": [
382
384
  {
383
385
  "datasource": "SQLite",
@@ -385,10 +387,7 @@
385
387
  "queryType": "table",
386
388
  "rawQueryText": "SELECT (\n SUM(CASE WHEN gh.top_category = 'Revenue' THEN t.value_usd ELSE 0 END)\n - SUM(CASE WHEN gh.top_category = 'Cost of Revenue' THEN t.value_usd ELSE 0 END)\n - SUM(CASE WHEN gh.top_category = 'Expenses' THEN t.value_usd ELSE 0 END)\n + SUM(CASE WHEN gh.top_category = 'Other Income' THEN t.value_usd ELSE 0 END)\n - SUM(CASE WHEN gh.top_category = 'Other Expenses' THEN t.value_usd ELSE 0 END)\n) AS total_net\nFROM general_ledger t\nJOIN txgroup_hierarchy gh USING (txgroup_id)\nWHERE t.timestamp >= $__from/1000 AND t.timestamp <= $__to/1000",
387
389
  "refId": "A",
388
- "timeColumns": [
389
- "time",
390
- "ts"
391
- ]
390
+ "timeColumns": ["time", "ts"]
392
391
  }
393
392
  ],
394
393
  "title": "Sorted Total",
@@ -396,8 +395,9 @@
396
395
  },
397
396
  {
398
397
  "datasource": "SQLite",
399
- "description": "",
398
+ "description": "Time series chart of all cashflows (including unsorted), grouped by category, for the selected period.",
400
399
  "fieldConfig": {
400
+ "unit": "currencyUSD",
401
401
  "defaults": {
402
402
  "color": {
403
403
  "mode": "palette-classic"
@@ -409,6 +409,7 @@
409
409
  "axisLabel": "",
410
410
  "axisPlacement": "auto",
411
411
  "barAlignment": 0,
412
+ "barWidthFactor": 0.6,
412
413
  "drawStyle": "bars",
413
414
  "fillOpacity": 70,
414
415
  "gradientMode": "none",
@@ -440,7 +441,7 @@
440
441
  "steps": [
441
442
  {
442
443
  "color": "green",
443
- "value": null
444
+ "value": 0
444
445
  },
445
446
  {
446
447
  "color": "red",
@@ -490,10 +491,12 @@
490
491
  "showLegend": true
491
492
  },
492
493
  "tooltip": {
494
+ "hideZeros": false,
493
495
  "mode": "single",
494
496
  "sort": "none"
495
497
  }
496
498
  },
499
+ "pluginVersion": "12.1.1",
497
500
  "targets": [
498
501
  {
499
502
  "datasource": "SQLite",
@@ -501,9 +504,7 @@
501
504
  "queryType": "table",
502
505
  "rawQueryText": "SELECT t.timestamp,\r\n SUM(CASE WHEN gh.top_category in ('Revenue', 'Other Income','Sort Me (Inbound)') THEN t.value_usd ELSE 0 END) AS \"Total Received\",\r\n SUM(CASE WHEN gh.top_category in ('Cost of Revenue','Expenses','Other Expenses','Sort Me (Outbound)') THEN t.value_usd ELSE 0 END) * -1 AS \"Total Sent\",\r\n SUM(CASE WHEN gh.top_category in ('Revenue', 'Other Income','Sort Me (Inbound)') THEN t.value_usd ELSE 0 END) - SUM(CASE WHEN gh.top_category in ('Cost of Revenue','Expenses','Other Expenses','Sort Me (Outbound)') THEN t.value_usd ELSE 0 END) AS \"Net\"\r\nFROM general_ledger AS t\r\nJOIN txgroup_hierarchy gh ON t.txgroup_id = gh.txgroup_id\r\nWHERE t.timestamp >= $__from/1000 AND t.timestamp <= $__to/1000\r\nGROUP BY timestamp\r\nORDER BY timestamp;",
503
506
  "refId": "A",
504
- "timeColumns": [
505
- "timestamp"
506
- ]
507
+ "timeColumns": ["timestamp"]
507
508
  }
508
509
  ],
509
510
  "title": "Weekly Cashflow",
@@ -535,45 +536,31 @@
535
536
  "options": {
536
537
  "fields": {
537
538
  "Cost of Revenue": {
538
- "aggregations": [
539
- "sum"
540
- ],
539
+ "aggregations": ["sum"],
541
540
  "operation": "aggregate"
542
541
  },
543
542
  "Expenses": {
544
- "aggregations": [
545
- "sum"
546
- ],
543
+ "aggregations": ["sum"],
547
544
  "operation": "aggregate"
548
545
  },
549
546
  "Net": {
550
- "aggregations": [
551
- "sum"
552
- ],
547
+ "aggregations": ["sum"],
553
548
  "operation": "aggregate"
554
549
  },
555
550
  "Net (Including Unsorted)": {
556
- "aggregations": [
557
- "sum"
558
- ],
551
+ "aggregations": ["sum"],
559
552
  "operation": "aggregate"
560
553
  },
561
554
  "Other Expenses": {
562
- "aggregations": [
563
- "sum"
564
- ],
555
+ "aggregations": ["sum"],
565
556
  "operation": "aggregate"
566
557
  },
567
558
  "Other Income": {
568
- "aggregations": [
569
- "sum"
570
- ],
559
+ "aggregations": ["sum"],
571
560
  "operation": "aggregate"
572
561
  },
573
562
  "Revenue": {
574
- "aggregations": [
575
- "sum"
576
- ],
563
+ "aggregations": ["sum"],
577
564
  "operation": "aggregate"
578
565
  },
579
566
  "Timestamp": {
@@ -581,39 +568,27 @@
581
568
  "operation": "groupby"
582
569
  },
583
570
  "Total Expenses": {
584
- "aggregations": [
585
- "sum"
586
- ],
571
+ "aggregations": ["sum"],
587
572
  "operation": "aggregate"
588
573
  },
589
574
  "Total Expenses (Including Unsorted)": {
590
- "aggregations": [
591
- "sum"
592
- ],
575
+ "aggregations": ["sum"],
593
576
  "operation": "aggregate"
594
577
  },
595
578
  "Total Received": {
596
- "aggregations": [
597
- "sum"
598
- ],
579
+ "aggregations": ["sum"],
599
580
  "operation": "aggregate"
600
581
  },
601
582
  "Total Revenue": {
602
- "aggregations": [
603
- "sum"
604
- ],
583
+ "aggregations": ["sum"],
605
584
  "operation": "aggregate"
606
585
  },
607
586
  "Total Revenue (Including Unsorted)": {
608
- "aggregations": [
609
- "sum"
610
- ],
587
+ "aggregations": ["sum"],
611
588
  "operation": "aggregate"
612
589
  },
613
590
  "Total Sent": {
614
- "aggregations": [
615
- "sum"
616
- ],
591
+ "aggregations": ["sum"],
617
592
  "operation": "aggregate"
618
593
  },
619
594
  "timestamp": {
@@ -628,8 +603,9 @@
628
603
  },
629
604
  {
630
605
  "datasource": "SQLite",
631
- "description": "",
606
+ "description": "Displays the total value of inbound transactions pending categorization for the selected period.",
632
607
  "fieldConfig": {
608
+ "unit": "currencyUSD",
633
609
  "defaults": {
634
610
  "color": {
635
611
  "mode": "thresholds"
@@ -640,7 +616,7 @@
640
616
  "steps": [
641
617
  {
642
618
  "color": "green",
643
- "value": null
619
+ "value": 0
644
620
  },
645
621
  {
646
622
  "color": "red",
@@ -663,16 +639,17 @@
663
639
  "graphMode": "area",
664
640
  "justifyMode": "auto",
665
641
  "orientation": "auto",
642
+ "percentChangeColorMode": "standard",
666
643
  "reduceOptions": {
667
- "calcs": [
668
- "lastNotNull"
669
- ],
644
+ "calcs": ["lastNotNull"],
670
645
  "fields": "",
671
646
  "values": false
672
647
  },
673
- "textMode": "auto"
648
+ "showPercentChange": false,
649
+ "textMode": "auto",
650
+ "wideLayout": true
674
651
  },
675
- "pluginVersion": "10.2.0",
652
+ "pluginVersion": "12.1.1",
676
653
  "targets": [
677
654
  {
678
655
  "datasource": "SQLite",
@@ -680,10 +657,7 @@
680
657
  "queryType": "table",
681
658
  "rawQueryText": "SELECT SUM(t.value_usd) AS total_revenue FROM general_ledger t JOIN txgroup_hierarchy gh USING (txgroup_id) WHERE gh.top_category = 'Sort Me (Inbound)' AND t.timestamp >= $__from/1000 AND t.timestamp <= $__to/1000",
682
659
  "refId": "A",
683
- "timeColumns": [
684
- "time",
685
- "ts"
686
- ]
660
+ "timeColumns": ["time", "ts"]
687
661
  }
688
662
  ],
689
663
  "title": "Unsorted (Inbound)",
@@ -691,8 +665,9 @@
691
665
  },
692
666
  {
693
667
  "datasource": "SQLite",
694
- "description": "",
668
+ "description": "Displays the total value of outbound transactions pending categorization for the selected period.",
695
669
  "fieldConfig": {
670
+ "unit": "currencyUSD",
696
671
  "defaults": {
697
672
  "color": {
698
673
  "mode": "thresholds"
@@ -703,7 +678,7 @@
703
678
  "steps": [
704
679
  {
705
680
  "color": "green",
706
- "value": null
681
+ "value": 0
707
682
  },
708
683
  {
709
684
  "color": "red",
@@ -726,16 +701,17 @@
726
701
  "graphMode": "area",
727
702
  "justifyMode": "auto",
728
703
  "orientation": "auto",
704
+ "percentChangeColorMode": "standard",
729
705
  "reduceOptions": {
730
- "calcs": [
731
- "lastNotNull"
732
- ],
706
+ "calcs": ["lastNotNull"],
733
707
  "fields": "",
734
708
  "values": false
735
709
  },
736
- "textMode": "auto"
710
+ "showPercentChange": false,
711
+ "textMode": "auto",
712
+ "wideLayout": true
737
713
  },
738
- "pluginVersion": "10.2.0",
714
+ "pluginVersion": "12.1.1",
739
715
  "targets": [
740
716
  {
741
717
  "datasource": "SQLite",
@@ -743,10 +719,7 @@
743
719
  "queryType": "table",
744
720
  "rawQueryText": "SELECT SUM(t.value_usd) AS total_revenue FROM general_ledger t JOIN txgroup_hierarchy gh USING (txgroup_id) WHERE gh.top_category = 'Sort Me (Outbound)' AND t.timestamp >= $__from/1000 AND t.timestamp <= $__to/1000",
745
721
  "refId": "A",
746
- "timeColumns": [
747
- "time",
748
- "ts"
749
- ]
722
+ "timeColumns": ["time", "ts"]
750
723
  }
751
724
  ],
752
725
  "title": "Unsorted (Outbound)",
@@ -754,8 +727,9 @@
754
727
  },
755
728
  {
756
729
  "datasource": "SQLite",
757
- "description": "",
730
+ "description": "Shows the overall net cashflow (including unsorted) for the selected period.",
758
731
  "fieldConfig": {
732
+ "unit": "currencyUSD",
759
733
  "defaults": {
760
734
  "color": {
761
735
  "mode": "thresholds"
@@ -766,7 +740,7 @@
766
740
  "steps": [
767
741
  {
768
742
  "color": "green",
769
- "value": null
743
+ "value": 0
770
744
  },
771
745
  {
772
746
  "color": "red",
@@ -789,16 +763,17 @@
789
763
  "graphMode": "area",
790
764
  "justifyMode": "auto",
791
765
  "orientation": "auto",
766
+ "percentChangeColorMode": "standard",
792
767
  "reduceOptions": {
793
- "calcs": [
794
- "lastNotNull"
795
- ],
768
+ "calcs": ["lastNotNull"],
796
769
  "fields": "",
797
770
  "values": false
798
771
  },
799
- "textMode": "auto"
772
+ "showPercentChange": false,
773
+ "textMode": "auto",
774
+ "wideLayout": true
800
775
  },
801
- "pluginVersion": "10.2.0",
776
+ "pluginVersion": "12.1.1",
802
777
  "targets": [
803
778
  {
804
779
  "datasource": "SQLite",
@@ -806,19 +781,17 @@
806
781
  "queryType": "table",
807
782
  "rawQueryText": "SELECT (\n SUM(CASE WHEN gh.top_category = 'Revenue' THEN t.value_usd ELSE 0 END)\n - SUM(CASE WHEN gh.top_category = 'Cost of Revenue' THEN t.value_usd ELSE 0 END)\n - SUM(CASE WHEN gh.top_category = 'Expenses' THEN t.value_usd ELSE 0 END)\n + SUM(CASE WHEN gh.top_category = 'Other Income' THEN t.value_usd ELSE 0 END)\n - SUM(CASE WHEN gh.top_category = 'Other Expenses' THEN t.value_usd ELSE 0 END)\n + SUM(CASE WHEN gh.top_category = 'Sort Me (Inbound)' THEN t.value_usd ELSE 0 END)\n - SUM(CASE WHEN gh.top_category = 'Sort Me (Outbound)' THEN t.value_usd ELSE 0 END)\n) AS total_net\nFROM general_ledger t\nJOIN txgroup_hierarchy gh USING (txgroup_id)\nWHERE t.timestamp >= $__from/1000 AND t.timestamp <= $__to/1000",
808
783
  "refId": "A",
809
- "timeColumns": [
810
- "time",
811
- "ts"
812
- ]
784
+ "timeColumns": ["time", "ts"]
813
785
  }
814
786
  ],
815
787
  "title": "Total",
816
788
  "type": "stat"
817
789
  }
818
790
  ],
819
- "refresh": false,
820
- "schemaVersion": 38,
821
- "tags": [],
791
+ "preload": false,
792
+ "refresh": "",
793
+ "schemaVersion": 41,
794
+ "tags": ["cashflow", "unsorted"],
822
795
  "templating": {
823
796
  "list": []
824
797
  },
@@ -829,7 +802,7 @@
829
802
  "timepicker": {},
830
803
  "timezone": "",
831
804
  "title": "Total Cashflow Summary (Including Unsorted)",
805
+ "description": "Offers a complete picture of all DAO cashflows, including both sorted and unsorted transactions. This dashboard is ideal for tracking transactions still pending categorization and understanding their impact on overall cashflow.",
832
806
  "uid": "2b6e7c1d-8f4a-4e3b-9b2a-1c7d8e9f0a2b",
833
- "version": 1,
834
- "weekStart": ""
807
+ "version": 7
835
808
  }