Skip to content
This repository has been archived by the owner on Dec 5, 2024. It is now read-only.

Unrecognized field "components" (class org.ethereum.core.CallTransaction$Param) #1260

Open
jondoe1337 opened this issue Feb 4, 2019 · 3 comments

Comments

@jondoe1337
Copy link
Contributor

Currently ethereumj doesn't support the decoding of ABIs that use tuple types as params (ethereum/eth-abi#35):

Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "components" (class org.ethereum.core.CallTransaction$Param), not marked as ignorable (3 known properties: "indexed", "type", "name"])
 at [Source: (String)"[{"constant":false,"inputs":[{"name":"delegate","type":"address"}],"name":"approveDelegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newConfig","type":"bytes32"}],"name":"changeDiscountConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proxyAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"[truncated 6642 chars]; line: 1, column: 2538] (through reference chain: java.lang.Object[][15]->org.ethereum.core.CallTransaction$Function["inputs"]->java.lang.Object[][0]->org.ethereum.core.CallTransaction$Param["components"])
	at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:60)
	at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:822)
	at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1152)
	at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1582)
	at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1560)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:294)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
	at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:195)
	at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:21)
	at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:136)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:288)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
	at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:195)
	at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:21)
	at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4001)
	at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2992)
	at org.ethereum.core.CallTransaction$Contract.<init>(CallTransaction.java:235)

Can be reproduced using the ABI of e.g.: https://etherscan.io/address/0x2cb4b49c0d6e9db2164d94ce48853bf77c4d883e#code

@jolestar
Copy link

Is ethereumj support ABI ABIEncoderV2 currently?

@zilm13
Copy link
Collaborator

zilm13 commented Feb 24, 2019

@jolestar no, we do not support ABIEncoderV2. Is it still experimental?

@jolestar
Copy link

@zilm13 yes, it is experimental, but test net has supported it. So we help use ethereumj to do some test.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants