Commit Graph

63 Commits

Author SHA1 Message Date
a9d4afd1df bash: lib_fetch: prices: CLI: allow multiple APIs
- Fetch from all available price APIs within a single command
  * allows passing multiple CLI APIs to `api` argument
  * will now fetch from all available APIs if `api` is not given
  * will warn if API config block is missing or die of no APIs are found
- Related refactoring
2024-06-18 18:59:42 -07:00
d5a1897e39 README: add CoinGecko and Mobula to Prices 2024-06-17 23:15:23 -07:00
cb7eb80cb5 php: fetch: prices: crypto: use inherited doxygen 2024-06-17 23:15:23 -07:00
b2f59764fc client: fetch.yaml.in: update to latest price impl 2024-06-17 23:15:23 -07:00
c8fde5ad64 bash: lib_fetch: refactor 'symbol' as 'asset' or 'ticker'
Clarity through specificity.
2024-06-17 23:15:23 -07:00
fcf7e3dd6b php: fetch: prices: refactor 'symbol' as 'asset' or 'ticker'
Clarity through specificity.
2024-06-17 23:15:23 -07:00
ae1dc71559 php: fetch: prices: support asset's blockchain(s)
- Related refactoring
- Update documentation
2024-06-17 23:15:23 -07:00
bf4c9bf61a php: fetch: prices: refactor parsing; common impl
- Move daily average into common impl
- Update parsing function signature
- Update documentation
2024-06-17 23:15:23 -07:00
9d1c0c9c57 php: fetch: prices: add Mobula support 2024-06-17 23:15:22 -07:00
55c893e010 Dockerfiles: remove PHP codenixsv/coingecko-api
Replaced by custom implementation.
2024-06-17 23:15:22 -07:00
1dce605854 php: fetch: prices: generalize crypto APIs' filename, namespace refactor 2024-06-17 23:15:22 -07:00
103553c696 php: fetch: prices: base: print thrown message 2024-06-17 23:15:22 -07:00
e632c44bc3 php: fetch: prices: coingecko: remove upstream client, add API key support
- Removes `codenixsv/coingecko-api`
- Adds Pro API support
- Related refactoring
2024-06-17 23:15:22 -07:00
52026cace1 php: fetch: prices: new functionality / refactor
- Add support for multiple aggregator APIs
- Refactor `prices` API implementation
- Update documentation
2024-06-17 23:15:22 -07:00
e9e8b84bd8 bash: lib_fetch: add CLI (prices) aggregator-API support 2024-06-17 21:34:36 -07:00
3dfb9f73fc Merge pull request #58 into master
5eaf261 Dockerfiles: finance/dev-tools: remove default 'ubuntu' user (Aaron Fiore)
958cf11 Dockerfiles: finance/dev-tools: remove timezone mount (Aaron Fiore)
2024-06-13 15:22:28 -07:00
5eaf261875 Dockerfiles: finance/dev-tools: remove default 'ubuntu' user
For Ubuntu-based images, remove upstream-added default 'ubuntu' user as
it may conflict with host's given UID/GID during docker-finance build.
2024-06-13 15:20:55 -07:00
958cf11be3 Dockerfiles: finance/dev-tools: remove timezone mount
When running `finance` image's `import` command (but only when
container's hledger-flow coinbase/coinbase-pro accounts are imported),
the following error is given:

  ```
  IsADirectoryError: [Errno 21] Is a directory: '/etc/timezone'
  Selector name 'id' does not exist as a named header in the given CSV data.
  ```

specifically, after enabling verbose printing of `csvjoin` (which is only
used within these accounts), the following error is given:

  ```
  File "/home/user/.local/share/pipx/venvs/csvkit/lib/python3.12/site-packages/babel/localtime/_unix.py", line 57, in _get_localzone
    with open(tzpath, 'rb') as tzfile:
         ^^^^^^^^^^^^^^^^^^
  ```

where all errors prevent the successful import of applicable accounts.

The python error appears to have been introduced in csvkit 2.0.0 and
appears to be the result of an upstream decision (or bug) to not test
whether /etc/timezone is a directory or a file (Arch Linux treats
/etc/timezone as a directory).

Fortunately, docker-finance's mounting of /etc/localtime appears to
satisfy use-case requirements; so, /etc/timezone is no longer needed.

