Skip to content

Latest commit

 

History

History
1317 lines (698 loc) · 103 KB

File metadata and controls

1317 lines (698 loc) · 103 KB

chainlink-deployments-framework

0.74.3

Patch Changes

0.74.2

Patch Changes

0.74.1

Patch Changes

  • #653 173d35e Thanks @graham-chainlink! - fix(jd): keep wsrpc field as storage

    Looks like WSRPC field cant be removed completely for now as Chainlink repo uses WSRPC field of the JDConfig as temporary storage for lookup later, it requires a refactor on the Chainlink side to address this, in the mean time to unblock the removal of wsrpc in the CLD, we temporary restore the storage functionality of the field.

0.74.0

Minor Changes

  • #643 ade5b2c Thanks @graham-chainlink! - fix(JD): remove WSRPC field from JDConfig

    The WSRPC in JDConfig was never needed as it was never used. Only GRPC field is needed.

Patch Changes

0.73.0

Minor Changes

Patch Changes

0.72.0

Minor Changes

Patch Changes

0.71.4

Patch Changes

0.71.3

Patch Changes

0.71.2

Patch Changes

0.71.1

Patch Changes

0.71.0

Minor Changes

0.70.0

Minor Changes

Patch Changes

0.69.0

Minor Changes

  • #600 bf1ed32 Thanks @jkongie! - Adds a new load option WithChains for loading the test engine environment

    This option is useful if you want to manually construct and configure chains before adding them to the environment instead of using the existing predefined chain loader options.

0.68.2

Patch Changes

  • #588 d1febae Thanks @gustavogama-cll! - fix(mcms): make proposalContextProvider a required param of BuildMCMSv2Cmd

  • #595 95f96d9 Thanks @finleydecker! - Added -eth flag to the evm nodes fund command. Example: users can now use "-eth 10" to fund nodes up to 10 eth. Also added a new line separator to the current balance log to improve readability.

  • #594 5936b3b Thanks @gustavogama-cll! - fix(mcms): improve error handling in confirmTransaction

0.68.1

Patch Changes

0.68.0

Minor Changes

  • #586 f3a2a36 Thanks @jkongie! - Updates Test Engine Sui container to use a specific devnet image and generate different deploy keys for each container

Patch Changes

0.67.0

Minor Changes

0.66.1

Patch Changes

0.66.0

Minor Changes

Patch Changes

  • #570 eb74395 Thanks @skudasov! - Adds a new EVM Confirm Functor which allows the user to specify a custom wait interval for checking confirmation. Example

    		p, err := cldf_evm_provider.NewRPCChainProvider(
    			d.ChainSelector,
    			cldf_evm_provider.RPCChainProviderConfig{
    				DeployerTransactorGen: cldf_evm_provider.TransactorFromRaw(
    					getNetworkPrivateKey(),
    				),
    				RPCs: []rpcclient.RPC{
    					{
    						Name:               "default",
    						WSURL:              rpcWSURL,
    						HTTPURL:            rpcHTTPURL,
    						PreferredURLScheme: rpcclient.URLSchemePreferenceHTTP,
    					},
    				},
    				ConfirmFunctor: cldf_evm_provider.ConfirmFuncGeth(
    					30*time.Second,
    					// set custom confirm ticker time because Anvil's blocks are instant
    					cldf_evm_provider.WithTickInterval(5*time.Millisecond),
    				),
    			},
    		).Initialize(context.Background())

0.65.0

Minor Changes

Patch Changes

0.64.0

Minor Changes

Patch Changes

0.63.0

Minor Changes

Patch Changes

0.62.0

Minor Changes

0.61.0

