What's Changed
Move ledger to standalone service
- Normalize nil payload value encoding to empty slice by @zhangchiqing in #8307
Stricter transaction verification
- Transactions must now include signatures only from accounts serving as payer, proposer, or authorizer. Transactions containing extra or redundant signatures from non-role accounts will be rejected by the FVM and Access API.
BFT
- Add playbook for root block voting by @sjonpaulbrown in #7744
- Extend
CombinedVoteProcessorV3by @durkmurder in #7918 - Suggested amendments for PR 7918 by @AlexHentschel in #8138
- Refactor with hotstuff.Distributor by @zhangchiqing in #8156
- Requester Engine update to follow guidelines by @durkmurder in #8205
- Suggestions for Requester Engine (PR #8205) by @jordanschalm in #8254
Data Availability
- Add AN compatibility for v0.44.0 by @j1010001 in #8144
- Remove sealed result index by @zhangchiqing in #8147
- Allow reindexing last block's protocol data by @peterargue in #8165
- Compatible Range in node version info does not reflect compatibility overrides by @UlyanaAndrukhiv in #8199
- Refactor optimistic sync pipeline by @peterargue in #8201
- Fix error codes for transactions endpoints during HCU #8178 by @UlyanaAndrukhiv in #8215
- Add compatibility override for v0.44.1 - master by @peterargue in #8216
- Indexer remove redundant header reads by @zhangchiqing in #8226
- Add endpoints to get transaction and results by block by @AndriiDiachuk in #8240
- port AN compatibility changes to master by @j1010001 in #8319
- add AN compatibility for v0.45.0 by @j1010001 in #8364
- add back quotes for DISABLE_ADX flag by @j1010001 in #8365
Flow EVM
- Truncate amount on
COA.withdrawcall to maximum Flow token vault precision by @m-Peter in #6877 - Apply any given
SetCodeAuthorizationlist toDryCallby @m-Peter in #8160 - Fix EVM gas overflow in FVM - port from internal by @janezpodhostnik in #8181
- Always enable EVM in FVM by @turbolent in #8211
- Add support for ABI encoding/decoding Cadence structs as tuples by @turbolent in #8259
- Add functionality to restrict EOAs from accessing EVM by @m-Peter in #8310
- Improve error handling for Cadence Arch precompiles by @m-Peter in #8341
- Check for integer overflow when reading ABI encoded bytes by @m-Peter in #8357
- Update to latest
ethereum/go-ethereumversion by @m-Peter in #8360 - Handle empty RLP list in Cadence Arch
verifyCOAOwnershipProof()by @m-Peter in #8361
FVM
- Rename schedulde callbacks to transactions by @devbugging in #8109
- Update Testnet System Colletion Version by @janezpodhostnik in #8140
- Deploy LockedTokens and StakingCollection after scheduled transactions by @joshuahannan in #8145
- Add Mainnet System Collection Version Boundary by @janezpodhostnik in #8151
- Update execution effort weights as per FLIP 346 by @janezpodhostnik in #8152
- Add MonotonicEmulator to transient chains by @jribbink in #8157
- Improve conversion of Flow address to Cadence address by @turbolent in #8214
- Update machine account balance recommendations by @jordanschalm in #8242
- Expose transaction index to Cadence by @janezpodhostnik in #8252
- Fix concurent execution metrics by @janezpodhostnik in #8261
- Add chain as a parameter to the runtime pool by @janezpodhostnik in #8302
- Resolve reusable runtime environment import cycle by @janezpodhostnik in #8303
- Remove unused ExecutedCollectionConsumer by @janezpodhostnik in #8306
- Make Chain a non-optional part of context construction by @janezpodhostnik in #8312
- Change InternalEVM injection to happen once by @janezpodhostnik in #8313
- Add account key metadata utility functions to FVM pkgs by @fxamacker in #8315
- Remove public key deduplication migration and diff key program by @fxamacker in #8316
- Split the Script and Transction runtimes earlier in the stack to avoid missuse by @janezpodhostnik in #8321
- Refactor cadence declarations in FVM by @janezpodhostnik in #8356
Collection node decentralization
- Update randomness used during bootstrapping by @tim-barry in #7978
- Add cluster bootstrapping commands by @tim-barry in #8013
- Collector nodes participate in bootstrapping by @tim-barry in #8124
- Sync collector bootstrapping with master by @tim-barry in #8189
Storage
- Refactor index execution result by @zhangchiqing in #8005
- Optimize CollectionFinalized with BlockIDByCollectionID by @zhangchiqing in #8186
- concurrency-safe vertex iterators for levelled forest by @AlexHentschel in #8202
- Support getting number of children of non-existent vertex in Levelled Forest by @jordanschalm in #8207
Storehouse
- Background storehouse indexing by @zhangchiqing in #8255
- Storehouse checkpoint validator by @zhangchiqing in #8257
Cadence
- Update to Cadence v1.8.5 by @turbolent in #8188
- Update to Cadence v1.8.6 by @turbolent in #8192
- Update to Cadence v1.8.7 by @turbolent in #8209
- Update to Cadence v1.9.1 by @turbolent in #8234
- Update to Cadence v1.9.2 by @turbolent in #8262
- Update to Cadence v1.9.3 by @turbolent in #8298
- Update to Cadence v1.9.4 by @turbolent in #8318
- Update to Cadence v1.9.5 by @turbolent in #8346
- Update to Cadence v1.9.6 by @turbolent in #8362
- Update to Cadence v1.9.7 and atree v0.12.1 by @turbolent in #8372
Testing
- Collection cluster bootstrapping+voting test by @tim-barry in #8091
- Fix benchmark manual cmd by @zhangchiqing in #8153
- Add scripts for debugging integration tests by @zhangchiqing in #8164
- Skip wintermute test suite due to flakiness by @zhangchiqing in #8187
CI
- update golangci-lint by @peterargue in #8223
- Fix ST1019 static lint errors by @peterargue in #8225
- chore: remove repetitive word in comment by @xiaolinny in #8237
- Bump
convictional/trigger-workflow-and-waitaction tov1.6.5by @manny-yes in #8294 - Makefile and build fixes by @janezpodhostnik in #8355
New Contributors
- @xiaolinny made their first contribution in #8237
Full Changelog: v0.44.19...v0.45.0