Removing /etc/timezone resolves all errors.
2024-06-13 15:20:33 -07:00
bc1485b4ca Merge pull request #57 into master
80fbd64 README: update keyserver for repo verification (Aaron Fiore)
2024-06-12 22:39:29 -07:00
80fbd64fd1 README: update keyserver for repo verification
GnuPG's is proving to be regularly unavailable.
2024-06-11 19:42:46 -07:00
8f03cb0ef8 Merge pull request #56 into master
71960c1 hledger-flow: coinbase: allow 1INCH parsing (Aaron Fiore)
ce61e85 hledger-flow: gemini: allow 1INCH transfers (Aaron Fiore)
2024-06-11 16:14:33 -07:00
71960c106a hledger-flow: coinbase: allow 1INCH parsing 2024-06-10 18:09:13 -07:00
ce61e854ae hledger-flow: gemini: allow 1INCH transfers 2024-06-10 18:05:07 -07:00
a85ce38ef3 Merge pull request #55 into master
a3d4726 hledger-flow: ethereum-based: add to Ethereum spam rules (Aaron Fiore)
2024-06-07 13:58:13 -07:00
3f2328d3df Merge pull request #54 into master
168ff32 hledger-flow: algorand: add to spam rules (Aaron Fiore)
2024-06-07 13:56:25 -07:00
4be51e384b Merge pull request #53 into master
a08ae20 hledger-flow: ally: add eCheck deposit rule (Aaron Fiore)
290aa7c hledger-flow: ally: comment cleanup (Aaron Fiore)
36d99e1 hledger-flow: ally: regex anchor for Direction (Aaron Fiore)
f12754c hledger-flow: ally: remove quotes in Description (Aaron Fiore)
3040fb9 hledger-flow: ally: fix Description (Aaron Fiore)
2024-06-07 13:53:51 -07:00
a08ae2098e hledger-flow: ally: add eCheck deposit rule 2024-06-07 13:33:01 -07:00
a3d4726c18 hledger-flow: ethereum-based: add to Ethereum spam rules 2024-06-06 19:12:57 -07:00
168ff3219b hledger-flow: algorand: add to spam rules 2024-06-06 18:52:59 -07:00
290aa7c933 hledger-flow: ally: comment cleanup
Case-sensitive representation of header columns
2024-06-06 18:42:30 -07:00
36d99e1da3 hledger-flow: ally: regex anchor for Direction 2024-06-06 18:42:28 -07:00
f12754c98a hledger-flow: ally: remove quotes in Description 2024-06-06 18:34:08 -07:00
3040fb9e60 hledger-flow: ally: fix Description
Descriptions with leading space were falsely included as `Type` tag
2024-06-06 18:32:22 -07:00
51c78ab5e1 Merge pull request #52 into master
e6ab8b5 hledger-flow: gemini: allow optional on-chain transfers (Aaron Fiore)
2024-05-30 15:25:03 -07:00
e6ab8b5ddf hledger-flow: gemini: allow optional on-chain transfers
Fixes "does not exist as a named header in the given CSV data." when
on-chain transfer does not (yet) exist for given year.
2024-05-29 19:36:28 -07:00
cc0cbd06b5 Merge pull request #50 into master
71a57e3 hledger-flow: coinbase: Coinbase Trade: remove comment2 overwrite (Aaron Fiore)
2024-05-10 20:56:53 -07:00
71a57e3869 hledger-flow: coinbase: Coinbase Trade: remove comment2 overwrite
- Use Buy total for cost-basis instead of subtotal overwrite
  - Remove redundant Sell overwrite

Fixup to pull request #49
2024-05-06 18:56:10 -07:00
34034135a0 Merge pull request #49 into master
71fc44b hledger-flow: coinbase: update mockups (SIWC V2 compliant) (Aaron Fiore)
f65a15a hledger-flow: coinbase: new implementation (SIWC V2 compliant) (Aaron Fiore)
e70c899 fetch: php: coinbase: add debug printing, tiny refactor (Aaron Fiore)
2024-05-06 15:09:16 -07:00
71fc44bb63 hledger-flow: coinbase: update mockups (SIWC V2 compliant) 2024-05-06 14:55:53 -07:00
f65a15af2c hledger-flow: coinbase: new implementation (SIWC V2 compliant)
- Support for Coinbase SIWC Spring 2024's breaking API changes
  - Coinbase Advanced Trade lot calculation fixes
  - bitcoin.tax undocumented cost-basis "feature" fixes
      * Coinbase Trade / Advanced Trade
  - bitcoin.tax cost-basis related improvements
      * Coinbase Card / Earn
  - Support non-fiat pairings
      * Coinbase Trade / Advanced Trade
  - Add more fiat support
      * 99% supported (see backreference TODOs)
  - Subaccount improvements
  - New tags / improved tags
  - Refactoring / optimizations
2024-05-06 14:55:53 -07:00
e70c899f90 fetch: php: coinbase: add debug printing, tiny refactor 2024-05-03 17:01:23 -07:00
3c0e236aba Merge pull request #47 into master
10a08af hledger-flow: paypal-business: account for Account Hold (Aaron Fiore)
2024-05-03 16:52:22 -07:00
10a08af7c8 hledger-flow: paypal-business: account for Account Hold 2024-04-22 16:25:44 -07:00
cc4994f6e1 Merge pull request #46 into master
b0794b3 hledger-flow: algorand: add to Governance Rewards (Aaron Fiore)
7437f87 hledger-flow: algorand: add to spam rules (Aaron Fiore)
2024-04-15 16:00:29 -07:00
b0794b3650 hledger-flow: algorand: add to Governance Rewards 2024-04-15 15:56:28 -07:00
7437f87f20 hledger-flow: algorand: add to spam rules 2024-04-15 15:56:28 -07:00
bca788007b Merge pull request #45 into master
784f576 hledger-flow: ethereum-based: add Aave V2 -> V3 Migration Helper support (Aaron Fiore)
d31ed3a hledger-flow: ethereum-based: add to Ethereum spam rules (Aaron Fiore)
2024-04-08 16:10:13 -07:00
784f576eab hledger-flow: ethereum-based: add Aave V2 -> V3 Migration Helper support 2024-04-03 00:08:18 -07:00
d31ed3a18b hledger-flow: ethereum-based: add to Ethereum spam rules 2024-04-03 00:08:09 -07:00
0eb6813511 Merge pull request #44 into master
937a217 hledger-flow: btcpayserver: preprocess: fix YYY comment typo (Aaron Fiore)
2024-03-27 23:28:55 -07:00