bc_ur_dart 0.1.26
bc_ur_dart: ^0.1.26 copied to clipboard
A dart plugin for Uniform Resources(URs) decode/encode. URs are URI-encoded CBOR structures developed by Blockchain Commons.
Changelog #
0.1.0 #
- Initial version.
0.1.1 #
- Export necessary files.
0.1.3 #
- Handle ETH signature v.
0.1.4 #
- Feature: Support read ur expected and received indexes for getting fragment progress.
0.1.5 #
- Feature: Support BTC PSBT format.
0.1.6 #
- Handle the usage of uuid.
0.1.7 #
- Handle ETH signature v.
0.1.8 #
- Handle the change data of Gspl protocol.
0.1.9 #
- Fix: Handle fragment check.
0.1.10 #
- Feature: Support typed data and raw data of evm transaction types.
0.1.11 #
- Handle the master fingerprint of CryptoHdKey.
0.1.12 #
- Handle the xfp format.
0.1.13 #
- Feature: Support psbt request fromUR factory & psbt signature fromSignature factory.
0.1.14 #
- Feature: Update PsbtSignRequestUR generated by UR.
0.1.15 #
- Update: Update CryptoMultiAccountsUR toString().
0.1.16 #
- Fix: Fixed CryptoMultiAccountsUR XRP get from wallet.
0.1.17 #
- Fix: Fixed address and signHashType parse error of GsplItem.
- Fix: Refactor some code about gspl
0.1.18 #
- Update: Update crypto_wallet_util pubspec version.
0.1.19 #
- Update: Update crypto_wallet_util pubspec version.
0.1.20 #
- Feature: Support EIP7702 Transaction.
0.1.21 #
- Update: Update crypto utils.
0.1.22 - 2026-02-24 #
- Feature: Support Cosmos & Solana.
0.1.23 - 2026-03-18 #
- Feature: Support ALPH & TRON.
- Refactor: Refactor `RegistryItem` .
0.1.24 - 2026-04-29 #
- Feature: Add Keystone-compatible BCH, Cosmos, Solana, TRON and XRP sign request/result UR support.
- Feature: Add CryptoAccount model and registry support.
- Feature: Support crypto-psbt signature.
- Update: Align CryptoHDKeyUR, canonical xfp and source fingerprint handling with Keystone spec.
- Fix: Wrap invalid HDKey and multi-account parse errors.
- Fix: Align BCH, Solana and TRON sign request encoding with Keystone protocol.
0.1.25 - 2026-06-15 #
- Feature: Add SC sign request and signature UR support.
- Feature: Support SC cross-chain fee display metadata.
- Feature: Support multi-coin Keystone UTXO signing through configurable coin code.
- Update: Preserve non-secp256k1 CryptoHDKey entries for supported chains such as Solana.
- Update: Consolidate registry JSON helpers and required text decoding.
- Fix: Keep CryptoHDKey, CryptoAccount and CryptoMultiAccounts string output JSON-safe and compatible with empty fields.
- Fix: Reject malformed secp256k1 CryptoHDKey public key or chain code data instead of silently importing it.
- Example: Add a Flutter demo app under
examples/bc_ur_dart_demofor scanning, encoding and signing-flow debugging.
0.1.26 #
- Fix (UR transport): Harden fragment decoding —
UR.read()now returnsfalseon malformed fragments instead of throwing, the reassembled payload's CRC32 is verified before a decode completes, and fragmentseqLengthis capped at0x10000so a field-consistent frame with a huge sequence length can no longer trigger an out-of-memory allocation that escapesread()'s error handling and kills the scan loop. - Fix (UR transport): Correct fountain-code (mixed-part) reduction, prevent a single-part frame from hijacking an in-progress multipart decode, add
UR.reset()for safe decoder reuse, and wrap the encode-side sequence number to uint32. - Behavior change (malformed input only): Bytewords
MINIMALdecoding validates length, charset, per-word bounds and checksum, throwingInvalidFormatURException/InvalidChecksumURExceptionon corrupt input;InvalidSequenceURExceptionnow reportsinvalidSequence. Conformant fragments decode unchanged. - Fix: Preserve non-secp256k1
CryptoHDKeyentries for every non-secp chain (not just Solana), so a single exotic-chain key can no longer abort a wholecrypto-multi-accountsimport. Corruption is now detected from the key shape (a key encoded like a secp256k1 point — compressed 33-byte0x02/0x03or uncompressed 65-byte0x04— that still failsBIP32.fromPublicKey), independent ofuse_info, so a corrupt BTC BIP49/84/86 or LTC/BCH key fails closed even when Keystone omitsuse_info. - Fix:
CryptoMultiAccountsUR.fromURno longer aborts the whole account set when one key entry is undecodable — it skips that entry and records it in the newskippedKeys(SkippedHDKeyEntry) list so callers can surface which accounts could not be imported. Single-keyCryptoHDKeyUR.fromURstill throws. - Dependency: Update
crypto_wallet_utilconstraint to^2.0.0so consumers can resolve current 2.x releases.