Releases: scs/substrate-api-client
v0.10.0
For
polkadot-v0.9.43
use branch polkadot-v0.9.43-tag-v0.10.0
Forpolkadot-v0.9.42
use branch polkadot-v0.9.42-tag-v0.10.0
Forpolkadot-v0.9.41
use branch polkadot-v0.9.41-tag-v0.10.0
Forpolkadot-v0.9.40
use branch polkadot-v0.9.40-tag-v0.10.0
Forpolkadot-v0.9.39
use branch polkadot-v0.9.39
Forpolkadot-v0.9.38
use branch polkadot-v0.9.38-tag-v0.10.0
Forpolkadot-v0.9.37
use branch polkadot-v0.9.37-tag-v0.10.0
🎉 Featuring
- Fully generic
UncheckedExtriniscV4
(see #418):- Signature, AccountId and Signer type are no longer hardcoded, but fully adaptable.
- Introduced
ExtrinsicSigner
struct for easy type assignment
submit_extrinsic
(and watch) no longer requires encoded extrinsic, but theUncheckedExtrsinsicV4
itself. This way, the correct extrinsic type is enforced by the compiler. The encoded extrinsic may still be submitted with the newly introducedsubmit_opaque_extrinsic
(and watch). See #421- Introduced new functionality with
fetch_events_for_extrinsic
andfetch_events_from_block
. With these functions, events associated to a specific event or inside a given block can be easily retrieved. Some examples have been adapted to show the use case of these features. See #437. - Extrinsic creation code was heavily simplified and a trait for each implemented pallet was introduced. This allows mocking and better unit testing on the user side. See #434
What's Changed since v0.9.0
⚡ Breaking API changes
- Remove
wait_for_event
and simplify event access insubscribe_events
(#437) @haerdib - Add traits and remove excessive type definition in extrinsic helpers (#434) @haerdib
- Make UncheckedExtrinsicV4 generic (#418) @haerdib
- Enforce
Bytes
and remove obsolete hex-utils (#423) @haerdib - Clean up Api Error and indicate future status clearly (#424) @haerdib
- Enforce
UncheckedExtrinsicV4
forsubmit_extrinsic
and add_opaque_extrinsic
(#421) @haerdib - Clean up extrinsic params builder (#405) @haerdib
- Remove thiserror (#419) @haerdib
🌈 Features
- Remove
wait_for_event
and simplify event access insubscribe_events
(#437) @haerdib - Add traits and remove excessive type definition in extrinsic helpers (#434) @haerdib
- add
fetch_events_from_block
andfetch_events_for_extrinsic
(#429) @haerdib - Make UncheckedExtrinsicV4 generic (#418) @haerdib
- Enforce
Bytes
and remove obsolete hex-utils (#423) @haerdib - Clean up Api Error and indicate future status clearly (#424) @haerdib
- Enforce
UncheckedExtrinsicV4
forsubmit_extrinsic
and add_opaque_extrinsic
(#421) @haerdib
Miscellaneous
13 changes
- Remove
wait_for_event
and simplify event access insubscribe_events
(#437) @haerdib - Add traits and remove excessive type definition in extrinsic helpers (#434) @haerdib
- add
fetch_events_from_block
andfetch_events_for_extrinsic
(#429) @haerdib - Add staking example to CI (#433) @haerdib
- Make UncheckedExtrinsicV4 generic (#418) @haerdib
- add
submit_and_watch_until_success
to examples (#428) @haerdib - Enforce
Bytes
and remove obsolete hex-utils (#423) @haerdib - Clean up Api Error and indicate future status clearly (#424) @haerdib
- Update toolchain to 2023-01-05 (#425) @haerdib
- Enforce
UncheckedExtrinsicV4
forsubmit_extrinsic
and add_opaque_extrinsic
(#421) @haerdib - Bump tokio from 1.23.0 to 1.23.1 (#427) @dependabot
- Clean up extrinsic params builder (#405) @haerdib
- Remove thiserror (#419) @haerdib
v0.9.0
For
polkadot-v0.9.41
use branch polkadot-v0.9.41-tag-v0.9.0
Forpolkadot-v0.9.40
use branch polkadot-v0.9.40-tag-v0.9.0
Forpolkadot-v0.9.39
use branch polkadot-v0.9.39-tag-v0.9.0
Forpolkadot-v0.9.38
use branch polkadot-v0.9.38
🎉 Featuring
- Newly introduced rpc clients:
- tungstenite client
- jsonrpsee client. With this client, the issue with too many node requests has finally been solved. See #366.
- Enhanced
no_std
support: Everything is nowno_std
compatible, except for the rpc clients. See #377. - The
Api
is finally abstracted behind traits, allowing easy mocking and exchanges. See #363. - New functionalities, such as
submit_and_watch_extrinsic_until_success
,get_storage_keys_paged
and several system-getter helpers.
What's Changed since v0.8.0
⚡ Breaking API changes
- SubmitAndWatch: Return
ExtrinsicReport
instead of block hash (#386) @haerdib - Clean up pub exports and rename Api Result and Error (#376) @haerdib
- Enhance rpc interface and simplify ws client (#354) @haerdib
🌈 Features
- Add
get_storage_keys_paged
(#403) @haerdib - Add
submit_and_watch_extrinsic_until_success
method (#398) @haerdib - Add some system helper functions (#402) @haerdib
- Add helper methode api.compose_extrsinic_offline (#394) @haerdib
- SubmitAndWatch: Return
ExtrinsicReport
instead of block hash (#386) @haerdib - Make api/rpc interfaces no_std compatible (#384) @haerdib
- Add api traits (#363) @haerdib
- Add jsonrpsee as default rpc client (#366) @haerdib
- Enhance rpc interface and simplify ws client (#354) @haerdib
- Support
tungstenite-rs
rpc client (#355) @zhizming-zhong
🐛 Bug Fixes
- Fix in
XtStatus::InBlock
as u8 (#396) @haerdib - Fix bugs and remove unused Clone / Debug enforcements (#374) @haerdib
Miscellaneous
23 changes
- Update .toml version (#409) @haerdib
- Update to the newest substrate commit + cargo update (#408) @haerdib
- Add
get_storage_keys_paged
(#403) @haerdib - Add
submit_and_watch_extrinsic_until_success
method (#398) @haerdib - Add some system helper functions (#402) @haerdib
- Clean up examples (#401) @haerdib
- Add TransactionStatus and Api unit tests (#399) @haerdib
- Make Api
no_std
compatible (#377) @haerdib - Add helper methode api.compose_extrsinic_offline (#394) @haerdib
- Fix in
XtStatus::InBlock
as u8 (#396) @haerdib - SubmitAndWatch: Return
ExtrinsicReport
instead of block hash (#386) @haerdib - Udpate to newest substrate master commit (#390) @haerdib
- Make api/rpc interfaces no_std compatible (#384) @haerdib
- Clean up pub exports and rename Api Result and Error (#376) @haerdib
- Add new test crate (#368) @haerdib
- Move exampels to separate crate (#371) @haerdib
- Fix bugs and remove unused Clone / Debug enforcements (#374) @haerdib
- Clean up tomls (#372) @haerdib
- Add api traits (#363) @haerdib
- Add jsonrpsee as default rpc client (#366) @haerdib
- Enhance rpc interface and simplify ws client (#354) @haerdib
- Support
tungstenite-rs
rpc client (#355) @zhizming-zhong - Add license check to CI (#311) @haerdib
v0.8.0
🎉 Featuring
- Generic Api - finally compatible with all possible Substrate runtimes
- New functionality:
update_runtime
function, allowing the api client to follow the nodes runtime upgrades.
What's Changed since v0.7.0
⚡ Breaking API changes
- Make api and primitives generic over Runtime (#340) @haerdib
- [Api] add
update_runtime
function and return metadata from cache (#337) @haerdib - Decouple RpcClient and Api (#336) @haerdib
🌈 Features
- Make api and primitives generic over Runtime (#340) @haerdib
- [Api] add
update_runtime
function and return metadata from cache (#337) @haerdib - Make primitives generic over Index, Hash and Balance (#334) @haerdib
Miscellaneous
10 changes
- Bump crate versions (#358) @haerdib
- Make api and primitives generic over Runtime (#340) @haerdib
- Update frame-metdata and remove ed25519-zebra patch (#347) @haerdib
- [Api] add
update_runtime
function and return metadata from cache (#337) @haerdib - Clean up examples (#345) @haerdib
- Remove substrate versioning and cargo update (#339) @haerdib
- Decouple RpcClient and Api (#336) @haerdib
- Restructure std folder (#335) @haerdib
- Make primitives generic over Index, Hash and Balance (#334) @haerdib
- Remove unncesessary redefintion of substrate types (#333) @haerdib
v0.7.0
For
polkadot-v0.9.39
use branch polkadot-v0.9.39-tag-v0.7.0
Forpolkadot-v0.9.38
use branch polkadot-v0.9.38-tag-v0.7.0
Forpolkadot-v0.9.37
use branch polkadot-v0.9.37-tag-v0.7.0
🎉 Featuring
- Several Bugs fixed, such as wrong error messages, calculating the
InclusionFee
and input params. - Support of Substrate nodes that use asset tip payment.
no_std
compatible metadata and node_api- Several new functionalities, such as
get_constant
,get_block_hash
, ..
What's Changed since v0.5.0
⚡ Breaking API changes
- Future status returns Future error instead of HexError (#312) @haerdib
- Update node api to match recent version of substrate and subxt (#309) @haerdib
- Become generic over SignedExtra and AdditionalSigned (#243) @echevrier
- Support Asset payment (#232) @echevrier
- Change return type of Api::get_fee_details() (#145) @trevor-crypto
- RPC Client trait and feature reorganization (#131) @trevor-crypto
🌈 Features
- Added features for staking and payout (#294) @shanithkk
- Refactor ws_client to remove unwraps and duplicate code (#296) @haerdib
- [compose-macros] improve import resolution (#261) @clangenb
- Metadata
no_std
compatible (#259) @echevrier - Expose
disable_target_static_assertions
feature flag (#257) @clangenb - Make node-api
no_std
compatible (#253) @clangenb - [extrinsicParams] Make
GenericExtra
generic over tip (#248) @clangenb - Become generic over SignedExtra and AdditionalSigned (#243) @echevrier
- Support Asset payment (#232) @echevrier
- Remove unused default value in StorageMaps to allow OptionQuery (#210) @haerdib
- Add instantiate_with_code (#197) @netrikare
- Move ApiError to separate file and add Send + Sync (#203) @haerdib
- add generic
get_constant
call (#196) @clangenb - add :
get_block_hash
,get_block_by_num
,get_signed_block_by_num
,ApiClientError::Custom(dyn Box<std::Error>
(#194) @clangenb - Metadata v14 pretty prints (#187) @echevrier
- Add querying for payment info (#184) @pmikolajczyk41
- Add
XtStatus::SubmitOnly
(#169) @clangenb - Implement #129: add constants in metadata (#154) @echevrier
- Add staking extrinsics (#142) @trevor-crypto
- RPC Client trait and feature reorganization (#131) @trevor-crypto
🐛 Bug Fixes
- Future status returns Future error instead of HexError (#312) @haerdib
- Fix calculating InclusionFee (#183) @pmikolajczyk41
- Fixed two JsonRPC request params (#170) @trevor-crypto
- add end_process to error response (#152) @haerdib
- fix + remove full-crypto feature flag and make it implicit. (#137) @clangenb
- fix twox64concat hasher (#127) @haerdib
- Keystore bug fix (#113) @haerdib
Miscellaneous
70 changes
- Add staking feature to CI and fix clippy warnings (#330) @haerdib
- Clean up and harominze toml files (#329) @haerdib
- Added features for staking and payout (#294) @shanithkk
- Future status returns Future error instead of HexError (#312) @haerdib
- update to polkadot-v0.9.31 (#315) @haerdib
- Add get_account_identity example (#313) @haerdib
- Update node api to match recent version of substrate and subxt (#309) @haerdib
- Refactor ws_client to remove unwraps and duplicate code (#296) @haerdib
- Add example using account seed (#291) @haerdib
- update to polkadot version v0.9.30 (#302) @haerdib
- [CI] build examples only once and upload as artifacts (#298) @haerdib
- Remove unnecessary clone restrictions (#299) @haerdib
- Add rustfmt.toml and cargo fmt (#297) @haerdib
- Use substrate kitchensink-runtime docker image in CI (#293) @haerdib
- Update substrate on master to the commit of polkadot-v0.9.29 (#289) @OverOrion
- Add cargo.toml formatting with taplo (#281) @echevrier
- bump substrate and patch ed25519-zebra (#287) @clangenb
- Set license explicitly to Apache-2.0 and set SCS as author (#283) @Niederb
- Remove outdated tutorial (#276) @clangenb
- Update polkadot to v0.9.27 (#269) @Niederb
- Provide a connect method that does not spawn a thread (#262) @Niederb
- [compose-macros] improve import resolution (#261) @clangenb
- Metadata
no_std
compatible (#259) @echevrier - Expose
disable_target_static_assertions
feature flag (#257) @clangenb - Add ws-client feature flag for impl block (#258) @gaudenzkessler
- Make node-api
no_std
compatible (#253) @clangenb - Add Check_Non_Zero to additionalSigned (#252) @echevrier
- Remove unnecessary calls to to_string() to improve performance. (#250) @Niederb
- [extrinsicParams] Make
GenericExtra
generic over tip (#248) @clangenb - re-export everything from primitives (#247) @clangenb
- Become generic over SignedExtra and AdditionalSigned (#243) @echevrier
- Support Asset payment (#232) @echevrier
- Upgrade to substrate 174735 (#231) @echevrier
- refactor: restructure examples (#221) @ivanceras
- Bump substrate (#220) @echevrier
- update substrate dep to 9a6d706d8db00abb6ba183839ec98ecd9924b1f8 (#213) @brenzi
- Remove unused default value in StorageMaps to allow OptionQuery (#210) @haerdib
- bump substrate version to 59649dd (#209) @haerdib
- bump to substrate to commit 7c63420 (#208) @haerdib
- Add instantiate_with_code (#197) @netrikare
- Move ApiError to separate file and add Send + Sync (#203) @haerdib
- bump substrate@b9cafb (#198) @clangenb
- add generic
get_constant
call (#196) @clangenb - add :
get_block_hash
,get_block_by_num
,get_signed_block_by_num
,ApiClientError::Custom(dyn Box<std::Error>
(#194) @clangenb - [compose-macros] fix another re-export error (#193) @clangenb
- fix no_std sp_runtime crate re-export (#191) @clangenb
- bump substrate@1d8f7b (#189) @clangenb
- Metadata v14 pretty prints (#187) @echevrier
- Independent compose-macros crate (#186) @clangenb
- Metadata v14 (#178) @clangenb
- Add querying for payment info (#184) @pmikolajczyk41
- Fix calculating InclusionFee (#183) @pmikolajczyk41
- Extract node-api and primtives from the api-client main crate (#180) @clangenb
- Cargo 2021 Edition + Create Workspace (#181) @clangenb
- Add
XtStatus::SubmitOnly
(#169) @clangenb - Fixed two JsonRPC request params (#170) @trevor-crypto
- update frame-metadata to new crate + cargo update (#168) @haerdib
- upgrade substrate to 558a68f and drop StorageDoubleMap example (#164) @brenzi
- Implement #129: add constants in metadata (#154) @echevrier
- Fix issue #138 (#153) @echevrier
- add end_process to error response (#152) @haerdib
- make ws_client pub (#150) @haerdib
- Update to substrate v4.0.0 dev (#146) @haerdib
- Change return type of Api::get_fee_details() (#145) @trevor-crypto
- fix + remove full-crypto feature flag and make it implicit. (#137) @clangenb
- Add staking extrinsics (#142) @trevor-crypto
- RPC Client trait and feature reorganization (#131) @trevor-crypto
- fix twox64concat hasher (#127) @haerdib
- add alloc feature to no-std hex (#125) @haerdib
- bump substrate to polkadot-v0.9.2. + add GA + re-add branch ids (#116) @clangenb
- Keystore bug fix (#113) @haerdib
upgrade to substrate 3.0.0
- no more pinned revisions of substrate. You'll have to handle dependencies with
cargo update -p sp-std --precise 743accbe3256de2fc615adcaa3ab03ebdbbb4dbd
wss:// fix
v0.4.10-sub2.0.0 fix #101 wss://
upgrade to substrate 2.0.0
v0.4.9-sub2.0.0 upgrade to substrate 2.0.0
upstream upgrade 2.0.0-rc5
Upgrade upstream v2.0.0 rc5 (#99) * upgrade toml and lock * upgrade some dependencies. builds now. xtrinsic fails with bad signature * panic upon invalid extrinsic with more verbose message * include transaction_version in extrinsic signature. See paritytech/substrate@ea501c2d * fix no_std test Cargo.lock * fix unit tests by moving panic and adjusting error types * fmt
upgrade to substrate 2.0.0-alpha.6
v0.4.0-sub2.0.0-alpha.6 more doc update
no_std support for substraTEE M5
Merge pull request #28 from scs/no_std_rstd no_std support