Minor Changes

  • #552 32b13c5 Thanks @ajaskolski! - feat: add catalog service integration for datastore operations

    Features:

    • Add catalog service support for datastore management as alternative to local file storage
    • Add MergeMigrationDataStoreCatalog method for catalog-based datastore persistence
    • Existing MergeMigrationDataStore method continues to work for file-based storage (no breaking changes)
    • Add unified MergeDataStoreToCatalog function for both initial migration and ongoing merge operations
    • All catalog operations are transactional to prevent data inconsistencies
    • Add DatastoreType configuration option (file/catalog) in domain.yaml to control storage backend
    • Add new CLI command datastore sync-to-catalog for initial migration from file-based to catalog storage in CI
    • Add SyncDataStoreToCatalog method to sync entire local datastore to catalog
    • CLI automatically selects the appropriate merge method based on domain.yaml configuration
    • Catalog mode does not modify local files - all updates go directly to the catalog service

    Configuration:

    • Set datastore: catalog in domain.yaml to enable catalog mode
    • Set datastore: file or omit the setting to use traditional file-based storage
    • CLI commands automatically detect the configuration and use the appropriate storage backend
  • #549 3e33b93 Thanks @jkongie! - Improve JD Memory client to be aligned with the Job Distributor implementation

0.60.1

Patch Changes

0.60.0

Minor Changes

Patch Changes

0.59.1

Patch Changes

0.59.0

Minor Changes

  • #536 d35d8de Thanks @jkongie! - JD Memory Client now supports filtering in ListNodes

  • #542 5b3a421 Thanks @jkongie! - Aligns MemoryJobDistributor ProposeJob and RevokeJob to have the same functionality as the JobDistributor service

  • #540 35d9189 Thanks @jkongie! - JD Memory Client now supports filtering in ListJobs

0.58.1

Patch Changes

0.58.0

Minor Changes

Patch Changes

0.57.0

Minor Changes

  • #482 62ed5d0 Thanks @rodrigombsoares! - Implement SUI proposal analyzer

  • #510 8fd65fe Thanks @graham-chainlink! - feat: enable strict yaml unmarshalling

    When unmarshalling from yaml input for pipelines, if there is a field not defined in the struct, an error will be returned. This helps catch typos and misconfigurations early.

  • #512 c035859 Thanks @jkongie! - Adds a new option to test engine environment loading for setting NodeIDs

    WithNodeIDs - option to set NodeIDs into the test environment

Patch Changes

0.56.0

Minor Changes

  • #503 08dcbfb Thanks @jkongie! - Loading the test engine environment now accepts two new options

    • WithDatastore - Allows setting a custom datastore for the environment.
    • WithAddressBook - Allows setting a custom address book for the environment.
  • #505 602bf03 Thanks @graham-chainlink! - refactor(catalog): rename MemoryDatastore

    NewMemoryDataStore -> NewMemoryCatalogDataStore

  • #508 5761e5a Thanks @jkongie! - Adds a new option to test engine environment loading for setting an offchain client.

    • WithOffchainClient option to set an offchain client into the test environment

Patch Changes

  • #504 4a11d81 Thanks @ecPablo! - improve error display for cases where revert has no data using tracing with anvil and searching for revert reasons on abi registry

0.55.1

Patch Changes

0.55.0

Minor Changes

Patch Changes

0.54.1

Patch Changes

0.54.0

Minor Changes

Patch Changes

  • #484 fb9d9bf Thanks @jkongie! - Fixes test engine MCMS execution when multiple proposals have the same validUntil timestamp.

    A salt override is added to each timelock proposal persisted to the state to ensure unique operation IDs in test environments where multiple proposals may have identical timestamps. This salt is used in the hashing algorithm to determine the root of the merkle tree.

  • #479 930e469 Thanks @jkongie! - Fixes MCMS Execution failing to Set Root in the test engine

  • #475 8d9ded3 Thanks @gustavogama-cll! - fix(mcms): check for PostOpCountReached errors in Solana as well

0.53.0

