Interface CompilerService

All Known Implementing Classes:
SophiaCompilerServiceImpl

public interface CompilerService
  • Method Summary

    Modifier and Type Method Description
    io.reactivex.Single<StringResultWrapper> asyncCompile​(java.lang.String contractCode, java.lang.String srcFile, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
    asynchronously gets the contract bytecode for this contractCode
    io.reactivex.Single<StringResultWrapper> asyncCompile​(java.lang.String contractCode, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
    asynchronously gets the contract bytecode for this contractCode
    io.reactivex.Single<ObjectResultWrapper> asyncDecodeCalldata​(java.lang.String calldata, java.lang.String sophiaType)
    asynchronously decodes a calldata
    io.reactivex.Single<ObjectResultWrapper> asyncDecodeCallResult​(java.lang.String source, java.lang.String function, java.lang.String callResult, java.lang.String callValue, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
    asynchronously decodes callresult of contract-calls
    io.reactivex.Single<StringResultWrapper> asyncEncodeCalldata​(java.lang.String contractCode, java.lang.String function, java.util.List<java.lang.String> arguments, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
    asynchronously gets the encoded calldata for this contractCode
    io.reactivex.Single<ACIResult> asyncGenerateACI​(java.lang.String contractCode, java.lang.String srcFile, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
    asynchronously generates the ACI for this contractCode https://github.com/aeternity/aesophia/blob/master/docs/aeso_aci.md
    StringResultWrapper blockingCompile​(java.lang.String contractCode, java.lang.String srcFile, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
    synchronously gets the contract bytecode for this contractCode
    StringResultWrapper blockingCompile​(java.lang.String contractCode, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
    synchronously gets the contract bytecode for this contractCode
    ObjectResultWrapper blockingDecodeCalldata​(java.lang.String calldata, java.lang.String sophiaType)
    synchronously decodes a calldata
    ObjectResultWrapper blockingDecodeCallResult​(java.lang.String source, java.lang.String function, java.lang.String callResult, java.lang.String callValue, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
    synchronously decodes callresult of contract-calls
    StringResultWrapper blockingEncodeCalldata​(java.lang.String contractCode, java.lang.String function, java.util.List<java.lang.String> arguments, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
    synchronously gets the encoded calldata for this contractCode
    ACIResult blockingGenerateACI​(java.lang.String contractCode, java.lang.String srcFile, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
    synchronously generates the ACI for this contractCode https://github.com/aeternity/aesophia/blob/master/docs/aeso_aci.md
  • Method Details

    • asyncEncodeCalldata

      io.reactivex.Single<StringResultWrapper> asyncEncodeCalldata​(java.lang.String contractCode, java.lang.String function, java.util.List<java.lang.String> arguments, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
      asynchronously gets the encoded calldata for this contractCode
      Parameters:
      contractCode - the sourcecode of the contract
      function - the name of the function to call
      arguments - the params that should be passed to the function
      fileSystem - map with libraryName and code which is passed to the compiler
      Returns:
      asynchronous result handler (RxJava Single) for encoded calldata
    • blockingEncodeCalldata

      StringResultWrapper blockingEncodeCalldata​(java.lang.String contractCode, java.lang.String function, java.util.List<java.lang.String> arguments, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
      synchronously gets the encoded calldata for this contractCode
      Parameters:
      contractCode - the sourcecode of the contract
      function - the name of the function to call
      arguments - the params that should be passed to the function
      fileSystem - map with libraryName and code which is passed to the compiler
      Returns:
      encoded calldata
    • asyncCompile

      io.reactivex.Single<StringResultWrapper> asyncCompile​(java.lang.String contractCode, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
      asynchronously gets the contract bytecode for this contractCode
      Parameters:
      contractCode - the sourcecode of the contract
      fileSystem - map with libraryName and code which is passed to the compiler
      Returns:
      asynchronous result handler (RxJava Single) for byteCode of the compiled contract
    • asyncCompile

      io.reactivex.Single<StringResultWrapper> asyncCompile​(java.lang.String contractCode, java.lang.String srcFile, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
      asynchronously gets the contract bytecode for this contractCode
      Parameters:
      contractCode - the sourcecode of the contract
      srcFile - untested compileOpts value: set null
      fileSystem - map with libraryName and code which is passed to the compiler
      Returns:
      asynchronous result handler (RxJava Single) for byteCode of the compiled contract
    • blockingCompile

      StringResultWrapper blockingCompile​(java.lang.String contractCode, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
      synchronously gets the contract bytecode for this contractCode
      Parameters:
      contractCode - the sourcecode of the contract
      fileSystem - map with libraryName and code which is passed to the compiler
      Returns:
      byteCode of the compiled contract
    • blockingCompile

      StringResultWrapper blockingCompile​(java.lang.String contractCode, java.lang.String srcFile, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
      synchronously gets the contract bytecode for this contractCode
      Parameters:
      contractCode - the sourcecode of the contract
      srcFile - untested compileOpts value: set null
      fileSystem - map with libraryName and code which is passed to the compiler
      Returns:
      byteCode of the compiled contract
    • asyncDecodeCalldata

      io.reactivex.Single<ObjectResultWrapper> asyncDecodeCalldata​(java.lang.String calldata, java.lang.String sophiaType)
      asynchronously decodes a calldata
      Parameters:
      calldata - the calldata
      sophiaType - the awaited sophia type
      Returns:
      asynchronous result handler (RxJava Single) for decoded answer as json string
    • blockingDecodeCalldata

      ObjectResultWrapper blockingDecodeCalldata​(java.lang.String calldata, java.lang.String sophiaType)
      synchronously decodes a calldata
      Parameters:
      calldata - the calldata
      sophiaType - the awaited sophia type
      Returns:
      decoded answer as json string
    • asyncDecodeCallResult

      io.reactivex.Single<ObjectResultWrapper> asyncDecodeCallResult​(java.lang.String source, java.lang.String function, java.lang.String callResult, java.lang.String callValue, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
      asynchronously decodes callresult of contract-calls
      Parameters:
      source - the contract source
      function - the called function
      callResult - the received resultType (ok | error | revert)
      callValue - the received value
      fileSystem - map with libraryName and code which is passed to the compiler
      Returns:
      the decoded sophia call result
    • blockingDecodeCallResult

      ObjectResultWrapper blockingDecodeCallResult​(java.lang.String source, java.lang.String function, java.lang.String callResult, java.lang.String callValue, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
      synchronously decodes callresult of contract-calls
      Parameters:
      source - the contract source
      function - the called function
      callResult - the received resultType (ok | error | revert)
      callValue - the received value
      fileSystem - map with libraryName and code which is passed to the compiler
      Returns:
      the decoded sophia call result
    • asyncGenerateACI

      io.reactivex.Single<ACIResult> asyncGenerateACI​(java.lang.String contractCode, java.lang.String srcFile, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
      asynchronously generates the ACI for this contractCode https://github.com/aeternity/aesophia/blob/master/docs/aeso_aci.md
      Parameters:
      contractCode - the sourcecode of the contract
      srcFile - untested compileOpts value: set null
      fileSystem - map with libraryName and code which is passed to the compiler
      Returns:
      asynchronous result handler (RxJava Single) for ACIResult
    • blockingGenerateACI

      ACIResult blockingGenerateACI​(java.lang.String contractCode, java.lang.String srcFile, java.util.Map<java.lang.String,​java.lang.String> fileSystem)
      synchronously generates the ACI for this contractCode https://github.com/aeternity/aesophia/blob/master/docs/aeso_aci.md
      Parameters:
      contractCode - the sourcecode of the contract
      srcFile - untested compileOpts value: set null
      fileSystem - map with libraryName and code which is passed to the compiler
      Returns:
      result of ACIResult