Releases: bryanlabs/cosmos-tax-cli
v1.2.0
Release v1.2.0 Highlights
- Indexing of blockchain-specific IBC Denom Trace Metadata: A new feature has been released that enables the indexing of blockchain-specific IBC Denom Trace Metadata. This allows for better tracking and analysis of inter-blockchain communication Denoms and use in downstream functionality.
- Indexer support for IBC MsgRecvPacket and successful MsgAcknowledgement: The indexer has been updated to include support for IBC MsgRecvPacket and successful MsgAcknowledgement transaction types. This enables better tracking and analysis of inter-blockchain communication and improves overall indexing functionality.
- Generalized BeginBlock and EndBlock event indexing: The indexer now has enhanced support for handling generalized BeginBlock and EndBlock block events. This includes specific support for Tendermint Liquidity module block events and Osmosis Incentives rewards. These improvements provide more comprehensive indexing capabilities.
Changelog
This changelog highlights changes made to the Cosmos Indexer in Q2 of 2023 after release v1.1.0.
Features
- Added support for the Osmosis Protorev module messages by bumping our support in Lens #369
- Released a feature to index blockchain specific IBC Denom Trace Metadata #370
- Added a Juno blockchain specific Denom Update task #387
- Released a new indexer feature to handle generalized BeginBlock (#393) and EndBlock (#391) block events
- Added EndBlock event indexing for Tendermint Liquidity module block events #391
- Added BeginBlock event indexing for Osmosis Incentives rewards #393
- Released a new indexer feature to handle indexing chain-specific denoms as its own command #397
- Added indexer support for IBC MsgRecvPacket #399
- Added indexer support for successful IBC MsgAcknowledgement #420
Fixes
- Added missing support for MsgDeposit to all missing CSV output formats #368
- Fixed incorrect flag usage on indexer and added a chain status check retry on indexer startup #311
- Made improvements and fixed inconsistencies centered on failed block indexing handling #388
- Removed stray newline characters from all string functions that were polluting debug logs #394
- Fixed a large amount of general linter and stylechecker issues to clean the codebase up #400, #401, #402, #403, #408
- Added post-Denom Update command validation to ensure no orphaned denoms exist #410
- Removed all Fatal errors from functions run in the CSV generating API to prevent the API server from crashing #411
- Fixed a bug in using old version of NewCoin provided by alternate Cosmos SDK usage #424, #427
- Fixed some error handling bugs in new IBC indexing functonality #426, #428
v1.1.0
Release v1.1.0 Highlights
- Continued improvement and extension of tax software CSV output formats: This release contains several extensions and improvements to the tax software CSV output capabilities, offering continued support for previously supported formats and including support for new formats. Of note is the application's new support for CryptoTaxCalculator. This means that users who are using CryptoTaxCalculator to calculate their cryptocurrency tax liabilities can now directly use data processed by the Cosmos Indexer tool, making it easier and more efficient for them to calculate their taxes.
- Added multi-handler support for message parsing to allow fallbacks for alternate message formats with the same URL: This change makes Cosmos Indexer more flexible and robust by allowing it to handle multiple message formats from the same type URL. In practice, this means that if one of the supported message types comes in multiple different formats based on chain history, it can fall back to an alternate handler that can process that format. This reduces the likelihood of data being missed or incorrectly processed due to format differences.
- Extended support for new block event and transaction message types: This release contains continued indexer extension of various block events and transaction message types. The methodology of event and transaction indexing has been extended to support a wider range of available data types, indicating an increased level of fidelity to on-chain data points.
- Improved chain querying methods: The indexer has been extended with improved RPC querying methods for transaction data. A fallback mechanism has been developed to deal with inconsistent on-chain RPC responses due to various issues that are possible in the Cosmos ecosystem (for example, deprecation and removal of old message types from blockchain specifications). This will ensure proper handling for various different problems that can arise when dealing with old history.
Changelog
This changelog highlights changes made to the Cosmos Indexer in Q1 of 2023 after release v0.3.0.
Features
- Added a new CSV output format for CryptoTaxCalculator #304
- Added multi-handler support for message parsing to allow fallbacks for alternate message formats with same URL #305
- Added a fallback Transaction RPC Querying mechanism to handle RPC errors when blockchain produces inconsistent response results #306
- Added Swagger Docs to built-in API server #319
- Bumped support for Osmosis to Osmosis v14 #323
- Added a parser for Denoms to Koinly symbol IDs for Koinly CSV output #324
- Added support for deprecated Osmosis GAMM Message types #325
- Improved methodology of Osmosis Rewards indexing to use epoch search logic to skip large numbers of blocks #337
- Bumped support for Osmosis to Osmosis v15 #365
Fixes
- Fixed issues with handling Osmosis message types that had alternate formats in old versions of the blockchain #305, #307, #314, #335
- Added missing CSV parsers for MsgSubmitProposal #322
- Fixed Gorm usage on Chain model FirstOrCreate to prevent unique constraint violations #346
- Implemented a number of fixes found while indexing Osmosis for the year 2021 #355, #359, #363
- Fixed an issue where the indexer would execute block reward events for an empty array of rewards #362
References
- To view all issues related to this release, take a look through DefiantLabs Q1 2023 Issue Tracker
v1.0.0
v0.2.0
second deliverable of the public release of the cosmos-tax-cli. This release was funded by the ICF via strangelove-ventures and consists of all the work Defiant did Jun 2022 - August 2022. To include:
Milestone 2
- CLI tool for indexing chains and producing reports, options for including multiple addresses in reports, specifying advanced config files, etc.
source - Support IBC v1 “asset transfers”, fees, and denom conversion
source - Support for Authz message types
source - Support for Governance message types
source - Support for slashing (penalties/token burns)
source - Conversion of any denomination to base type, based on cached denom mappings
source - Database improvements (normalize, maximize space and query efficiency)
source - Backwards compatibility for older Cosmos message types (send, withdraw-rewards)
source
v0.1.0
Initial public release of the cosmos-tax-cli. This release was funded by the ICF via strangelove-ventures and consists of all the work Defiant did Jan - June 2022. To include:
Milestone 1
- Database schema in Postgres with Golang ORM models
source - RPC query logic and transaction handler with support for any Message types.
source - Initial schema for CSV exports to accointing
source - Program argument parsing/app configuration in CLI options and through an app configuration .toml file
source - Database model design and creation through the Go ORM package gorm to store Cosmos chain indexed data
source - Designed interface to make REST API calls to the blockchain for relevant data (subsequently transitioned to RPC)
source - Initial work for the main program loop to process blocks, gather transaction data in parallel for that block, and store transaction data according to our models
source - Transaction signer public key parsing into Bech32 human readable address
source - Denom unit and name processing, storage of denom unit on a fixed schedule using gocron
source - goroutine/channels based framework to support configuration-based indexing of Cosmos SDK applications, restart/reindex missed blocks, detect indexed/available blocks.
source - Enhanced RPC query logic and transaction handler.
source - MsgSend implementation including RPC queries and DB queries
source - MsgWithdrawValidatorCommission/DelegatorReward implementation including RPC queries and DB queries
source - CSV report generator with support for deposits, withdraws, etc. Currently tested message types are MsgSend, MsgWithdrawValidatorCommission/DelegatorReward
source - Implemented service to retrieve and cache Denom/DenomUnits from on chain. Service will help with future denom type conversions to “base” types.
source - Develop docker tooling for local testing by chain indexer (auto-generate TXs on chain based on developer-injected config files).
source
v0.3.0
third and final deliverable of the public release of the cosmos-tax-cli. This release was funded by the ICF via strangelove-ventures and consists of all the work Defiant did Sep 2022 - Dec 2022. To include:
Milestone 3
- CI/CD process for building code, testing, deploying, releasing.
source - Support for additional Validator message types to include MsgBeginRedelegate, MsgCreateValidator, MsgEditValidator
source - Security review, container scans, 12 factor apps
source - Documentation on how to use the tools and examples of how to deploy.
source - Support for MsgMultiSend
source - Full index test of Cosmos Hub, and osmosis.
source - CSV support for Koinly
source - CSV support for cointracker.io
source - CSV support for taxbit
source