Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
4cb92b8
goal: Update 'goal app call' help text (#6448)
nullun Nov 4, 2025
7a4f38a
Txn: Allow epp and schema change (#6446)
jannotti Nov 5, 2025
19a679f
network: don't send VP in MOI messages if unsupported by remote peer …
cce Nov 5, 2025
f2da11f
network: vote compression benchmarks and tooling (#6467)
cce Nov 6, 2025
a48733d
SDK: Export functions for supporting configurable consensus. (#6490)
gmalouf Nov 7, 2025
3b6cd2d
CICD: go-algorand relstable4.4.1-remerge mergeback (#6492)
Algo-devops-service Nov 11, 2025
b210374
AVM: Allow 0 as app in LocalRef, specifying current app (#6483)
jannotti Nov 12, 2025
a51dbb4
network: clean up stateless vpack decode error messages (#6494)
cce Nov 12, 2025
a5fcf54
CI: add docnametypo linter and fix issues (#6493)
cce Nov 12, 2025
e1ff8a1
Build: Use `go tool` and separate module file, `go run` to remove som…
jannotti Nov 12, 2025
99c6b19
CI: apply changes from latest modernize v0.39.0 (#6498)
cce Nov 14, 2025
3bfbc77
Chore: Remove some things that have been marked deprecated (#6496)
jannotti Nov 20, 2025
8b32f14
build(deps): bump golang.org/x/crypto from 0.37.0 to 0.45.0 (#6502)
dependabot[bot] Nov 24, 2025
24047f4
Txn: Based on consensus param 'EnforceAuthAddrSenderDiff', check that…
gmalouf Nov 25, 2025
5df8d21
test: fix node TestNodeHybridTopology (#6505)
algorandskiy Dec 1, 2025
589c761
build: remove unused programs
cce Dec 2, 2025
51cbc6d
CI: upgrade golangci-lint to fix custom command (#6510)
cce Dec 5, 2025
138e527
build(deps): bump github.com/sirupsen/logrus from 1.8.1 to 1.8.3 (#6507)
dependabot[bot] Dec 8, 2025
5031060
CI: ignore revive warning about package names (#6511)
cce Dec 8, 2025
3780647
TxPool: Remove the expiry map which is no longer used (#6513)
jannotti Dec 9, 2025
6ee2e7c
Chore: Eliminate BlockEvaluator.Transaction (#6515)
jannotti Dec 11, 2025
b05c3bf
network: fix double counting in numOutgoingPending (#6517)
algorandskiy Dec 17, 2025
5159152
network: handle p2p addr expiration in ReplacePeerList (#6518)
algorandskiy Dec 18, 2025
2b368f4
txHandler: do not forward p2p -> ws non-accepted messages (#6520)
algorandskiy Jan 5, 2026
7e0d514
Chore: Update license copyright to 2026 (#6522)
algorandskiy Jan 5, 2026
d0e4882
Doc: Change generated specs to match expectations of specs repo (#6521)
jannotti Jan 7, 2026
a5d7ec2
network: exclude TX traffic from conn performance monitoring (#6519)
algorandskiy Jan 7, 2026
f9951ff
config: rename IsGossipServer => IsListenServer (#6525)
cce Jan 14, 2026
5aa2740
config: add DHTMode configuration value (#6516)
cce Jan 14, 2026
13169aa
Patch: Fix compilation issue from isListenServer revamp (#6527)
gmalouf Jan 14, 2026
7c5e5a5
tests: flaky tests fixes (#6532)
algorandskiy Jan 27, 2026
2626446
txHandler: use txn.Access data when calculating app usage rates (#6531)
algorandskiy Jan 28, 2026
b264d42
txHandler: penalize erred app transactions (#6535)
algorandskiy Jan 28, 2026
172f19d
metrics: measure block assembly re-evaluation failures (#6526)
cce Jan 28, 2026
0885255
Merge branch 'master' into relbeta4.5.0
onetechnical Jan 30, 2026
7ce535b
Update buildnumber
onetechnical Jan 30, 2026
9b0fe61
Merge pull request #6537 from onetechnical/relbeta4.5.0
algojohnlee Jan 31, 2026
7437021
tests: fix some flaky tests - p2p, ledger, e2e-subs (#6534)
algorandskiy Feb 2, 2026
febb0e1
CI: set -coverpkg when calling go test in nightly builds (#3185)
cce Feb 3, 2026
5ae5c5a
CICD: fix packaging with regards to binary changes (#6539)
onetechnical Feb 3, 2026
d13bdd7
Merge branch 'master' into relbeta4.5.1
Algo-devops-service Feb 3, 2026
129ea62
Update the Version, BuildNumber, genesistimestamp.data
Algo-devops-service Feb 3, 2026
74ffe3a
Merge pull request #6541 from Algo-devops-service/relbeta4.5.1
algojohnlee Feb 3, 2026
120e66e
Merge branch 'rel/beta' into relstable4.5.1
Algo-devops-service Feb 6, 2026
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
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
codecov:
require_ci_to_pass: yes

flags:
full_coverage:
joined: false

ignore:
- "**/*_gen.go"
- "**/*_gen_test.go"
- "**/generated"
- "**/*_string.go" # ignore stringer-generated code

coverage:
status:
Expand Down
3 changes: 3 additions & 0 deletions .custom-gcl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ plugins:
- module: fillmore-labs.com/errortype
import: fillmore-labs.com/errortype/gclplugin
version: v0.0.7
- module: github.com/cce/docnametypo
import: github.com/cce/docnametypo/gclplugin
version: v0.2.0
10 changes: 0 additions & 10 deletions .github/actions/setup-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,3 @@ runs:
sudo dpkg-reconfigure -f noninteractive man-db
sudo apt-get install -y --no-upgrade expect
shell: bash
- name: Cache gotestsum
id: cache-gotestsum
uses: actions/cache@v4
with:
path: ~/go/bin/gotestsum
key: gotestsum-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('scripts/buildtools/versions') }}
- name: Install gotestsum
if: steps.cache-gotestsum.outputs.cache-hit != 'true'
run: ./scripts/buildtools/install_buildtools.sh -o "gotest.tools/gotestsum"
shell: bash
11 changes: 5 additions & 6 deletions .github/workflows/ci-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,15 +102,16 @@ jobs:
- name: Run tests
run: |
./scripts/configure_dev.sh
./scripts/buildtools/install_buildtools.sh -o "gotest.tools/gotestsum"
PACKAGES="$(go list ./... | grep -v /go-algorand/test/)"
export PACKAGE_NAMES=$(echo $PACKAGES | tr -d '\n')
export PACKAGE_NAMES=$(echo $PACKAGES | tr -d '\n')
COVERPACKAGES="$(go list ./... | grep -E -v '/go-algorand/(test|debug|cmd|config/defaultsGenerator|tools)' | grep -E -v '(test|testing|mock|mocks)$' | paste -sd ',' -)"
mkdir -p test_results/${{ matrix.platform }}_test_nightly/${PARTITION_ID}
gotestsum --format standard-quiet \
go tool -modfile=tool.mod gotestsum --format standard-quiet \
--junitfile ~/test_results/${{ matrix.platform }}_test_nightly/${PARTITION_ID}/results.xml \
--jsonfile ~/test_results/${{ matrix.platform }}_test_nightly/${PARTITION_ID}/testresults.json \
-- --tags "sqlite_unlock_notify sqlite_omit_load_extension" \
-race -timeout 1h -coverprofile=coverage.txt -covermode=atomic -p 1 \
-coverpkg=$COVERPACKAGES \
$PACKAGE_NAMES
- name: Notify Slack on failure
if: failure()
Expand Down Expand Up @@ -143,6 +144,7 @@ jobs:
with:
token: ${{ env.CODECOV_TOKEN }}
file: ./coverage.txt
flags: full_coverage
fail_ci_if_error: false
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
Expand Down Expand Up @@ -184,7 +186,6 @@ jobs:
- name: Run integration tests
run: |
./scripts/configure_dev.sh
./scripts/buildtools/install_buildtools.sh -o "gotest.tools/gotestsum"
mkdir -p ~/test_results/${{ matrix.platform }}_integration_nightly/${PARTITION_ID}
TEST_RESULTS=~/test_results/${{ matrix.platform }}_integration_nightly/${PARTITION_ID} \
test/scripts/run_integration_tests.sh
Expand Down Expand Up @@ -241,7 +242,6 @@ jobs:
- name: Run E2E expect tests
run: |
scripts/configure_dev.sh
scripts/buildtools/install_buildtools.sh -o "gotest.tools/gotestsum"
mkdir -p ~/test_results/${{ matrix.platform }}_e2e_expect_nightly/${PARTITION_ID}
TEST_RESULTS=~/test_results/${{ matrix.platform }}_e2e_expect_nightly/${PARTITION_ID} \
test/scripts/run_integration_tests.sh
Expand Down Expand Up @@ -308,7 +308,6 @@ jobs:
- name: Run E2E subs tests
run: |
scripts/configure_dev.sh
scripts/buildtools/install_buildtools.sh -o "gotest.tools/gotestsum"
mkdir -p ~/test_results/${{ matrix.platform }}_e2e_subs_nightly
TEST_RESULTS=~/test_results/${{ matrix.platform }}_e2e_subs_nightly \
test/scripts/run_integration_tests.sh
Expand Down
18 changes: 16 additions & 2 deletions .github/workflows/ci-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ on:
branches:
- master
- 'rel/**'
workflow_dispatch:
inputs:
full_coverage:
description: 'Run with -coverpkg to measure cross-package coverage (slower)'
required: false
type: boolean
default: false

env:
CODECOV_TOKEN: "8b4a1f91-f154-4c26-b84c-c9aaa90159c6" # Same public token from CircleCI config
Expand Down Expand Up @@ -49,13 +56,19 @@ jobs:
- name: Run tests
run: |
PACKAGES="$(go list ./... | grep -v /go-algorand/test/)"
export PACKAGE_NAMES=$(echo $PACKAGES | tr -d '\n')
export PACKAGE_NAMES=$(echo $PACKAGES | tr -d '\n')
COVERPKG_FLAG=""
if [[ "${{ inputs.full_coverage }}" == "true" ]]; then
COVERPACKAGES="$(go list ./... | grep -E -v '/go-algorand/(test|debug|cmd|config/defaultsGenerator|tools)' | grep -E -v '(test|testing|mock|mocks)$' | paste -sd ',' -)"
COVERPKG_FLAG="-coverpkg=$COVERPACKAGES"
fi
mkdir -p test_results/${{ matrix.platform }}_test/${PARTITION_ID}
gotestsum --format standard-quiet \
go tool -modfile=tool.mod gotestsum --format standard-quiet \
--junitfile ~/test_results/${{ matrix.platform }}_test/${PARTITION_ID}/results.xml \
--jsonfile ~/test_results/${{ matrix.platform }}_test/${PARTITION_ID}/testresults.json \
-- --tags "sqlite_unlock_notify sqlite_omit_load_extension" $SHORTTEST \
-race -timeout 1h -coverprofile=coverage.txt -covermode=atomic -p 4 \
$COVERPKG_FLAG \
$PACKAGE_NAMES
- name: Notify Slack on failure
if: failure()
Expand Down Expand Up @@ -89,6 +102,7 @@ jobs:
with:
token: ${{ env.CODECOV_TOKEN }}
file: ./coverage.txt
flags: ${{ inputs.full_coverage && 'full_coverage' || '' }}
fail_ci_if_error: false
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reviewdog.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: "ReviewDog workflow"
env:
GOLANGCI_LINT_VERSION: "v2.6.0"
GOLANGCI_LINT_VERSION: "v2.7.1"
on:
push:
branches:
Expand Down
18 changes: 14 additions & 4 deletions .golangci-warnings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,23 @@ run:
linters:
default: none
enable:
- docnametypo
- errortype
- gosec
- partitiontest
- errortype
settings:
gosec:
excludes: [G101, G103, G104, G107, G112, G114, G115, G202, G204, G301, G302, G303, G304, G306, G307, G404]
custom:
partitiontest:
type: "module"
description: This custom linter ensures test functions call 'partitiontest.PartitionTest(t)'
docnametypo:
type: module
description: "docnametypo catches doc comments with mismatched function names"
original-url: "https://github.com/cce/docnametypo"
settings:
include-exported: true
include-types: true
include-generated: false
allowed-prefixes: asm,op
errortype:
type: module
description: "errortype helps prevent subtle bugs in error handling."
Expand All @@ -24,6 +31,9 @@ linters:
check-is: true
unchecked-assert: false
check-unused: true
partitiontest:
type: "module"
description: This custom linter ensures test functions call 'partitiontest.PartitionTest(t)'
exclusions:
generated: lax
rules:
Expand Down
3 changes: 2 additions & 1 deletion .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,9 @@ linters:
path: _test\.go
text: 'dot-imports: should not use dot imports' # dot imports OK for tests
- linters: revive
path: util/
text: 'var-naming: avoid meaningless package names' # util package is OK
- linters: revive
text: 'var-naming: avoid package names that conflict with Go standard library package names' # e.g. crypto package
- linters: unused
text: 'field _struct is unused' # we use _struct field tags for msgp/json encoding settings
- linters: revive
Expand Down
2 changes: 0 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,6 @@ To verify that this wasn't missed, we run verification steps, which can be found
### Development Setup
```bash
./scripts/configure_dev.sh # Initial environment setup
./scripts/buildtools/install_buildtools.sh # Install build tools
make deps # Check/install dependencies
```

### Single Test Execution
Expand Down
58 changes: 31 additions & 27 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,7 @@ GOTAGSLIST := sqlite_unlock_notify sqlite_omit_load_extension
# e.g. make GOTAGSCUSTOM=msgtrace
GOTAGSLIST += ${GOTAGSCUSTOM}

# If available, use gotestsum instead of 'go test'.
ifeq (, $(shell which gotestsum))
export GOTESTCOMMAND=go test
else
export GOTESTCOMMAND=gotestsum --format pkgname --jsonfile testresults.json --
endif
GOTESTCOMMAND := go tool -modfile=tool.mod gotestsum --format pkgname --jsonfile testresults.json --

ifeq ($(OS_TYPE), darwin)
# M1 Mac--homebrew install location in /opt/homebrew
Expand Down Expand Up @@ -89,6 +84,7 @@ GOLDFLAGS := $(GOLDFLAGS_BASE) \
-X github.com/algorand/go-algorand/config.Channel=$(CHANNEL)

UNIT_TEST_SOURCES := $(sort $(shell GOPATH=$(GOPATH) && GO111MODULE=off && go list ./... | grep -v /go-algorand/test/ ))
COVERPKG_PACKAGES := $(sort $(shell GOPATH=$(GOPATH) && GO111MODULE=off && go list ./... | egrep -v '/go-algorand/(test|debug|cmd|config/defaultsGenerator|tools)' | egrep -v '(test|testing|mocks|mock)$$' ))
ALGOD_API_PACKAGES := $(sort $(shell GOPATH=$(GOPATH) && GO111MODULE=off && cd daemon/algod/api; go list ./... ))

GOMOD_DIRS := ./tools/block-generator ./tools/x-repo-types
Expand All @@ -107,10 +103,13 @@ fix: build
$(GOBIN)/algofix */

modernize:
GOTOOLCHAIN=auto go run golang.org/x/tools/go/analysis/passes/modernize/cmd/modernize@latest -any=false -bloop=false -rangeint=false -fmtappendf=false -waitgroup=false -stringsbuilder=false -omitzero=false -fix ./...
GOTOOLCHAIN=auto go run golang.org/x/tools/go/analysis/passes/modernize/cmd/modernize@v0.39.0 -any=false -bloop=false -rangeint=false -fmtappendf=false -waitgroup=false -stringsbuilder=false -omitzero=false -fix ./...

lint: deps
$(GOBIN)/golangci-lint run -c .golangci.yml
lint:
go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.7.1 run -c .golangci.yml

warninglint: custom-golangci-lint
./custom-golangci-lint run -c .golangci-warnings.yml

expectlint:
cd test/e2e-go/cli/goal/expect && python3 expect_linter.py *.exp
Expand All @@ -134,13 +133,24 @@ check_shell:

sanity: fix lint fmt tidy modernize

# "make cover" runs all tests, and collects full coverage across all go-algorand packages by setting -coverpkg.
# Without setting -coverpkg, coverage reports only measure lines of code exercised within the same package as the tests.
#
# "make cover PACKAGE=X" runs all tests in package github.com/algorand/go-algorand/X/... and collects full coverage
# across all packages that are dependencies of that package.
cover:
go test $(GOTAGS) -coverprofile=cover.out $(UNIT_TEST_SOURCES)
ifeq ($(PACKAGE),)
$(GOTESTCOMMAND) $(GOTAGS) -coverprofile=cover.out $(UNIT_TEST_SOURCES) -covermode=atomic -coverpkg=$(shell echo $(COVERPKG_PACKAGES) | sed 's/ /,/g')
else
cd $(PACKAGE); \
$(GOTESTCOMMAND) $(GOTAGS) -coverprofile=cover.out ./... -covermode=atomic -coverpkg=$$( (go list -f '{{ join .Deps "\n" }}' ./...; go list -f '{{ join .TestImports "\n" }}' ./...) | grep 'github.com/algorand/go-algorand' | egrep -v '/go-algorand/(test|debug|cmd|config/defaultsGenerator|tools)' | egrep -v '(test|testing|mocks|mock)$$' | sort | uniq | paste -sd ',' -); \
go tool cover -html cover.out
endif

prof:
cd node && go test $(GOTAGS) -cpuprofile=cpu.out -memprofile=mem.out -mutexprofile=mutex.out

generate: deps
generate:
PATH=$(GOBIN):$$PATH go generate ./...

msgp: $(patsubst %,%/msgp_gen.go,$(MSGP_GENERATE))
Expand All @@ -151,13 +161,13 @@ api:
logic:
make -C data/transactions/logic


%/msgp_gen.go: deps ALWAYS
MSGP := go run github.com/algorand/msgp@v1.1.62
%/msgp_gen.go: ALWAYS
@set +e; \
printf "msgp: $(@D)..."; \
$(GOBIN)/msgp -file ./$(@D) -o $@ -warnmask github.com/algorand/go-algorand > ./$@.out 2>&1; \
printf "$(MSGP) $(@D)..."; \
$(MSGP) -file ./$(@D) -o $@ -warnmask github.com/algorand/go-algorand > ./$@.out 2>&1; \
if [ "$$?" != "0" ]; then \
printf "failed:\n$(GOBIN)/msgp -file ./$(@D) -o $@ -warnmask github.com/algorand/go-algorand\n"; \
printf "failed:\n$(MSGP) -file ./$(@D) -o $@ -warnmask github.com/algorand/go-algorand\n"; \
cat ./$@.out; \
rm ./$@.out; \
exit 1; \
Expand Down Expand Up @@ -231,9 +241,6 @@ else
echo "OS_TYPE must be darwin for universal builds, skipping"
endif

deps:
./scripts/check_deps.sh

# artifacts

# Regenerate kmd swagger spec files
Expand All @@ -260,15 +267,15 @@ $(KMD_API_SWAGGER_SPEC): $(KMD_API_FILES) crypto/libs/$(OS_TYPE)/$(ARCH)/lib/lib
touch $@; \
fi

$(KMD_API_SWAGGER_INJECT): deps $(KMD_API_SWAGGER_SPEC) $(KMD_API_SWAGGER_SPEC).validated
$(KMD_API_SWAGGER_INJECT): $(KMD_API_SWAGGER_SPEC) $(KMD_API_SWAGGER_SPEC).validated
./daemon/kmd/lib/kmdapi/bundle_swagger_json.sh

# generated files we should make sure we clean
GENERATED_FILES := \
$(KMD_API_SWAGGER_INJECT) \
$(KMD_API_SWAGGER_SPEC) $(KMD_API_SWAGGER_SPEC).validated

rebuild_kmd_swagger: deps
rebuild_kmd_swagger:
rm -f $(GENERATED_FILES)
# we need to invoke the make here since we want to ensure that the deletion and re-creating are sequential
make $(KMD_API_SWAGGER_INJECT)
Expand Down Expand Up @@ -306,7 +313,7 @@ build-e2e: check-go-version crypto/libs/$(OS_TYPE)/$(ARCH)/lib/libsodium.a
wait
cp $(GOBIN)/kmd $(GOBIN)-race

NONGO_BIN_FILES=$(GOBIN)/find-nodes.sh $(GOBIN)/update.sh $(GOBIN)/COPYING $(GOBIN)/ddconfig.sh
NONGO_BIN_FILES=$(GOBIN)/find-nodes.sh $(GOBIN)/update.sh $(GOBIN)/COPYING

NONGO_BIN: $(NONGO_BIN_FILES)

Expand All @@ -316,8 +323,6 @@ $(GOBIN)/update.sh: cmd/updater/update.sh

$(GOBIN)/COPYING: COPYING

$(GOBIN)/ddconfig.sh: scripts/ddconfig.sh

$(GOBIN)/%:
cp -f $< $@

Expand Down Expand Up @@ -415,14 +420,13 @@ dump: $(addprefix gen/,$(addsuffix /genesis.dump, $(NETWORKS)))
install: build
scripts/dev_install.sh -p $(GOBIN)

.PHONY: default fmt lint check_shell sanity cover prof deps build build-race build-e2e test fulltest shorttest clean cleango deploy node_exporter install %gen gen NONGO_BIN check-go-version rebuild_kmd_swagger universal libsodium modernize
.PHONY: default fmt lint check_shell sanity cover prof build build-race build-e2e test fulltest shorttest clean cleango deploy node_exporter install %gen gen NONGO_BIN check-go-version rebuild_kmd_swagger universal libsodium modernize

###### TARGETS FOR CICD PROCESS ######
include ./scripts/release/mule/Makefile.mule

archive:
aws s3 cp tmp/node_pkgs s3://algorand-internal/channel/$(CHANNEL)/$(FULLBUILDNUMBER) --recursive --exclude "*" --include "*$(FULLBUILDNUMBER)*"

build_custom_linters:
custom-golangci-lint: .custom-gcl.yml
golangci-lint custom -v
./custom-golangci-lint --version
6 changes: 1 addition & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ We currently strive to support Debian-based distributions, with Ubuntu 24.04 as
git clone https://github.com/algorand/go-algorand
cd go-algorand
./scripts/configure_dev.sh
./scripts/buildtools/install_buildtools.sh
```

At this point, you are ready to build go-algorand. We use `make` and have several targets to automate common tasks.
Expand Down Expand Up @@ -136,7 +135,6 @@ Contains the two daemons that provide Algorand clients with services:
Enables developers to interface with the Algorand system:

- **cmd**: Contains the primary commands defining entry points into the system.
- **cmd/catchupsrv** ([README](cmd/catchupsrv/README.md)): A tool to assist with processing historic blocks on a new node.
- **libgoal**: Exports a Go interface useful for developers of Algorand clients.
- **tools** ([README](tools/README.md)): Various tools and utilities that don’t have a better place to go.
- **tools/debug**: Holds secondary commands that assist developers during debugging.
Expand All @@ -148,8 +146,6 @@ Helps Algorand developers deploy networks of their own:

- **nodecontrol**
- **docker**
- **commandandcontrol** ([README](test/commandandcontrol/README.md)): A tool to automate a network of `algod` instances.
- **components**
- **netdeploy**

### Utilities
Expand All @@ -169,5 +165,5 @@ Provides utilities for the various components:

Please see the [COPYING_FAQ](COPYING_FAQ) for details on how to apply our license.

Copyright (C) 2019-2025, Algorand Inc.
Copyright (C) 2019-2026, Algorand Inc.

2 changes: 1 addition & 1 deletion agreement/abstractions.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2019-2025 Algorand, Inc.
// Copyright (C) 2019-2026 Algorand, Inc.
// This file is part of go-algorand
//
// go-algorand is free software: you can redistribute it and/or modify
Expand Down
4 changes: 2 additions & 2 deletions agreement/actions.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2019-2025 Algorand, Inc.
// Copyright (C) 2019-2026 Algorand, Inc.
// This file is part of go-algorand
//
// go-algorand is free software: you can redistribute it and/or modify
Expand Down Expand Up @@ -26,7 +26,7 @@ import (
"github.com/algorand/go-algorand/protocol"
)

//go:generate stringer -type=actionType
//go:generate go tool -modfile=../tool.mod stringer -type=actionType
type actionType uint8

const (
Expand Down
Loading
Loading