package org.adridadou.ethereum.propeller.solidity;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.adridadou.ethereum.propeller.solidity.abi.AbiEntry;
import org.adridadou.ethereum.propeller.values.EthData;

import java.util.List;

@JsonIgnoreProperties(ignoreUnknown = true)
public class TruffleSolidityContractDetails implements SolidityContractDetails {

  private final List<AbiEntry> abi;
  private final String bytecode;
  private final String metadata;

  public TruffleSolidityContractDetails() {
    this(null, null, null);
  }

  public TruffleSolidityContractDetails(List<AbiEntry> abi, String bytecode, String metadata) {
    this.abi = abi;
    this.bytecode = bytecode;
    this.metadata = metadata;
  }

  @Override
  public List<AbiEntry> getAbi() {
    return abi;
  }

  @Override
  public String getMetadata() {
    return metadata;
  }

  @Override
  public EthData getBinary() {
    return EthData.of(bytecode);
  }
}

@@ -45,16 +45,40 @@
 idity;%0A%0A
+import java.util.List;%0A%0A
 import c
@@ -255,32 +255,8 @@
 a;%0A%0A
-import java.util.List;%0A%0A
 @Jso
@@ -955,11 +955,69 @@
 de);%0A  %7D
+%0A%0A  public String getBytecode() %7B%0A    return bytecode;%0A  %7D
 %0A%7D%0A

Fix the missing getter for proper Jackson desserialization of truffle compilation result