Commit Graph

206 Commits

Author SHA1 Message Date
7f86b6a250 client: add preliminary bash completion 2024-08-05 16:22:21 -07:00
46112a9d43 container: add preliminary bash autocompletion 2024-08-05 16:22:19 -07:00
468b1b02fa Merge pull request #102 into master
d7b25e0 php: fetch: prices: base: catch unrecoverable CoinGecko error (Aaron Fiore)
f222a5e php: fetch: prices: crypto: throw errors with nested status (Aaron Fiore)
2024-07-30 23:09:25 -07:00
d7b25e0dae php: fetch: prices: base: catch unrecoverable CoinGecko error
Thrown when 'all' years are requested without paid-plan API key.
2024-07-30 22:54:04 -07:00
f222a5e654 php: fetch: prices: crypto: throw errors with nested status 2024-07-30 22:47:57 -07:00
c1088a1f83 Merge pull request #100 into master
7e1bd8f client: bump version to v1.0.0-beta.2 (Aaron Fiore)
v1.0.0-beta.2
2024-07-30 19:18:49 -07:00
7e1bd8f5e2 client: bump version to v1.0.0-beta.2 2024-07-30 19:16:10 -07:00
f13b4e3c08 Merge pull request #99 into master
de9efea CHANGELOG: add v1.0.0-beta -> v1.0.0-beta.2 (Aaron Fiore)
2024-07-30 19:12:15 -07:00
de9efea245 CHANGELOG: add v1.0.0-beta -> v1.0.0-beta.2 2024-07-30 19:05:45 -07:00
6c92dbd56e Merge pull request #101 into master
5609704 bash: lib_fetch: create prices dir if nonexistent (Aaron Fiore)
2024-07-30 19:04:26 -07:00
5609704b25 bash: lib_fetch: create prices dir if nonexistent 2024-07-30 19:02:26 -07:00
7e09f044a5 Merge pull request #98 into master
5ed63e6 README: various updates/fixes (Aaron Fiore)
2024-07-30 18:29:51 -07:00
5ed63e63ef README: various updates/fixes
- Reflects the latest impl
- Adds various clarifications
- Adds clarity to environment `gen`
- Fixes/Improves installation notes/process
2024-07-30 18:21:20 -07:00
7881f80b62 Merge pull request #97 into master
6b5c8af client: docker.bash: fix help usage (dev-tools alias) (Aaron Fiore)
e9bd7f3 client: lib_docker: add USER/WORKDIR to finalize Dockerfile (Aaron Fiore)
c49e0ad client: lib_gen: fix missing directory slash (Aaron Fiore)
2024-07-29 16:28:18 -07:00
ad903387c8 Merge pull request #96 into master
731a8c9 hledger-flow: changelly: cost-basis comments for bitcoin.tax (Aaron Fiore)
f228da9 hledger-flow: bittrex: cost-basis work-around for bitcoin.tax (Aaron Fiore)
1975e1d hledger-flow: coinbase: cost-basis work-around for bitcoin.tax (Aaron Fiore)
2c1b896 hledger-flow: gemini: exchange: cost-basis work-around for bitcoin.tax (Aaron Fiore)
6d119df container: lib_taxes: cost-basis work-around for bitcoin.tax (Aaron Fiore)
2024-07-29 16:21:51 -07:00
731a8c9563 hledger-flow: changelly: cost-basis comments for bitcoin.tax
Issue #51 describes at least a few undocumented bitcoin.tax issues:

  - Bicoin.tax gives unexpected cost-basis results when `Fee` is given
    with `Total` (when `Total` is given in place of `Price`). The
    expectation is that bitcoin.tax will perform the cost-basis
    calculation on `Total` when `Fee` is also given.

    However, bitcoin.tax *will* give expected cost-basis results if
    `Price` is given in place of `Total` (with `Fee` also given) *or* if
    `Total` is given *after* local cost-basis adjustments are made (but
    *without* `Fee` given).

    The rationale for why docker-finance doesn't use `Price`:

      * docker-finance has all of the `Total`s; so `Price` isn't
        necessary.

      * Local price information isn't available for most trades (and
        shouldn't be necessary since all `Total`s are available).

  - Additionally, when `Fee` is non-fiat (crypto), it now must be marked
    as a SPEND in order to be disposed (and to produce an accurate
    closing report).

  - Finally, if `FeeCurrency` *does* not match either `Symbol` or
    `Currency` (e.g., BTC-ETH w/ BNB fee), it's unknown if cost-basis
    must be calculated locally as well (if `Total` is given). Local
    calculations cannot be done because `Fee` price information is
    (almost certainly) not available for this type of trade.

