From 0db734658400b752e68eecbfdfb1cf185a518b6a Mon Sep 17 00:00:00 2001 From: krehermann <16602512+krehermann@users.noreply.github.com> Date: Fri, 10 Jan 2025 14:11:34 -0700 Subject: [PATCH] revert bad merge to main; workflow.go, cap_encoder* --- .../integration_tests/keystone/workflow.go | 1 - core/services/relay/evm/cap_encoder.go | 36 ++------ core/services/relay/evm/cap_encoder_test.go | 89 ------------------- 3 files changed, 8 insertions(+), 118 deletions(-) diff --git a/core/capabilities/integration_tests/keystone/workflow.go b/core/capabilities/integration_tests/keystone/workflow.go index 8cb9aa35cf5..25a26bf3f9f 100644 --- a/core/capabilities/integration_tests/keystone/workflow.go +++ b/core/capabilities/integration_tests/keystone/workflow.go @@ -35,7 +35,6 @@ consensus: encoder: "EVM" encoder_config: abi: "(bytes32 FeedID, uint224 Price, uint32 Timestamp)[] Reports" - subabi: 'map[string]string{"Reports.Price": "uint224 Price"}' targets: - id: "write_geth-testnet@1.0.0" diff --git a/core/services/relay/evm/cap_encoder.go b/core/services/relay/evm/cap_encoder.go index 1bf69b73fd3..713a9796dd2 100644 --- a/core/services/relay/evm/cap_encoder.go +++ b/core/services/relay/evm/cap_encoder.go @@ -18,10 +18,9 @@ import ( ) const ( - abiConfigFieldName = "abi" - subabiConfigFieldName = "subabi" - subabi2ConfigFieldName = "subabi2" - encoderName = "user" + abiConfigFieldName = "abi" + subabiConfigFieldName = "subabi" + encoderName = "user" ) type capEncoder struct { @@ -53,8 +52,6 @@ func NewEVMEncoder(config *values.Map) (consensustypes.Encoder, error) { TypeABI: string(jsonSelector), } - var modifierConfigs commoncodec.ModifiersConfig - var subabi map[string]string subabiConfig, ok := config.Underlying[subabiConfigFieldName] if ok { @@ -66,31 +63,14 @@ func NewEVMEncoder(config *values.Map) (consensustypes.Encoder, error) { if err2 != nil { return nil, err2 } - modifierConfigs = append(modifierConfigs, &commoncodec.PreCodecModifierConfig{ - Fields: subabi, - Codecs: codecs, - }) - } - - var subabi2 map[string]string - subabiConfig2, ok := config.Underlying[subabi2ConfigFieldName] - if ok { - err2 := subabiConfig2.UnwrapTo(&subabi2) - if err2 != nil { - return nil, err2 - } - codecs2, err2 := makePreCodecModifierCodecs(subabi2) - if err2 != nil { - return nil, err2 + chainCodecConfig.ModifierConfigs = commoncodec.ModifiersConfig{ + &commoncodec.PreCodecModifierConfig{ + Fields: subabi, + Codecs: codecs, + }, } - modifierConfigs = append(modifierConfigs, &commoncodec.PreCodecModifierConfig{ - Fields: subabi2, - Codecs: codecs2, - }) } - chainCodecConfig.ModifierConfigs = modifierConfigs - codecConfig := types.CodecConfig{Configs: map[string]types.ChainCodecConfig{ encoderName: chainCodecConfig, }} diff --git a/core/services/relay/evm/cap_encoder_test.go b/core/services/relay/evm/cap_encoder_test.go index 68c77762449..4c0285fc987 100644 --- a/core/services/relay/evm/cap_encoder_test.go +++ b/core/services/relay/evm/cap_encoder_test.go @@ -289,84 +289,6 @@ func TestEVMEncoder_SubABI(t *testing.T) { require.Equal(t, expected, hex.EncodeToString(encoded)) } -func TestEVMEncoder_SubABI2(t *testing.T) { - config := map[string]any{ - "abi": "(bytes Report)[] Reports", - "subabi2": map[string]string{ - "Reports.Report.Bundle": "uint256 Ask, uint256 Bid", - }, - "subabi": map[string]string{ - "Reports.Report": "bytes32 FeedID, bytes Bundle, uint32 Timestamp", - }, - } - wrapped, err := values.NewMap(config) - require.NoError(t, err) - enc, err := evm.NewEVMEncoder(wrapped) - require.NoError(t, err) - - type SubReport struct { - Ask int - Bid int - } - type ReportStruct struct { - FeedID [32]byte - Bundle SubReport - Timestamp uint32 - } - type ReportWrapper struct { - Report ReportStruct - } - reportOne := ReportWrapper{Report: ReportStruct{ - FeedID: [32]byte{1}, - Bundle: SubReport{ - Ask: 1, - Bid: 2, - }, - Timestamp: 47890122, - }} - reportTwo := ReportWrapper{Report: ReportStruct{ - FeedID: [32]byte{2}, - Bundle: SubReport{ - Ask: 3, - Bid: 4, - }, - Timestamp: 47890122, - }} - - // output of a reduce aggregator + metadata fields appended by OCR - input := map[string]any{ - "Reports": []any{reportOne, reportTwo}, - consensustypes.MetadataFieldName: getMetadata(workflowID), - } - wrapped, err = values.NewMap(input) - require.NoError(t, err) - encoded, err := enc.Encode(testutils.Context(t), *wrapped) - require.NoError(t, err) - - expected := - // start of the outer tuple - getHexMetadata() + - // start of the inner tuple (user_fields) - "0000000000000000000000000000000000000000000000000000000000000020" + // offset of Reports array - "0000000000000000000000000000000000000000000000000000000000000002" + // length of Reports array - "0000000000000000000000000000000000000000000000000000000000000040" + // offset of ReportOne - "0000000000000000000000000000000000000000000000000000000000000100" + // offset of ReportTwo - "0100000000000000000000000000000000000000000000000000000000000000" + // ReportOne FeedID - "0000000000000000000000000000000000000000000000000000000000000060" + // offset of ReportOne Bundle - "0000000000000000000000000000000000000000000000000000000002dabeca" + // ReportOne Timestamp - "0000000000000000000000000000000000000000000000000000000000000040" + // length of ReportOne Bundle - "0000000000000000000000000000000000000000000000000000000000000005" + // ReportOne Ask - "0000000000000000000000000000000000000000000000000000000000000006" + // ReportOne Bid - "0200000000000000000000000000000000000000000000000000000000000000" + // ReportTwo FeedID - "0000000000000000000000000000000000000000000000000000000000000060" + // offset of ReportTwo Bundle - "0000000000000000000000000000000000000000000000000000000002dabeca" + // ReportTwo Timestamp - "0000000000000000000000000000000000000000000000000000000000000040" + // length of ReportTwo Bundle - "0000000000000000000000000000000000000000000000000000000000000007" + // ReportTwo Ask - "0000000000000000000000000000000000000000000000000000000000000008" // ReportTwo Bid - - require.Equal(t, expected, hex.EncodeToString(encoded)) -} - func getHexMetadata() string { return "01" + executionID + timestampHex + donIDHex + configVersionHex + workflowID + workflowName + workflowOwnerID + reportID } @@ -384,14 +306,3 @@ func getMetadata(cid string) consensustypes.Metadata { ReportID: reportID, } } - -//0000000000000000000000000000000000000000000000000000000000000020 // offset of Reports array -//0000000000000000000000000000000000000000000000000000000000000001 // length of Reports array -//0000000000000000000000000000000000000000000000000000000000000020 // offset of ReportOne -//018bfe8840700040000000000000000000000000000000000000000000000000 -//000000000000000000000000000000000000000000000000000000006764774b -//0000000000000000000000000000000000000000000000000000000000000060 -//0000000000000000000000000000000000000000000000000000000000000020 -//0000000000000000000000000000000000000000000000000000000bb5c162c8 - -"0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000002dabeca000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000006020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000002dabeca000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000008" // ReportTwo Bid \ No newline at end of file