Minor Changes

  • #469 a24665b Thanks @jkongie! - Adds support for Sui and Tron chains in the test engine

  • #473 d2bdd22 Thanks @graham-chainlink! - feat: add --changeset-index flag for array format YAML files

    Add support for running changesets by index position to handle duplicate changeset names in array format input files.

  • #467 fe7e75b Thanks @jkongie! - Adds a new test engine task to sign and execute all pending proposals

    A new test engine runtime task has been added to improve the experience of signing and executing MCMS proposals. This new task will sign and execute all pending proposals that previous ChangesetTasks have generated.

    signingKey, _ := crypto.GenerateKey() // Use your actual MCMS signing key here instead
    runtime.Exec(
        SignAndExecuteProposalsTask([]*ecdsa.PrivateKey{signingKey},
    )
    

0.52.0

Minor Changes

0.51.0

Minor Changes

Patch Changes

  • #459 98c0ebc Thanks @graham-chainlink! - fix: preserve large integers in YAML to JSON conversion

    Fixes TestSetDurablePipelineInputFromYAML_WithPathResolution by preventing large integers from being converted to scientific notation during JSON marshaling, which causes issues when unmarshaling to big.Int.

    Problem:

    • YAML parsing converts large numbers like 2000000000000000000000 to float64(2e+21)
    • JSON marshaling converts float64(2e+21) to scientific notation "2e+21"
    • big.Int cannot unmarshal scientific notation, causing errors

0.50.1

Patch Changes

0.50.0

Minor Changes

  • #452 41464d4 Thanks @jkongie! - Add runtime.New() convenience function for runtime initialization

    Provides a simpler way to create runtime instances using functional options for environment configuration.

  • #445 967a01b Thanks @jkongie! - Adds tasks to the test engine runtime to sign and execute MCMS proposals

  • #451 0e64684 Thanks @jkongie! - Adds new convenience method environment.New to the test engine to bring up a new test environment

    The environment.New method is a wrapper around the environment loading struct and allows the user to load a new environment without having to instantiate the Loader struct themselves.

    The testing.T argument has been removed and it's dependencies have been replaced with:

    • A context.Context argument to the Load and New functions
    • A new functional option WithLogger which overrides the default noop logger.

    While this is a breaking change, the test environment is still in development and is not in actual usage yet.

Patch Changes

0.49.1

Patch Changes

  • #425 5583eba Thanks @giogam! - feat(environment): use network config chains instead of addressbook

0.49.0

Minor Changes

  • #437 2224427 Thanks @jkongie! - [BREAKING] Refactored LoadOffchainClient to use functional options

    Function Signature Changed

    Before:

    func LoadOffchainClient(ctx, domain, env, config, logger, useRealBackends)

    After:

    func LoadOffchainClient(ctx, domain, cfg, ...opts)

    Migration Required

    • loggerWithLogger(logger) option (optional, has default)
    • useRealBackendsWithDryRun(!useRealBackends) ⚠️ inverted logic
    • envWithCredentials(creds) option (optional, defaults to TLS)
    • configconfig.Offchain.JobDistributor

    Example:

    // Old
    LoadOffchainClient(ctx, domain, "testnet", config, logger, false)
    
    // New
    LoadOffchainClient(ctx, domain, config.Offchain.JobDistributor,
        WithLogger(logger),
        WithDryRun(true), // Note: inverted!
    )
  • #428 e172683 Thanks @jkongie! - Adds a test engine runtime for executing changesets in unit/integration tests

  • #443 9e6bc1d Thanks @graham-chainlink! - feat: introduce template-input command for generating YAML input

    This commit introduces a new template-input command that generates YAML input templates from Go struct types for durable pipeline changesets. The command uses reflection to analyze changeset input types and produces well-formatted YAML templates with type comments to guide users in creating valid input files.

  • #440 7f1af5d Thanks @RodrigoAD! - add support for sui in mcms commands

0.48.2

Patch Changes

  • #435 d8a740e Thanks @graham-chainlink! - fix(OnlyLoadChainsFor)!: remove migration name parameter for environment option

    BREAKING CHANGE: The environment option in OnlyLoadChainsFor no longer accepts a migration name parameter. The name parameter was only used for logging which is not necessary.

    Usage Migration

    Before:

    environment.OnlyLoadChainsFor("analyze-proposal", chainSelectors), cldfenvironment.WithoutJD())

    After:

    environment.OnlyLoadChainsFor(chainSelectors), cldfenvironment.WithoutJD())

