From 9a36a217048ea00ada4122eda223d5544aeb5a3c Mon Sep 17 00:00:00 2001 From: gtebrean <99179176+gtebrean@users.noreply.github.com> Date: Sun, 4 Aug 2024 16:01:11 +0300 Subject: [PATCH] fix naming Signed-off-by: gtebrean <99179176+gtebrean@users.noreply.github.com> --- .../web3j/abi/DefaultFunctionEncoderTest.java | 2 +- .../web3j/abi/FunctionReturnDecoderTest.java | 45 +++++++++++++------ 2 files changed, 32 insertions(+), 15 deletions(-) diff --git a/abi/src/test/java/org/web3j/abi/DefaultFunctionEncoderTest.java b/abi/src/test/java/org/web3j/abi/DefaultFunctionEncoderTest.java index 66a0c5296..487d8b8e6 100644 --- a/abi/src/test/java/org/web3j/abi/DefaultFunctionEncoderTest.java +++ b/abi/src/test/java/org/web3j/abi/DefaultFunctionEncoderTest.java @@ -60,7 +60,7 @@ public void testBuildMethodSignatureWithStructWithArray() { } @Test - public void testArrayOfDynamicStruct() throws ClassNotFoundException { + public void testBuildEventOfArrayOfDynamicStruct() throws ClassNotFoundException { // The full event signature is // // Stamp3(uint256 indexed stampId, address indexed caller, bool odd, diff --git a/abi/src/test/java/org/web3j/abi/FunctionReturnDecoderTest.java b/abi/src/test/java/org/web3j/abi/FunctionReturnDecoderTest.java index ac04ae63f..a45d43921 100644 --- a/abi/src/test/java/org/web3j/abi/FunctionReturnDecoderTest.java +++ b/abi/src/test/java/org/web3j/abi/FunctionReturnDecoderTest.java @@ -1319,31 +1319,48 @@ public void testDecodeDynamicStructWithStaticStruct() { } @Test - public void testDynamicStructFix() throws ClassNotFoundException { + public void testDynamicStructWithAdditionalParametersReturn() throws ClassNotFoundException { // Return data from 'testInputAndOutput' function of this contract // https://sepolia.etherscan.io/address/0x009C10396226ECFE3E39b3f1AEFa072E37578e30#readContract + // struct MyStruct { + // uint256 value1; + // string value2; + // string value3; + // MyStruct2 value4; + // } + // + // struct MyStruct2 { + // string value1; + // string value2; + // } + // function testInputAndOutput(MyStruct memory struc) external pure + // returns(string memory valueBefore, MyStruct memory, string memory valueAfter) { + // + // return ("valuebefore", mystruc, "valueafter"); + // + // } String returnedData = "0x000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000b76616c75656265666f72650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000004313233340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000063078313233340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a76616c7565616674657200000000000000000000000000000000000000000000"; - List> MyStruct2Types = new ArrayList<>(); - List> MyStructTypes = new ArrayList<>(); - List> MyParameters = new ArrayList<>(); + List> myStruct2Types = new ArrayList<>(); + List> myStructTypes = new ArrayList<>(); + List> myParameters = new ArrayList<>(); - MyStruct2Types.add(TypeReference.makeTypeReference("string")); - MyStruct2Types.add(TypeReference.makeTypeReference("string")); + myStruct2Types.add(TypeReference.makeTypeReference("string")); + myStruct2Types.add(TypeReference.makeTypeReference("string")); - MyStructTypes.add(TypeReference.makeTypeReference("uint256")); - MyStructTypes.add(TypeReference.makeTypeReference("string")); - MyStructTypes.add(TypeReference.makeTypeReference("string")); - MyStructTypes.add(new TypeReference(false, MyStruct2Types) {}); + myStructTypes.add(TypeReference.makeTypeReference("uint256")); + myStructTypes.add(TypeReference.makeTypeReference("string")); + myStructTypes.add(TypeReference.makeTypeReference("string")); + myStructTypes.add(new TypeReference(false, myStruct2Types) {}); - MyParameters.add(TypeReference.makeTypeReference("string")); - MyParameters.add(new TypeReference(false, MyStructTypes) {}); + myParameters.add(TypeReference.makeTypeReference("string")); + myParameters.add(new TypeReference(false, myStructTypes) {}); - MyParameters.add(TypeReference.makeTypeReference("string")); + myParameters.add(TypeReference.makeTypeReference("string")); List decodedData = - FunctionReturnDecoder.decode(returnedData, Utils.convert(MyParameters)); + FunctionReturnDecoder.decode(returnedData, Utils.convert(myParameters)); assertEquals(decodedData.get(0).getValue(), "valuebefore");