Until upstream can assert that attaching the `Fee` will subsequently
adjust the cost-basis of `Total` *and* dispose of the `Fee` in the
process (while also allowing `Total` to be used in place of `Price`),
the `Fee` (and `FeeCurrency`) column(s) must not be populated and values
instead moved to SPEND (as described above).

Upstream is aware of these issues (since May) and they're in the process
of resolution. In the meantime, docker-finance work-arounds should
suffice for all trades that have a fiat `Fee` and/or a
`Fee`/`FeeCurrency` that matches one side of the trading pair.
2024-07-29 16:15:50 -07:00
f228da98d8 hledger-flow: bittrex: cost-basis work-around for bitcoin.tax
Issue #51 describes at least a few undocumented bitcoin.tax issues:

  - Bicoin.tax gives unexpected cost-basis results when `Fee` is given
    with `Total` (when `Total` is given in place of `Price`). The
    expectation is that bitcoin.tax will perform the cost-basis
    calculation on `Total` when `Fee` is also given.

    However, bitcoin.tax *will* give expected cost-basis results if
    `Price` is given in place of `Total` (with `Fee` also given) *or* if
    `Total` is given *after* local cost-basis adjustments are made (but
    *without* `Fee` given).

    The rationale for why docker-finance doesn't use `Price`:

      * docker-finance has all of the `Total`s; so `Price` isn't
        necessary.

      * Local price information isn't available for most trades (and
        shouldn't be necessary since all `Total`s are available).

  - Additionally, when `Fee` is non-fiat (crypto), it now must be marked
    as a SPEND in order to be disposed (and to produce an accurate
    closing report).

  - Finally, if `FeeCurrency` *does* not match either `Symbol` or
    `Currency` (e.g., BTC-ETH w/ BNB fee), it's unknown if cost-basis
    must be calculated locally as well (if `Total` is given). Local
    calculations cannot be done because `Fee` price information is
    (almost certainly) not available for this type of trade.

Until upstream can assert that attaching the `Fee` will subsequently
adjust the cost-basis of `Total` *and* dispose of the `Fee` in the
process (while also allowing `Total` to be used in place of `Price`),
the `Fee` (and `FeeCurrency`) column(s) must not be populated and values
instead moved to SPEND (as described above).

Upstream is aware of these issues (since May) and they're in the process
of resolution. In the meantime, docker-finance work-arounds should
suffice for all trades that have a fiat `Fee` and/or a
`Fee`/`FeeCurrency` that matches one side of the trading pair.
2024-07-29 16:15:50 -07:00
6b5c8af925 client: docker.bash: fix help usage (dev-tools alias) 2024-07-27 22:10:35 -07:00
e9bd7f322f client: lib_docker: add USER/WORKDIR to finalize Dockerfile
Guarantees that any additions to custom Dockerfile (or a missing custom)
will not prevent bringing `up` a container into the correct environment.
2024-07-27 16:32:42 -07:00
c49e0ad795 client: lib_gen: fix missing directory slash 2024-07-27 16:26:17 -07:00
1975e1dbbb hledger-flow: coinbase: cost-basis work-around for bitcoin.tax
Issue #51 describes at least a few undocumented bitcoin.tax issues:

  - Bicoin.tax gives unexpected cost-basis results when `Fee` is given
    with `Total` (when `Total` is given in place of `Price`). The
    expectation is that bitcoin.tax will perform the cost-basis
    calculation on `Total` when `Fee` is also given.

    However, bitcoin.tax *will* give expected cost-basis results if
    `Price` is given in place of `Total` (with `Fee` also given) *or* if
    `Total` is given *after* local cost-basis adjustments are made (but
    *without* `Fee` given).

    The rationale for why docker-finance doesn't use `Price`:

      * docker-finance has all of the `Total`s; so `Price` isn't
        necessary.

      * Local price information isn't available for most trades (and
        shouldn't be necessary since all `Total`s are available).

  - Additionally, when `Fee` is non-fiat (crypto), it now must be marked
    as a SPEND in order to be disposed (and to produce an accurate
    closing report).

  - Finally, if `FeeCurrency` *does* not match either `Symbol` or
    `Currency` (e.g., BTC-ETH w/ BNB fee), it's unknown if cost-basis
    must be calculated locally as well (if `Total` is given). Local
    calculations cannot be done because `Fee` price information is
    (almost certainly) not available for this type of trade.

Until upstream can assert that attaching the `Fee` will subsequently
adjust the cost-basis of `Total` *and* dispose of the `Fee` in the
process (while also allowing `Total` to be used in place of `Price`),
the `Fee` (and `FeeCurrency`) column(s) must not be populated and values
instead moved to SPEND (as described above).

