From 2a8444188f6b72da4b1681282e04befeec95b756 Mon Sep 17 00:00:00 2001 From: Joe Huang Date: Tue, 18 Feb 2025 09:55:41 -0600 Subject: [PATCH 1/6] remove extra data codec and encoded maps --- commit/factory.go | 4 ---- execute/factory.go | 1 - pkg/reader/ccip.go | 18 ------------------ pkg/reader/ccip_interface.go | 5 +---- pkg/reader/ccip_test.go | 6 ------ pkg/types/ccipocr3/generic_types.go | 8 -------- 6 files changed, 1 insertion(+), 41 deletions(-) diff --git a/commit/factory.go b/commit/factory.go index f2ae8793c..1a0fd9eb8 100644 --- a/commit/factory.go +++ b/commit/factory.go @@ -69,7 +69,6 @@ type PluginFactory struct { ocrConfig reader.OCR3ConfigWithMeta commitCodec cciptypes.CommitPluginCodec msgHasher cciptypes.MessageHasher - extraDataCodec cciptypes.ExtraDataCodec homeChainReader reader.HomeChain homeChainSelector cciptypes.ChainSelector contractReaders map[cciptypes.ChainSelector]types.ContractReader @@ -84,7 +83,6 @@ type CommitPluginFactoryParams struct { OcrConfig reader.OCR3ConfigWithMeta CommitCodec cciptypes.CommitPluginCodec MsgHasher cciptypes.MessageHasher - ExtraDataCodec cciptypes.ExtraDataCodec HomeChainReader reader.HomeChain HomeChainSelector cciptypes.ChainSelector ContractReaders map[cciptypes.ChainSelector]types.ContractReader @@ -102,7 +100,6 @@ func NewCommitPluginFactory(params CommitPluginFactoryParams) *PluginFactory { ocrConfig: params.OcrConfig, commitCodec: params.CommitCodec, msgHasher: params.MsgHasher, - extraDataCodec: params.ExtraDataCodec, homeChainReader: params.HomeChainReader, homeChainSelector: params.HomeChainSelector, contractReaders: params.ContractReaders, @@ -183,7 +180,6 @@ func (p *PluginFactory) NewReportingPlugin(ctx context.Context, config ocr3types p.chainWriters, p.ocrConfig.Config.ChainSelector, p.ocrConfig.Config.OfframpAddress, - p.extraDataCodec, ) // The node supports the chain that the token prices are on. diff --git a/execute/factory.go b/execute/factory.go index 04aa05b9b..55565311f 100644 --- a/execute/factory.go +++ b/execute/factory.go @@ -147,7 +147,6 @@ func (p PluginFactory) NewReportingPlugin( p.chainWriters, p.ocrConfig.Config.ChainSelector, p.ocrConfig.Config.OfframpAddress, - p.extraDataCodec, ) tokenDataObserver, err := tokendata.NewConfigBasedCompositeObservers( diff --git a/pkg/reader/ccip.go b/pkg/reader/ccip.go index d4a45eef7..089c667b2 100644 --- a/pkg/reader/ccip.go +++ b/pkg/reader/ccip.go @@ -44,7 +44,6 @@ type ccipChainReader struct { contractWriters map[cciptypes.ChainSelector]types.ContractWriter destChain cciptypes.ChainSelector offrampAddress string - extraDataCodec cciptypes.ExtraDataCodec configPoller ConfigPoller } @@ -55,7 +54,6 @@ func newCCIPChainReaderInternal( contractWriters map[cciptypes.ChainSelector]types.ContractWriter, destChain cciptypes.ChainSelector, offrampAddress []byte, - extraDataCodec cciptypes.ExtraDataCodec, ) *ccipChainReader { var crs = make(map[cciptypes.ChainSelector]contractreader.Extended) for chainSelector, cr := range contractReaders { @@ -68,7 +66,6 @@ func newCCIPChainReaderInternal( contractWriters: contractWriters, destChain: destChain, offrampAddress: typeconv.AddressBytesToString(offrampAddress, uint64(destChain)), - extraDataCodec: extraDataCodec, } // Initialize cache with readers @@ -426,22 +423,7 @@ func (r *ccipChainReader) MsgsBetweenSeqNums( continue } - msg.Message.ExtraArgsDecoded, err = r.extraDataCodec.DecodeExtraArgs(msg.Message.ExtraArgs, sourceChainSelector) - if err != nil { - return nil, fmt.Errorf("failed to decode the ExtraArgs: %w", err) - } - msg.Message.Header.OnRamp = onRampAddress - - for i, tokenAmount := range msg.Message.TokenAmounts { - msg.Message.TokenAmounts[i].DestExecDataDecoded, err = r.extraDataCodec.DecodeTokenAmountDestExecData( - tokenAmount.DestExecData, - sourceChainSelector, - ) - if err != nil { - return nil, fmt.Errorf("failed to decode token amount destExecData (%v): %w", tokenAmount.DestExecData, err) - } - } msgs = append(msgs, msg.Message) } diff --git a/pkg/reader/ccip_interface.go b/pkg/reader/ccip_interface.go index 7e4aa250f..3218a61f9 100644 --- a/pkg/reader/ccip_interface.go +++ b/pkg/reader/ccip_interface.go @@ -78,7 +78,6 @@ func NewCCIPChainReader( contractWriters map[cciptypes.ChainSelector]types.ContractWriter, destChain cciptypes.ChainSelector, offrampAddress []byte, - extraDataCodec cciptypes.ExtraDataCodec, ) CCIPReader { return NewObservedCCIPReader( newCCIPChainReaderInternal( @@ -88,7 +87,6 @@ func NewCCIPChainReader( contractWriters, destChain, offrampAddress, - extraDataCodec, ), destChain, ) @@ -102,9 +100,8 @@ func NewCCIPReaderWithExtendedContractReaders( contractWriters map[cciptypes.ChainSelector]types.ContractWriter, destChain cciptypes.ChainSelector, offrampAddress []byte, - extraDataCodec cciptypes.ExtraDataCodec, ) CCIPReader { - cr := newCCIPChainReaderInternal(ctx, lggr, nil, contractWriters, destChain, offrampAddress, extraDataCodec) + cr := newCCIPChainReaderInternal(ctx, lggr, nil, contractWriters, destChain, offrampAddress) for ch, extendedCr := range contractReaders { cr.WithExtendedContractReader(ch, extendedCr) } diff --git a/pkg/reader/ccip_test.go b/pkg/reader/ccip_test.go index 182361d3d..7a61fed74 100644 --- a/pkg/reader/ccip_test.go +++ b/pkg/reader/ccip_test.go @@ -16,8 +16,6 @@ import ( "go.uber.org/zap/zapcore" "golang.org/x/exp/maps" - "github.com/smartcontractkit/chainlink-ccip/mocks/pkg/types/ccipocr3" - "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-common/pkg/types" "github.com/smartcontractkit/chainlink-common/pkg/types/query/primitives" @@ -88,7 +86,6 @@ func TestCCIPChainReader_getSourceChainsConfig(t *testing.T) { chainB: sourceCRs[chainB], chainC: destCR, }, nil, chainC, offrampAddress, - ccipocr3.NewMockExtraDataCodec(t), ) require.NoError(t, ccipReader.contractReaders[chainA].Bind( @@ -826,7 +823,6 @@ func TestCCIPChainReader_getFeeQuoterTokenPriceUSD(t *testing.T) { map[cciptypes.ChainSelector]contractreader.ContractReaderFacade{ chainC: destCR, }, nil, chainC, offrampAddress, - ccipocr3.NewMockExtraDataCodec(t), ) require.NoError(t, ccipReader.contractReaders[chainC].Bind( @@ -859,7 +855,6 @@ func TestCCIPFeeComponents_HappyPath(t *testing.T) { contractWriters, chainC, []byte{0x3}, - ccipocr3.NewMockExtraDataCodec(t), ) ctx := context.Background() @@ -888,7 +883,6 @@ func TestCCIPFeeComponents_NotFoundErrors(t *testing.T) { contractWriters, chainC, []byte{0x3}, - ccipocr3.NewMockExtraDataCodec(t), ) ctx := context.Background() diff --git a/pkg/types/ccipocr3/generic_types.go b/pkg/types/ccipocr3/generic_types.go index 872916408..13de14cee 100644 --- a/pkg/types/ccipocr3/generic_types.go +++ b/pkg/types/ccipocr3/generic_types.go @@ -163,10 +163,6 @@ type Message struct { // such as the gasLimit for EVM chains. // This field is encoded in the source chain encoding scheme. ExtraArgs Bytes `json:"extraArgs"` - // ExtraArgsDecoded is same as ExtraArgs, - // just decoded into a named collection of arguments in a generic format, - // which can be read by any destination chain family. - ExtraArgsDecoded map[string]any `json:"extraArgsDecoded,omitempty"` // FeeToken is the fee token address. // i.e if the source chain is EVM, len(FeeToken) == 20 (i.e, is not abi-encoded). FeeToken UnknownAddress `json:"feeToken"` @@ -240,8 +236,4 @@ type RampTokenAmount struct { // NOTE: this must be decoded before providing it as an execution input to the destination chain // or hashing it. See Internal._hash(Any2EVMRampMessage) for more details as an example. DestExecData Bytes `json:"destExecData"` - // DestExecDataDecoded is the same as DestExecData - // just decoded into a named collection of arguments in a generic format, - // which can be read by any destination chain family. - DestExecDataDecoded map[string]any `json:"destExecDataDecoded,omitempty"` } From bb95ba958e75811d5c14bf6e42fa91159251f42b Mon Sep 17 00:00:00 2001 From: Joe Huang Date: Tue, 18 Feb 2025 11:39:22 -0600 Subject: [PATCH 2/6] remove extra data codec --- execute/factory.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/execute/factory.go b/execute/factory.go index 521153a31..9790e6d17 100644 --- a/execute/factory.go +++ b/execute/factory.go @@ -68,7 +68,6 @@ type PluginFactory struct { ocrConfig reader.OCR3ConfigWithMeta execCodec cciptypes.ExecutePluginCodec msgHasher cciptypes.MessageHasher - extraDataCodec cciptypes.ExtraDataCodec homeChainReader reader.HomeChain estimateProvider cciptypes.EstimateProvider tokenDataEncoder cciptypes.TokenDataEncoder @@ -99,7 +98,6 @@ func NewExecutePluginFactory(params PluginFactoryParams) *PluginFactory { ocrConfig: params.OcrConfig, execCodec: params.ExecCodec, msgHasher: params.MsgHasher, - extraDataCodec: params.ExtraDataCodec, homeChainReader: params.HomeChainReader, estimateProvider: params.EstimateProvider, tokenDataEncoder: params.TokenDataEncoder, From e7ce19da3697a755bbef0ba4a968ac8f915ce3ea Mon Sep 17 00:00:00 2001 From: Joe Huang Date: Tue, 18 Feb 2025 14:25:13 -0600 Subject: [PATCH 3/6] test --- pkg/reader/ccip.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/reader/ccip.go b/pkg/reader/ccip.go index 30153e49a..cf7bc55a1 100644 --- a/pkg/reader/ccip.go +++ b/pkg/reader/ccip.go @@ -422,7 +422,6 @@ func (r *ccipChainReader) MsgsBetweenSeqNums( lggr.Errorw("validate send requested event", "err", err, "msg", msg) continue } - msg.Message.Header.OnRamp = onRampAddress msgs = append(msgs, msg.Message) } From f54db6b5e9b95f471f2a11915f0a6cf72c3b3f40 Mon Sep 17 00:00:00 2001 From: Joe Huang Date: Tue, 18 Feb 2025 14:55:34 -0600 Subject: [PATCH 4/6] fix --- pkg/reader/ccip.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/reader/ccip.go b/pkg/reader/ccip.go index cf7bc55a1..30153e49a 100644 --- a/pkg/reader/ccip.go +++ b/pkg/reader/ccip.go @@ -422,6 +422,7 @@ func (r *ccipChainReader) MsgsBetweenSeqNums( lggr.Errorw("validate send requested event", "err", err, "msg", msg) continue } + msg.Message.Header.OnRamp = onRampAddress msgs = append(msgs, msg.Message) } From 103a484ba8f7589b21284726535c34a065e54c72 Mon Sep 17 00:00:00 2001 From: Joe Huang Date: Tue, 18 Feb 2025 16:04:19 -0600 Subject: [PATCH 5/6] test --- pkg/reader/ccip.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/reader/ccip.go b/pkg/reader/ccip.go index 30153e49a..cf7bc55a1 100644 --- a/pkg/reader/ccip.go +++ b/pkg/reader/ccip.go @@ -422,7 +422,6 @@ func (r *ccipChainReader) MsgsBetweenSeqNums( lggr.Errorw("validate send requested event", "err", err, "msg", msg) continue } - msg.Message.Header.OnRamp = onRampAddress msgs = append(msgs, msg.Message) } From 13538d36aab97554650d4fc0d4b73f706221ee0d Mon Sep 17 00:00:00 2001 From: Joe Huang Date: Tue, 18 Feb 2025 17:29:58 -0600 Subject: [PATCH 6/6] test --- pkg/reader/ccip.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/reader/ccip.go b/pkg/reader/ccip.go index cf7bc55a1..30153e49a 100644 --- a/pkg/reader/ccip.go +++ b/pkg/reader/ccip.go @@ -422,6 +422,7 @@ func (r *ccipChainReader) MsgsBetweenSeqNums( lggr.Errorw("validate send requested event", "err", err, "msg", msg) continue } + msg.Message.Header.OnRamp = onRampAddress msgs = append(msgs, msg.Message) }