java.lang.Object
net.finmath.smartcontracts.representablestate.xml.EvmXmlRenderer
All Implemented Interfaces:
ContractStateXmlRenderer

public class EvmXmlRenderer extends Object implements ContractStateXmlRenderer
Reference implementation of an XML renderer for IXMLRepresentableState and IXMLRepresentableStatePart Supported XML Schemata:
  • Core scalar profile
  • Multi-binding attributes (evmstate:calls)
  • Array binding profile for scalar and tuple arrays via evmstate:item-element + evmstate:item-field
Supported Contract Templates
  • XML-Complete state: stateXmlTemplate()
  • Partial state: statePartXmlTemplate(uint256 partId)
Author:
Christian Fries
  • Constructor Summary

    Constructors
    Constructor
    Description
    Instantiate a renderer connected to a given chain's RPC URL.
  • Method Summary

    Modifier and Type
    Method
    Description
    render(String contractAddress)
    Extract the XML from a given contract address, executing the required calls to populate the bindings.
    render(String contractAddress, BigInteger blockNumber)
    Extract the XML from a given contract address, executing the required calls to populate the bindings.
    render(String contractAddress, BigInteger blockNumber, BigInteger partId)
    Extract the XML representing the state (either xml-complete or partial) from a given contract address at a given block, executing the required calls to populate the bindings.
    renderPart(String contractAddress, BigInteger partId)
    Extract the XML from a given contract address, executing the required calls to populate the bindings.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.finmath.smartcontracts.representablestate.xml.ContractStateXmlRenderer

    renderPart
  • Constructor Details

    • EvmXmlRenderer

      public EvmXmlRenderer(String rpcUrl)
      Instantiate a renderer connected to a given chain's RPC URL.
      Parameters:
      rpcUrl - The RPC URL of the chain.
  • Method Details

    • render

      public String render(String contractAddress) throws Exception
      Description copied from interface: ContractStateXmlRenderer
      Extract the XML from a given contract address, executing the required calls to populate the bindings.
      Specified by:
      render in interface ContractStateXmlRenderer
      Parameters:
      contractAddress - A given contract address as hex 0x1234567...
      Returns:
      The XML representing the current contract state.
      Throws:
      Exception - An exception.
    • render

      public String render(String contractAddress, BigInteger blockNumber) throws Exception
      Description copied from interface: ContractStateXmlRenderer
      Extract the XML from a given contract address, executing the required calls to populate the bindings.
      Specified by:
      render in interface ContractStateXmlRenderer
      Parameters:
      contractAddress - A given contract address as hex 0x1234567...
      blockNumber - The block number to fix for receiving the template and the state values.
      Returns:
      The XML representing the current contract state.
      Throws:
      Exception - An exception.
    • renderPart

      public String renderPart(String contractAddress, BigInteger partId) throws Exception
      Description copied from interface: ContractStateXmlRenderer
      Extract the XML from a given contract address, executing the required calls to populate the bindings.
      Specified by:
      renderPart in interface ContractStateXmlRenderer
      Parameters:
      contractAddress - A given contract address as hex 0x1234567...
      partId - If null, the xml-complete template stateXmlTemplate is used, if non-null the partial templates statePartXmlTempate is used
      Returns:
      The XML representing the current contract state.
      Throws:
      Exception - An exception.
    • render

      public String render(String contractAddress, BigInteger blockNumber, BigInteger partId) throws Exception
      Description copied from interface: ContractStateXmlRenderer
      Extract the XML representing the state (either xml-complete or partial) from a given contract address at a given block, executing the required calls to populate the bindings.
      Specified by:
      render in interface ContractStateXmlRenderer
      Parameters:
      contractAddress - A given contract address as hex 0x1234567...
      blockNumber - The block number to fix for receiving the template and the state values.
      partId - If null, the xml-complete template stateXmlTemplate is used, if non-null the partial templates statePartXmlTempate is used.
      Returns:
      The XML representing the current contract state.
      Throws:
      Exception - An exception.