Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
ff65055
[wip] account migration
AkKoks Apr 16, 2026
af926a4
[wip] tacchain migration to cosmos-evm 0.6.0
AkKoks Apr 24, 2026
a8689bf
ignore
AkKoks Apr 24, 2026
c11ea5e
fix(upgrade): set to default HistoryServeWindow
AkKoks Apr 27, 2026
d5ac453
fix localnet scripts
AkKoks Apr 27, 2026
96ac8c4
rename upgrade version
AkKoks Apr 27, 2026
ef2707d
helper: add helper scripts for tacchain-local repo
AkKoks May 4, 2026
e4ed624
fix(migration): migrate dynamic precompile param
AkKoks May 5, 2026
51eba91
feat(upgrade): move rescue addresses to plan info
AkKoks May 5, 2026
c08c215
feat(cmd): add `debug` cmd from evm
AkKoks May 5, 2026
a473f16
fix: replace `evm-chain-id` in app config for localnet init
AkKoks May 5, 2026
987c43f
docs: add changelog for v.1.0.4 -> v1.6.0 upgrading
AkKoks May 5, 2026
41a074e
fix: rescue config
AkKoks May 5, 2026
b3a25db
fix: get from app cfg chain id for evm chain config
AkKoks May 6, 2026
c8bb85f
update go.mod with bumped fork versions of sdk and evm
AkKoks May 7, 2026
f3fd57f
github release workflow
AkKoks May 7, 2026
62a2941
remove depricated: x/params and crisis keepers
AkKoks May 8, 2026
91c5635
docs: sepparate changlelog and migration guide
AkKoks May 8, 2026
8017686
docs: fix migration doc
AkKoks May 8, 2026
89ac8b5
bump evm module ver (fix liquidstake)
AkKoks May 8, 2026
a3fd1f8
fix(upgrade): refactor evm migration
AkKoks May 8, 2026
ff11924
fix(ante): add pending tx notifier
AkKoks May 8, 2026
a73f850
fix: DefaultStaticPrecompiles args pos
AkKoks May 8, 2026
f971213
fix: gen localnode script and docker files refactor
AkKoks May 9, 2026
23ef02b
fix: e2e tests
AkKoks May 11, 2026
7469765
bump evm version
AkKoks May 11, 2026
2bef9b5
remove solidity tests (moved to another repo)
AkKoks May 11, 2026
6f1f124
wire tokenize shares allowlist
AkKoks Jun 1, 2026
4289143
fix: harden v1.6.0 upgrade migrations
AkKoks Jun 1, 2026
626d9e2
tmp commit go.mod with local modules
AkKoks Jun 1, 2026
1170e01
test: cover LSM accounting rebuild after slashing
AkKoks Jun 1, 2026
0fb3703
update tac evm and cosmos-sdk modules version
AkKoks Jun 1, 2026
4cc58be
refactor: move chain config out of app package
AkKoks Jun 1, 2026
8be3c30
test: reset EVM globals with test build tag
AkKoks Jun 1, 2026
e7e44c4
test: cover EVM ledger mock keyring
AkKoks Jun 1, 2026
eb2a215
docs: remove technical debt notes
AkKoks Jun 2, 2026
1db0113
fix CI pipeline
AkKoks Jun 2, 2026
fa0f636
update tac cosmos-evm module
AkKoks Jun 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: Release

on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+" # v1.2.3
- "v[0-9]+.[0-9]+.[0-9]+-beta*" # v1.2.3-beta, v1.2.3-beta.1

permissions:
contents: write

jobs:
build:
name: Build ${{ matrix.goos }}/${{ matrix.goarch }}
runs-on: ubuntu-latest
strategy:
matrix:
include:
- goos: linux
goarch: amd64
- goos: linux
goarch: arm64
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: true

- name: Build binary
env:
GONOSUMDB: "github.com/TacBuild/*"
GOPROXY: "direct,https://proxy.golang.org"
run: |
mkdir -p dist
make build-${{ matrix.goos }}-${{ matrix.goarch }}
cp build/tacchaind-${{ matrix.goos }}-${{ matrix.goarch }} dist/

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: tacchaind-${{ matrix.goos }}-${{ matrix.goarch }}
path: dist/tacchaind-${{ matrix.goos }}-${{ matrix.goarch }}
retention-days: 1

release:
name: Create GitHub Release
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: dist
merge-multiple: true

- name: Compute checksums
run: |
cd dist
sha256sum tacchaind-linux-amd64 tacchaind-linux-arm64 > checksums.txt
cat checksums.txt

