Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3683 commits
Select commit Hold shift + click to select a range
777704d
Explain duplicated UTXO check (#956)
StephenButtolph May 9, 2025
3cf977c
Fix `SetEthUpgrades` with unscheduled activations (#952)
StephenButtolph May 12, 2025
d09d7cb
Cleanup test fork handling (#950)
StephenButtolph May 12, 2025
cf07e93
move log (#957)
ceyonur May 14, 2025
edb3e63
add ethclient hooks and examples (#951)
ceyonur May 14, 2025
cfc8826
Refactor warp code (#961)
ceyonur May 15, 2025
b104a74
Move atomic txpool to own package (#964)
ceyonur May 15, 2025
886b8ef
Update CODEOWNERS (#965)
ceyonur May 15, 2025
26b365a
Add license linter (#969)
ceyonur May 19, 2025
6ddf2ba
Remove dead code (#967)
StephenButtolph May 19, 2025
ef4d7dd
Add linters (#968)
ceyonur May 20, 2025
8ffe1b6
move atomic state pkg (#960)
ceyonur May 21, 2025
6516052
chore(github): dependabot changes (#896)
qdm12 May 22, 2025
29b8370
Atomic txs (#973)
ceyonur May 22, 2025
5c3ab68
docs: add releasing document (#902)
qdm12 May 23, 2025
de6a088
refactor peer pkg to network pkg (#976)
ceyonur May 23, 2025
aac22d9
chore(ethclient): textual alignment with geth code (#882)
qdm12 May 23, 2025
78ccd15
fix AvalancheGo version and nil configs for Granite (#982)
ceyonur May 27, 2025
2d8e3f7
Add granite configs (#987)
StephenButtolph May 27, 2025
c3fb5ec
remove request parse check in network forwarding (#977)
ceyonur May 27, 2025
bbc9475
Add comments for context for future precompile addition (#990)
meaghanfitzgerald May 29, 2025
2842101
Require min available capacity to build a block (#995)
aaronbuchwald May 30, 2025
9b8a8f8
Atomic sync pkg (#963)
ceyonur Jun 3, 2025
3d7a2c8
Atomic block extension (#981)
ceyonur Jun 4, 2025
dcb20ce
minor docs fixup (#1004)
davidjsonn Jun 6, 2025
7a1f79c
Implement updated avalanchego VM interface (#1006)
joshua-kim Jun 6, 2025
ef1fb30
move block extender to vm (#984)
ceyonur Jun 6, 2025
dab5d35
move syncers to atomic vm (#1009)
ceyonur Jun 6, 2025
2fcf45f
chore: Update libevm (#1013)
alarso16 Jun 10, 2025
4816512
chore: use squashed avalanchego commit (#1014)
alarso16 Jun 11, 2025
0058a7e
build: Update `libevm` to `v1.13.14-0.3.0.rc.1` (#1017)
alarso16 Jun 20, 2025
b0b3d39
updated link evm api (#996)
navillanueva Jun 23, 2025
2a813e3
use explicity structs and innervm calls (#1015)
ceyonur Jun 23, 2025
6b8c2c3
move atomic backend and consensus callbacks (#1011)
ceyonur Jun 23, 2025
8f7cb5b
move mempool and gossip handlers to atomic vm (#1018)
ceyonur Jun 25, 2025
475c04d
add warp tests for Coreth (#1000)
ceyonur Jun 26, 2025
d78c86e
remove subnet-evm specific warp test components (#1024)
ceyonur Jun 27, 2025
c73fe66
Remove legacy warp handlers (#999)
ceyonur Jul 1, 2025
98b19ea
move atomic api to atomic vm (#1025)
ceyonur Jul 1, 2025
abf6895
feat: enable configurable state history for pruning nodes (#1022)
alarso16 Jul 1, 2025
464bb8e
updated link for remote content used in Builder-hub docs (#1020)
navillanueva Jul 1, 2025
cfd37ff
Remove Widnows CI tests (#1028)
JonathanOppenheimer Jul 2, 2025
6b5d08f
feat: c-chain config markdown (#1027)
owenwahlgren Jul 2, 2025
36b84a7
chore: move evm config markdown (#1030)
owenwahlgren Jul 2, 2025
be170fa
cut v0.15.1 in release.md (#1032)
ceyonur Jul 3, 2025
f0ef658
fully wrap inner vm (#1031)
ceyonur Jul 7, 2025
ecbf4f3
fix(core/txpool): demote error log to warn (#1034)
alarso16 Jul 7, 2025
f5e0d73
Add block signature recovery timer (#1035)
aaronbuchwald Jul 7, 2025
9ee2cb1
eth/filters: add address limit to filters (#31876) (#1033)
ceyonur Jul 7, 2025
a8cda72
Move CI tasks to Taskfile.yml and consolidate workflow (sync with sub…
JonathanOppenheimer Jul 8, 2025
17220c9
Remove SnowmanAPI (#1039)
StephenButtolph Jul 8, 2025
dc06607
Use explicit subscriptions instead of toEngine channel (#1003)
yacovm Jul 8, 2025
87b89a6
feat: Add firewood as a database (#1029)
alarso16 Jul 9, 2025
43a7dc9
Cleanup statedb extension (#1043)
StephenButtolph Jul 10, 2025
5484384
Update interface to the latest version of avalanchego (#1045)
joshua-kim Jul 11, 2025
380bc44
refactor: re-exec loop check (#1050)
alarso16 Jul 16, 2025
ed1c605
feat: enable blockchain ops and tests (#1041)
alarso16 Jul 16, 2025
f281760
chore: Update Firewood to v0.0.9 (#1052)
alarso16 Jul 22, 2025
1168408
feat: Firewood metrics (#1061)
alarso16 Jul 22, 2025
fc2394d
style: use require in statesync tests (#1062)
alarso16 Jul 23, 2025
8fa714a
feat(plugin/evm): add parallelization support for atomic trie state s…
powerslider Jul 23, 2025
204bdcf
ci: Add line display for avalanchego version script (#1064)
alarso16 Jul 23, 2025
9c895b6
refactor: change sync interface to Wait() (#1063)
alarso16 Jul 24, 2025
c193709
Remove custom `state.StateDB` (#1053)
StephenButtolph Jul 24, 2025
ab3d465
ci: Set GitHub token to remove flake (#1066)
alarso16 Jul 24, 2025
3c018dd
fix: Exclude our test file from license linter for eth (#1070)
alarso16 Jul 24, 2025
2d64507
Replace coreth state package with libevm state package (#1056)
StephenButtolph Jul 24, 2025
6d5d722
fix: Remove race between commits and reads (#1071)
alarso16 Jul 25, 2025
2186ed3
refactor(sync): unify atomic and state sync under common interface (#…
powerslider Jul 25, 2025
d3de70a
Fix summary metrics + flaky test (#1073)
StephenButtolph Jul 25, 2025
1eac5a4
`Add64` and `Mul64` were replaced with `Add` and `Mul` respectively (…
StephenButtolph Jul 25, 2025
0255516
style: fix typo in sync client (#1077)
alarso16 Jul 28, 2025
b5a8128
Refactor atomic mempool initialization (#1080)
StephenButtolph Jul 29, 2025
310ca6c
Unify Add, AddRemoteTx, and AddLocalTx behavior (#1081)
StephenButtolph Jul 29, 2025
33f6a38
fix: Ensure Firewood does not return data on unimplemented APIs (#1059)
alarso16 Jul 29, 2025
b4c8300
feat(sync): make atomic trie sync and state trie sync follow the same…
powerslider Jul 30, 2025
4187637
Remove metrics package (#1086)
JonathanOppenheimer Aug 1, 2025
93444df
chore: update libevm version to v1.13.14-0.3.0.rc.6 (#1087)
alarso16 Aug 1, 2025
ce16f66
fix: unclear error message (#1088)
alarso16 Aug 1, 2025
ebaa8e0
Update codeowners (#1091)
StephenButtolph Aug 4, 2025
2abf999
refactor(plugin/evm): move atomic sync code back to plugin/evm (#1093)
powerslider Aug 5, 2025
764f31d
refactor(sync): add `blockSyncer` as a new syncer implementation (#1078)
alarso16 Aug 6, 2025
6d10d2c
Refactor and document the atomic mempool (#1097)
StephenButtolph Aug 7, 2025
8388bd0
fix: flake in test (#1096)
alarso16 Aug 7, 2025
63fd441
Fix mempool length handling (#1100)
StephenButtolph Aug 7, 2025
2efd661
Improve Mempool error handling to report ErrNoGas errors (#1101)
StephenButtolph Aug 7, 2025
ced05d6
Include Current transactions in the bloom filter (#1102)
StephenButtolph Aug 8, 2025
825d097
Revert the maintainer only code owners restriction (#1107)
StephenButtolph Aug 8, 2025
4f0ffa7
Do not Discard ErrMempoolFull transactions (#1103)
StephenButtolph Aug 8, 2025
25aa878
chore: prepare release for v0.15.3 (#1105)
ceyonur Aug 11, 2025
48c4c39
refactor: use Sync instead of Start and Wait (#1104)
alarso16 Aug 11, 2025
31071c7
chore: change dependabot config (#1110)
ceyonur Aug 11, 2025
a4281c0
refactor config pkg (#958)
ceyonur Aug 11, 2025
7599607
chore: remove unused sync subnet-evm workflow (#1109)
ceyonur Aug 12, 2025
d55b348
chore(sync, plugin/evm): simplify syncer configuration (#1085)
powerslider Aug 12, 2025
70a1040
Simplify atomic mempool tx signaling (#1116)
StephenButtolph Aug 13, 2025
2f6c795
Refactor atomic tx gas price calculations (#1118)
StephenButtolph Aug 13, 2025
3cee0fe
Atomic vm tests (#1112)
ceyonur Aug 14, 2025
cfa7f33
fix: license header file (#1122)
alarso16 Aug 14, 2025
05bc022
chore: more license fixes (#1123)
alarso16 Aug 15, 2025
ab13015
prepare for v0.15.4 (#1124)
ceyonur Aug 18, 2025
9817cf1
Vm test helpers (#1125)
ceyonur Aug 18, 2025
7d59ff4
ci: Enable extra linters (#1117)
alarso16 Aug 19, 2025
b44c5c0
perf: upgrade Firewood (#1134)
alarso16 Aug 20, 2025
eb3b44d
style: Unused linters (#1132)
alarso16 Aug 20, 2025
ca84247
chore: remove nonexistent test flakes (#1135)
RodrigoVillar Aug 21, 2025
215620b
Remove `predicate` package (#1128)
JonathanOppenheimer Aug 21, 2025
3b2ab68
style: revive lint (#1136)
alarso16 Aug 25, 2025
76d25a3
update releasing README.md with version prep instructions (#1108)
JonathanOppenheimer Aug 25, 2025
4c549bf
feat(sync/vm): parallelize syncer execution with errgroup (#1131)
powerslider Aug 25, 2025
3263334
chore(all): use upstream protocol params (#966)
qdm12 Aug 25, 2025
320223d
Remove EIP-4844 package in favor of libevm version (#1145)
JonathanOppenheimer Aug 26, 2025
8df44f4
Update tx gossip rate limit dynamically (#1141)
joshua-kim Aug 26, 2025
054dd19
Add time check for bootstrapping (#1148)
JonathanOppenheimer Aug 26, 2025
baeb30b
activate all upgrades in TestChainConfig and fix the genesis tests (#…
ceyonur Aug 26, 2025
df3930b
Remove duplicate gossip instantiation (#1154)
StephenButtolph Aug 26, 2025
1d22235
fix: add a default batch limit (#1150)
alarso16 Aug 26, 2025
8467d9f
Remove unused struct vars (#1152)
StephenButtolph Aug 26, 2025
36e30dd
Remove reexec package (#1153)
JonathanOppenheimer Aug 26, 2025
91e0d7c
chore: update firewood and fix test flakes (#1151)
alarso16 Aug 26, 2025
c75adfe
`plugin/evm/config`: updated docs for allow-unfinalized-queries (#1142)
navillanueva Aug 28, 2025
94c1542
rename header package to customheader (#1163)
ceyonur Aug 28, 2025
4136380
chore: bump libevm version (#1159)
JonathanOppenheimer Aug 28, 2025
071cf76
move block fee verification to customheader (#1168)
ceyonur Aug 29, 2025
1dbc8a8
Replace interface with struct (#1172)
StephenButtolph Aug 29, 2025
665ce3e
Refactor predication verification logic (#1166)
StephenButtolph Aug 29, 2025
091a2f7
Remove dead code for creating atomic txs (#1174)
StephenButtolph Aug 29, 2025
651f189
Cleanup keystore creation (#1175)
StephenButtolph Aug 29, 2025
9b32562
style: enable nilerr linter (#1182)
JonathanOppenheimer Sep 4, 2025
39df088
style: revive fix based on feedback (#1187)
alarso16 Sep 8, 2025
d414a04
fix: move acceptor tip commitment (#1138)
alarso16 Sep 8, 2025
c531654
docs: Firewood config (#1181)
alarso16 Sep 8, 2025
ff935e6
style: enable gocritic linter (#1184)
JonathanOppenheimer Sep 9, 2025
e5b67e2
Correct TargetToPriceUpdateConversion comment (#1199)
michaelkaplan13 Sep 10, 2025
f20cb9b
style: enable prealloc linter (#1200)
JonathanOppenheimer Sep 11, 2025
d254329
chore(plugin/evm,consensus): add sentinel errors and remove deprecate…
powerslider Sep 11, 2025
74e8218
feat(plugin/evm): ACP-226 - set expected block gas cost to 0 in Grani…
ceyonur Sep 12, 2025
fe2ab9d
Register secp256r1 precompile (#1044)
JonathanOppenheimer Sep 12, 2025
fcf0ce4
Add precompile reversion logic for Granite activation (#1149)
JonathanOppenheimer Sep 12, 2025
c7031a9
ci: update taskfile for rlpgen (#1214)
alarso16 Sep 12, 2025
a6fe076
style: enable staticcheck linter (#1197)
JonathanOppenheimer Sep 12, 2025
c9d2d1f
style: enable predeclared linter (#1183)
JonathanOppenheimer Sep 12, 2025
b214ed5
skip verify block fee if is 0 (#1215)
ceyonur Sep 15, 2025
d5c602f
feat: add TimeMilliseconds to header (#1208)
alarso16 Sep 15, 2025
5e785ce
Have `checkPredicates` account for maximum available gas capacity (#1…
JonathanOppenheimer Sep 15, 2025
224d7c9
fix: free memory used by proposals in firewood (#1173)
demosdemon Sep 15, 2025
31c0526
Fix test aggregation goroutine leak (#1188)
michaelkaplan13 Sep 16, 2025
af368c5
refactor: move header time verification (#1218)
alarso16 Sep 16, 2025
b508e98
refactor(plugin/evm): move syncer client/registry to plugin/evm/vmsyn…
powerslider Sep 17, 2025
6ff7140
Remove libevm `cmd/*` packages. (#1224)
JonathanOppenheimer Sep 17, 2025
80db0d6
Remove libevm `signer` package (#1225)
JonathanOppenheimer Sep 17, 2025
0e9d009
Remove duplicate cancun checks (#1223)
alarso16 Sep 17, 2025
aa9039c
Rewrite / align coreth and subnet-evm documentation (#1095)
JonathanOppenheimer Sep 18, 2025
3172e07
Remove unused types from codec registration (#1235)
StephenButtolph Sep 18, 2025
bd235f7
Cleanup ExportTx verification test (#1237)
StephenButtolph Sep 18, 2025
1ed1717
Disable non-security related dependabot PRs (#1240)
StephenButtolph Sep 19, 2025
cd13e3f
chore: bump libevm (#1239)
JonathanOppenheimer Sep 19, 2025
44ae56a
ACP-226: Add MinDelayExcess to header (#1234)
ceyonur Sep 19, 2025
ae43cea
update comments and file names (#1204)
alarso16 Sep 23, 2025
cee35d5
[ci] Remove use of run_env with run-monitored-tmpnet-cmd (#1252)
maru-ava Sep 23, 2025
9a67621
style: enable testifylint linter (#1198)
JonathanOppenheimer Sep 23, 2025
6e7bcd6
simplify test (#1268)
ceyonur Sep 23, 2025
2692752
remove old path for firewood (#1275)
alarso16 Sep 23, 2025
06b55fd
feat: Enable PathDB config (#1244)
alarso16 Sep 24, 2025
ff7b117
Move verification code to `semanticVerify` (#1277)
JonathanOppenheimer Sep 24, 2025
f0db9b5
feat(sync): decouple code syncer from state syncer and run concurrent…
powerslider Sep 25, 2025
be30ed8
refactor: collapse `CodeQueue` tests into table (#1278)
ARR4N Sep 25, 2025
2d2f6cb
Remove precompile address comment (#1285)
JonathanOppenheimer Sep 25, 2025
aaff39c
Upgrade to go 1.24 (#1249)
alarso16 Sep 25, 2025
d089eea
check the parent.TimeMilliSeconds in wall clock adjustment (#1286)
ceyonur Sep 26, 2025
0a1d401
refactor out the time calculations to customtypes package (#1287)
ceyonur Sep 26, 2025
1c17a7b
import acp176 package from avalanchego (#1242)
ceyonur Sep 27, 2025
530ca18
fix(sync/statesync): panic-causing race between `<-quit` and `AddCode…
ARR4N Sep 29, 2025
dfd4473
update avalanchego (#1293)
alarso16 Sep 29, 2025
80c7fdd
style: forbidigo t.Fatal (#1279)
alarso16 Sep 29, 2025
0a6ce77
fix: block hash when overriding to block n+1 (#1301)
ARR4N Sep 30, 2025
83dbf26
ACP-226: add min delay excess to block and verify (#1263)
ceyonur Oct 1, 2025
8719b97
Add warp test to verify equivalent gas consumed (#1311)
StephenButtolph Oct 2, 2025
1f982b1
Enforce block building delay only for retries (#1295)
ceyonur Oct 2, 2025
a0df90c
Update avalanchego to latest (#1316)
StephenButtolph Oct 2, 2025
a857a64
feat!: explicit `libevm` calls to `Register{Extras,Hooks}()` (#1305)
ARR4N Oct 2, 2025
9032df6
build: use `avalanchego@master` instead of branch (#1320)
ARR4N Oct 3, 2025
b5c6acf
chore: adopt libevm options, simplify constructors and unexport confi…
powerslider Oct 3, 2025
81b31df
Remove secondary validator override (#1313)
StephenButtolph Oct 3, 2025
109f6a2
chore: Use go 1.24's 'go tool' support for CLI tooling (#1317)
maru-ava Oct 4, 2025
6855804
ACP-226: adjust ACP-176 to use milliseconds (#1288)
alarso16 Oct 7, 2025
0673f8f
build(deps): bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2…
dependabot[bot] Oct 7, 2025
d949044
Remove duplicate avalanchego test (#1325)
StephenButtolph Oct 7, 2025
cd63620
Add `TestClientWebsocketLargeMessage` flake to list of flakes (#1251)
JonathanOppenheimer Oct 7, 2025
2880150
Replace `getValidatorSet` (#1324)
StephenButtolph Oct 7, 2025
e49a625
ACP-226: Apply Min Block Delay to Block Builder (#1310)
ceyonur Oct 8, 2025
d3695fc
move test helper (#1327)
ceyonur Oct 8, 2025
db4f801
ACP-226: Update EstimateNextBaseFee (#1329)
alarso16 Oct 8, 2025
bfc9915
Warp gas costs granite (#1306)
geoff-vball Oct 9, 2025
ed2f46c
deps: bump go to version `1.24.8` (#1330)
JonathanOppenheimer Oct 10, 2025
4b18b13
ACP-226: min block delay verify (#1292)
ceyonur Oct 10, 2025
1b67c91
remove unused GetChainConfig from the precompile interface (#1334)
ceyonur Oct 10, 2025
107a0f8
Update warp gas costs with new caching logic (#1331)
StephenButtolph Oct 10, 2025
75ed2c0
cleanup in customtypes (#1335)
ceyonur Oct 10, 2025
a966839
fix: database inspection (#1245)
RodrigoVillar Oct 10, 2025
73937ae
ci: Fix flakes file (#1336)
alarso16 Oct 13, 2025
7a3f004
remove legacy aggregator tests (#1321)
ceyonur Oct 14, 2025
85c600c
fix: one missing time (#1337)
alarso16 Oct 14, 2025
bdbeea0
add min delay target to config.md (#1339)
ceyonur Oct 15, 2025
e38b660
chore: update Firewood (#1333)
alarso16 Oct 15, 2025
0b315e0
style: Use require.ErrorIs whenever possible (#1303)
alarso16 Oct 16, 2025
7c4bf8e
chore: add type to `codeRequestMetric` (#1338)
JonathanOppenheimer Oct 16, 2025
f902d62
chore: remove deprecated genesis types (#1315)
JonathanOppenheimer Oct 16, 2025
7bacaa5
refactor!: remove direct `libevm/pseudo` import (#1353)
ARR4N Oct 20, 2025
58775c8
test: Add log.Crit to core tests (#1351)
alarso16 Oct 20, 2025
6c57d8a
feat!: `evm.WithTempRegisteredLibEVMExtras()` (#1328)
ARR4N Oct 22, 2025
aa5ef24
deps: bump go to version `1.24.9` (#1352)
JonathanOppenheimer Oct 24, 2025
7ae8cfe
chore: Allow addition allow 3 more imports (#1350)
JonathanOppenheimer Oct 24, 2025
edb4225
test: Update to go-ethereum's WaitDeployed (#1366)
alarso16 Oct 27, 2025
53b9eb4
test: Add race detection for bindings tests (#1365)
alarso16 Oct 27, 2025
9465469
test: Update rpc tests to reduce flake likelihood (#1363)
alarso16 Oct 28, 2025
3f40e54
deps: bump AvalancheGo (#1373)
JonathanOppenheimer Oct 28, 2025
0343a1b
test: Fix mempool flakes (#1360)
alarso16 Oct 28, 2025
edef554
test: Fix state sync flakes (#1361)
alarso16 Oct 28, 2025
1c9ebba
use average for block tips after Granite (#1342)
ceyonur Oct 28, 2025
c4401f9
Use AvalancheGo database package (#1367)
JonathanOppenheimer Oct 28, 2025
a3a4755
deps: Update golangci-lint for upstream code (#1375)
alarso16 Oct 29, 2025
33016b5
style: use t.Context() (#1372)
alarso16 Oct 29, 2025
b1a920f
fix: Flake in txindexer test (#1380)
alarso16 Oct 30, 2025
ca9a493
style: enable gosec linter (#1202)
JonathanOppenheimer Oct 31, 2025
45844d3
fix: Copy directory (#1376)
alarso16 Nov 3, 2025
141b697
ci: Remove test retries (#1381)
alarso16 Nov 3, 2025
8f397aa
test: Skip flaky ChainIndexer test (#1383)
alarso16 Nov 3, 2025
0b57cf5
refactor: use upstream bloombits package (#1388)
alarso16 Nov 3, 2025
d8ec8ad
test: Skip rpc tests that timeout (#1384)
alarso16 Nov 3, 2025
64c271b
test: run sync tests in parallel (#1390)
alarso16 Nov 3, 2025
f1525b7
ci: Add lint-fix to taskfile (#1391)
alarso16 Nov 5, 2025
f5b6f85
build(deps): bump github.com/consensys/gnark-crypto from 0.12.1 to 0.…
dependabot[bot] Nov 6, 2025
7e583fa
ci: Missing test import lint (#1394)
alarso16 Nov 10, 2025
c06f5df
chore: Add lint link check job (#1392)
JonathanOppenheimer Nov 10, 2025
6ef531e
style: enable errcheck linter (#1203)
JonathanOppenheimer Nov 10, 2025
8e2efc7
style: enable depguard linter (#1271)
JonathanOppenheimer Nov 11, 2025
8c9a6e5
rpc: Avoid unnecessary RST_STREAM and PING frames causing GOAWAYs (#1…
michaelkaplan13 Nov 11, 2025
6f0522a
Removed `avax.version` API (#1406)
StephenButtolph Nov 12, 2025
0a0195c
Remove `customlogs` package (#1371)
JonathanOppenheimer Nov 13, 2025
ec9525e
build: remove unneeded dependencies (#1407)
alarso16 Nov 14, 2025
4b59b09
[migrate-coreth][1] Add documentation and tooling for repo migration
maru-ava Nov 15, 2025
efc915f
fixup: Expand on how to finalize the migration
maru-ava Nov 16, 2025
356b41a
Firewood upgrade v0.0.14 (#1402)
alarso16 Nov 17, 2025
8d001db
ci: Filters test corrections (#1404)
alarso16 Nov 17, 2025
8ce2000
Convert import script to a go test (#1348)
JonathanOppenheimer Nov 18, 2025
1bb9fa4
refactor(test): replace custom test context helper with standard cont…
powerslider Nov 19, 2025
159b84b
Remove `TestMustNotImport` (#1414)
JonathanOppenheimer Nov 19, 2025
4819e74
Revert customethclient package and changes (#1413)
ceyonur Nov 20, 2025
430f436
[migrate-coreth][2] Add 'graft/coreth/' from commit '4819e74789439707…
maru-ava Nov 16, 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
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@
protoc-gen-go-grpc
protoc-gen-connect-go

# Line-oriented search tool
ripgrep

# Solidity compiler
solc

Expand Down
88 changes: 88 additions & 0 deletions graft/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Monorepo Grafting

This directory is intended to be the initial point of migration for
other git repos being added to this repo. Such 'grafts' do not have to
initially adhere to repo standards but will be expected to be
refactored where necessary to meet such standards as part of a
PR-based process of migrating to more permanent locations.

## Migrating a Repo

### Stacked Branches

As with with any changes to a codebase, minimizing review friction is
essential. While it would be possible to require review of a huge PR
commit-by-commit, any changes to those commits would need to be
correlated with their originals and the friction would be
considerable. Instead, a [stacked
branch](https://andrewlock.net/working-with-stacked-branches-in-git-part-1/)
approach is suggested to enable effective review of a large migration
in a piecemeal fashion:

- Create a branch per reviewable task
- Subtree merge would be one task, import rewrite another, etc
- The branch for a task subsequent to the initial task would be
based on the previous task branch
- Create a PR per branch
- The initial task would use the master branch as its base
- A subsequent task would use the previous task's branch as its base
- Mark each PR as draft to avoid premature merge
- Request review in order from the initial PR but do not merge yet
- Once all PRs in the series have been approved
- Freeze develoment on the origin repo
- Merge from the top down into the subtree merge PR
- Avoids cascading rebases and merge conflicts
- Once only the subtree merge PR is left, manually merge the branch
- Merging the PR with squash enabled would discard the history that
we want to retain
- Close the subtree merge PR
- Archive the original repo

Tooling such as
[git-machete](https://github.com/VirtusLab/git-machete) or
[jujutsu](https://github.com/jj-vcs/jj) is suggested to simplify
maintaining the series of stacked branches.

### Suggested Procedure

The following do not represent an exhaustive list of tasks and are
used for example purposes only. Regardless of the steps involved, the
creation of an initial branch from master is assumed before the first
step, and the commit of all changes and creation of a new branch from
the current branch before beginning a subsequent step.

- [ ] Add tasks for subtree merge and import rewrite to graft/Taskfile.yml (as per the example of existing tasks)
- These tasks are intended to simplify the repeated invocation that
will be required when a repo is being developed in parallel with
migration.
- [ ] Execute the subtree merge task (it will commit the result automatically)
- [ ] Remove files made redundant by the migration
- Prioritizing file removal before modification minimizes the changes requiring review
- [ ] Execute the rewrite imports task (it will commit the result automatically)
- [ ] Perform required go module changes
- [ ] Migrate CI jobs (unit test, e2e, linting, etc)
- [ ] Get CI jobs passing

### Rebasing Inflight PRs

Provided a subtree merge was used to perform the graft, a common merge
base will exist with which to rebase PRs targeted at the original git
repo. This allows for repo migration and ongoing development to
proceed in parallel. Once a graft has been finalized, outstanding PR
branches from the original repo can be migrated as follows:

```bash
# Fetch the PR branch from the standalone repo's remote
git fetch REMOTE PR_BRANCH_NAME

# Create a local branch from the PR branch.
# Don't track since the new branch is intended to target the new repo.
git checkout -b PR_BRANCH_NAME REMOTE/PR_BRANCH_NAME --no-track

# Rebase onto the target branch in this repo, treating graft/REPO as the subtree root.
# Conflict resolution may be required.
git rebase -Xsubtree=graft/REPO --onto origin/master REMOTE/master

# Push the new PR branch
git push -u origin PR_BRANCH_NAME
```
19 changes: 19 additions & 0 deletions graft/Taskfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# https://taskfile.dev
# To run on a system without task installed, `../scripts/run_task.sh` will execute it with `go run`.
# If in the nix dev shell, `task` is available.

version: '3'

vars:
CORETH_MODULE: github.com/ava-labs/coreth

tasks:
default: ../scripts/run_task.sh --list

coreth-rewrite-imports:
desc: Rewrite imports of out-of-tree coreth to in-tree coreth
cmd: bash ./scripts/rewrite-imports.sh {{.CORETH_MODULE}}

coreth-subtree-merge:
desc: Perform git subtree merge of coreth into graft/coreth (commits)
cmd: bash ./scripts/subtree-merge.sh {{.CORETH_MODULE}} master
255 changes: 255 additions & 0 deletions graft/coreth/.avalanche-golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,255 @@
# https://golangci-lint.run/usage/configuration/
version: "2"
run:
# If set we pass it to "go list -mod={option}". From "go help modules":
# If invoked with -mod=readonly, the go command is disallowed from the implicit
# automatic updating of go.mod described above. Instead, it fails when any changes
# to go.mod are needed. This setting is most useful to check that go.mod does
# not need updates, such as in a continuous integration and testing system.
# If invoked with -mod=vendor, the go command assumes that the vendor
# directory holds the correct copies of dependencies and ignores
# the dependency descriptions in go.mod.
#
# Allowed values: readonly|vendor|mod
# By default, it isn't set.
modules-download-mode: readonly

# Include non-test files tagged as test-only.
# Context: https://github.com/ava-labs/avalanchego/pull/3173
build-tags:
- test

issues:
# Make issues output unique by line.
uniq-by-line: false

# Maximum issues count per one linter.
max-issues-per-linter: 0

# Maximum count of issues with the same text.
max-same-issues: 0

formatters:
enable:
- gci
- gofmt
- gofumpt
settings:
gci:
sections:
- standard
- default
- blank
- prefix(github.com/ava-labs/coreth)
- alias
- dot
custom-order: true
exclusions:
generated: lax

# Avalanche linters should be added incrementally
linters:
default: none
enable:
- asciicheck
- bodyclose
- copyloopvar
- depguard
- errcheck
- errorlint
- forbidigo
- goconst
- gocritic
- goprintffuncname
- gosec
- govet
- importas
- ineffassign
- misspell
- nakedret
- nilerr
- noctx
- nolintlint
- perfsprint
- prealloc
- predeclared
- revive
- spancheck
- staticcheck
- tagalign
- testifylint
- unconvert
- unparam
- unused
- usestdlibvars
- usetesting
- whitespace
settings:
depguard:
rules:
packages:
deny:
- pkg: container/list
desc: github.com/ava-labs/avalanchego/utils/linked should be used instead.
- pkg: github.com/golang/mock/gomock
desc: go.uber.org/mock/gomock should be used instead.
- pkg: github.com/stretchr/testify/assert
desc: github.com/stretchr/testify/require should be used instead.
- pkg: io/ioutil
desc: io/ioutil is deprecated. Use package io or os instead.
errorlint:
# Check for plain type assertions and type switches.
asserts: false
# Check for plain error comparisons.
comparison: false
forbidigo:
# Forbid the following identifiers (list of regexp).
forbid:
- pattern: require\.Error$(# ErrorIs should be used instead)?
- pattern: require\.ErrorContains$(# ErrorIs should be used instead)?
- pattern: require\.EqualValues$(# Equal should be used instead)?
- pattern: require\.NotEqualValues$(# NotEqual should be used instead)?
- pattern: ^(t|b|tb|f)\.(Fatal|Fatalf|Error|Errorf)$(# the require library should be used instead)?
- pattern: ^sort\.(Slice|Strings)$(# the slices package should be used instead)?
# Exclude godoc examples from forbidigo checks.
exclude-godoc-examples: false
gosec:
excludes:
- G107 # Url provided to HTTP request as taint input https://securego.io/docs/rules/g107
- G115 # TODO(marun) Enable this ruleset in a follow-up PR
importas:
# Do not allow unaliased imports of aliased packages.
no-unaliased: false
# Do not allow non-required aliases.
no-extra-aliases: false
# List of aliases
alias:
- pkg: github.com/ava-labs/avalanchego/utils/math
alias: safemath
- pkg: github.com/ava-labs/avalanchego/utils/json
alias: avajson
revive:
rules:
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#bool-literal-in-expr
- name: bool-literal-in-expr
disabled: false
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#early-return
- name: early-return
disabled: false
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#empty-lines
- name: empty-lines
disabled: false
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#redundant-import-alias
- name: redundant-import-alias
disabled: false
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#string-format
- name: string-format
disabled: false
arguments:
- - b.Logf[0]
- /.*%.*/
- no format directive, use b.Log instead
- - fmt.Errorf[0]
- /.*%.*/
- no format directive, use errors.New instead
- - fmt.Fprintf[1]
- /.*%.*/
- no format directive, use fmt.Fprint instead
- - fmt.Printf[0]
- /.*%.*/
- no format directive, use fmt.Print instead
- - fmt.Sprintf[0]
- /.*%.*/
- no format directive, use fmt.Sprint instead
- - log.Fatalf[0]
- /.*%.*/
- no format directive, use log.Fatal instead
- - log.Printf[0]
- /.*%.*/
- no format directive, use log.Print instead
- - t.Logf[0]
- /.*%.*/
- no format directive, use t.Log instead
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#struct-tag
- name: struct-tag
disabled: false
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unexported-naming
- name: unexported-naming
disabled: false
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unhandled-error
- name: unhandled-error
# prefer the errcheck linter since it can be disabled directly with nolint directive
# but revive's disable directive (e.g. //revive:disable:unhandled-error) is not
# supported when run under golangci_lint
disabled: true
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unused-parameter
- name: unused-parameter
disabled: false
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unused-receiver
- name: unused-receiver
disabled: false
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#useless-break
- name: useless-break
disabled: false
spancheck:
# https://github.com/jjti/go-spancheck#checks
checks:
- end
staticcheck:
# https://staticcheck.io/docs/options#checks
checks:
- all
- -SA6002A # Storing non-pointer values in sync.Pool allocates memory
- -SA1019 # Using a deprecated function, variable, constant or field
- -QF1008 # Unnecessary embedded expressions
tagalign:
align: true
sort: true
order:
- serialize
strict: true
testifylint:
# Enable all checkers (https://github.com/Antonboom/testifylint#checkers).
# Default: false
enable-all: true
# Disable checkers by name
# (in addition to default
# suite-thelper
# ).
disable:
- go-require
- float-compare
unused:
# Mark all struct fields that have been written to as used.
# Default: true
field-writes-are-uses: false
# Treat IncDec statement (e.g. `i++` or `i--`) as both read and write operation instead of just write.
# Default: false
post-statements-are-reads: true
# Mark all local variables as used.
# default: true
local-variables-are-used: false
usetesting:
os-create-temp: true # Disallow `os.CreateTemp("", ...)`
os-mkdir-temp: true # Disallow `os.MkdirTemp()`
os-setenv: true # Disallow `os.Setenv()`
os-temp-dir: true # Disallow `os.TempDir()`
os-chdir: true # Disallow `os.Chdir()`
context-background: true # Disallow `context.Background()`
context-todo: true # Disallow `context.TODO()`
exclusions:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
rules:
# Exclude some linters from running on test files.
# 1. Exclude the top level tests/ directory.
# 2. Exclude any file prefixed with test_ in any directory.
# 3. Exclude any directory suffixed with test.
# 4. Exclude any file suffixed with _test.go.
- path: "(^tests/)|(^(.*/)*test_[^/]*\\.go$)|(.*test/.*)|(.*_test\\.go$)"
linters:
- gosec
9 changes: 9 additions & 0 deletions graft/coreth/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.ci
.github
.gitignore
.golangci.yml
.idea
.vscode

LICENSE
*.md
10 changes: 10 additions & 0 deletions graft/coreth/.envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# - Will execute on entry to the containing directory only if authorized with `direnv allow`
# - Requires a recent version of direnv (https://direnv.net/)
# - For quieter direnv output, set `export DIRENV_LOG_FORMAT=`

# Determine AVALANCHE_VERSION
source ./scripts/versions.sh

# - Starts an avalanchego dev shell
# - Requires nix (https://github.com/DeterminateSystems/nix-installer?tab=readme-ov-file#install-nix)
use flake "github:ava-labs/avalanchego?ref=${AVALANCHE_VERSION}"
Loading
Loading