dragonchain_sdk 0.0.3

  • Readme
  • Changelog
  • Example
  • Installing
  • 44

Dragonchain DART SDK #

Talk to your dragonchain.

Docs #

Installation #


Tutorial / Examples #

A tutorial on creating a custom contract can be found here.

Initialize The Client #

const sdk = require("dragonchain-sdk");

const main = async () => {
  const client = await sdk.createClient({
    dragonchainId: "c2dffKwiGj6AGg4zHkNswgEcyHeQaGr4Cm5SzsFVceVv"
  });
  // Do something with the client here
};

main()
  .then(console.log)
  .catch(console.error);

GetBlock #

const call = await client.getBlock({ blockId: "56841" });

if (call.ok) {
  console.log("Successful call!");
  console.log(`Block: ${call.response}`);
} else {
  console.error("Something went wrong!");
  console.error(`HTTP status code from chain: ${call.status}`);
  console.error(`Error response from chain: ${call.response}`);
}

QueryTransactions #

const searchResult = await client.queryTransactions({
  transactionType: "example",
  redisearchQuery: "somethingInTxnTag"
});

if (call.ok) {
  console.log("Successful call!");
  console.log(`Query Result: ${searchResult.response}`);
} else {
  console.error("Something went wrong!");
  console.error(`HTTP status code from chain: ${searchResult.status}`);
  console.error(`Error response from chain: ${searchResult.response}`);
}

Configuration #

In order to use this SDK, you need to have an Auth Key as well as an Auth Key ID for a given Dragonchain ID. It is also strongly suggested that you supply an endpoint locally so that a remote service isn't called to automatically discover your dragonchain endpoint. These can be loaded into the sdk in various ways, and are checked in the following order of precedence:

  1. The createClient method can be initialized with an object containing the parameters dragonchainId: <ID>, authKey: <KEY>, authKeyId: <KEY_ID>, and endpoint: <URL>

  2. The environment variables DRAGONCHAIN_ID, AUTH_KEY, AUTH_KEY_ID, and DRAGONCHAIN_ENDPOINT, can be set with the appropriate values

  3. An ini-style credentials file can be provided at ~/.dragonchain/credentials (or on Windows: %LOCALAPPDATA%\dragonchain\credentials) where the section name is the dragonchain id, with values for auth_key, auth_key_id, and endpoint. Additionally, you can supply a value for dragonchain_id in the default section to initialize the client for a specific chain without supplying an ID any other way

[default]
dragonchain_id = c2dffKwiGj6AGg4zHkNswgEcyHeQaGr4Cm5SzsFVceVv

[c2dffKwiGj6AGg4zHkNswgEcyHeQaGr4Cm5SzsFVceVv]
auth_key_id = JSDMWFUJDVTC
auth_key = n3hlldsFxFdP2De0yMu6A4MFRh1HGzFvn6rJ0ICZzkE
endpoint = https://35a7371c-a20a-4830-9a59-5d654fcd0a4a.api.dragonchain.com

[28VhSgtPhwkhKBgmQSW6vrsir7quEYHdCjqsW6aAYbfrw]
auth_key_id = OGNHGLYIFVUA
auth_key = aS73Si7agvX9gfxnLMh6ack9DEuidKiwQxkqBudXl81
endpoint = https://28567017-6412-44b6-80b2-12876fb3d4f5.api.dragonchain.com

Logging #

In order to get the logging output of the sdk, a logger must be set (by default all logging is ignored).

In order to set the logger, simply call .setLogger on the root of the require/import. For example, if you just wanted to log with console (i.e. stdout, stderr, etc), you can set the logger like the following:

const sdk = require("dragonchain-sdk");
sdk.setLogger(console);

In that example, console can be replaced with any custom logger as long as it implements log, info, warn, debug, and error functions.