- name: Determine pre-release
id: meta
run: |
TAG="${GITHUB_REF_NAME}"
echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
if [[ "${TAG}" == *"-beta"* ]]; then
echo "prerelease=true" >> "$GITHUB_OUTPUT"
else
echo "prerelease=false" >> "$GITHUB_OUTPUT"
fi

- name: Create Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.meta.outputs.tag }}
name: ${{ steps.meta.outputs.tag }}
prerelease: ${{ steps.meta.outputs.prerelease }}
generate_release_notes: true
files: |
dist/tacchaind-linux-amd64
dist/tacchaind-linux-arm64
dist/checksums.txt
26 changes: 7 additions & 19 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
with:
go-version: "1.23.6"
go-version-file: go.mod
check-latest: true
env:
GOOS: ${{ matrix.targetos }}
Expand Down Expand Up @@ -47,7 +47,7 @@ jobs:
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
with:
go-version: "1.23.6"
go-version-file: go.mod
check-latest: true
- run: make install
- run: make test-localnet-params
Expand All @@ -58,10 +58,10 @@ jobs:
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
- uses: foundry-rs/foundry-toolchain@v1
with:
go-version: "1.23.6"
go-version-file: go.mod
check-latest: true
- uses: foundry-rs/foundry-toolchain@v1
- run: make install
- run: make test-localnet-evm

Expand All @@ -72,7 +72,7 @@ jobs:
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
with:
go-version: "1.23.6"
go-version-file: go.mod
check-latest: true
- run: make install
- run: make test-unit
Expand All @@ -84,7 +84,7 @@ jobs:
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
with:
go-version: "1.23.6"
go-version-file: go.mod
check-latest: true
- run: make install
- run: make test-e2e
Expand All @@ -103,19 +103,7 @@ jobs:
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
with:
go-version: "1.23.6"
go-version-file: go.mod
check-latest: true
- run: make install
- run: make test-ledger

test-solidity:
runs-on: ubuntu-latest
needs: test-build
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v5
with:
go-version: "1.23.6"
check-latest: true
- run: make install
- run: make test-solidity
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ coverage.txt
.test-localnet-params
.test-localnet-evm
.mainnet
.vscode/tacchain+evm-module.code-workspace
19 changes: 12 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# docker build . -t tacchaind:latest
# docker run --rm -it tacchaind:latest tacchaind --help

FROM golang:1.23.8-bookworm AS go-builder
FROM golang:1.23.8-alpine3.21 AS go-builder