Upstream is aware of these issues (since May) and they're in the process
of resolution. In the meantime, docker-finance work-arounds should
suffice for all trades that have a fiat `Fee` and/or a
`Fee`/`FeeCurrency` that matches one side of the trading pair.
2024-07-27 00:20:40 -07:00
2c1b896951 hledger-flow: gemini: exchange: cost-basis work-around for bitcoin.tax
Issue #51 describes at least a few undocumented bitcoin.tax issues:

  - Bicoin.tax gives unexpected cost-basis results when `Fee` is given
    with `Total` (when `Total` is given in place of `Price`). The
    expectation is that bitcoin.tax will perform the cost-basis
    calculation on `Total` when `Fee` is also given.

    However, bitcoin.tax *will* give expected cost-basis results if
    `Price` is given in place of `Total` (with `Fee` also given) *or* if
    `Total` is given *after* local cost-basis adjustments are made (but
    *without* `Fee` given).

    The rationale for why docker-finance doesn't use `Price`:

      * docker-finance has all of the `Total`s; so `Price` isn't
        necessary.

      * Local price information isn't available for most trades (and
        shouldn't be necessary since all `Total`s are available).

  - Additionally, when `Fee` is non-fiat (crypto), it now must be marked
    as a SPEND in order to be disposed (and to produce an accurate
    closing report).

  - Finally, if `FeeCurrency` *does* not match either `Symbol` or
    `Currency` (e.g., BTC-ETH w/ BNB fee), it's unknown if cost-basis
    must be calculated locally as well (if `Total` is given). Local
    calculations cannot be done because `Fee` price information is
    (almost certainly) not available for this type of trade.

Until upstream can assert that attaching the `Fee` will subsequently
adjust the cost-basis of `Total` *and* dispose of the `Fee` in the
process (while also allowing `Total` to be used in place of `Price`),
the `Fee` (and `FeeCurrency`) column(s) must not be populated and values
instead moved to SPEND (as described above).

Upstream is aware of these issues (since May) and they're in the process
of resolution. In the meantime, docker-finance work-arounds should
suffice for all trades that have a fiat `Fee` and/or a
`Fee`/`FeeCurrency` that matches one side of the trading pair.
2024-07-27 00:20:31 -07:00
6d119df31b container: lib_taxes: cost-basis work-around for bitcoin.tax
Issue #51 describes at least a few undocumented bitcoin.tax issues:

  - Bicoin.tax gives unexpected cost-basis results when `Fee` is given
    with `Total` (when `Total` is given in place of `Price`). The
    expectation is that bitcoin.tax will perform the cost-basis
    calculation on `Total` when `Fee` is also given.

    However, bitcoin.tax *will* give expected cost-basis results if
    `Price` is given in place of `Total` (with `Fee` also given) *or* if
    `Total` is given *after* local cost-basis adjustments are made (but
    *without* `Fee` given).

    The rationale for why docker-finance doesn't use `Price`:

      * docker-finance has all of the `Total`s; so `Price` isn't
        necessary.

      * Local price information isn't available for most trades (and
        shouldn't be necessary since all `Total`s are available).

  - Additionally, when `Fee` is non-fiat (crypto), it now must be marked
    as a SPEND in order to be disposed (and to produce an accurate
    closing report).

  - Finally, if `FeeCurrency` *does* not match either `Symbol` or
    `Currency` (e.g., BTC-ETH w/ BNB fee), it's unknown if cost-basis
    must be calculated locally as well (if `Total` is given). Local
    calculations cannot be done because `Fee` price information is
    (almost certainly) not available for this type of trade.

Until upstream can assert that attaching the `Fee` will subsequently
adjust the cost-basis of `Total` *and* dispose of the `Fee` in the
process (while also allowing `Total` to be used in place of `Price`),
the `Fee` (and `FeeCurrency`) column(s) must not be populated and values
instead moved to SPEND (as described above).

