Skip to content

v3.0.0 - Full Flutter Web Platform Support

Choose a tag to compare

@christian-rogobete christian-rogobete released this 14 Jan 14:48
· 111 commits to master since this release

This release adds full Flutter web platform support by migrating all 64-bit integer types to BigInt.

JavaScript numbers have only 53 bits of integer precision, causing silent data loss for values exceeding 2^53. Since Stellar and Soroban use 64-bit integers extensively (memo IDs, muxed account IDs, sequence numbers, timestamps, durations), BigInt is required for correct behavior on web platforms.

Breaking Changes

Common API

  • MemoId(id) and Memo.id(id) now require BigInt
  • MuxedAccount(accountId, id) parameter changed from int? to BigInt?
  • MuxedAccount.id property now returns BigInt?
  • Account muxedAccountMed25519Id parameter changed from int? to BigInt?
  • AccountResponse.muxedAccountMed25519Id property now returns BigInt?

Soroban Specific

  • SorobanAddressCredentials.nonce property changed from int to BigInt
  • SorobanCredentials.forAddress(nonce) parameter changed from int to BigInt
  • XdrSCVal.forU64, forI64, forTimepoint, forDuration now require BigInt

XDR Types

  • XdrInt64.int64 and XdrUint64.uint64 properties now return BigInt
  • XdrInt128Parts.forHiLo and XdrUInt128Parts.forHiLo hi/lo parameters changed to BigInt
  • XdrInt256Parts and XdrUInt256Parts parameters changed to BigInt

See v3_migration_guide.md for detailed migration patterns and examples.