RUN apt-get update && apt-get install -y \
RUN apk add --no-cache \
ca-certificates \
build-essential \
libusb-1.0-0-dev \
libc6 \
&& rm -rf /var/lib/apt/lists/*
build-base \
libusb-dev \
linux-headers \
eudev-dev

WORKDIR /code
COPY . /code/
Expand All @@ -17,7 +17,12 @@ RUN LEDGER_ENABLED=true make build


# --------------------------------------------------------
FROM debian:bookworm-slim
FROM alpine:3.21

RUN apk upgrade --no-cache && \
apk add --no-cache \
ca-certificates \
libusb

COPY --from=go-builder /code/build/tacchaind /usr/bin/tacchaind

Expand Down
43 changes: 43 additions & 0 deletions Dockerfile.local
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# docker build . -t tacchaind:latest
# docker run --rm -it tacchaind:latest tacchaind --help

FROM golang:1.23.8-alpine3.21 AS go-builder


RUN apk add --no-cache \
ca-certificates \
build-base \
libusb-dev \
linux-headers

WORKDIR /code
COPY . /code/

RUN LEDGER_ENABLED=true make build


# --------------------------------------------------------
FROM alpine:3.21

RUN apk upgrade --no-cache && \
apk add --no-cache \
ca-certificates \
libusb

COPY --from=go-builder /code/build/tacchaind /usr/bin/tacchaind

WORKDIR /opt

# rest server
EXPOSE 1317
# tendermint p2p
EXPOSE 26656
# tendermint rpc
EXPOSE 26657
# evm rpc http
EXPOSE 8545
# evm rpc ws
EXPOSE 8546


CMD ["/usr/bin/tacchaind", "version"]
40 changes: 40 additions & 0 deletions Dockerfile.local.workspace
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Build from workspace root (one level above tacchain/):
#
# The build context must be the workspace root so that sibling directories
# cosmos-sdk/ and evm/ are available (referenced via go.mod replace directives).

FROM golang:1.23.8-alpine3.21 AS go-builder

RUN apk add --no-cache \
ca-certificates \
build-base \
libusb-dev \
linux-headers

WORKDIR /workspace
# Copy all three repos that go.mod replace directives depend on
COPY tacchain/ /workspace/tacchain/
COPY cosmos-sdk/ /workspace/cosmos-sdk/
COPY evm/ /workspace/evm/

WORKDIR /workspace/tacchain
RUN LEDGER_ENABLED=true make build


FROM alpine:3.21
RUN apk upgrade --no-cache && \
apk add --no-cache ca-certificates libusb
COPY --from=go-builder /workspace/tacchain/build/tacchaind /usr/bin/tacchaind

# rest server
EXPOSE 1317
# tendermint p2p
EXPOSE 26656
# tendermint rpc
EXPOSE 26657
# evm rpc http
EXPOSE 8545
# evm rpc ws
EXPOSE 8546

CMD ["/usr/bin/tacchaind", "version"]
36 changes: 21 additions & 15 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,14 @@ endif
build-windows-client: go.sum
GOOS=windows GOARCH=amd64 go build -mod=readonly $(BUILD_FLAGS) -o build/tacchaind.exe ./cmd/tacchaind

build-linux-amd64: go.sum
LEDGER_ENABLED=false GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -mod=readonly $(BUILD_FLAGS) -o build/tacchaind-linux-amd64 ./cmd/tacchaind

build-linux-arm64: go.sum
LEDGER_ENABLED=false GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -mod=readonly $(BUILD_FLAGS) -o build/tacchaind-linux-arm64 ./cmd/tacchaind

build-linux: build-linux-amd64 build-linux-arm64

go.sum: go.mod
@echo "--> Ensure dependencies have not been modified"
@go mod verify
Expand All @@ -94,19 +102,21 @@ clean:
### Tests ###
###############################################################################

test: test-unit test-race test-e2e test-localnet-params test-localnet-evm test-ledger test-solidity
test: test-unit test-race test-e2e test-localnet-params test-localnet-evm test-ledger

test_tags = ledger test_ledger_mock test

test-unit:
@VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' -v $(shell go list ./... | grep -v "tests")
@VERSION=$(VERSION) go test -mod=readonly -tags='$(test_tags)' -v $(shell go list ./... | grep -v "tests")

test-race:
@VERSION=$(VERSION) go test -mod=readonly -race -tags='ledger test_ledger_mock' ./...
@VERSION=$(VERSION) go test -mod=readonly -race -tags='$(test_tags)' ./...

test-e2e:
@VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' -v ./tests/e2e/...
@VERSION=$(VERSION) go test -mod=readonly -tags='$(test_tags)' -v ./tests/e2e/...

test-cover:
@go test -mod=readonly -timeout 30m -race -coverprofile=coverage.txt -covermode=atomic -tags='ledger test_ledger_mock' ./...
@go test -mod=readonly -timeout 30m -race -coverprofile=coverage.txt -covermode=atomic -tags='$(test_tags)' ./...

test-benchmark:
@go test -mod=readonly -bench=. ./...
Expand All @@ -118,30 +128,26 @@ test-localnet-evm:
./tests/localnet/test-evm.sh

test-ledger:
@VERSION=$(VERSION) go test -mod=readonly -tags='ledger test_ledger_mock' -v ./tests/ledger/...

test-solidity:
./tests/solidity/run-solidity-tests.sh
@VERSION=$(VERSION) go test -mod=readonly -tags='$(test_tags)' -v ./tests/ledger/...

.PHONY: test test-unit test-race test-e2e test-cover test-benchmark test-localnet-params test-localnet-evm test-ledger test-solidity
.PHONY: test test-unit test-race test-e2e test-cover test-benchmark test-localnet-params test-localnet-evm test-ledger

###############################################################################
### Networks ###
###############################################################################

TACCHAIND := $(shell which tacchaind)
TACCHAIND ?= $(shell which tacchaind 2>/dev/null || echo ./build/tacchaind)

localnet: install localnet-init localnet-start
testnet: install testnet-init

localnet-init:
./contrib/localnet/init.sh
TACCHAIND=$(TACCHAIND) ./contrib/localnet/init.sh

localnet-init-multi-node:
./contrib/localnet/init-multi-node.sh
TACCHAIND=$(TACCHAIND) ./contrib/localnet/init-multi-node.sh

localnet-start:
./contrib/localnet/start.sh
TACCHAIND=$(TACCHAIND) ./contrib/localnet/start.sh

.PHONY: localnet-start localnet-init localnet-init-multi-node

Loading
Loading