Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
8204459
Updates for tagging
tjayrush Sep 28, 2025
814dde3
Update to v5.9.3
tjayrush Sep 28, 2025
9b7312f
Updates go.mods
tjayrush Sep 28, 2025
657c430
Adds sorts to Approval type
tjayrush Sep 28, 2025
336e805
Auto generate app_types.go
tjayrush Sep 28, 2025
cbb3b32
Updates go.mods
tjayrush Sep 28, 2025
4f014a0
Better auto-code-gen
tjayrush Sep 28, 2025
a53848a
Cleaning up one of the examples
tjayrush Oct 4, 2025
c3d4097
Adding RawMap/CalcMap to types for use in the SDK and apps.
tjayrush Oct 4, 2025
21741d8
Adding RawMap/CalcMap to types for use in the SDK and apps.
tjayrush Oct 4, 2025
f5880bb
Adding RawMap/CalcMap to transfer
tjayrush Oct 5, 2025
92dfe44
Adding RawMap/CalcMap to trace and related
tjayrush Oct 5, 2025
17a5a74
Adding RawMap/CalcMap to statement
tjayrush Oct 5, 2025
240ea71
Adding RawMap/CalcMap to token (and tests)
tjayrush Oct 5, 2025
1bc69e8
Adding RawMap/CalcMap to withdrawal
tjayrush Oct 5, 2025
df3c3cc
Adding RawMap/CalcMap to slurp (including updating to new EtherScan apis
tjayrush Oct 5, 2025
480c58b
Adding RawMap/CalcMap to state, status, and timestamp
tjayrush Oct 5, 2025
7c92edc
Adding RawMap/CalcMap to rangedates, receipts, reportchecks, and results
tjayrush Oct 5, 2025
ed16a77
Test
tjayrush Oct 6, 2025
f018182
Updates tests
tjayrush Oct 6, 2025
f74a521
Adding RawMap/CalcMap to the rest of the types
tjayrush Oct 6, 2025
704d5fa
Uses new RawMap/CalcMap
tjayrush Oct 6, 2025
7554734
Consistency improvements
tjayrush Oct 6, 2025
fad9960
Consistency improvements
tjayrush Oct 6, 2025
79956fb
Consistency improvements
tjayrush Oct 6, 2025
ec9f63c
Cleaning
tjayrush Oct 6, 2025
1e575cc
Adds commnents to CalcMap so we kno what needs to be calced for each …
tjayrush Oct 7, 2025
1aa9c38
Adds EnsureCalc and Calcs pointer to all types
tjayrush Oct 8, 2025
6a5771a
Fixes lints
tjayrush Oct 8, 2025
7d20fcf
chifra export --approvals return Log not Transaction
tjayrush Oct 14, 2025
81cbe6a
Sorting
tjayrush Oct 14, 2025
65e3e56
Back to Transactions for chifra export --approvals
tjayrush Oct 14, 2025
84df451
Adds a test to make sure channels are properly closed
tjayrush Oct 17, 2025
188a167
Updates auto-code-gen
tjayrush Oct 20, 2025
9ed17bf
Updates sorts
tjayrush Oct 20, 2025
fadfa19
Adds SortTransaction to SDK
tjayrush Oct 24, 2025
93b050a
Cleaning
tjayrush Oct 29, 2025
9e9998b
Bump github.com/consensys/gnark-crypto in /src/dev_tools/testRunner
dependabot[bot] Oct 30, 2025
633caa8
Uses new goMaker path using metadata
tjayrush Oct 31, 2025
1382f04
Updates goMaker
tjayrush Oct 31, 2025
95da1aa
Convert goMaker from subdirectory to submodule
tjayrush Oct 31, 2025
e7f2308
Update goMaker submodule to latest version
tjayrush Oct 31, 2025
2e5e98b
Updates goMaker
tjayrush Oct 31, 2025
6fff5f6
Fixes four_byte example
tjayrush Oct 31, 2025
edae790
Updates copilot-instructions.md
tjayrush Oct 31, 2025
fbf9128
Convert dev_tools modules to v5 and update build guidelines
tjayrush Nov 1, 2025
0dfb44d
Cleans up an example
tjayrush Nov 1, 2025
5ab40a7
Fixes remote tests
tjayrush Nov 1, 2025
2115bf0
Cleans up an example
tjayrush Nov 1, 2025
0238131
Uses v5 of chifra
tjayrush Nov 1, 2025
b9cfcdc
Merge pull request #4021 from TrueBlocks/dependabot/go_modules/src/de…
tjayrush Nov 1, 2025
382d610
Merge branch 'post-593-followon' of github.com:TrueBlocks/trueblocks-…
tjayrush Nov 1, 2025
0cbb91e
Merge branch 'post-593-followon' into v5-migration
tjayrush Nov 1, 2025
7302133
Bumps to v6.0.0
tjayrush Nov 1, 2025
5a11015
Bumps chifra version to v6
tjayrush Nov 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
88 changes: 86 additions & 2 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,87 @@
# TrueBlocks Core Development Instructions

## Operational Modes

### Step-by-Step Mode (Careful Implementation)
When I say "We want to go into step-by-step mode" or similar, switch to these rules:

🚫 **Never Run Commands Without Permission:**
- `make clean && make all`
- `make examples`
- `make generate`
- `go build` or `go test`
- Any script execution

🛑 **Stop Between Steps:**
- Never run multiple operations consecutively
- Stop after each step for review and approval
- Wait for explicit "go ahead" before proceeding

📋 **Planning Process:**
- Show what I want to do WITHOUT making changes first
- Explain WHY each change is needed
- Wait for approval before making any code or file changes
- One step at a time with review

🔒 **PERSISTENCE RULE (CRITICAL):**
- **ONCE IN STEP-BY-STEP MODE, STAY THERE INDEFINITELY**
- Do NOT fall back to normal mode unless explicitly told "exit step-by-step mode"
- Step-by-step mode persists across multiple requests and conversations
- Every action must be approved individually, no exceptions

### Design Mode (Discussion + Analysis)
When I say "Let's go into design mode" or similar, switch to these rules:

📋 **Lightweight Discussion:**
- NO full codebase scans or comprehensive exploration upfront
- NO telling user about current code state unless specifically asked
- Discussion-focused mode for architectural analysis and planning

🔍 **Just-in-Time File Reading:**
- Before discussing ANY specific file, component, or implementation detail, ALWAYS read that file first
- Check file contents immediately before referencing to ensure accuracy
- Never assume file contents based on previous knowledge - files change between requests
- Only read files when discussion requires specific implementation details

💭 **Discussion + Analysis:**
- Architectural analysis and conceptual discussion
- NO code modifications, builds, tests, or implementations
- Focus on design decisions, trade-offs, and approaches
- Reference actual code patterns only when files have been read

🎯 **Focus Areas:**
- Go architecture decisions and package design
- Build system and CMake considerations
- Module versioning and dependency management
- Testing strategies and integration approaches
- SDK generation and multi-language binding patterns

📋 **Output Format:**
- Bullet points and structured analysis
- Pros/cons of different approaches
- Clear recommendations with reasoning
- Questions to clarify requirements

🔒 **NO MODIFICATION RULE:**
- **ONCE IN DESIGN MODE, STAY THERE INDEFINITELY**
- Must explicitly exit design mode before making any code changes
- Do NOT fall back to normal mode unless explicitly told "exit design mode"
- Design mode persists across multiple requests and conversations
- If asked to implement something in design mode, respond: "Still in design mode - should I exit design mode and implement this?"

### Mode Switching Rules (CRITICAL)
- **MUTUALLY EXCLUSIVE**: You can NEVER be in both design mode and step-by-step mode simultaneously
- **Only two ways to exit each mode:**
1. Explicit command: "exit [mode-name] mode"
2. Command to enter the other mode: "go into [other-mode] mode"
- **Mode persistence**: Once in a mode, stay there across all requests and conversations until explicitly changed

### Normal Mode (Default)
- Full autonomy to make changes, run builds, execute tests
- Use judgment to determine appropriate actions
- Can run multiple commands and make multiple file changes
- Default mode when no other mode is active

## Project Overview

TrueBlocks is a Go-based blockchain data indexing system that provides fast, local access to Ethereum transaction data through the "Unchained Index". The project consists of:
Expand Down Expand Up @@ -34,8 +116,10 @@ TrueBlocks is a Go-based blockchain data indexing system that provides fast, loc
```bash
# Full build with CMake
cd build && make
# Go build only
cd src/apps/chifra && go build
# Go build only (always use -o /tmp to avoid workspace clutter)
cd src/apps/chifra && go build -o /tmp/chifra
# For other modules
go build -o /tmp/[binary-name] .
```

**Testing**: Multi-layer approach:
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@
[submodule "sdk"]
path = sdk
url = https://github.com/TrueBlocks/trueblocks-sdk.git
[submodule "src/dev_tools/goMaker"]
path = src/dev_tools/goMaker
url = https://github.com/TrueBlocks/goMaker.git
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.9.1
5.9.3
48 changes: 26 additions & 22 deletions docs/content/api/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ info:
license:
name: GPL 3.0
url: http://www.gnu.org/licenses/
version: 5.9.1
version: 5.9.3
description: >
A REST layer over the TrueBlocks chifra command line. With `chifra daemon`, you can
run this on your own machine, and make calls to `localhost`.
Expand Down Expand Up @@ -3586,46 +3586,50 @@ components:
description: "an ERC-20 token approval granting spending permission from owner to spender"
type: object
properties:
allowance:
type: string
format: wei
description: "the amount of tokens approved for spending"
blockNumber:
type: number
format: blknum
description: "the block number at which this call was made"
description: "the current block number when the report was generated"
timestamp:
type: number
format: timestamp
description: "the timestamp of the block for this call"
description: "the current timestamp when the report was generated"
date:
type: string
format: datetime
description: "the timestamp as a date (calculated)"
address:
owner:
type: string
format: address
description: "the address of the owner of the token (the approver)"
addressName:
type: string
format: string
description: "the name of the holder, if available"
spender:
type: string
format: address
description: "the address being granted approval to spend tokens"
spenderName:
type: string
format: string
description: "the name of the spender, if available"
amount:
type: string
format: wei
description: "the amount of tokens approved for spending"
token:
type: string
format: address
description: "the address of the ERC-20 token being approved"
tokenName:
type: string
format: string
description: "the name of the token, if available"
lastAppBlock:
type: number
format: blknum
description: "the block number of the last approval event"
lastAppTs:
type: number
format: timestamp
description: "the timestamp of the last approval event"
lastAppTxID:
type: number
format: txnum
description: "the transaction index of the last approval event"
lastAppLogID:
type: number
format: lognum
description: "the log index of the last approval event"
appearanceTable:
description: "an appearance table for an address"
type: object
Expand Down Expand Up @@ -3884,7 +3888,7 @@ components:
type: array
items:
$ref: "#/components/schemas/topic"
description: "the first topic hashes event signature of the log, up to 3 additional index parameters may appear"
description: "first topic event signature up to 3 additional index parameters may appear"
data:
type: string
format: bytes
Expand Down Expand Up @@ -4415,7 +4419,7 @@ components:
date:
type: string
format: datetime
description: "date when this contract state was last updated"
description: "date when this contract state was last updated (calculated)"
errorCount:
type: number
format: int64
Expand Down
25 changes: 13 additions & 12 deletions docs/content/data-model/accounts.md
Original file line number Diff line number Diff line change
Expand Up @@ -266,18 +266,19 @@ The following commands produce and manage Approvals:

Approvals consist of the following fields:

| Field | Description | Type |
| ----------- | ---------------------------------------------------- | --------- |
| blockNumber | the block number at which this call was made | blknum |
| timestamp | the timestamp of the block for this call | timestamp |
| date | the timestamp as a date (calculated) | datetime |
| address | the address of the owner of the token (the approver) | address |
| addressName | the name of the holder, if available | string |
| spender | the address being granted approval to spend tokens | address |
| spenderName | the name of the spender, if available | string |
| amount | the amount of tokens approved for spending | wei |
| token | the address of the ERC-20 token being approved | address |
| tokenName | the name of the token, if available | string |
| Field | Description | Type |
| ------------ | ------------------------------------------------------ | --------- |
| allowance | the amount of tokens approved for spending | wei |
| blockNumber | the current block number when the report was generated | blknum |
| timestamp | the current timestamp when the report was generated | timestamp |
| date | the timestamp as a date (calculated) | datetime |
| owner | the address of the owner of the token (the approver) | address |
| spender | the address being granted approval to spend tokens | address |
| token | the address of the ERC-20 token being approved | address |
| lastAppBlock | the block number of the last approval event | blknum |
| lastAppTs | the timestamp of the last approval event | timestamp |
| lastAppTxID | the transaction index of the last approval event | txnum |
| lastAppLogID | the log index of the last approval event | lognum |

## AppearanceTable

Expand Down
30 changes: 15 additions & 15 deletions docs/content/data-model/chaindata.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,21 +150,21 @@ The following commands produce and manage Logs:

Logs consist of the following fields:

| Field | Description | Type |
| ---------------- | ------------------------------------------------------------------------------------------------- | --------------------------------------- |
| blockNumber | the number of the block | blknum |
| transactionIndex | the zero-indexed position of the transaction in the block | txnum |
| logIndex | the zero-indexed position of this log relative to the block | lognum |
| timestamp | the timestamp of the block this log appears in | timestamp |
| date | the timestamp as a date (calculated) | datetime |
| address | the smart contract that emitted this log | address |
| topics | the first topic hashes event signature of the log, up to 3 additional index parameters may appear | topic[] |
| data | any remaining un-indexed parameters to the event | bytes |
| transactionHash | the hash of the transction | hash |
| blockHash | the hash of the block | hash |
| articulatedLog | a human-readable version of the topic and data fields | [Function](/data-model/other/#function) |
| compressedLog | a truncated, more readable version of the articulation (calculated) | string |
| isNFT | true if the log is an NFT transfer (calculated) | bool |
| Field | Description | Type |
| ---------------- | -------------------------------------------------------------------------- | --------------------------------------- |
| blockNumber | the number of the block | blknum |
| transactionIndex | the zero-indexed position of the transaction in the block | txnum |
| logIndex | the zero-indexed position of this log relative to the block | lognum |
| timestamp | the timestamp of the block this log appears in | timestamp |
| date | the timestamp as a date (calculated) | datetime |
| address | the smart contract that emitted this log | address |
| topics | first topic event signature up to 3 additional index parameters may appear | topic[] |
| data | any remaining un-indexed parameters to the event | bytes |
| transactionHash | the hash of the transction | hash |
| blockHash | the hash of the block | hash |
| articulatedLog | a human-readable version of the topic and data fields | [Function](/data-model/other/#function) |
| compressedLog | a truncated, more readable version of the articulation (calculated) | string |
| isNFT | true if the log is an NFT transfer (calculated) | bool |

## Trace

Expand Down
18 changes: 9 additions & 9 deletions docs/content/data-model/chainstate.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,15 +109,15 @@ The following commands produce and manage Contracts:

Contracts consist of the following fields:

| Field | Description | Type |
| ----------- | -------------------------------------------------------- | ----------------------------- |
| address | the address of this smart contract | address |
| name | the name of this contract (if available) | string |
| abi | the ABI for this contract | [Abi](/data-model/other/#abi) |
| lastUpdated | timestamp when this contract state was last updated | timestamp |
| date | date when this contract state was last updated | datetime |
| errorCount | number of errors encountered when calling read functions | int64 |
| lastError | the most recent error message when calling functions | string |
| Field | Description | Type |
| ----------- | ----------------------------------------------------------- | ----------------------------- |
| address | the address of this smart contract | address |
| name | the name of this contract (if available) | string |
| abi | the ABI for this contract | [Abi](/data-model/other/#abi) |
| lastUpdated | timestamp when this contract state was last updated | timestamp |
| date | date when this contract state was last updated (calculated) | datetime |
| errorCount | number of errors encountered when calling read functions | int64 |
| lastError | the most recent error message when calling functions | string |

## Base types

Expand Down
2 changes: 1 addition & 1 deletion examples
Submodule examples updated 72 files
+1 −1 README.md
+2 −2 balanceChart/get_balances.go
+3 −3 balanceChart/get_prefunds.go
+16 −24 balanceChart/go.mod
+2 −52 balanceChart/go.sum
+3 −3 balanceChart/main.go
+5 −5 balanceChart/pkg/charts/bar_chart.go
+15 −26 cancelContext/go.mod
+2 −52 cancelContext/go.sum
+3 −3 cancelContext/main.go
+1 −18 chainList/go.mod
+0 −35 chainList/go.sum
+2 −2 chainList/main.go
+15 −26 checkNodes/go.mod
+2 −52 checkNodes/go.sum
+7 −7 checkNodes/main.go
+15 −26 comparison/go.mod
+2 −52 comparison/go.sum
+2 −2 comparison/main.go
+15 −26 findFirst/go.mod
+2 −52 findFirst/go.sum
+2 −2 findFirst/main.go
+0 −0 fourBytes/.gitignore
+0 −0 fourBytes/README.md
+2 −2 fourBytes/cmd/root.go
+22 −0 fourBytes/go.mod
+33 −0 fourBytes/go.sum
+0 −0 fourBytes/main.go
+0 −0 fourBytes/makefile
+3 −3 fourBytes/pkg/fourBytes/chunk_file.go
+2 −2 fourBytes/pkg/fourBytes/chunk_file_test.go
+5 −5 fourBytes/pkg/fourBytes/generate.go
+1 −1 fourBytes/pkg/fourBytes/verify.go
+0 −50 four_bytes/go.mod
+0 −97 four_bytes/go.sum
+15 −3 keystore/go.mod
+0 −4 keystore/go.sum
+5 −5 keystore/main.go
+4 −4 nameManager/actions.go
+2 −2 nameManager/app.go
+15 −26 nameManager/go.mod
+2 −52 nameManager/go.sum
+1 −1 nameManager/help.go
+8 −8 nameManager/main.go
+1 −1 nameManager/parseArgs.go
+2 −2 nameManager/publish.go
+15 −24 simple/go.mod
+2 −52 simple/go.sum
+1 −1 simple/main.go
+1 −1 templates/base/main.go.tmpl
+15 −24 withStreaming/go.mod
+2 −52 withStreaming/go.sum
+7 −7 withStreaming/main.go
+4 −4 withStreaming/stream_abis.go
+4 −4 withStreaming/stream_blocks.go
+4 −4 withStreaming/stream_chunks.go
+4 −4 withStreaming/stream_config.go
+11 −7 withStreaming/stream_export.go
+4 −4 withStreaming/stream_init.go
+4 −4 withStreaming/stream_list.go
+4 −4 withStreaming/stream_logs.go
+4 −4 withStreaming/stream_monitors.go
+4 −4 withStreaming/stream_names.go
+4 −4 withStreaming/stream_progress.go
+4 −4 withStreaming/stream_receipts.go
+4 −4 withStreaming/stream_slurp.go
+4 −4 withStreaming/stream_state.go
+4 −4 withStreaming/stream_status.go
+4 −4 withStreaming/stream_tokens.go
+4 −4 withStreaming/stream_traces.go
+4 −4 withStreaming/stream_transactions.go
+4 −4 withStreaming/stream_when.go
2 changes: 1 addition & 1 deletion release-name.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v5.9.1 Too Much To List - Lancaster
v5.9.3 Approvals - Lancaster
2 changes: 1 addition & 1 deletion scripts/go-work-sync.sh
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ find . -type f -name 'go.mod' | while read -r modfile; do
fi

if [ "$isSdk" = false ] && [ "$isChifra" = false ] && [ "$isGoMaker" = false ] && [ "$isFourbyte" = false ] && [ "$isIndexMan" = false ] && [ "$isKeystore" = false ]; then
go get github.com/TrueBlocks/trueblocks-sdk/v5@latest
go get github.com/TrueBlocks/trueblocks-sdk/v6@latest
fi

if [ "$isChifra" = false ]; then
Expand Down
2 changes: 1 addition & 1 deletion sdk
Submodule sdk updated 64 files
+3 −3 abis.go
+5 −5 abis_internal.go
+53 −14 app_types.go
+2 −2 blocks.go
+4 −4 blocks_internal.go
+3 −3 chunks.go
+5 −5 chunks_internal.go
+2 −2 config.go
+4 −4 config_internal.go
+2 −10 contracts.go
+1 −5 daemon.go
+2 −6 daemon_internal.go
+2 −2 explore.go
+4 −4 explore_internal.go
+4 −10 export.go
+5 −5 export_internal.go
+172 −0 exports_test.go
+1 −1 globals.go
+1 −75 go.mod
+0 −299 go.sum
+3 −3 init.go
+5 −5 init_internal.go
+3 −3 list.go
+5 −5 list_internal.go
+2 −2 logs.go
+4 −4 logs_internal.go
+2 −2 meta.go
+2 −2 monitors.go
+4 −4 monitors_internal.go
+4 −4 names.go
+5 −5 names_internal.go
+1 −1 parse.go
+2 −2 receipts.go
+4 −4 receipts_internal.go
+2 −2 result.go
+1 −1 rpc.go
+3 −3 scrape.go
+5 −5 scrape_internal.go
+1 −1 services/service_api.go
+1 −1 services/service_control.go
+3 −3 services/service_scraper.go
+1 −1 services/service_scraper_report.go
+2 −2 slurp.go
+4 −4 slurp_internal.go
+67 −1 sorts.go
+3 −3 state.go
+5 −5 state_internal.go
+2 −2 status.go
+4 −4 status_internal.go
+2 −2 tokens.go
+4 −4 tokens_internal.go
+2 −2 traces.go
+4 −4 traces_internal.go
+2 −2 transactions.go
+4 −4 transactions_internal.go
+7 −6 typescript/src/types/approval.ts
+0 −2 typescript/src/types/config.ts
+1 −1 typescript/src/types/contract.ts
+0 −2 typescript/src/types/ethCall.ts
+0 −2 typescript/src/types/upgrades.ts
+4 −4 updater.go
+1 −1 version.go
+3 −3 when.go
+5 −5 when_internal.go
4 changes: 2 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ endif()

# ----------------------------------------------------------------------------
add_custom_target(generate
COMMAND ${BIN_DIR}/goMaker
COMMAND goMaker
WORKING_DIRECTORY ${REPO_DIR})

# ----------------------------------------------------------------------------
Expand Down Expand Up @@ -146,7 +146,7 @@ add_subdirectory(other/install)
add_go_installable_program(chifra
${CMAKE_SOURCE_DIR}/apps/chifra ${BIN_DIR})
add_go_installable_program(goMaker
${CMAKE_SOURCE_DIR}/dev_tools/goMaker ${BIN_DIR})
${CMAKE_SOURCE_DIR}/dev_tools/goMaker /usr/local/bin)
add_go_installable_program(indexManager
${CMAKE_SOURCE_DIR}/dev_tools/indexManager ${BIN_DIR})

Expand Down
10 changes: 5 additions & 5 deletions src/apps/chifra/cmd/abis.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ package cmd
import (
"os"

abisPkg "github.com/TrueBlocks/trueblocks-core/src/apps/chifra/internal/abis"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/internal/globals"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/caps"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/file"
outputHelpers "github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/output/helpers"
abisPkg "github.com/TrueBlocks/trueblocks-core/src/apps/chifra/v6/internal/abis"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/v6/internal/globals"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/v6/pkg/caps"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/v6/pkg/file"
outputHelpers "github.com/TrueBlocks/trueblocks-core/src/apps/chifra/v6/pkg/output/helpers"
"github.com/spf13/cobra"
)

Expand Down
Loading
Loading