0.48.1

Patch Changes

0.48.0

Minor Changes

  • #424 c241756 Thanks @graham-chainlink! - feat: enhance OnlyLoadChainsFor to support loading no chains when no chains is provided, eg OnlyLoadChainsFor()

  • #408 2861467 Thanks @jkongie! - Adds the ability to load an environment in a test engine. This is intended for use in unit and integration tests.

  • #421 de7bd86 Thanks @giogam! - feat(datastore): require DataStore in environment Load

0.47.0

Minor Changes

  • #410 deda430 Thanks @ecPablo! - Add CLI command to reset proposals

  • #405 f8dab56 Thanks @jkongie! - [BREAKING] Simplifies the function signature of environment.Load and environment.LoadForkedEnvironment

0.46.0

Minor Changes

Patch Changes

0.45.2

Patch Changes

0.45.1

Patch Changes

0.45.0

Minor Changes

0.44.0

Minor Changes

Patch Changes

0.43.0

Minor Changes

0.42.0

Minor Changes

Patch Changes

0.41.0

Minor Changes

Patch Changes

  • #365 0c50737 Thanks @giogam! - chore: duplicates multiclient and rpc_config in chain/evm

0.40.0

Minor Changes

Patch Changes

0.39.0

Minor Changes

Patch Changes

0.38.0

Minor Changes

0.37.1

Patch Changes

0.37.0

Minor Changes

0.36.0

Minor Changes

Patch Changes

0.35.0

Minor Changes

0.34.1

Patch Changes

0.34.0

Minor Changes

Patch Changes

0.33.0

Minor Changes

  • #312 4ef3084 Thanks @jkongie! - [BREAKING] Fixes domain config path getters to have more consistent naming

Patch Changes

0.32.0

Minor Changes

0.31.0

Minor Changes

0.30.0

Minor Changes

Patch Changes

0.29.0

Minor Changes

0.28.0

Minor Changes

  • #288 762cddd Thanks @RodrigoAD! - Add Sui env config support

  • #269 b25a886 Thanks @vreff! - #changed bump chainlink-common, update Keystore to implement extended Keystore interface

  • #289 6a5acfb Thanks @jkongie! - Network configuration is now validated on load. It ensures that the type and chain selector are present, as well as at least one RPC.

  • #283 f89cfad Thanks @jkongie! - [BREAKING] JobDistributorConfig.Auth is now a pointer to indicate that it is an optional field

Patch Changes

  • #291 af3df24 Thanks @jkongie! - Fixes legacy env vars fallback for certain fields on the env.Config

0.27.0

Minor Changes

Patch Changes

  • #281 9c26dea Thanks @ajaskolski! - chore(domain): export SetupTestDomainsFS and rootPath for easier granular refactor

0.26.0

Minor Changes

0.25.0

Minor Changes

Patch Changes

  • #245 5215932 Thanks @cgruber! - Implement transactional logic in Catalog backed datastore APIs.

0.24.0

Minor Changes

  • #270 38e003a Thanks @jkongie! - [BREAKING] Removes WithRPCURLTransformer load option with 2 separated options targeting HTTP and WS separately (WithHTTPURLTransformer and WithWSURLTransformer).

  • #261 023116b Thanks @ajaskolski! - refactor: moved domain from cld pkg/migrations to cldf

0.23.0

Minor Changes

0.22.0

Minor Changes

