builder method Null safety

InvokeHostFuncOpBuilder builder(
  1. XdrInvokeHostFunctionOp op
)
override

Implementation

static InvokeHostFuncOpBuilder builder(XdrInvokeHostFunctionOp op) {
  XdrHostFunction xdrHostFunction = op.function;
  if (xdrHostFunction.discriminant !=
          XdrHostFunctionType.HOST_FUNCTION_TYPE_CREATE_CONTRACT ||
      xdrHostFunction.createContractArgs == null ||
      xdrHostFunction.createContractArgs!.contractID.discriminant !=
          XdrContractIDType.CONTRACT_ID_FROM_SOURCE_ACCOUNT ||
      xdrHostFunction.createContractArgs!.source.discriminant !=
          XdrSCContractCodeType.SCCONTRACT_CODE_TOKEN) {
    throw new Exception("invalid argument");
  }

  return InvokeHostFuncOpBuilder.forDeploySACWithSourceAccount(
      salt: xdrHostFunction.createContractArgs!.contractID.salt,
      footprint: op.footprint);
}