Releases: SuperEdison/java-wallet-sdk
Releases · SuperEdison/java-wallet-sdk
v0.0.4
feat: 发布
- 新增 Secp256k1V,统一处理 0/1、27/28 与 EIP-155 的 v 转换规则
- EVM/TRON 签名逻辑复用统一 v 归一化实现,减少链间行为分叉
- EVM 交易编码固定使用 EIP-155 载荷 [chainId, 0, 0],并强制校验 chainId > 0
- 修复 UnifiedHDWallet.fromMnemonic 临时 seed 处理问题
- 修复 UnifiedHDWallet.deriveRange 替换末级索引时 hardened 后缀(' / H)丢失问题
- 增加向量与回归测试(CrossLanguageVectorTest、EvmEip155SafetyTest、fromSeed/多实例派生测试)
- 将测试向量迁移到 web3-client/src/test/resources/test-vectors,并改为 classpath 读取
- v0.0.2是用2^31-1现在从v0.0.3改成2^31,所以以前的都要重新洗address
v0.0.3: fix: 修复全模块严重安全与正确性Bug
EVM: - 修复 EvmSignature.getRecoveryId() v值识别错误(v=0/1时返回-27/-26,所有交易被拒绝) - v字段 int→long 防止大chainId溢出 - RlpEncoder 拒绝负数编码 - EvmRawTransaction.hexToBytes 奇数长度hex校验 - Eip55Checksum 明确使用 US_ASCII charset TRON: - 修复 TronTransactionSigner 使用 fromCompact 导致 v=0/1(应为27/28) - TronSignature.fromCompact 归一化 v 值 - TronProtobuf feeLimit 负数校验 BTC: - 修复交易签名完全不可用(signedInputs未组装、sighash未替换scriptPubKey、amount硬编码为0) - TxInput 新增 amount/scriptPubKey 字段支持正确签名 - BtcSignedTransaction vsize 计算修正(weight = baseSize*3 + totalSize) - TaprootAddress 静默回退改为抛出异常 - BtcAddressType 添加 regtest 地址支持 - Bech32 90字符限制仅应用于 Bech32 不限制 Bech32m Solana: - 修复指令账户索引排序后未重映射(交易引用错误账户) - encodeSigned 消除双重编码(避免签名与消息不一致) - 账户索引 u8 范围校验 - SolanaAddress.isValid 放宽长度下界 - Base58 编码缓冲区大小修正 - SolanaTransactionHasher 返回防御性拷贝 Crypto: - 修复 Bip44.getSolanaPath 参数位置写反(index>0时路径错误) - Ed25519Signer.destroy() 清理 BouncyCastle 内部密钥副本 - Bip32/Slip10 derivePath 中间密钥及时销毁 - Bip32/Slip10 deriveChild data数组安全擦除 - Bip32 invalid key retry 溢出保护 - chainCode 统一使用 secureWipe - 中间 HMAC 数组 try-finally 清零 Client: - AccountDeriver.userIdToAccountIndex 取模 2^31-1→2^31 - getPathForChain Ed25519 链 change!=0 时抛异常 - destroy() volatile→AtomicBoolean 消除竞态 - ChainAdapterRegistry.autoDiscover() 添加 synchronized - deriveRange() 异常时关闭已生成的 SigningKey
v0.0.2
feat(#): 1. 添加助记词+多链的hdwawllet 2. 添加了btc和solana的地址
v0.0.1
feat(#): 1. first commit support tron evm wallet