Patch Changes

  • #252 4d57885 Thanks @graham-chainlink! - BREAKING: remove deployment.OffchainClient. Use offchain.Client instead

    Migration Guide:

    cldf "github.com/smartcontractkit/chainlink-deployments-framework/deployment" -> cldf_offchain "github.com/smartcontractkit/chainlink-deployments-framework/offchain"
    cldf.OffchainClient -> offchain.Client
    
  • #256 afca1be Thanks @graham-chainlink! - use dev tagged image for TON CTF Provider

  • #253 f8876aa Thanks @eduard-cl! - Refactor the Tron package options to be pointers in order to support optional configuration.

0.21.0

Minor Changes

Patch Changes

0.20.0

Minor Changes

0.19.0

Minor Changes

0.18.0

Minor Changes

Patch Changes

0.17.3

Patch Changes

0.17.2

Patch Changes

0.17.1

Patch Changes

0.17.0

Minor Changes

0.16.0

Minor Changes

  • #208 a3fd06a Thanks @graham-chainlink! - feat(evm): support signing hash

    Introduce a new field on the Evm Chain struct SignHash which accepts a hash a signs it , returning the signature.

    This feature has been requested by other teams so they dont have to use the bind.TransactOpts to perform signing.

    FYi This has BREAKING CHANGE due to interface and field rename, i decided to not have alias because the usage is limited to CLD which i will update immediately. after this is merged.

    Migration guide:

    interface TransactorGenerator -> SignerGenerator
    field ZkSyncRPCChainProviderConfig.SignerGenerator -> ZkSyncRPCChainProviderConfig.ZkSyncSignerGen
    

0.15.1

Patch Changes

0.15.0

Minor Changes

0.14.0

Minor Changes

Patch Changes

0.13.1

Patch Changes

0.13.0

Minor Changes

0.12.1

Patch Changes

0.12.0

Minor Changes

Patch Changes

0.10.0

Minor Changes

  • #156 e92e849 Thanks @bytesizedroll! - Added custom JSON marshaling methods to AddressBookMap and AddressesByChain types to ensure deterministic JSON output with chain selectors ordered numerically and addresses ordered alphabetically (case-insensitive).

0.9.1

Patch Changes

0.9.0

Minor Changes

Patch Changes

0.8.2

Patch Changes

0.8.1

Patch Changes

0.8.0

Minor Changes

Patch Changes

0.7.0

Minor Changes

Patch Changes

0.6.0

Minor Changes

0.5.1

Patch Changes

0.5.0

Minor Changes

0.4.0

Minor Changes

  • #100 a975e70 Thanks @jkongie! - The deprecated Proposals field on the ChangesetOutput has been removed in favour of MCMSTimelockProposals

0.3.0

Minor Changes

0.2.0

Minor Changes

0.1.3

Patch Changes

  • #84 b3fec25 Thanks @giogam! - feat(multiclient): adds timeouts to retryWithBackups and dialWithRetry

0.1.2

Patch Changes

0.1.1

Patch Changes

0.1.0

Minor Changes

  • #69 ee24199 Thanks @tt-cll! - adds solana program close and support for deploying without extended buffers

Patch Changes

  • #74 98904ba Thanks @giogam! - feat(multiclient): wraps debug calls with retry logic

0.0.14

Patch Changes

  • #39 08e4660 Thanks @jkongie! - BREAKING: Operations retry logic is now opt in. Use the WithRetry method in your ExecuteOperation call to enable retries

0.0.13

Patch Changes

0.0.12

Patch Changes

0.0.11

Patch Changes

0.0.10

Patch Changes

0.0.9

Patch Changes

  • #49 937b6c9 Thanks @giogam! - feat(multiclient): wraps HeaderByNumber calls with retry logic

0.0.8

Patch Changes

  • #43 1691ef8 Thanks @giogam! - feat(multiclient): adds debug logs to ethclient direct calls

0.0.7

Patch Changes

0.0.6

Patch Changes

  • #40 4331827 Thanks @ajaskolski! - feat: migrate chains and environment from chainlink repo feat: migrate changeset and changeset output from chainlink repo

0.0.5

Patch Changes

0.0.4

Patch Changes

0.0.3

Patch Changes

0.0.2

Patch Changes