From bb3b97a46c66e154db78aee3a763b9e68dc4da15 Mon Sep 17 00:00:00 2001 From: Jade Park Date: Tue, 5 May 2026 15:31:30 +0100 Subject: [PATCH] fix: ton override --- devenv/common/config.go | 25 +++++++++++++++++++++++++ devenv/common/implcommon.go | 6 +++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/devenv/common/config.go b/devenv/common/config.go index 2a6f367ae0..8706460471 100644 --- a/devenv/common/config.go +++ b/devenv/common/config.go @@ -164,6 +164,31 @@ func DeriveOCRParamsForExec( return override(params) } +func withTONOCRConfigOverrides(params CCIPOCRParams) CCIPOCRParams { + // Source of truth: chainlink-deployments/domains/ccip/shared/chainconfigs.go:1076 + // TON offramp enforces one root per commit report + one message per exec report. + if params.CommitOffChainConfig != nil { + params.CommitOffChainConfig.MultipleReportsEnabled = true + params.CommitOffChainConfig.MaxMerkleRootsPerReport = 1 + params.CommitOffChainConfig.MaxPricesPerReport = 3 + params.CommitOffChainConfig.MaxMerkleTreeSize = 10 + params.CommitOffChainConfig.TransmissionDelayMultiplier = 2 * time.Minute + params.CommitOffChainConfig.MaxReportTransmissionCheckAttempts = 2 + } + if params.ExecuteOffChainConfig != nil { + params.ExecuteOffChainConfig.MaxReportMessages = 1 + params.ExecuteOffChainConfig.MaxSingleChainReports = 1 + params.ExecuteOffChainConfig.BatchGasLimit = 1_000_000 + params.ExecuteOffChainConfig.TransmissionDelayMultiplier = 2 * time.Minute + params.ExecuteOffChainConfig.MaxCommitReportsToFetch = 250 + params.ExecuteOffChainConfig.InflightCacheExpiry = *config.MustNewDuration(1 * time.Minute) + params.ExecuteOffChainConfig.MessageVisibilityInterval = *config.MustNewDuration(8 * time.Hour) + params.ExecuteOffChainConfig.RootSnoozeTime = *config.MustNewDuration(5 * time.Minute) + params.ExecuteOffChainConfig.MultipleReportsEnabled = true + } + return params +} + type ConfigType string const ( diff --git a/devenv/common/implcommon.go b/devenv/common/implcommon.go index fe04b4cead..b758194b33 100644 --- a/devenv/common/implcommon.go +++ b/devenv/common/implcommon.go @@ -33,6 +33,7 @@ import ( mcmstypes "github.com/smartcontractkit/mcms/types" "github.com/smartcontractkit/chainlink-ccip/chainconfig" + evmdeploy "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/deploy" evmadapters "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_0_0/adapters" _ "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_5_1/adapters" // register v1.5.1 token pool adapter _ "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/v1_6_1/adapters" // register v1.6.0/v1.6.1 token pool adapter @@ -40,7 +41,6 @@ import ( "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_6_0/ccip_home" "github.com/smartcontractkit/chainlink-ccip/chains/evm/gobindings/generated/v1_6_0/rmn_home" solseq "github.com/smartcontractkit/chainlink-ccip/chains/solana/deployment/v1_6_0/sequences" - evmdeploy "github.com/smartcontractkit/chainlink-ccip/chains/evm/deployment/deploy" deployops "github.com/smartcontractkit/chainlink-ccip/deployment/deploy" lanesapi "github.com/smartcontractkit/chainlink-ccip/deployment/lanes" "github.com/smartcontractkit/chainlink-ccip/deployment/testadapters" @@ -444,10 +444,14 @@ func AddNodesToContracts( } for _, chain := range remoteSelectors { + family, _ := chainsel.GetSelectorFamily(chain) ocrOverride := func(ocrParams CCIPOCRParams) CCIPOCRParams { if ocrParams.CommitOffChainConfig != nil { ocrParams.CommitOffChainConfig.RMNEnabled = false } + if family == chainsel.FamilyTon { + return withTONOCRConfigOverrides(ocrParams) + } return ocrParams } commitOCRConfigs[chain] = DeriveOCRParamsForCommit(SimulationTest, ccipHomeSelector, nil, ocrOverride)