Data Availability
- Add execution state sync to public network by @UlyanaAndrukhiv in #5253
- Add support for indexing execution data on Observers by @AndriiDiachuk in #5256
- add config to limit script execution range - master by @peterargue in #5283
- Add implementation for usage of the local transaction result in Access API by @Guitarheroua in #5306
- Implement gRPC streaming endpoint SubscribeBlocks by @UlyanaAndrukhiv in #5307
- SendAndSubscribeTransactionStatuses endpoint implementation for Access Streaming API by @Guitarheroua in #5310
- Fix event index bounds checking in Access APIs by @peterargue in #5321
- Refactor access connection cache by @peterargue in #5334
- Add standard Access API implementations on Observer by @AndriiDiachuk in #5358
- Add state streaming API to observers by @UlyanaAndrukhiv in #5368
- Fixed public network execution data service component by @UlyanaAndrukhiv in #5375
- Implement gRPC streaming endpoint SubscribeAccountStatuses by @AndriiDiachuk in #5406
- Sort events returned from index in tx index order - backport by @peterargue in #5444
- Handle system transaction in local result mode by @peterargue in #5532
- Fix event conversion in local TxResults endpoint by @peterargue in #5582
Monitoring (Admin Server)
- Add support for CPU profiles via admin server - master backport by @peterargue in #5545
Database changes
- Clean up database prefixes by @jordanschalm in #5134
CI/CD
- New cd images (ADX support and ARM64) by @tarakby in #5254
- Reconcile build changes in Makefile & Dockerfile by @sjonpaulbrown in #5258
- Revert change to use semver build for without-netgo images by @peterargue in #5267
- Update make target to leverage new variable by @sjonpaulbrown in #5354
- Add Windows support when compiling with CGO_ENABLED by @jribbink in #5430
Cadence 1.0
- Update to stable Cadence by @SupunS in #4567
- Sync
feature/stable-cadence
branch withmaster
by @SupunS in #4655 - Update cadence version to v0.41.0-stable-cadence.1 by @SupunS in #4663
- Update to latest stable cadence by @SupunS in #4709
- Sync stable cadence branch with master by @SupunS in #4715
- Update core-contracts to latest cadence 1.0 version by @joshuahannan in #5064
- Update Cadence 1.0 branch by @turbolent in #5102
- Update core contracts dependencies to not use custom destructors by @joshuahannan in #5135
- Update Cadence 1.0 feature branch by @turbolent in #5171
- Add cadence values migration by @SupunS in #5192
- Replace hash-based validation of migrated Cadence values to use
Equal()
by @fxamacker in #5204 - Update to Stable Cadence preview 2 by @dsainati1 in #5246
- Sync stable-cadence branch with master by @SupunS in #5260
- Cadence 1.0 state migrations: Update to new static types migration by @turbolent in #5286
- Update stable cadence feature branch by @turbolent in #5290
- Updates Contract dependencies and reorganize deployments by @joshuahannan in #5340
- Update to Cadence v1.0.0-M5 by @turbolent in #5346
- Improve Cadence 1.0 migration by @turbolent in #5353
- Update stable cadence feature branch by @turbolent in #5356
- Update to Cadence v0.42.9 by @turbolent in #5361
- Update to Cadence v1.0.0-M6 by @turbolent in #5376
- Sync Stable Cadence feature branch by @turbolent in #5377
- Improve Cadence 1.0 migration by @turbolent in #5388
- Update to Cadence v1.0.0-M7 by @turbolent in #5393
- Sync stable-cadence branch with master by @SupunS in #5400
- Use core-contracts templates that use Environment by @joshuahannan in #5401
- Update Stable Cadence feature branch by @turbolent in #5412
- Add FT/NFT type change rules for contract update validator by @SupunS in #5415
- Update Stable Cadence feature branch by @turbolent in #5419
- Update Stable Cadence feature branch by @ramtinms in #5429
- Update to Cadence v1.0.0-M8 by @turbolent in #5442
- Update Stable Cadence feature branch by @turbolent in #5451
- Update Stable Cadence feature branch by @ramtinms in #5472
- Update to SDK v1.0.0-M7 by @turbolent in #5478
- Improve Migration by @turbolent in #5479
- Sync with master by @turbolent in #5493
- Update to Cadence v1.0.0-M9 by @turbolent in #5498
- Update to Latest versions of core contracts by @joshuahannan in #5517
- Update to Cadence v1.0.0-preview.10 by @turbolent in #5529
- Improve migrations by @turbolent in #5533
- Update to Cadence v1.0.0-preview.12 by @turbolent in #5539
- Merge master into Cadence 1.0 feature branch by @turbolent in #5540
- Add missing rule for NonFungibleToken.Collection type by @turbolent in #5541
- Update to Cadence v1.0.0-preview.13 by @turbolent in #5543
- Update to Cadence v1.0.0-preview.14 by @turbolent in #5546
- Update to Cadence v1.0.0-preview.15 by @SupunS in #5555
- Improve cadence migrations by @SupunS in #5564
- Update Core Contracts by @janezpodhostnik in #5579
- Optionally check atree storage health before migration by @turbolent in #5591
- Update Token Standards Contracts by @joshuahannan in #5597
- Update to Cadence v1.0.0-preview.18 by @turbolent in #5600
- Improve validation of Cadence values in atree migration by @fxamacker in #5609
- Update core contract dependencies by @joshuahannan in #5617
- Update to Cadence v1.0.0-preview.19 by @turbolent in #5621
- Fix storage health check in Cadence 1.0 migration by @fxamacker in #5622
Collection
- Rate limiting transaction by payer by @zhangchiqing in #5218
Dynamic Protocol State
- Split
flow.Identity
inflow.IdentitySkeleton
andflow.DynamicIdentity
by @durkmurder in #4545 - Protocol state storage by @durkmurder in #4559
- Read-only interfaces of protocol state by @durkmurder in #4579
- Protocol State Updater by @durkmurder in #4594
- Protocol State Mutator by @durkmurder in #4597
- Protocol state used in
FollowerState
andParticipantState
by @durkmurder in #4613 badger.Snapshot
uses dynamic protocol state by @durkmurder in #4625- Sync
master
to feature branch by @durkmurder in #4694 ProtocolStateEntry
refactoring by @durkmurder in #4721- Changing structure of participants in
EpochSetup
by @durkmurder in #4726 - Sync
master
tofeature/dynamic-protocol-state
by @durkmurder in #4814 EpochStateContainer
stores epoch active identities by @durkmurder in #4834- Block payload contains protocol state ID by @durkmurder in #4868
- Dedicated protocol state machine for epoch fallback by @durkmurder in #4931
- Sync
master
tofeature/dynamic-protocol-state
by @durkmurder in #5007 - Replace dynamic weight and ejection flag with 'epoch participation status' by @durkmurder in #5039
- TODOs and refactoring, part 2 by @durkmurder in #5080
- Remove
EpochStatus
by @jordanschalm in #5089 - Refactor Epoch Commitment Deadline Enforcement by @jordanschalm in #5108
InstanceParams
refactoring by @durkmurder in #5113- Sync master to
feature/dynamic-protocol-state
by @durkmurder in #5117 - Refactor bootstrapping and update Benchnet2 automations by @jordanschalm in #5136
- Sync
master
tofeature/dynamic-protocol-state
by @durkmurder in #5190 - Feature: Dynamic Protocol State by @jordanschalm in #5336
- KV Store Core Types by @jordanschalm in #5371
- Storage layer for KV store by @durkmurder in #5383
ProtocolStateVersionUpgrade
Service Event by @jordanschalm in #5428- KV store state machine by @durkmurder in #5513
Execution
- Remove module.Local from ingestion engine by @zhangchiqing in #5243
- Move maxCollectionHeight to metrics by @zhangchiqing in #5244
- Ingestion Block Queue by @zhangchiqing in #5248
- Expose computation usage for scripts by @ramtinms in #5299
- Fix stop control by @zhangchiqing in #5327
- Log progress of loading wal segment file by @zhangchiqing in #5367
- Add checkpoint size metrics by @zhangchiqing in #5395
- Shadow Execution node implementation by @zhangchiqing in #5411
- Disable execution data pruner by @zhangchiqing in #5463
- Remove duplicated observer collection indexer by @zhangchiqing in #5521
- limit the height range when querying getBlock in FVM by @zhangchiqing in #5607
FVM
- Handle cadence ParentErrors by @peterargue in #5272
- Add normalised time per computation logs to transaction execution by @janezpodhostnik in #5385
- Fix block total supply by @sideninja in #5413
- Add DefaultFVMOptions to verification builder by @janezpodhostnik in #5440
- Move blockHash calculation after deduction supply diff by @m-Peter in #5464
- Add system TX hash to test by @janezpodhostnik in #5466
- Meter computation in the account storage check by @janezpodhostnik in #5497
FlowEVM
- Add EVM type ID by @sideninja in #5091
- Add feature flag for deploying
EVM
contract only with ABI functionality by @m-Peter in #5230 - extend EVM precompiles with cadence arch by @ramtinms in #5233
- update StateDB to store codes by code hash by @ramtinms in #5235
- use
big.Int
for any balance related fields by @ramtinms in #5236 - Fix order of fields in the event by @sideninja in #5237
- Include the block hash in
evm.BlockExecuted
event payload by @m-Peter in #5245 - Use correct EVM address in tests and transient networks by @janezpodhostnik in #5255
- Update event validation logic to account for the
evm.*
events by @m-Peter in #5262 - smart contract deployment for COAs by @ramtinms in #5269
- balance type improvement by @ramtinms in #5271
- Selfdesctruct test by @sideninja in #5273
- Updating COA address allocation by @ramtinms in #5276
- reducing the scope of deposit to COAs only by @ramtinms in #5280
- populate PREVRANDAO with a random value from the FVM random generator by @ramtinms in #5281
- Set the correct testnet/mainnet evm state storage account by @janezpodhostnik in #5294
- update stdlib balance to use UInt instead of UFix64 by @ramtinms in #5303
- keep the last 256 block hashes for EVM look up by @ramtinms in #5304
- COA ownership proofs - part 1 by @ramtinms in #5341
- COA ownership proof - part 2 by @ramtinms in #5342
- COA ownership proof - part 3 by @ramtinms in #5343
- suggestions for COA address by @tarakby in #5344
- update error handling by @ramtinms in #5357
- Direct call hash calculation by @sideninja in #5369
- set nonce for direct calls by @ramtinms in #5373
- improvements to COA proof verification by @ramtinms in #5379
- rename bridged accounts to COAs by @ramtinms in #5381
- Add tests to assert that Flow EVM events can be properly CCF encoded/decoded by @m-Peter in #5384
- add blockHash and txHash to tx executed events by @ramtinms in #5387
- Update EVM contract for Cadence 1.0 by @sisyphusSmiling in #5390
- Reporting results for evm.Run and evm.coa.Call by @ramtinms in #5397
- Fix block hash calculation by @sideninja in #5408
- Add more test assertions for EVM events by @m-Peter in #5416
- Updating chain IDs by @ramtinms in #5421
- Improving evm integration tests by @ramtinms in #5431
- Add test for tx with zero fee or dynamic fees by @ramtinms in #5432
- Fix the evm chainID bug for mainnet by @ramtinms in #5443
- Use
EVMLocation
type fromflow-go-sdk
by @m-Peter in #5447 - fix tx hash bug for direct calls (deposit, withdraw) by @ramtinms in #5454
- return empty string when deployed address is empty by @ramtinms in #5456
- make EVM address' code/codeHash/nonce accessible by @ramtinms in #5460
- use transfer from/to a fixed native token bridge address for deposit/withdraw calls by @ramtinms in #5469
- make deposit available for all EVM addresses by @ramtinms in #5473
- Bootstrap with EVM by default by @janezpodhostnik in #5482
- Fix withdraw: set UUID of returned FlowToken.Vault by @turbolent in #5515
- improve handler by @ramtinms in #5516
- update EVM version to the one supporting configurable precompiles by @ramtinms in #5524
- add testnet chainID by @ramtinms in #5527
- Adding FLOW token bridge event by @ramtinms in #5538
- populate receipt root hash in blocks by @ramtinms in #5542
- prepare the StateDB and the Emulator to support batch run operations by @ramtinms in #5577
- Implement
EVM.getLatestBlock()
function to expose info about the latest block by @m-Peter in #5586 - Remove feature flag for ABI-only version of
EVM
contract by @m-Peter in #5587
Migration
- Add staged contract migration by @SupunS in #5300
Type check staged contract during migration by @SupunS in #5333 - Support emulator in migrations by @SupunS in #5345
Optimize migration by adding ability to read or extract payloads from state by @fxamacker in #5386 - Unify system-contracts migration and staged-contracts migration by @SupunS in #5405
- Improve account migration error handling by @janezpodhostnik in #5409
- Read staged contracts from CSV file by @SupunS in #5425
- Add value migration test for untyped capabilities by @SupunS in #5434
- Add version, partial state indicator, and checksum to payload file (intermediate migration file) by @fxamacker in #5438
- Optimize deployment migration by @turbolent in #5470
- Export migrator runtime constructor by @SupunS in #5475
- Add logs to merge by @janezpodhostnik in #5484
- Fix data race in account grouping for account based migration by @fxamacker in #5488
- Optimise merge registers for migrations by @janezpodhostnik in #5522
- Fix import resolving during staged contract updates by @SupunS in #5551
- Make contract update validation thread safe by @SupunS in #5565
- Revert "Optimise merge registers for migrations" by @turbolent in #5594
- Improve error printing in contract validator by @SupunS in #5596
Testing
- Set epoch safety threshold default in localnet by @jordanschalm in #5263
- Fixes map-based backend concurrent adjust-with-init test by @yhassanzadeh13 in #5275
- Updates contract dependencies and state commitments by @joshuahannan in #5301
- Clean up ./integration dependencies by @tarakby in #5314
- Add additional loads to the load generator by @janezpodhostnik in #5394
- Fix return type by @turbolent in #5450
- Remove db close in execution state sync tests by @zhangchiqing in #5465
- Add failfast to integration tests by @zhangchiqing in #5474
- Fix Flakey Networking Tests and Improve CI by @kc1116 in #5495
- Fix integration test by @janezpodhostnik in #5510
- Fix data races in tests by @turbolent in #5599
Networking
- Apply GossipSub Spam Penalty to Misbehaving Peers Based on
Count
andErr
inInvCtrlMsgNotif
by @kc1116 in #4978 - GossipSub Replay Message Mitigation by @kc1116 in #5058
- Enhance RPC Inspection with Configurable Thresholds and Granular Metrics Collection by @yhassanzadeh13 in #5234
- Reverting 4978 by @yhassanzadeh13 in #5252
- Enhance Gossipsub Scoring Mechanism for Configurable RPC Inspection enable/disable via configs by @kc1116 in #5257
- Relaxes invalid message delivery penalty by @yhassanzadeh13 in #5265
- Adds libp2p resource manager doc by @yhassanzadeh13 in #5308
- Khalil/1908 fix gossipsub integration test by @kc1116 in #5323
- Update bitswap to use new boxo repo by @peterargue in #5339
- improve subscription validator integration test by @kc1116 in #5355
- Adds GossipSub RPC inspection documentation by @yhassanzadeh13 in #5362
- Event-based test refactoring for GossipSub RPC inspection unit tests by @kc1116 in #5374
- Enhance Gossipsub Resilience: Configurable Threshold for Invalid Topic IDs in Control Messages by @kc1116 in #5391
- Simplifies RPC inspection misbehavior notification handling by @yhassanzadeh13 in #5398
- Upgrades libp2p to v0.32.2 by @yhassanzadeh13 in #5417
- Reject Gossipsub RPC from unstaked peers by @kc1116 in #5449
- Herostore message entity nonce by @kc1116 in #5452
FLIP 204: Add TargetDuration to Epoch models and API
- Add
TargetEndTime
to Epoch models and API by @jordanschalm in #4987 - Update
cruisectl.BlockTimeController
to useTargetEndTime
,TargetDuration
by @jordanschalm in #5023 - Include epoch timing config in sporking/bootstrapping process by @jordanschalm in #5027
- Add
TargetDuration
to Epoch models and API #4987 by @jordanschalm in #5038 - Smart-contract Defines target duration and end time for epochs by @jordanschalm in #5071
Atree
- Atree storage migration by @janezpodhostnik in #4633
- Remove cricket moments references from atree migration by @janezpodhostnik in #5242
- Atree Migration cleanup by @janezpodhostnik in #5284
- Fix storage map key conversion in atree migration by @fxamacker in #5605
Crypto
Util
- Find block ID by state commitment by @zhangchiqing in #5240
- Refactor Benchmarking by @janezpodhostnik in #5363
- Add sub-command to generate addresses for a chain by @turbolent in #5453
- Add util command to generate payloads for bootstrapped execution state by @turbolent in #5487
- Add migration diff util for testing and debugging migrations by @fxamacker in #5499
- Port Windows binstat fix to
master
by @jribbink in #5520 - Relax requirement for elapsed time during binstat init by @jribbink in #5589
- Add util command to extract payload by address by @fxamacker in #5608
Support for Previewnet
- Add preview net ID by @Kay-Zee in #5396
- Add osusergo flag and missing previewnet case by @turbolent in #5418
- Mark previewnet as transient by @janezpodhostnik in #5448
Misc
- minor doc update for Chunk Data Pack by @AlexHentschel in #5378
- Remove unneeded code copyright notices by @sideninja in #5567
Unclassified
New Contributors
- @sisyphusSmiling made their first contribution in #5390
- @bjartek made their first contribution in #5740
- @dependabot made their first contribution in #5859
Full Changelog: v0.33.37...v0.36.3-crescendo-preview.33-atree-inlining