Skip to content
This repository was archived by the owner on Nov 24, 2025. It is now read-only.
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
397 commits
Select commit Hold shift + click to select a range
4fedd2e
Finish s/WorkState/ParentState in fields
edmundnoble May 5, 2025
be5e491
update GHC and cabal versions and freeze file
larskuhtz May 7, 2025
79d5804
Pact payload provider initialization
edmundnoble May 6, 2025
0072209
Something
edmundnoble May 7, 2025
d0d2ec2
draft: remove registry
edmundnoble Feb 7, 2025
b6ecd1b
merge
edmundnoble May 13, 2025
8625383
Fix loopy test versions
edmundnoble May 20, 2025
c6ba1ba
Fix mining coordination to deal with chain graph upgrades properly
edmundnoble May 20, 2025
2e1faad
Use more debug and less info logging in miner coordinator
edmundnoble May 20, 2025
0830eb4
Start and sync payload providers for future chains
edmundnoble May 21, 2025
6bdf654
Fix consensusState function to work for future chains
edmundnoble May 21, 2025
3391c06
Move Chainweb.Cut code to Chainweb.Cut.Create
edmundnoble May 21, 2025
1a48a59
Fix isMonotonicCutExtension to use getCutExtension
edmundnoble May 21, 2025
0287dc2
Minor cleanup to Chainweb.Test.Cut
edmundnoble May 21, 2025
827a7fb
Remove old version registry from chainweb-node
larskuhtz May 22, 2025
e78e752
test for ability to create mixed transitional cuts
edmundnoble May 22, 2025
1c1a97e
fix initialization of pact databases
larskuhtz May 22, 2025
5010abe
Use minimal payload provider in timedConsensusVersion
edmundnoble May 20, 2025
6b8645c
Enable pact-5 on evm-development as required by genesis blocks
larskuhtz May 22, 2025
a048cb2
Merge remote-tracking branch 'origin/pp/evm' into pp/evm
larskuhtz May 22, 2025
1ef91e0
set consensus state in savepoint
edmundnoble May 22, 2025
e5977dc
update EvmDevelopment version to use only 5 chains. Also update evm-g…
larskuhtz May 22, 2025
eede31a
Optimize getBranch slightly
edmundnoble May 5, 2025
f717e86
payloadprovider fork detection
edmundnoble May 5, 2025
27ef710
Fix ea (Remove old version registry from chainweb-node)
larskuhtz May 22, 2025
ea2e80f
start running multinode with pact
edmundnoble May 22, 2025
40ed997
formatting
edmundnoble May 22, 2025
45e9d21
Add missing space
edmundnoble May 20, 2025
9f1707c
Log when minimal PP is told not to make a new payload
edmundnoble May 20, 2025
12eeb8c
Lower log severities for some warnings
edmundnoble May 20, 2025
f19554e
Comment on mystery error
edmundnoble May 21, 2025
93a7d50
Log work status summary on work timeout
edmundnoble May 20, 2025
593b445
idk: Bind to 127.0.0.1 instead of localhost to avoid a warning
edmundnoble May 20, 2025
40cf855
Rename variable
edmundnoble May 21, 2025
baf2b04
Delete unnecessary initialization
edmundnoble May 21, 2025
818fd64
Document invariant of joinIntoHeavier
edmundnoble May 21, 2025
3251ea4
Document invalid cut errors
edmundnoble May 21, 2025
d578b3d
merge
edmundnoble May 23, 2025
460de34
NOTESTS: sync pps with merged cut
edmundnoble May 21, 2025
6a52072
Stop using fork info to prefetch payloads
edmundnoble May 23, 2025
62c643c
Fix fork resolution
edmundnoble May 23, 2025
2f6c1d9
Insert payloads on-demand instead of from the stream
edmundnoble May 23, 2025
c5b0041
Properly log when continuing a genesis block
edmundnoble May 24, 2025
4ec58ad
More Brief instances
edmundnoble May 25, 2025
a37992f
Fix offsetBlockTime to correctly deal with transitions
edmundnoble May 25, 2025
d0f58b2
wip: Test for mixed transitional cuts being produced by join
edmundnoble May 25, 2025
3d576eb
Push back join base to avoid mixed transitional cuts
edmundnoble May 26, 2025
819de26
Improve error message in mining coordinator.
larskuhtz May 27, 2025
857eca3
Reduce initial difficulty of evm-development to accomodate larger num…
larskuhtz May 27, 2025
f533056
Cleanup EVM payload listener
larskuhtz May 27, 2025
dcfe346
Use sqlite readonly flag
edmundnoble May 27, 2025
576a13d
improve logging for EVM forkChoiceUpdate
larskuhtz May 27, 2025
81496c3
Remove debugging code
edmundnoble May 27, 2025
0ebe637
Fix error in localTest during graph transition
edmundnoble May 21, 2025
0a2b61e
replace BlockHashWithHeight with RankedBlockHash and cut logging
edmundnoble May 22, 2025
456c335
Merge remote-tracking branch 'origin/pp/evm' into pp/evm
larskuhtz May 28, 2025
e8c66f4
Disable some unusable tests
edmundnoble May 28, 2025
1d9060e
small test fixes
edmundnoble May 29, 2025
326027f
Fix rest api tests
edmundnoble May 29, 2025
e787c72
idk: try to fix headerSizeBytes
edmundnoble May 29, 2025
3571a9f
merge
edmundnoble May 29, 2025
b2088ad
Fix cutdb tests
edmundnoble May 30, 2025
5ab1ed2
Less syncToBlock calls in cut pipeline
edmundnoble May 30, 2025
bc6c14e
Add evm-development-singleton
edmundnoble May 30, 2025
152c09d
Use kadena-reth instead of evm-devnet-kadena-reth for evm genesis
edmundnoble May 30, 2025
9b9a4b3
Correct genesisTime
edmundnoble May 30, 2025
af072df
Some more EVM provider cleanup
larskuhtz May 28, 2025
8ef8271
Cleanup formatting of Miner.Coordinator a bit
larskuhtz May 28, 2025
6dcdf85
Some logging improvements for the EVM provider
larskuhtz May 28, 2025
bbe220f
Handle unexpected binary data in responses from EVM gracefully
larskuhtz May 28, 2025
42dbeba
Fix some benchmark compilation
edmundnoble May 30, 2025
a5c0f57
Re-enable failing replay tests
edmundnoble May 30, 2025
13bff45
Put Payload Provider tests back into main test suite
edmundnoble May 30, 2025
3d436f5
merge
edmundnoble May 30, 2025
c1c313c
Fix mempoolbench applycmdbench jsonencoding bench
edmundnoble May 30, 2025
843ceb8
Implement EVM engine_NewPaylaodV4 engine call
larskuhtz May 31, 2025
45bb7d0
implement newPayload function in EVM payload provider
larskuhtz May 31, 2025
49e69e8
Store EVM Execution Payloads in consensus
larskuhtz Jun 1, 2025
28085a2
fix evm development versions
larskuhtz Jun 1, 2025
78fed1a
Quieter logging
edmundnoble May 21, 2025
ccb92a6
add more logging to 'impossible to move' message
edmundnoble May 23, 2025
ad0c6d1
Increase debugging on missing treedb keys
edmundnoble Jun 2, 2025
bc05d1a
More logging
edmundnoble Jun 2, 2025
5e90a78
small logging fix
larskuhtz Jun 2, 2025
6148670
fix ancestor lookup in consensusState
larskuhtz Jun 3, 2025
11d5a11
Fix ancestor lookup in consensusState v2
edmundnoble Jun 3, 2025
57adf9e
Document consensusState a bit more
edmundnoble Jun 3, 2025
37889e8
Add Brief (These a b) instance
edmundnoble Jun 3, 2025
04c81f1
Fix Pact PP fork resolution
edmundnoble Jun 3, 2025
98894a1
Revert "Fix ancestor lookup in consensusState v2"
edmundnoble Jun 3, 2025
74c260e
Fix consensusState safeHeight calculation
edmundnoble Jun 3, 2025
8270e66
fork resolution on startup
edmundnoble Jun 4, 2025
eb18ecd
set withdrawalIndex in EVM payloads to block height
larskuhtz Jun 5, 2025
32264a0
Remove CI builds for 9.8.4 to speed up github actions builds
larskuhtz Jun 5, 2025
8e3b47f
update freeze file
larskuhtz Jun 5, 2025
9938be7
Faster genesisHeight calc
edmundnoble Jun 5, 2025
55de105
ChainId derive newtype
edmundnoble Jun 5, 2025
66b20a5
Fix payload refresh in EVM
edmundnoble Jun 9, 2025
b6eb77c
Take payload ID before FCU call
edmundnoble Jun 9, 2025
e37504c
Correct payload refresher thread in PactService
edmundnoble Jun 10, 2025
c852742
evm-genesis: fix number of chains and offsets of network ids.
larskuhtz Jun 12, 2025
dc8fd41
evm-genesis: fix chainweb-chain-id system contract
larskuhtz Jun 12, 2025
a86f9af
evm-genesis: fix format in aeson instances
larskuhtz Jun 12, 2025
4a0d634
Update genesis data for EVM payload provider
larskuhtz Jun 12, 2025
5ed0db4
Stop producing payloads in Pact when miner is unset
edmundnoble Jun 12, 2025
69c988e
update evm version and add evm-testnet
larskuhtz Jun 13, 2025
56833d2
fix ethereum network id in EvmTestnet version
larskuhtz Jun 14, 2025
635729a
Delete freeze
edmundnoble Jun 9, 2025
ceba9de
Add Pact genesis savepoint
edmundnoble Jun 11, 2025
18709e3
Add payload provider types to /info endpoint
edmundnoble Jun 17, 2025
0bb946f
Revert "Delete freeze"
edmundnoble Jun 17, 2025
a3156e3
update to version 2.29.1
chessai Jun 17, 2025
5e2d640
test for sigcaps with spaces
edmundnoble Jun 17, 2025
cd2944c
Unify Pact 5 command parsing between NewBlock and ValidateBlock
edmundnoble Jun 17, 2025
9b5a056
update CHANGELOG for version 2.29.1
chessai Jun 17, 2025
af2271b
add xchan-redeem system contract account and larger testnet allocations
larskuhtz Jun 23, 2025
80c8bb0
fix evm-testnet genesis block payload hashes
larskuhtz Jun 23, 2025
d992e32
Stop erroring on failed initial PP sync
edmundnoble Jun 12, 2025
6193f27
remove unused deps
edmundnoble Jun 25, 2025
e673635
poll eth_syncing instead of just FCU
edmundnoble Jun 20, 2025
9d81b83
stop comparing and fetching safe
edmundnoble Jun 24, 2025
8416a32
make SYNCING log message Info
edmundnoble Jun 24, 2025
1ff0887
Include actual header in FCS exn
edmundnoble Jun 24, 2025
2089aff
decrease waitTime
edmundnoble Jun 24, 2025
c9e1159
merge
edmundnoble Jun 25, 2025
39e0291
Censor jwt secret
edmundnoble Jun 25, 2025
bf140fa
add EVM system contracts to evm-genesis
larskuhtz Jun 26, 2025
47e3218
update evm-development EVM genesis info
larskuhtz Jun 26, 2025
a3a5435
update EVM xchan redeem contract allocation
larskuhtz Jun 26, 2025
5c0d473
update pact
jmcardon Jun 11, 2025
78ac785
add forking flag for 5.3 to chainweb
jmcardon Jun 12, 2025
07dcafd
add tests for pre/post fork behavior to RemotePactTests
jmcardon Jun 24, 2025
5b11725
add SPVBridge -> AllChains ForkNever to pact53 transition test version
chessai Jun 24, 2025
bcd90ba
make pact53 transition chainweb version use pact4 genesis headers
chessai Jun 25, 2025
41eea40
add advanceToForkHeight
chessai Jun 25, 2025
d62e35c
remove redundant comments in TestVersions.hs
chessai Jun 25, 2025
68e6d51
update ea for pact53 transition test version
chessai Jun 25, 2025
279cb3e
upgrade to pact53 and add flag parity to applyLocal for pact52 and pa…
chessai Jun 25, 2025
786331a
update cabal.project.freeze
chessai Jun 25, 2025
f008f08
remove warning disable flags in Pact5 RemotePactTest
chessai Jun 25, 2025
2ffba75
simplify advanceToForkHeight and get another transition test to use it
chessai Jun 25, 2025
7243571
respond to review
chessai Jun 25, 2025
c6853db
evm-genesis: write payload data to file instead of stdout
larskuhtz Jun 26, 2025
47561c6
update evm-development and evm-testnet genesis info
larskuhtz Jun 26, 2025
f8a6cf9
Fix mining rewards for EVM provider and be more clear about precisions
larskuhtz Jun 27, 2025
3569141
fix miner reward tests
larskuhtz Jun 27, 2025
af4579f
disable fee consistency check again
larskuhtz Jun 27, 2025
8e84203
add a comment
larskuhtz Jun 27, 2025
498e3d8
Fix duplicate results from keys function
edmundnoble May 9, 2025
e730ecf
Use unsafeHead to avoid x-partial warning
edmundnoble Jul 2, 2025
7ff4630
Update release.yml ghc regex
DevopsGoth Apr 19, 2025
aabf22f
Update applications.yml
DevopsGoth Apr 19, 2025
c8501e6
add fork variant for release 2.30
chessai Jul 2, 2025
3478d5d
update cabal package versions for release 2.30
chessai Jul 2, 2025
91c4a6e
update CHANGELOG for release 2.30
chessai Jul 2, 2025
e0acda0
update cabal freeze file for release 2.30
chessai Jul 2, 2025
1e620ba
Copy tests into artifacts
edmundnoble Jul 11, 2025
0c1f4ce
Add cut storage test
edmundnoble Jul 9, 2025
5acb69d
Simpler limited cut storage
edmundnoble Jul 11, 2025
e6ad62c
Re-enable most rest tests
edmundnoble Jul 24, 2025
ea2fdb1
No more todo
edmundnoble Jul 24, 2025
783e497
More idiomatic ResourceT in withChainwebTestServer
edmundnoble Jul 24, 2025
32e11db
More use of ResourceT in tests
edmundnoble Jul 24, 2025
f920656
Serve payloads on service APIs (including Pact outputs)
edmundnoble Jul 22, 2025
5750d4a
be lenient during rewind when reintroducing transactions
larskuhtz Jul 3, 2025
3776ec1
Remove from and reorder knownVersions
edmundnoble Jul 31, 2025
554eb61
Move header stream config into its own area
edmundnoble Jul 31, 2025
c4b923a
Add examples to version option
edmundnoble Jul 31, 2025
00c9430
Improved error messaging around EVM PP init
edmundnoble Jul 31, 2025
c26e307
Put minimal PP options into a group
edmundnoble Jul 31, 2025
2942a03
Typo fix
edmundnoble Jul 31, 2025
98fff0e
Delete pact queue size option
edmundnoble Jul 31, 2025
a82a5e4
Mark unsafeFromText NOINLINE
edmundnoble Aug 5, 2025
834e09b
Fix computeMerkleLogRoot
edmundnoble Aug 6, 2025
d9b4ba7
Use recapDevnet everywhere in prop_da_validate
edmundnoble Aug 6, 2025
a514284
Use real nonce in encodeAsMiningWork
edmundnoble Aug 6, 2025
c3897a4
Fix header validation test
edmundnoble Aug 6, 2025
6716e22
Nits
edmundnoble Aug 6, 2025
ea0ed66
Fix some more tests
edmundnoble Aug 6, 2025
59bf9be
Make MockTx.gasPrice JSONify as a string, not a number
edmundnoble Aug 6, 2025
e2d23d7
Make Kda pattern require 18 decimal digits, not 12
edmundnoble Aug 6, 2025
dad106a
Replace block gas limit TODO with comment
edmundnoble Aug 6, 2025
f69d29e
Add initial cut file option back into chainweb
edmundnoble Aug 19, 2025
58a8c87
Add graph transition test for d4k4
edmundnoble Aug 19, 2025
23b7b65
Fix limitCut performance regression
edmundnoble Aug 26, 2025
9fa2bae
Add extra bootstrap node for evm-testnet
edmundnoble Aug 21, 2025
7d59da4
Fix Pact 5 header oracle during rewinds
edmundnoble Aug 26, 2025
dc574a8
Restore Pact 4
edmundnoble Aug 26, 2025
0a570b3
merge
edmundnoble Aug 29, 2025
4433ed0
Migrate Pact 4
edmundnoble Aug 21, 2025
77f94d9
Merge pp-evm into master
edmundnoble Aug 29, 2025
ac25748
Use the right payload client
edmundnoble Sep 2, 2025
b6ae104
Move Chainweb.{Payload,Mempool} underneath Chainweb.Pact
edmundnoble Sep 3, 2025
dedd241
Fix recovery cut code
edmundnoble Sep 3, 2025
e1f5592
Expose both old and new Pact payload APIs, but use the old ones
edmundnoble Sep 3, 2025
328eca2
merge
edmundnoble Sep 3, 2025
ccc7d68
Stop node after initial cut is reached, if it's configured
edmundnoble Aug 28, 2025
8786bb0
Fix build
edmundnoble Sep 3, 2025
f654248
increase catchupStepSize to 500
larskuhtz Sep 12, 2025
c3a0deb
parallelize top level cut header fetching
larskuhtz Sep 12, 2025
5c2bfaa
Turn CutClientEnv into a newtype
larskuhtz Sep 14, 2025
4a3d649
Remove redundant imports and cleanup some imports lists
larskuhtz Sep 14, 2025
9b2d57d
rebase fixes
larskuhtz Sep 15, 2025
417a1c7
remove errors package
rsoeldner Sep 15, 2025
fc320da
Small documentation fixes in payload P2P REST API
larskuhtz Sep 16, 2025
c638bd8
Turn some datatypes into newtypes
larskuhtz Sep 16, 2025
9b250c9
Add RankedBlockHeaderDB and simplify TreeDB a bit
larskuhtz Sep 14, 2025
ff543c0
Export RankedBlockHeader
larskuhtz Sep 16, 2025
1b7c50c
Remote redundant language pragma in BlockHeaderDB
larskuhtz Sep 16, 2025
03ea1ef
Typo fix
edmundnoble Sep 17, 2025
97e4e2c
Typo fix 2
edmundnoble Sep 17, 2025
0676353
add blockhistory migration
rsoeldner Aug 28, 2025
95ce631
Move Minimal payload provider logging to Debug level
edmundnoble Sep 19, 2025
c998d1d
Change some names in getBranch
edmundnoble Sep 22, 2025
326541e
some code cleanup
larskuhtz Sep 27, 2025
a49fcd8
Incremental block header pruning
edmundnoble Sep 5, 2025
12bacf5
Add standalone-pruner
edmundnoble Sep 10, 2025
4e61f89
Fix legacy SPV errors and use BlockCtx in Pact 4 SPV too
edmundnoble Sep 25, 2025
5e64a63
Fix fork resolution in initialization of payload providers
larskuhtz Sep 28, 2025
28efdc0
fix ForkInfo creation in WebBlockHeaderStore
larskuhtz Sep 30, 2025
41cb354
Use BlockHistory if ConsensusState table is empty
edmundnoble Sep 23, 2025
7eb5ab9
Update src/Chainweb/Pact/Backend/ChainwebPactDb.hs
edmundnoble Sep 29, 2025
c925def
update Dockerfile
larskuhtz Oct 4, 2025
ac90634
Delete sql savepoints from Pact PP, use sql transactions
edmundnoble Oct 1, 2025
6957d97
improve brief instance for lists
larskuhtz Oct 2, 2025
081a833
factor out and improve forkinfo synchronization
larskuhtz Sep 30, 2025
12b5be8
give CutDB and WebBlockHeaderDB a proper logger
larskuhtz Oct 3, 2025
b7d7cb5
more logging cleanup
larskuhtz Oct 3, 2025
2693f77
provide candidate headers for forkinfo resolution
larskuhtz Oct 4, 2025
fecc0df
Add queried headers to the candidate headers
larskuhtz Oct 4, 2025
ce5e053
more log message formatting fixes
larskuhtz Oct 4, 2025
d37c178
More code cleanups
larskuhtz Oct 5, 2025
727781c
Prefetch payloads in batches from origins
larskuhtz Oct 5, 2025
1db989e
Update src/Chainweb/ChainValue.hs
larskuhtz Oct 5, 2025
541f1dd
union == unionWith const
larskuhtz Oct 5, 2025
55dda27
small code cleanups in Chainweb.Version
larskuhtz Oct 5, 2025
a291c10
replace prefetch by batched queries in fork info resolution
larskuhtz Oct 6, 2025
16dfe71
adjust prefetching based on benchmarks and cleanup code comments
larskuhtz Oct 6, 2025
fe657da
small fixes from code review
larskuhtz Oct 6, 2025
eaffea3
Avoid prefetching locally mined blocks
larskuhtz Oct 7, 2025
636cdda
Simplify HasTextRepresentation instance for BlockHeight
larskuhtz Oct 7, 2025
f0eae96
Add _forkInfoTraceBlockHashes function for ForkInfo
larskuhtz Oct 7, 2025
4554dde
Add pldRankedBlockPayloadHash getter EVM execution payload
larskuhtz Oct 7, 2025
d517ea3
Address issues from code review
larskuhtz Oct 7, 2025
30e8799
Make HasTextRepresentation newtype derivable
larskuhtz Oct 7, 2025
5593f48
improve some failure message as recommended in review
larskuhtz Oct 8, 2025
fbd049a
remove redundant import
larskuhtz Oct 8, 2025
40ab7ab
fix/disable builds for cwtools
larskuhtz Oct 8, 2025
d8098d4
fix formatting of pragmas
larskuhtz Oct 8, 2025
bbf23a8
Fix broken SPV oracles
edmundnoble Sep 25, 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
  •  
  •  
  •  
