@@ -21,6 +21,7 @@ import (
2121 chainsel "github.com/smartcontractkit/chain-selectors"
2222 mcms_types "github.com/smartcontractkit/mcms/types"
2323
24+ "github.com/smartcontractkit/chainlink-common/pkg/config"
2425 ccipocr3common "github.com/smartcontractkit/chainlink-common/pkg/types/ccipocr3"
2526 "github.com/smartcontractkit/chainlink-deployments-framework/datastore"
2627 "github.com/smartcontractkit/chainlink-deployments-framework/deployment"
@@ -443,10 +444,34 @@ func AddNodesToContracts(
443444 }
444445
445446 for _ , chain := range remoteSelectors {
447+ family , _ := chainsel .GetSelectorFamily (chain )
446448 ocrOverride := func (ocrParams CCIPOCRParams ) CCIPOCRParams {
447449 if ocrParams .CommitOffChainConfig != nil {
448450 ocrParams .CommitOffChainConfig .RMNEnabled = false
449451 }
452+ // Source of truth: chainlink-deployments/domains/ccip/shared/chainconfigs.go:1076
453+ // TON offramp enforces one root per commit report + one message per exec report.
454+ if family == chainsel .FamilyTon {
455+ if ocrParams .CommitOffChainConfig != nil {
456+ ocrParams .CommitOffChainConfig .MultipleReportsEnabled = true
457+ ocrParams .CommitOffChainConfig .MaxMerkleRootsPerReport = 1
458+ ocrParams .CommitOffChainConfig .MaxPricesPerReport = 3
459+ ocrParams .CommitOffChainConfig .MaxMerkleTreeSize = 10
460+ ocrParams .CommitOffChainConfig .TransmissionDelayMultiplier = 2 * time .Minute
461+ ocrParams .CommitOffChainConfig .MaxReportTransmissionCheckAttempts = 2
462+ }
463+ if ocrParams .ExecuteOffChainConfig != nil {
464+ ocrParams .ExecuteOffChainConfig .MaxReportMessages = 1
465+ ocrParams .ExecuteOffChainConfig .MaxSingleChainReports = 1
466+ ocrParams .ExecuteOffChainConfig .BatchGasLimit = 1_000_000
467+ ocrParams .ExecuteOffChainConfig .TransmissionDelayMultiplier = 2 * time .Minute
468+ ocrParams .ExecuteOffChainConfig .MaxCommitReportsToFetch = 250
469+ ocrParams .ExecuteOffChainConfig .InflightCacheExpiry = * config .MustNewDuration (1 * time .Minute )
470+ ocrParams .ExecuteOffChainConfig .MessageVisibilityInterval = * config .MustNewDuration (8 * time .Hour )
471+ ocrParams .ExecuteOffChainConfig .RootSnoozeTime = * config .MustNewDuration (5 * time .Minute )
472+ ocrParams .ExecuteOffChainConfig .MultipleReportsEnabled = true
473+ }
474+ }
450475 return ocrParams
451476 }
452477 commitOCRConfigs [chain ] = DeriveOCRParamsForCommit (SimulationTest , ccipHomeSelector , nil , ocrOverride )
0 commit comments