Releases: Chia-Network/cadt
Releases · Chia-Network/cadt
1.7.26-rc32
Release 1.7.26-rc32 * fix: compare task intervals numerically in diagnostics ([f31612f](https://github.com/Chia-Network/cadt/commit/f31612f)) * fix(API): mirror chia is_trusted_peer in /diagnostics trusted peers ([86c958b](https://github.com/Chia-Network/cadt/commit/86c958b)) * fix(API): report unknown trust when chia config is unavailable ([b003033](https://github.com/Chia-Network/cadt/commit/b003033)) * feat(API): gate /diagnostics chia-tools check on chia locality ([9810398](https://github.com/Chia-Network/cadt/commit/9810398)) * feat(API): report non-default task intervals in diagnostics ([2f74d8e](https://github.com/Chia-Network/cadt/commit/2f74d8e)) * feat(APP): purge removed-org data on orglist reconcile ([8cca78d](https://github.com/Chia-Network/cadt/commit/8cca78d)) * chore(APP): change 300s task intervals to 120s ([87588db](https://github.com/Chia-Network/cadt/commit/87588db)) * chore(APP): stop rewriting task intervals on config load ([e1fdf73](https://github.com/Chia-Network/cadt/commit/e1fdf73)) * chore(APP): update task sync interval defaults ([adb5eba](https://github.com/Chia-Network/cadt/commit/adb5eba)) * chore(deps): bump Apple-Actions/import-codesign-certs from 6 to 7 ([c828fd8](https://github.com/Chia-Network/cadt/commit/c828fd8)) * chore(deps): bump Apple-Actions/import-codesign-certs from 6 to 7 ([b6fb8bb](https://github.com/Chia-Network/cadt/commit/b6fb8bb)) * docs(API): document /diagnostics system endpoints ([42a8006](https://github.com/Chia-Network/cadt/commit/42a8006)) * test: harden v2 empty-check and add mirror gate unit tests ([892dd9b](https://github.com/Chia-Network/cadt/commit/892dd9b))
1.7.26-rc31
Release 1.7.26-rc31 * refactor: share mirror in-sync gate between v1 and v2 ([9c440f0](https://github.com/Chia-Network/cadt/commit/9c440f0)) * refactor(V2): move non-home sync wait into data-short orchestrator ([fd141bb](https://github.com/Chia-Network/cadt/commit/fd141bb)) * fix: harden config loader against partial config reads ([e16880c](https://github.com/Chia-Network/cadt/commit/e16880c)) * fix: prevent SQLITE_BUSY on concurrent v2 writes ([95792e4](https://github.com/Chia-Network/cadt/commit/95792e4)) * fix: stop double-running mirror backfill on cold start ([4aae47d](https://github.com/Chia-Network/cadt/commit/4aae47d)) * fix(V2): align hasOwnershipFields null check with collectOwnerOrgUids ([554c2db](https://github.com/Chia-Network/cadt/commit/554c2db)) * fix(V2): align join-table ownership detection with resolution ([e9f826b](https://github.com/Chia-Network/cadt/commit/e9f826b)) * fix(V2): allow mutations on ownerless records and skip non-home project tests ([a0dd448](https://github.com/Chia-Network/cadt/commit/a0dd448)) * fix(V2): block staged mutations of records with unresolvable owner ([902f4f4](https://github.com/Chia-Network/cadt/commit/902f4f4)) * fix(V2): clarify ownership restriction message ([2b1715e](https://github.com/Chia-Network/cadt/commit/2b1715e)) * fix(V2): discover home-owned prerequisites in XLSX live tests ([cde41fc](https://github.com/Chia-Network/cadt/commit/cde41fc)) * fix(V2): enable governance sync in v2 live api tests for ownership coverage ([8a7350f](https://github.com/Chia-Network/cadt/commit/8a7350f)) * fix(V2): enforce ownership for staged mutations ([ce1577e](https://github.com/Chia-Network/cadt/commit/ce1577e)) * fix(V2): exclude cross-ref FKs from join table ownership resolution ([dd28d78](https://github.com/Chia-Network/cadt/commit/dd28d78)) * fix(V2): move non-home ownership tests to v2 remote sync CI job ([80e678c](https://github.com/Chia-Network/cadt/commit/80e678c)) * fix(V2): read home org within caller transaction in ownership guard ([0baec07](https://github.com/Chia-Network/cadt/commit/0baec07)) * fix(V2): replace _.snakeCase with digit-safe camelToSnake converter ([8fc5963](https://github.com/Chia-Network/cadt/commit/8fc5963)) * fix(V2): resolve home org without shared-setup state in data-short ([bf7c07b](https://github.com/Chia-Network/cadt/commit/bf7c07b)) * fix(V2): scope live-api empty-db check to home org ([daccd2a](https://github.com/Chia-Network/cadt/commit/daccd2a)) * fix(V2): scope live-api XLSX round-trip to home org ([2ea65d3](https://github.com/Chia-Network/cadt/commit/2ea65d3)) * fix(V2): stop deep recursion and forward unresolved fields in ownership check ([57f823e](https://github.com/Chia-Network/cadt/commit/57f823e)) * test(V2): align reference guard assertions ([c0dce25](https://github.com/Chia-Network/cadt/commit/c0dce25)) * test(V2): cover live non-home project mutations ([4bc04e4](https://github.com/Chia-Network/cadt/commit/4bc04e4)) * test(V2): require synced non-home project live coverage ([53a5083](https://github.com/Chia-Network/cadt/commit/53a5083)) * test(V2): restore reference-guard error-message assertions ([29c6003](https://github.com/Chia-Network/cadt/commit/29c6003)) * test(V2): stop running governance sync in v2 live-api job ([b2775aa](https://github.com/Chia-Network/cadt/commit/b2775aa)) * perf(V2): resolve home org once per mutation guard invocation ([5d5323f](https://github.com/Chia-Network/cadt/commit/5d5323f)) * docs(V2): document referential integrity guards for remaining DELETE endpoints ([f55189d](https://github.com/Chia-Network/cadt/commit/f55189d))
1.7.26-rc30
Release 1.7.26-rc30 * refactor: drop redundant orglist length guard in resubscribe check ([58faac4](https://github.com/Chia-Network/cadt/commit/58faac4)) * chore(APP): default ONLY_CADT_SUBSCRIPTIONS to true ([a09cdec](https://github.com/Chia-Network/cadt/commit/a09cdec)) * feat(APP): add ONLY_CADT_SUBSCRIPTIONS orglist reconcile ([b35bf3b](https://github.com/Chia-Network/cadt/commit/b35bf3b))
1.7.26-rc29
Release 1.7.26-rc29 * fix: add error handling to getChiaVersion and TLS override to fullNodeRpc ([bcde8d9](https://github.com/Chia-Network/cadt/commit/bcde8d9)) * fix: add TRUST_PROXY config to support deployments behind reverse proxies ([77498df](https://github.com/Chia-Network/cadt/commit/77498df)) * fix: add TRUST_PROXY to docker-entrypoint.sh env var wiring ([a3b7943](https://github.com/Chia-Network/cadt/commit/a3b7943)) * fix: await call for callback function in datalayer.getStoreData ([4a2813d](https://github.com/Chia-Network/cadt/commit/4a2813d)) * fix: coerce TRUST_PROXY to integer before passing to Express ([b3315ea](https://github.com/Chia-Network/cadt/commit/b3315ea)) * fix: doc indent fix ([8aa7232](https://github.com/Chia-Network/cadt/commit/8aa7232)) * fix: override ip-address to 10.1.1 ([c43d344](https://github.com/Chia-Network/cadt/commit/c43d344)) * fix: persist v1/v2 org-creation progress incrementally and fix v2 helper endpoint ([8550c8f](https://github.com/Chia-Network/cadt/commit/8550c8f)) * fix: propagate FAILED-state errors from inner status-check catch ([db63b08](https://github.com/Chia-Network/cadt/commit/db63b08)) * fix: upgrade express-rate-limit and retryAfter math ([8ec3e31](https://github.com/Chia-Network/cadt/commit/8ec3e31)) * fix(API): prefer frsize over bsize for disk-space calculation ([286fcbb](https://github.com/Chia-Network/cadt/commit/286fcbb)) * fix(API): reject non-integer TRUST_PROXY values instead of NaN ([499634f](https://github.com/Chia-Network/cadt/commit/499634f)) * fix(API): remove redundant walletIsSynced call that raced on error slot ([479b8e1](https://github.com/Chia-Network/cadt/commit/479b8e1)) * fix(API): return 500 instead of 200 on diagnostics endpoint failure ([28b0a1e](https://github.com/Chia-Network/cadt/commit/28b0a1e)) * fix(API): short-circuit read-only path before heavy imports and tighten network match ([ccd661b](https://github.com/Chia-Network/cadt/commit/ccd661b)) * fix(API): surface wallet connection errors in trusted peer view ([e4e12df](https://github.com/Chia-Network/cadt/commit/e4e12df)) * fix(API): treat CHIA_NETWORK as binary mainnet vs testnet in /diagnostics ([5275d27](https://github.com/Chia-Network/cadt/commit/5275d27)) * fix(API): treat failed ps scan as unreliable in diagnostics ([aa6a7ff](https://github.com/Chia-Network/cadt/commit/aa6a7ff)) * fix(API): use strict equality for syncMode in full-node diagnostics ([83e3c7b](https://github.com/Chia-Network/cadt/commit/83e3c7b)) * fix(API): use truthy check for READ_ONLY in /diagnostics handler ([56e22b3](https://github.com/Chia-Network/cadt/commit/56e22b3)) * fix(DEPS): bump diff override to 8.0.4 for sinon compatibility ([a175a73](https://github.com/Chia-Network/cadt/commit/a175a73)) * fix(DEPS): resolve npm audit vulnerabilities on v2-rc2 ([8fb200d](https://github.com/Chia-Network/cadt/commit/8fb200d)) * fix(V2): account for staged deletes in reference guards ([9492108](https://github.com/Chia-Network/cadt/commit/9492108)) * fix(V2): address delete guard bugbot comments ([66197b4](https://github.com/Chia-Network/cadt/commit/66197b4)) * fix(V2): allow referenced programs in live delete tests ([1237cd6](https://github.com/Chia-Network/cadt/commit/1237cd6)) * fix(V2): assert expected program delete outcomes ([e445c91](https://github.com/Chia-Network/cadt/commit/e445c91)) * fix(V2): batch cascade unit reference checks ([bc31e65](https://github.com/Chia-Network/cadt/commit/bc31e65)) * fix(V2): guard project deletes for AEF references ([a1b75d8](https://github.com/Chia-Network/cadt/commit/a1b75d8)) * fix(V2): preserve test project cleanup prefix ([d7c142a](https://github.com/Chia-Network/cadt/commit/d7c142a)) * fix(V2): reuse cascade issuance lookup for units ([71ffdc1](https://github.com/Chia-Network/cadt/commit/71ffdc1)) * chore: add min-release-age npm policy ([e28eed0](https://github.com/Chia-Network/cadt/commit/e28eed0)) * chore: Updating changelog for 1.7.16 ([16ae2f7](https://github.com/Chia-Network/cadt/commit/16ae2f7)) * chore: Updating changelog for 1.7.17 ([eef05e0](https://github.com/Chia-Network/cadt/commit/eef05e0)) * chore: Updating changelog for 1.7.18 ([7aed372](https://github.com/Chia-Network/cadt/commit/7aed372)) * chore: Updating changelog for 1.7.19 ([661b324](https://github.com/Chia-Network/cadt/commit/661b324)) * chore: Updating changelog for 1.7.20 ([eac20dd](https://github.com/Chia-Network/cadt/commit/eac20dd)) * chore: Updating changelog for 1.7.21 ([4b4b073](https://github.com/Chia-Network/cadt/commit/4b4b073)) * chore: Updating changelog for 1.7.22 ([d339d1e](https://github.com/Chia-Network/cadt/commit/d339d1e)) * chore: Updating changelog for 1.7.23 ([db898a2](https://github.com/Chia-Network/cadt/commit/db898a2)) * chore: Updating changelog for 1.7.24 ([7d40425](https://github.com/Chia-Network/cadt/commit/7d40425)) * chore: Updating changelog for 1.7.25 ([ce82ed0](https://github.com/Chia-Network/cadt/commit/ce82ed0)) * chore(DATALAYER): log existing mirror at verbose level ([795b44c](https://github.com/Chia-Network/cadt/commit/795b44c)) * chore(DEPS): drop redundant esbuild and tar overrides ([560d2d2](https://github.com/Chia-Network/cadt/commit/560d2d2)) * chore(DEPS): regenerate package-lock.json ([2328365](https://github.com/Chia-Network/cadt/commit/2328365)) * test: cover syncService.getStoreData callback await semantics ([d744844](https://github.com/Chia-Network/cadt/commit/d744844)) * test(API): cover unit status reason in v2 split ([86ed537](https://github.com/Chia-Network/cadt/commit/86ed537)) * test(API): log full /diagnostics response body in live CI test ([e6d4396](https://github.com/Chia-Network/cadt/commit/e6d4396)) * feat(API): add /diagnostics endpoint for system-wide debug snapshot ([367ff89](https://github.com/Chia-Network/cadt/commit/367ff89)) * feat(API): add chia version to /diagnostics response ([acd031f](https://github.com/Chia-Network/cadt/commit/acd031f)) * feat(API): add status fields to diagnostics and log at startup ([e34f409](https://github.com/Chia-Network/cadt/commit/e34f409)) * feat(API): cross-reference datalayer-owned stores in /diagnostics ([8f65faf](https://github.com/Chia-Network/cadt/commit/8f65faf)) * feat(API): reject writes when disk space drops below 512 MiB ([613336d](https://github.com/Chia-Network/cadt/commit/613336d)) * feat(V2): block deletes when local inbound references remain ([27f6671](https://github.com/Chia-Network/cadt/commit/27f6671)) * refactor: extract /health disk-space payload into shared helper ([5f25483](https://github.com/Chia-Network/cadt/commit/5f25483)) * refactor: let settle() handle getChiaVersion errors for observability ([9b3eb7e](https://github.com/Chia-Network/cadt/commit/9b3eb7e)) * refactor: remove unused BYTES_PER_MEGABYTE export ([7fc5fd8](https://github.com/Chia-Network/cadt/commit/7fc5fd8)) * refactor(API): disable /diagnostics in read-only mode instead of stripping fields ([257ab85](https://github.com/Chia-Network/cadt/commit/257ab85)) * refactor(API): restructure /diagnostics output for clarity ([45f2d92](https://github.com/Chia-Network/cadt/commit/45f2d92))
1.7.26-rc28
Release 1.7.26-rc28 * fix: build sqlite3 from source for older glibc compatibility ([7917dc9](https://github.com/Chia-Network/cadt/commit/7917dc9)) * fix: enable WAL before SQLite sync tuning ([f48d463](https://github.com/Chia-Network/cadt/commit/f48d463)) * fix: include orgUid in rejected-import warning for default organizations ([c85e784](https://github.com/Chia-Network/cadt/commit/c85e784)) * fix: keep SQLite pragma tuning best effort ([54fd3bb](https://github.com/Chia-Network/cadt/commit/54fd3bb)) * fix: override vulnerable serialize-javascript ([b865a0a](https://github.com/Chia-Network/cadt/commit/b865a0a)) * fix: protect transaction rollback so mirror rollback is always reached ([d0c15a2](https://github.com/Chia-Network/cadt/commit/d0c15a2)) * fix: route SQLite pragma warnings to version logs ([bc6b247](https://github.com/Chia-Network/cadt/commit/bc6b247)) * fix: synchronize mirror writes within transactional sync path ([38db571](https://github.com/Chia-Network/cadt/commit/38db571)) * fix: update lodash to patched release ([25d95f5](https://github.com/Chia-Network/cadt/commit/25d95f5)) * fix: update uuid to patched release ([6adaa0a](https://github.com/Chia-Network/cadt/commit/6adaa0a)) * fix(TEST): trim test-config.yaml to overrides-only and fix defaultConfig mutation ([f625c95](https://github.com/Chia-Network/cadt/commit/f625c95)) * fix(V2): address pre-push review findings ([c1073d1](https://github.com/Chia-Network/cadt/commit/c1073d1)) * fix(V2): remove sync generation wait ([736678f](https://github.com/Chia-Network/cadt/commit/736678f)) * fix(V2): revert xlsx round-trip commit folding ([31f8293](https://github.com/Chia-Network/cadt/commit/31f8293)) * fix(V2): strengthen cascade-delete staging assertions ([741dec0](https://github.com/Chia-Network/cadt/commit/741dec0)) * perf: cut cold-start time from ~16 min to ~2 min ([a8b082a](https://github.com/Chia-Network/cadt/commit/a8b082a)) * perf: defer FTS triggers, bulk-write audit, index audit on sync ([81428f1](https://github.com/Chia-Network/cadt/commit/81428f1)) * perf: tune SQLite connection pragmas ([6083289](https://github.com/Chia-Network/cadt/commit/6083289)) * perf(V2): speed up v2 live api tests via cascade split + commit folding ([a34cab7](https://github.com/Chia-Network/cadt/commit/a34cab7)) * refactor(V2): polish comments per review feedback ([76be711](https://github.com/Chia-Network/cadt/commit/76be711)) * refactor(V2): promote poll interval to named constant ([34f4578](https://github.com/Chia-Network/cadt/commit/34f4578))
1.7.26-rc27
Release 1.7.26-rc27 * fix: add skipOnUnsynced option to reconcileOrganization to prevent data loss ([9cf6cb7](https://github.com/Chia-Network/cadt/commit/9cf6cb7)) * fix: batch v1 staging diff lookups ([269ba5f](https://github.com/Chia-Network/cadt/commit/269ba5f)) * fix: bound production Console transport at debug level ([77b7779](https://github.com/Chia-Network/cadt/commit/77b7779)) * fix: centralize governance sync ownership in the scheduler ([d98198f](https://github.com/Chia-Network/cadt/commit/d98198f)), closes [#1590](https://github.com/Chia-Network/cadt/issues/1590) [#1600](https://github.com/Chia-Network/cadt/issues/1600) [#1603](https://github.com/Chia-Network/cadt/issues/1603) [#1590](https://github.com/Chia-Network/cadt/issues/1590) * fix: gate V1 org-creation data pushes on wallet readiness ([6690930](https://github.com/Chia-Network/cadt/commit/6690930)) * fix: guard importOrganization against subscribeToStoreOnDataLayer falsy return ([2c1326b](https://github.com/Chia-Network/cadt/commit/2c1326b)), closes [#1600](https://github.com/Chia-Network/cadt/issues/1600) * fix: guard reconcileOrganization against subscribeToStoreOnDataLayer falsy return ([6d41b71](https://github.com/Chia-Network/cadt/commit/6d41b71)) * fix: make background sync non-blocking on unsynced stores ([6e76235](https://github.com/Chia-Network/cadt/commit/6e76235)) * fix: mirror error-level logs to stderr in production ([56cca04](https://github.com/Chia-Network/cadt/commit/56cca04)) * fix: preserve transfer-staging rows across periodic truncate ([88ce363](https://github.com/Chia-Network/cadt/commit/88ce363)) * fix: revert accidental importOrganization edit that referenced undefined helper ([fe4e591](https://github.com/Chia-Network/cadt/commit/fe4e591)), closes [#1600](https://github.com/Chia-Network/cadt/issues/1600) * fix: skip import when singleton store is unsynced to prevent 10-min block ([73d674b](https://github.com/Chia-Network/cadt/commit/73d674b)) * fix: skip unsynced orgs in syncOrganizationMeta to prevent scheduler blocking ([9be287e](https://github.com/Chia-Network/cadt/commit/9be287e)) * fix: stream all production logs to stdout/stderr for journalctl ([0adf362](https://github.com/Chia-Network/cadt/commit/0adf362)) * fix: subscribe to governance stores before checking sync status ([af06a65](https://github.com/Chia-Network/cadt/commit/af06a65)) * fix: subscribe to org store before checking sync status in syncOrganizationMeta ([037c5f1](https://github.com/Chia-Network/cadt/commit/037c5f1)), closes [#1600](https://github.com/Chia-Network/cadt/issues/1600) * fix: use silly level on production Console transport ([0f54cc6](https://github.com/Chia-Network/cadt/commit/0f54cc6)) * fix(API): log staging commit errors via winston instead of stderr ([037424f](https://github.com/Chia-Network/cadt/commit/037424f)) * fix(V2): address bugbot review of CSV batch staging ([026afdf](https://github.com/Chia-Network/cadt/commit/026afdf)) * fix(V2): audit and fix CSV batch upload and XLSX import ([f97f7d7](https://github.com/Chia-Network/cadt/commit/f97f7d7)), closes [HI#1](https://github.com/HI/issues/1) [HI#2](https://github.com/HI/issues/2) [HI#3](https://github.com/HI/issues/3) * fix(V2): avoid stale appear-waits during delete phase ([2a2ad5b](https://github.com/Chia-Network/cadt/commit/2a2ad5b)) * fix(V2): enforce response contract and required-field validation for CSV batch ([1e82c90](https://github.com/Chia-Network/cadt/commit/1e82c90)) * fix(V2): normalize short-mode wait endpoints ([e02ac84](https://github.com/Chia-Network/cadt/commit/e02ac84)) * fix(V2): reconcile staged CSV batch updates safely ([446f268](https://github.com/Chia-Network/cadt/commit/446f268)) * test: address staging-perf live review findings ([d9812ce](https://github.com/Chia-Network/cadt/commit/d9812ce)) * test: pass limit query param in limit-only unpaginated test ([b951fe6](https://github.com/Chia-Network/cadt/commit/b951fe6)) * feat: add parallel v1/v2 staging-perf live jobs ([3216e6b](https://github.com/Chia-Network/cadt/commit/3216e6b))
1.7.26-rc26
Release 1.7.26-rc26 * refactor: consolidate log files and clean up obsolete artifacts ([462f805](https://github.com/Chia-Network/cadt/commit/462f805)) * fix: address bugbot review for mirror handler callback + enable check ([dfab796](https://github.com/Chia-Network/cadt/commit/dfab796)) * fix: init mirror models eagerly and recover lost writes on reconnect ([47481a0](https://github.com/Chia-Network/cadt/commit/47481a0)) * fix: parse SQLite DATE strings before forwarding to MariaDB mirror ([4aa768b](https://github.com/Chia-Network/cadt/commit/4aa768b)) * fix: patch Sequelize DATE serialiser + keyset-paginate mirror backfill ([5d23732](https://github.com/Chia-Network/cadt/commit/5d23732)) * fix: restore cadt process name in Linux top ([0a6ee91](https://github.com/Chia-Network/cadt/commit/0a6ee91)) * fix: restore DATE serialiser patch + address bugbot sweep findings ([9571d6e](https://github.com/Chia-Network/cadt/commit/9571d6e)) * fix: serialise mirror Date values in MariaDB-compatible format ([44bcc2a](https://github.com/Chia-Network/cadt/commit/44bcc2a)) * chore: remove DATE._stringify diagnostic; document empirical root cause ([7b059e2](https://github.com/Chia-Network/cadt/commit/7b059e2)) * chore: temporary stack-trace diagnostic for base DATE._stringify ([6088b1b](https://github.com/Chia-Network/cadt/commit/6088b1b))
1.7.26-rc25
Release 1.7.26-rc25 * fix: correct DataLayer wallet type constant from 14 to 11 ([af9b167](https://github.com/Chia-Network/cadt/commit/af9b167)) * fix: handle CI timing for wallet-health live test ([b2898b6](https://github.com/Chia-Network/cadt/commit/b2898b6))
1.7.26-rc24
Release 1.7.26-rc24 * docs(CI): add GLIBC compatibility comments to build workflow ([d3044c6](https://github.com/Chia-Network/cadt/commit/d3044c6)) * fix: handle MySQL mirror connection failure gracefully in v1 prepareDb ([c0eb64f](https://github.com/Chia-Network/cadt/commit/c0eb64f)) * fix(CI): rebuild sqlite3 from source on Linux runners ([0490e46](https://github.com/Chia-Network/cadt/commit/0490e46)) * fix(CI): use Ubuntu 22.04 runners for Linux builds ([0719ed8](https://github.com/Chia-Network/cadt/commit/0719ed8))
1.7.26-rc23
Release 1.7.26-rc23 * ci: add Docker smoke test to catch native module failures ([a1b24fd](https://github.com/Chia-Network/cadt/commit/a1b24fd)) * fix: upgrade to node:24-trixie and rebuild sqlite3 from source ([d902555](https://github.com/Chia-Network/cadt/commit/d902555)) * fix(V2): add committed filter and reuse toSnakeCase in reference guards ([3b0f920](https://github.com/Chia-Network/cadt/commit/3b0f920)) * fix(V2): guard shared deletes against staged references ([f121d6a](https://github.com/Chia-Network/cadt/commit/f121d6a)) * docs(V2): document optional fields for unit split endpoint ([27c46fd](https://github.com/Chia-Network/cadt/commit/27c46fd))