To reset the logger back to default (so it doesn't output anymore), simply called setLogger() with no params.

Updating #

Migrating from version 3.X.X to version 4 #

If you update your dragonchain from version 3.X.X to version 4.0.0 or later, you will lose access to your version 3.X.X custom indexes. More information can be found here.

Transactions from before this update will still exist, and blockchain integrity will not be compromised. If there are important transactions that you would like to query from before the update, we suggest saving the transaction ids and getting the transactions directly. If you rely on custom indexes and queries, this section will guide you through key differences.

Custom Indexing in version 4.0.0 and later uses Redisearch. To create a custom index in these versions, you must create a new index using redisearch fields. Dragonchain version 4.0.0 supports the use of text, tag, and number fields. Your custom indexes may further be customized by specifying options. Options for text fields include weight, noStem, sortable, and noIndex. Options for tag fields include separator and noIndex. Options for number fields include sortable and noIndex. Just like with the previous indexing solution, each field must have a path and a fieldName (previously key) to uniquely identify it within a payload.

Querying on version 4.0.0 and later uses a different query syntax. Redisearch query syntax can be found here.

Dragonchains of version 4.0.0 or later will not support updating of custom indexes. Instead, an index must be deleted and then re-created to change its indexes. When an index is deleted, all indexed items will be permanently removed. Be cautious when deleting indexes as they cannot be recovered. Custom indexes for smart contracts and transaction types must be declared when they are created.

Method changes

  • queryTransactions method signature has changed from (luceneQuery, sort, offset, limit) to (transactionType, redisearchQuery, verbatim, offset, limit, sortBy, sortAscending, idsOnly). verbatim means that the query will not use stems and idsOnly improves performance by returning only the transaction ids that match the query, rather than the full object. Though the input parameters have changed, the return schema of query methods has not changed.

  • queryBlocks method signature has changed from (luceneQuery, sort, offset, limit) to (redisearchQuery, offset, limit, sortBy, sortAscending, idsOnly). It has the same behavior as queryTransactions.

  • customIndexFields has replaced customIndex in createTransactionType.

  • customIndexFields has been added to createSmartContract. This allows you to create custom indexes on the transaction type created by a smart contract in one step, which is required for custom indexes. The type is the same as the customIndexFields from the createTransactionType object.

  • querySmartContracts has been removed. listSmartContracts has been provided as an alternative and returns a list of all smart contracts on the chain.

  • updateTransactionType has been removed.

Contributing #

Dragonchain is happy to welcome contributions from the community. You can get started here.

[0.0.3] #

  • Bugfix:
    • Lint

[0.0.2] #

  • Bugfix:
    • Removes staging refrences.

[0.0.1] - Initial Release #

  • Much left to do. Any help is appriciated.

example/main.dart

import 'package:dragonchain_sdk/dragonchain_sdk.dart';

main() async {
  DragonchainClient dragonchainClient = DragonchainClient.createClient();
  var transaction = await dragonchainClient
      .createTransaction('myTransactionType', {"hello": "world"});
  logger.d(transaction);
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  dragonchain_sdk: ^0.0.3

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:dragonchain_sdk/dragonchain_sdk.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
70
Overall:
Weighted score of the above. [more]
44
Learn more about scoring.

We analyzed this package on Mar 27, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.1
  • pana: 0.13.6
  • Flutter: 1.12.13+hotfix.8

Maintenance issues and suggestions

Make sure dartdoc successfully runs on your package's source files. (-10 points)

exitCode: 255 stdout: parsing /tmp/pub-dartlang-dartdocDYOWXW/pkg/lib/dragonchain_sdk.dart... parsing /tmp/pub-dartlang-dartdocDYOWXW/pkg/lib/services/credential_service.dart... parsing /tmp/pub-dartlang-dartdocDYOWXW/pkg/lib/services/config_service.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/collection/collection.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/developer/developer.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/internal/internal.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/_interceptors/interceptors.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/io/io.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/isolate/isolate.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/convert/convert.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/async/async.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/typed_data/typed_data.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/_empty.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/js_util/js_util_dart2js.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/html/html_dart2js.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/math/math.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/core/core.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/_http/http.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/ui/ui.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/js/js_dart2js.dart... [...] parsing /flutter/packages/flutter/lib/src/material/refresh_indicator.dart... parsing /flutter/packages/flutter/lib/src/material/search.dart... parsing /flutter/packages/flutter/lib/src/material/text_field.dart... parsing /flutter/packages/flutter/lib/src/material/selectable_text.dart... parsing /flutter/packages/flutter/lib/src/material/text_selection.dart... parsing /flutter/packages/flutter/lib/src/material/slider.dart... parsing /flutter/packages/flutter/lib/src/material/stepper.dart... parsing /flutter/packages/flutter/lib/src/material/switch.dart... parsing /flutter/packages/flutter/lib/src/material/switch_list_tile.dart... parsing /flutter/packages/flutter/lib/src/material/text_form_field.dart... parsing /flutter/packages/flutter/lib/src/material/time_picker.dart... parsing /flutter/packages/flutter/lib/src/material/toggle_buttons.dart... parsing /flutter/packages/flutter/lib/src/material/user_accounts_drawer_header.dart... Initialized dartdoc with 181 libraries in 87.0 seconds documenting dragonchain_sdk Generating docs for library dragonchain_sdk from package:dragonchain_sdk/dragonchain_sdk.dart... Generating docs for library dragonchain_sdk from package:dragonchain_sdk/services/credential_service.dart... Generating docs for library dragonnchain_sdk from package:dragonchain_sdk/services/config_service.dart... Validating docs... Documented 3 public libraries in 8.7 seconds stderr: Documenting dragonchain_sdk... warning: private API of package:Dart is reexported by libraries in other packages: from E: (file:///flutter/bin/cache/pkg/sky_engine/lib/collection/collections.dart:13:28) referred to by collection: (file:///tmp/pub-cache-dirGOBRXB/hosted/pub.dartlang.org/collection-1.14.11/lib/collection.dart:1:1) referred to by dart.pkg.collection.wrappers: (file:///tmp/pub-cache-dirGOBRXB/hosted/pub.dartlang.org/collection-1.14.11/lib/wrappers.dart:7:9) warning: private API of package:Dart is reexported by libraries in other packages: from K: (file:///flutter/bin/cache/pkg/sky_engine/lib/collection/maps.dart:374:27) referred to by collection: (file:///tmp/pub-cache-dirGOBRXB/hosted/pub.dartlang.org/collection-1.14.11/lib/collection.dart:1:1) referred to by dart.pkg.collection.wrappers: (file:///tmp/pub-cache-dirGOBRXB/hosted/pub.dartlang.org/collection-1.14.11/lib/wrappers.dart:7:9) warning: private API of package:Dart is reexported by libraries in other packages: from V: (file:///flutter/bin/cache/pkg/sky_engine/lib/collection/maps.dart:374:30) referred to by collection: (file:///tmp/pub-cache-dirGOBRXB/hosted/pub.dartlang.org/collection-1.14.11/lib/collection.dart:1:1) referred to by dart.pkg.collection.wrappers: (file:///tmp/pub-cache-dirGOBRXB/hosted/pub.dartlang.org/collection-1.14.11/lib/wrappers.dart:7:9) warning: ambiguous reexport of dart-ui.hashList, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.hashList: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/hash_codes.dart:114:5) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) Use {@canonicalFor dart:ui.hashList} in the desired library's documentation to resolve the ambiguity and/or override dartdoc's decision, or structure your package so the reexport is less ambiguous. The symbol will still be referenced in all candidates -- this only controls the location where it will be written and which library will be displayed in navigation for the relevant pages. The flag --ambiguous-reexport-scorer-min-confidence allows you to set the threshold at which this warning will appear. warning: ambiguous reexport of dart-ui.hashValues, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.hashValues: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/hash_codes.dart:42:5) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.VoidCallback, canonicalization candidates: (cupertino, foundation, material, painting, rendering, scheduler, widgets) -> widgets (confidence 0.000) from dart-ui.VoidCallback: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/window.dart:8:9) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) foundation: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) scheduler: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.AccessibilityFeatures, canonicalization candidates: (rendering, semantics) -> semantics (confidence 0.000) from dart-ui.AccessibilityFeatures: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/window.dart:1208:7) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) semantics: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.FontWeight, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.FontWeight: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:17:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.Locale, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.Locale: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/window.dart:248:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.Offset, canonicalization candidates: (cupertino, gestures, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.Offset: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/geometry.dart:119:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) gestures: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.Radius, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.Radius: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/geometry.dart:895:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.Rect, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.Rect: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/geometry.dart:621:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.RRect, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.RRect: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/geometry.dart:1018:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.RSTransform, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.RSTransform: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/geometry.dart:1645:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.Size, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.Size: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/geometry.dart:347:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextBox, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.TextBox: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:1220:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextDecoration, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.TextDecoration: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:358:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextPosition, canonicalization candidates: (cupertino, material, painting, rendering, services, widgets) -> widgets (confidence 0.000) from dart-ui.TextPosition: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:1364:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) services: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextRange, canonicalization candidates: (cupertino, material, painting, rendering, services, widgets) -> widgets (confidence 0.000) from dart-ui.TextRange: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:1410:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) services: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.AppLifecycleState, canonicalization candidates: (cupertino, material, scheduler, widgets) -> widgets (confidence 0.000) from dart-ui.AppLifecycleState: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/window.dart:154:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) scheduler: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.Brightness, canonicalization candidates: (cupertino, material, services) -> services (confidence 0.000) from dart-ui.Brightness: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/window.dart:1272:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) services: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.FontStyle, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.FontStyle: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:8:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.PlaceholderAlignment, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.PlaceholderAlignment: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:1619:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextAffinity, canonicalization candidates: (cupertino, material, painting, rendering, services, widgets) -> widgets (confidence 0.000) from dart-ui.TextAffinity: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:1322:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) services: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextAlign, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.TextAlign: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:317:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextBaseline, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.TextBaseline: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:349:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextDecorationStyle, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.TextDecorationStyle: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:417:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextDirection, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.TextDirection: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:1208:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: dragonchain_sdk has no library level documentation comments, from dragonchain_sdk: (file:///tmp/pub-dartlang-dartdocDYOWXW/pkg/lib/dragonchain_sdk.dart:1:9) warning: no canonical library found for dragonchain_sdk.DragonchainClient.hashCode, not linking, from dragonchain_sdk.DragonchainClient.hashCode: (file:///flutter/bin/cache/pkg/sky_engine/lib/core/object.dart:94:20) warning: no canonical library found for dragonchain_sdk.DragonchainClient.runtimeType, not linking, from dragonchain_sdk.DragonchainClient.runtimeType: (file:///flutter/bin/cache/pkg/sky_engine/lib/core/object.dart:116:21) warning: no canonical library found for dragonchain_sdk.DragonchainClient.noSuchMethod, not linking, from dragonchain_sdk.DragonchainClient.noSuchMethod: (file:///flutter/bin/cache/pkg/sky_engine/lib/core/object.dart:111:20) warning: no canonical library found for dragonchain_sdk.DragonchainClient.toString, not linking, from dragonchain_sdk.DragonchainClient.toString: (file:///flutter/bin/cache/pkg/sky_engine/lib/core/object.dart:99:19) warning: no canonical library found for dragonchain_sdk.DragonchainClient.==, not linking, from dragonchain_sdk.DragonchainClient.==: (file:///flutter/bin/cache/pkg/sky_engine/lib/core/object.dart:62:26) warning: dragonchain_sdk has no library level documentation comments, from dragonchain_sdk: (file:///tmp/pub-dartlang-dartdocDYOWXW/pkg/lib/services/credential_service.dart:1:9) error: failed to write file at: dragonchain_sdk/dragonchain_sdk-library.html for symbol dragonchain_sdk: (file:///tmp/pub-dartlang-dartdocDYOWXW/pkg/lib/services/credential_service.dart:1:9) conflicting with file already generated by dragonchain_sdk: (file:///tmp/pub-dartlang-dartdocDYOWXW/pkg/lib/dragonchain_sdk.dart:1:9) Dartdoc generates a path and filename to write to for each symbol. dragonchain_sdk conflicts with another symbol in the generated path, and therefore can not be written out. Changing the name, library name, or class name (if appropriate) of one of the conflicting items can resolve the conflict. Alternatively, use the @nodoc tag in one symbol's documentation comments to hide it. error: failed to write file at: dragonchain_sdk/logger.html for symbol dragonchain_sdk.logger: (file:///tmp/pub-dartlang-dartdocDYOWXW/pkg/lib/services/credential_service.dart:9:7) conflicting with file already generated by dragonchain_sdk.logger: (file:///tmp/pub-dartlang-dartdocDYOWXW/pkg/lib/dragonchain_sdk.dart:17:7) warning: dragonnchain_sdk has no library level documentation comments, from dragonnchain_sdk: (file:///tmp/pub-dartlang-dartdocDYOWXW/pkg/lib/services/config_service.dart:1:9) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient-class.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/DragonchainClient.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/createApiKey.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/createBulkTransaction.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/createClient.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/createSmartContract.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/createTransaction.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/createTransactionType.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/credentialService.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/delete.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/deleteApiKey.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/deleteSmartContract.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/deleteTransactionType.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/endpoint.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/generateQueryString.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/get.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/getApiKey.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/getHttpHeaders.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/getPendingVerifications.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/getSmartContract.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/getSmartContractLogs.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/getSmartContractObject.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/getStatus.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/getTransaction.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/getTransactionType.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/getVerifications.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/listApiKeys.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/listSmartContractObjects.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/listSmartContracts.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/listTransactionTypes.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/makeRequest.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/post.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/put.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/queryBlocks.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/queryTransactions.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/updateApiKey.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/updateSmartContract.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/validateAndBuildCustomIndexFieldsArray.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/DragonchainClient/verify.html (from index.json) warning: dartdoc generated a broken link to: dragonchain_sdk/httpMethods.html (from index.json) found 76 warnings and 2 errors Unhandled exception: dartdoc encountered 2 errors while processing. #0 Dartdoc.generateDocs (package:dartdoc/dartdoc.dart:202:7)

Support latest dependencies. (-10 points)

The version constraint in pubspec.yaml does not support the latest published versions for 1 dependency (logger).

Package is pre-v0.1 release. (-10 points)

While nothing is inherently wrong with versions of 0.0.*, it might mean that the author is still experimenting with the general direction of the API.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
crypto ^2.1.3 2.1.4
flutter 0.0.0
flutter_secure_storage ^3.3.1+1 3.3.1+1
http ^0.12.0+2 0.12.0+4
logger ^0.7.0+2 0.7.0+2 0.8.3
Transitive dependencies
async 2.4.1
charcode 1.1.3
collection 1.14.11 1.14.12
convert 2.1.1
http_parser 3.1.4
meta 1.1.8
path 1.6.4
pedantic 1.9.0
sky_engine 0.0.99
source_span 1.7.0
string_scanner 1.0.5
term_glyph 1.1.0
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test