What's Changed
Added
example_14_low_level_adi_creation.py— complete ADI creation flow using only raw binary encoding (no SmartSigner or TxBody), verified end-to-end
on Kermit testnet. Every block annotates where convenience methods replace 20+ lines with 2-4 lines.- Convenience method reference tables in all documentation files (README, ZERO_TO_HERO, examples/README, src/README)
- SDK API levels documentation — explains the three levels (QuickStart / SmartSigner+TxBody / Raw Binary Encoding) and exactly what each convenience
method does under the hood
Fixed
- Resolved all 31 xfailed tests — incorrect factory data types for SendTokens, AddCredits, UpdateKeyPage, TransferCredits, UpdateAccountAuth, NetworkMaintenance, CreateLiteDataAccount
- Fixed
_restore_field_types()to handleOptional[bytes], aliased Pydantic fields, and nestedList[Union[BaseModel,...]]with type discriminators - Fixed
build_envelope()missingsignatureskey - Fixed
validation.pyusingnewKeyinstead ofnewKeyHashfor UpdateKey - Deleted orphaned tests for removed legacy modules and scripts
Changed
- Removed legacy client modules:
api_client.py,client.py,json_rpc_client.py,generated_client.py,client_compat.py,client_mock.py,client_test.py— all functionality is covered byfacade.py+v2/+v3/ - All docs updated with correct git clone URL, package name disambiguation (
accumulate-sdk-opendltvs oldaccumulate-python-client), and SmartSigner/TxBody/QuickStart explanations - Examples 01 and 02 annotated with inline comments explaining convenience methods
Test Results
- 2354 passed, 14 skipped, 0 xfailed, 0 failed
- 14 skips are legitimate (DevNet not running, optional deps not installed).
Full Changelog: opendlt/accumulate-python-client@v2.0.3...v2.0.4