opendlt_accumulate 2.2.2 copy "opendlt_accumulate: ^2.2.2" to clipboard
opendlt_accumulate: ^2.2.2 copied to clipboard

Production-ready Dart SDK for Accumulate blockchain. Multi-signature support (Ed25519, BTC, ETH, RSA, ECDSA), SmartSigner API, complete V2/V3 protocol.

Changelog #

All notable changes to the opendlt-accumulate Dart SDK will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

2.2.2 - 2026-07-28 #

Fixed #

  • Removed a stray example/v3/110_testnet_faucet.dart left behind by an earlier move to example/flows/. It imported a config.dart that only exists in example/flows/, so it was the sole source of two analyzer errors — which is what earned the package pub.dev's has:error tag and degraded static analysis for every consumer. dart analyze now reports 0 errors.
  • Normalized LICENSE to LF line endings so pub.dev's license detector can match the Apache-2.0 text (previously reported as license:unknown).

2.2.1 - 2026-07-28 #

Fixed #

  • The package could not be imported at all. lib/src/build/ (builders.dart, context.dart, tx_types.dart) was missing from the published archive, while lib/opendlt_accumulate.dart re-exports all three. Every consumer of 2.2.0 got a compile error on import 'package:opendlt_accumulate/opendlt_accumulate.dart', so the entire documented golden path — Accumulate, TxBody, SmartSigner — was unreachable.

    Root cause: .gitignore contained an unanchored build/ rule intended for the repo-root build output. Unanchored patterns match at any depth, so it also excluded lib/src/build/ — the SDK's own source. The files existed on disk but were never tracked by git and therefore never published. The rule is now anchored (/build/) with an explicit !lib/src/build/ guard.

    This also explains the package's pub.dev analysis score: static analysis could not resolve the umbrella library.

2.2.0 - 2026-07-22 #

Added #

  • Amount helper for ACME base-unit scaling (1 ACME = 1e8 base units): Amount.acme(), Amount.baseUnitsOf(), Amount.credits().
  • Typed error taxonomy (AccError and subclasses) exported from the package root.

Changed #

  • RPC errors from the live API path now surface as typed AccError (via Transport), so callers can catch (ValidationError) / catch (ApiError) instead of a flat JsonRpcException.
  • Added generated llms.txt, llms-full.txt, and AGENTS.md AI-agent interface files.

2.1.2 - 2026-07-21 #

Changed #

  • Documented ACME base-unit scaling (1 ACME = 1e8) in the README quickstart and clarified the dependency version pin.

2.1.0 - 2026-02-27 #

Added #

  • Binary encoding for BurnTokens, BurnCredits, WriteDataTo, LockAccount, UpdateKey, UpdateAccountAuth, and TransferCredits transaction types
  • fromJson factory on AccountAuthOperation and KeyPageOperation for deserialization
  • Testnet faucet example

Changed #

  • Moved ad-hoc test/debug examples from example/v3/ to example/flows/

2.0.2 - 2026-02-07 #

Fixed #

  • Fixed and verified all v3 examples against Kermit public testnet
  • Modernized Multi-Signature Types example with SmartSigner and UnifiedKeyPair
  • Updated QuickStart and AccumulateHelper examples for Kermit endpoints
  • Removed duplicate custom tokens example

2.0.0 - 2025-12-30 #

Added #

Multi-Signature Support

  • RCD1 (Factom-style) signature support with proper public key hash computation
  • BTC (Bitcoin secp256k1) signature support with compressed public keys
  • BTCLegacy signature support for legacy Bitcoin compatibility
  • ETH (Ethereum secp256k1) signature support with Keccak-256 hashing
  • RSA-SHA256 signature support (2048-4096 bit keys)
  • ECDSA-SHA256 (P-256/secp256r1) signature support
  • TypedData (EIP-712) signature support for Ethereum typed data

Cryptographic Key Pairs

  • Secp256k1KeyPair for BTC/ETH operations with compressed/uncompressed support
  • RsaKeyPair with PKCS#1 DER encoding/decoding
  • EcdsaKeyPair for P-256 curve operations
  • RCD1KeyPair for Factom-compatible signing
  • UnifiedKeyPair wrapper for polymorphic key handling

Smart Signing API

  • SmartSigner class for automatic signer version tracking
  • signSubmitAndWait() method for complete transaction lifecycle
  • addKey() helper for key page operations
  • Automatic retry logic for transient network errors

Key Management

  • KeyManager class for key page state queries
  • KeyPageState model with keys, thresholds, and credit balance
  • Support for UpdateKeyPage operations (add/remove/update keys)

Transaction Builders (TxBody)

  • createToken() for custom token issuer creation
  • createKeyPage() for key page creation
  • createKeyBook() for key book creation
  • issueTokens() / issueTokensSingle() for token issuance
  • sendTokensSingle() convenience method for single-recipient transfers
  • addCredits() for credit purchase operations

Protocol Types

  • Complete signature type hierarchy matching Go core
  • Vote, Memo, and Data fields on all signature types
  • TransactionHeader with Metadata, Expire, HoldUntil, and Authorities fields
  • Proper enum values for all 16 signature types

Changed #

  • Signature type enum values now match Go protocol exactly
  • Binary encoding for signatures uses correct field ordering
  • Transaction hash computation matches Go core implementation
  • Public key hash computation varies by signature type (as per protocol)

Fixed #

  • ETH signature public key hash uses Keccak-256 (not SHA-256)
  • RSA signatures include full public key in hash (not truncated)
  • RCD1 signatures use double-SHA256 for public key hash
  • Transaction ID extraction from multi-response arrays
  • Status parsing handles both string and map formats

Security #

  • No hardcoded keys or secrets in library code
  • Test vectors use well-known public test data only
  • Removed debug files that printed sensitive data

1.0.0 - 2025-09-01 #

Added #

  • Initial release of production-ready Dart/Flutter SDK
  • Ed25519 cryptography with bit-for-bit compatible signing
  • LID/LTA derivation matching Go/TypeScript implementations
  • Transaction builders for common Accumulate v3 operations
  • Unified v2+v3 JSON-RPC client
  • Comprehensive test suite with cross-language validation
  • Golden file test harness for encoding compatibility
  • Working examples for all common workflows
  • Pure Dart crypto implementation (Flutter/web friendly)
  • Enhanced transport with retries, exponential backoff
  • CLI tool for keygen, query, and submit operations
1
likes
0
points
816
downloads

Publisher

verified publisheropendlt.org

Weekly Downloads

Production-ready Dart SDK for Accumulate blockchain. Multi-signature support (Ed25519, BTC, ETH, RSA, ECDSA), SmartSigner API, complete V2/V3 protocol.

Homepage
Repository (GitHub)
View/report issues

Topics

#blockchain #rpc #json-rpc #accumulate #sdk

License

unknown (license)

Dependencies

collection, crypto, cryptography, http, meta, path, pointycastle

More

Packages that depend on opendlt_accumulate