Upstream is aware of these issues (since May) and they're in the process
of resolution. In the meantime, docker-finance work-arounds should
suffice for all trades that have a fiat `Fee` and/or a
`Fee`/`FeeCurrency` that matches one side of the trading pair.
2024-07-27 00:20:22 -07:00
5b3693ebc1 Merge pull request #95 into master
e7eb92c root: macro: rootlogon.C: update usage (Aaron Fiore)
7901421 root: macro: crypto: add random.C (Aaron Fiore)
480b42e root: test: Random: assert multiple types (Aaron Fiore)
879eb6f root: src: Random: support multiple types (Aaron Fiore)
1092cd4 root: macro: crypto: add hash.C (Aaron Fiore)
b08187a root: macro: common: crypto: use type aliases (Aaron Fiore)
2024-07-24 15:06:35 -07:00
e7eb92cb33 root: macro: rootlogon.C: update usage
- Adds crypto examples
- Updates/clarifies comments
2024-07-24 15:02:21 -07:00
7901421fd4 root: macro: crypto: add random.C
Generates CSPRNG numbers of various types (impl-specific).
2024-07-24 15:02:21 -07:00
480b42e273 root: test: Random: assert multiple types
- Add test cases for multiple types
- Rewrite to include new interface/impl
- Fix assertion test to not exceed error boundary
2024-07-23 22:21:41 -07:00
879eb6f785 root: src: Random: support multiple types
Allows signed/alternative-unsigned types (impl-specific).
2024-07-23 22:21:41 -07:00
1092cd4adc root: macro: crypto: add hash.C
Generates encoded digests using all available cryptographic libraries.
2024-07-23 20:28:59 -07:00
b08187abba root: macro: common: crypto: use type aliases
Will make accessing scoped tag types a breeze.
2024-07-23 20:27:20 -07:00
3b204c5ccc Merge pull request #94 into master
0b15857 root: macro: test: reorg/refactor unit/benchmark (Aaron Fiore)
5c47cee root: macro: crypto: namespace refactor into common (Aaron Fiore)
c3aee1d root: macro: web: namespace refactor into common (Aaron Fiore)
a009142 root: macro: utility: namespace refactor into common (Aaron Fiore)
8eda51c root: macro: web: crypto: refactor class name (Aaron Fiore)
aeacc69 root: macro: web: namespace/class name refactor (Aaron Fiore)
f8494c1 root: macro: web/server common code refactor (Aaron Fiore)
fbf8b7f root: macro: factor out common code into utility (Aaron Fiore)
09c45c7 root: macro: layout reorg, related refactor (Aaron Fiore)
2024-07-23 15:24:44 -07:00
0b15857414 root: macro: test: reorg/refactor unit/benchmark 2024-07-23 15:16:33 -07:00
5c47cee552 root: macro: crypto: namespace refactor into common 2024-07-23 15:16:33 -07:00
c3aee1dee8 root: macro: web: namespace refactor into common 2024-07-23 15:16:33 -07:00
a0091423d1 root: macro: utility: namespace refactor into common 2024-07-23 15:16:33 -07:00
8eda51c6bc root: macro: web: crypto: refactor class name
Intended to be used only for RNG.
2024-07-23 15:16:33 -07:00
aeacc69788 root: macro: web: namespace/class name refactor 2024-07-23 15:16:33 -07:00
f8494c18b4 root: macro: web/server common code refactor 2024-07-23 15:16:33 -07:00
fbf8b7ffae root: macro: factor out common code into utility 2024-07-22 17:41:34 -07:00
09c45c794b root: macro: layout reorg, related refactor 2024-07-22 17:41:33 -07:00
d2788cc511 Merge pull request #93 into master
c332e71 hledger-flow: capital-one: bank: mockup: reorder columns (Aaron Fiore)
ba0e6f7 hledger-flow: ledger: mockup: add Status column (Aaron Fiore)
2024-07-20 00:33:35 -07:00
c332e71fda hledger-flow: capital-one: bank: mockup: reorder columns
New column order was introduced in #80.
2024-07-20 00:31:30 -07:00
ba0e6f7f2d hledger-flow: ledger: mockup: add Status column
New column was introduced in #73.
2024-07-20 00:31:30 -07:00
cc1abfffd9 Merge pull request #92 into master
cbe5a10 client: lib_gen: fix custom Dockerfile path (Aaron Fiore)
2024-07-20 00:26:28 -07:00
29c61b21fc Merge pull request #91 into master
64ada34 hledger-flow: ethereum-based: add to Ethereum spam rules (Aaron Fiore)
2024-07-20 00:23:45 -07:00
cbe5a107ee client: lib_gen: fix custom Dockerfile path
Fixup to #90.
2024-07-19 23:24:13 -07:00
64ada34fd4 hledger-flow: ethereum-based: add to Ethereum spam rules 2024-07-19 22:27:20 -07:00
723266186e Merge pull request #90 into master
c34fd15 client: lib_gen: fix environment reader/resetter (Aaron Fiore)
af53346 client: lib_gen: rewrite/fix global env gen (Aaron Fiore)
7118a39 client: optimize/refactor repository path (Aaron Fiore)
cd96815 client: docker.bash: usage update/refactor (Aaron Fiore)
2024-07-19 18:03:24 -07:00
c34fd15a51 client: lib_gen: fix environment reader/resetter
- Fixes default env generation if current env exists
    * was not unsetting all previously exported env
- Adds debug output
2024-07-19 17:52:38 -07:00
af533460ec client: lib_gen: rewrite/fix global env gen
- Fixes resetting of globals after sourcing custom env file (location)
- Reorganizes flow logic
- Related refactoring
- Clarifies comments
- Adds debug output
2024-07-19 16:48:40 -07:00