28 changes: 28 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# .git
**.hi
**.o
*.eventlog
*.eventlog
*.hp
*.prof
*.ps
*.tags
.DS_Store
.ghc.environment*
.stack-work
Dockerfile
Tmp*
chainweb-node
chainweb-node*
chainweb-node-prof*
chainweb-tests*
ci-logs
ci-logs*
dist
dist-newstyle
hie.log
out*
prof-data
tags
tmp
tmp*
64 changes: 35 additions & 29 deletions .github/workflows/applications.yml
Original file line number Diff line number Diff line change
Expand Up @@ -135,13 +135,14 @@ jobs:
MATRIX="$(jq -c '.' <<EOF
{
# The first version in this list is the version to be used for release
"ghc": ["9.6.7", "9.8.2", "9.10.1"],
"ghc": ["9.10.2"],
"cabal": ["latest"],
"os": ["ubuntu-22.04"],
"use-freeze-file": ["false"],
"include" : [
{
"ghc": "9.8.2",
# These are the build values that will be used for release scripts
"ghc": "9.10.2",
"cabal": "latest",
"os": "ubuntu-22.04",
"use-freeze-file": "true"
Expand All @@ -153,14 +154,14 @@ jobs:
else
MATRIX="$(jq -c '.' <<EOF
{
"ghc": ["9.6.7", "9.8.2", "9.10.1"],
"ghc": ["9.10.2"],
"cabal": ["latest"],
"os": ["ubuntu-22.04"],
"use-freeze-file": ["false"],
"include" : [
{
"ghc": "9.8.2",
"cabal": "3.12",
"ghc": "9.10.2",
"cabal": "3.14",
"os": "ubuntu-22.04",
"use-freeze-file": "true"
}
Expand Down Expand Up @@ -358,26 +359,30 @@ jobs:
run: cabal build chainweb --only-dependencies
- name: Build chainweb library
run: cabal build --ghc-options=-j2 lib:chainweb
# # Temporarily disabled on lars/pp/* branches
- name: Build chainweb applications
run: |
cabal build -j2 --ghc-options=-j2 \
chainweb:bench:bench \
exe:b64 \
exe:calculate-release \
exe:compact \
exe:db-checksum \
exe:ea \
exe:genconf \
exe:header-dump \
exe:known-graphs \
exe:standalone-pruner \
exe:pact-diff \
exe:run-nodes \
exe:tx-list \
test:chainweb-tests \
test:compaction-tests \
test:multi-node-network-tests \
test:remote-tests \
test:chainweb-storage-tests
test:chainweb-storage-tests \
exe:evm-genesis
# TODO: PP
# exe:tx-list \
# exe:header-dump \
# exe:run-nodes \
# exe:db-checksum \
# chainweb:bench:bench \
# test:compaction-tests \
- name: Build chainweb-node application
run: cabal build -j2 --ghc-options=-j2 chainweb-node:exe:chainweb-node

Expand All @@ -388,43 +393,44 @@ jobs:
echo "Git working tree is not clean. The build changed some file that is checked into git." 1>&2
exit 1
fi
- name: Run ea and verify consistency of genesis headers
run: |
cabal run ea
if ! git diff --exit-code -- src/Chainweb/BlockHeader/Genesis/ src/Chainweb/Pact/Transactions/ ; then
echo "Inconsistent genesis headers detected. Did you forget to run ea?" 1>&2
exit 1
fi

# Temporarily disabled (it seems that ea depends on chainweb-test-utils)
# - name: Run ea and verify consistency of genesis headers
# run: |
# cabal run ea
# if ! git diff --exit-code -- src/Chainweb/BlockHeader/Genesis/ src/Chainweb/Pact/Transactions/ ; then
# echo "Inconsistent genesis headers detected. Did you forget to run ea?" 1>&2
# exit 1
# fi

# Archive Artifacts
- name: Prepare artifacts
run: |
mkdir -p artifacts/chainweb
cp $(cabal list-bin b64) artifacts/chainweb
cp $(cabal list-bin bench) artifacts/chainweb
cp $(cabal list-bin calculate-release) artifacts/chainweb
cp $(cabal list-bin chainweb-node) artifacts/chainweb
cp $(cabal list-bin evm-genesis) artifacts/chainweb
cp $(cabal list-bin chainweb-storage-tests) artifacts/chainweb
cp $(cabal list-bin chainweb-tests) artifacts/chainweb
cp $(cabal list-bin compact) artifacts/chainweb
cp $(cabal list-bin compaction-tests) artifacts/chainweb
cp $(cabal list-bin db-checksum) artifacts/chainweb
cp $(cabal list-bin ea) artifacts/chainweb
cp $(cabal list-bin genconf) artifacts/chainweb
cp $(cabal list-bin header-dump) artifacts/chainweb
cp $(cabal list-bin known-graphs) artifacts/chainweb
cp $(cabal list-bin multi-node-network-tests) artifacts/chainweb
cp $(cabal list-bin pact-diff) artifacts/chainweb
cp $(cabal list-bin remote-tests) artifacts/chainweb
cp $(cabal list-bin run-nodes) artifacts/chainweb
cp $(cabal list-bin tx-list) artifacts/chainweb
cp $(cabal list-bin standalone-pruner) artifacts/chainweb
cp README.md artifacts/chainweb
cp CHANGELOG.md artifacts/chainweb
cp LICENSE artifacts/chainweb
cp chainweb.cabal artifacts/chainweb
cp cabal.project artifacts/chainweb
cp cabal.project.local artifacts/chainweb
cp cabal.project.freeze artifacts/chainweb
# cp $(cabal list-bin tx-list) artifacts/chainweb
# cp $(cabal list-bin header-dump) artifacts/chainweb
# cp $(cabal list-bin run-nodes) artifacts/chainweb
# cp $(cabal list-bin compaction-tests) artifacts/chainweb
# cp $(cabal list-bin db-checksum) artifacts/chainweb
- name: Create artifacts archive
run: |
echo "tar -C ./artifacts/ -czf $ARTIFACTS_ARCHIVE chainweb"
Expand Down Expand Up @@ -762,10 +768,10 @@ jobs:
# when adding more than one build, use a different package name or
# different tags
include:
- ghc: "9.8.2"
- ghc: "9.10.2"
os: "ubuntu-22.04"
use-freeze-file: "true"
- ghc: "9.10.1"
- ghc: "9.10.2"
os: "ubuntu-22.04"
use-freeze-file: "false"
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ghc: ["9.8.2"]
ghc: ["9.8.4"]
cabal: ["latest"]
os: ["macos-latest"]
cabalcache: ["true"]
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ jobs:
- name: Get ghc version
id: set-ghc-version
run: |
VERSION_GHC=$(grep -Po '(?<="ghc": \[")(\d\.\d\.\d)' .github/workflows/applications.yml | head -1)
VERSION_GHC=$(grep -Po '(?<="ghc": ")(\d\.\d\.\d)' .github/workflows/applications.yml | head -1)
if [[ -z $VERSION_GHC ]]; then
echo "Unable to get GHC version from chainweb node build"
exit 1
Expand Down
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
## 2.30 (2025-07-07)
This is a major version update. This release replaces all previous versions.

Any prior version will stop working on **2025-07-23T00:00:00Z**. Node administrators must
upgrade to this version before that date. The 2.30 feature upgrade will
occur at block height 6027616 which is estimated to be mined at **2025-07-24T00:00:00Z**.

### Changes
- Upgrade to Pact 5.3 [`5c0d473`](https://github.com/kadena-io/chainweb-node/commit/5c0d473e347dbc2fc56827117de972ca89aed6f8)
- Fix duplicate results from `keys` function [`498e3d8`](https://github.com/kadena-io/chainweb-node/commit/498e3d8d511e301d81989ec97eb9cb5f87c14fe6)

## 2.29.1 (2025-06-17)
This is a minor point release. Upgrading is **strongly recommended**.

To upgrade, pull the latest docker image, or download the binary and
restart the node with the same configuration file as before.

### Changes
- Unify Pact 5 command parsing between NewBlock and ValidateBlock [`055567d`](https://github.com/kadena-io/chainweb-node/commit/055567d00eef48d295cc35c510d1316e400073e8)
- Add a test for malformed capability names [`9f0b409`](https://github.com/kadena-io/chainweb-node/commit/9f0b40936770e1a67ac45ecd81087ec2e66d09d7)

## 2.29 (2025-04-16)
This is a major version update. This release replaces all previous versions.

Expand Down
20 changes: 14 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@
# support this we would have to define dedicated runtime images and build
# images.

ARG UBUNTU_VERSION=22.04
ARG GHC_VERSION=9.10.1
ARG UBUNTU_VERSION=24.04
ARG GHC_VERSION=9.12.2
ARG PROJECT_NAME=chainweb

# ############################################################################ #
Expand All @@ -68,11 +68,12 @@ RUN <<EOF
libffi8 \
libgmp10 \
liblz4-1 \
libncurses5 \
libncurses6 \
libsnappy1v5 \
libssl3 \
libtinfo5 \
libtinfo6 \
locales \
libmpfr6 \
zlib1g \
libgflags2.2
if [ "${TARGETPLATFORM}" = "linux/arm64" ] ; then
Expand Down Expand Up @@ -121,6 +122,7 @@ RUN <<EOF
libsnappy-dev \
libssl-dev \
libzstd-dev \
libmpfr-dev \
neovim \
pkg-config \
zlib1g-dev
Expand Down Expand Up @@ -159,8 +161,10 @@ EOF
# ############################################################################ #
# Setup Context

FROM chainweb-build as chainweb-build-ctx
FROM chainweb-build AS chainweb-build-ctx
ARG TARGETPLATFORM
ARG UNFREEZE
ENV UNFREEZE=$UNFREEZE
# RUN git clone --filter=tree:0 https://github.com/kadena-io/chainweb-node
# WORKDIR /chainweb/chainweb-node
COPY . .
Expand All @@ -173,15 +177,19 @@ if [ -d ".git" ] && ! [ -f "/tools/wip" ] && ! git diff --exit-code; then \
exit 1 ; \
fi
EOF
RUN [ -z "$UNFREEZE" ] || rm -f cabal.project.freeze
RUN sh /tools/check-git-clean.sh || touch /tools/wip

# ############################################################################ #
# Build Dependencies

FROM chainweb-build-ctx as chainweb-build-dependencies
FROM chainweb-build-ctx AS chainweb-build-dependencies
ARG TARGETPLATFORM
ARG PROJECT_NAME
ENV GIT_DISCOVERY_ACROSS_FILESYSTEM=1
RUN --mount=type=cache,target=/root/.cabal,id=${TARGETPLATFORM} \
--mount=type=cache,target=./dist-newstyle,id=${PROJECT_NAME}-${TARGETPLATFORM},sharing=locked \
cabal update
RUN --mount=type=cache,target=/root/.cabal,id=${TARGETPLATFORM} \
--mount=type=cache,target=./dist-newstyle,id=${PROJECT_NAME}-${TARGETPLATFORM},sharing=locked \
[ -f cabal.project.freeze ] || cabal --enable-tests --enable-benchmarks freeze
Expand Down
Loading
Loading