61 Commits

Author SHA1 Message Date
James Wilson 0d66574b1b Prep to release v23.0.1 (#111) 2025-12-09 18:19:09 +00:00
Carlo Sala 560f2cae43 fix: ensure extrinsic types are collected before pallet types (#110) 2025-12-09 12:14:00 +01:00
James Wilson f0742f8449 Prepare to stabilize V16 metadata and release v23.0.0 (#103) 2025-05-06 11:49:25 +01:00
Carlo Sala 485f678a0d fix: add back call_ty and reorder some fields (#102)
* fix: add back `call_ty` and reorder some fields

* Add notes

---------

Co-authored-by: James Wilson <james@jsdw.me>
2025-04-29 13:44:37 +01:00
James Wilson 745378048e Tidy Deprecation Information and prep 22.0.0 release (#101)
* Alter Deprecation bits to avoid weird states

* fmt

* No need to deprecate the entire enum, only variants

* Make it easy to signal nothing deprecated on EnumDeprecationInfo

* Bump to 22.0.0

* Update changelog
2025-04-29 10:40:14 +01:00
James Wilson a060c2d488 Prepare to release 21.0.0 (#99) 2025-04-01 11:24:46 +01:00
James Wilson dbd0030907 Address V16 pre-stabilization niggles (#98)
* Address V16 pre-stabilization niggles

* fmt

* Add wrapper around Compact which can be Serialized

* Compact => CompactSer to differentiate

* Actually, Compact impls serialize with feature flag
2025-03-31 19:37:13 +01:00
Alexandru Vasile d679a7c4bd chore: Release frame-metadata v20.0.0 (#93)
* Add changelog

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* chore: Release frame-metadata v20.0.0

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2025-02-20 17:06:11 +02:00
Giuseppe Re 35bfff2a78 Add Runtime Api version to v16 (#92)
* Add Runtime Api version

* remove `Compact`

* revert v16 version number to `u32::max`
2025-02-20 14:49:05 +01:00
Alexandru Vasile 88889a0c89 chore: Release v19.0.0 with pallet view functions (#91)
* Add changelog

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* cargo: Update version

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* changelog: Update v16 unstable note

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2025-02-11 14:00:46 +02:00
Alexandru Vasile 0856cf232c v16: Add view functions to the pallets metadata (#89)
* v16/view: Add view function method metadata

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16/view: Add view function param

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: Add view functions to the pallets metadata

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2025-02-10 10:55:42 +01:00
Alexandru Vasile c67d5c8812 chore: Release v18.0.0 with unstable v16 ExtrinsicMetadata extensions (#87)
* cargo: Release version 17.1.0

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Update changelog

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Release v18

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2024-11-13 16:04:06 +02:00
Alexandru Vasile 547bd14146 v16: ExtrinsicMetadata extensions (#86)
* v16: Remove extrinsic extra_ty

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: Extrinsic call_ty can be found in OuterEnums

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Fix typo

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: Rename additional_signed to implicit

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: Add extension version

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: Change extrinsic versions to support multiple extensions

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: Rename versions to transaction_extensions_by_version

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: Fix build

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: ExtrinsicMetadata still needs a Vec<u8> for versions

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: Adjust comment

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Update frame-metadata/src/v16.rs

Co-authored-by: James Wilson <james@jsdw.me>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: James Wilson <james@jsdw.me>
2024-11-12 19:27:24 +02:00
Alexandru Vasile 961600149e chore: Release v17 with v16 unstable metadata (#85)
* chore: Release v16.1 with v16 unstable metadata

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Bump to 17.0

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Update CHANGELOG.md

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
2024-10-16 16:37:58 +02:00
Alexandru Vasile 201d9e5e60 v16: Add unstable metadata v16 (#82)
* v16: Add unstable metadata v16

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: Add deprecation info

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: Extrinsics with multiple versions

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: Rename signed extensions to transaction extensions

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: Remove the runtime type entirely

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v16: Remove BTreeMap<Compact<u8>> and use plain u8 instead to impl
serialize

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2024-10-09 17:16:01 +03:00
Alexandru Vasile f7a67d1069 Release 16.0.0: bump crate version (#68)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2023-06-29 18:04:48 +03:00
Alexandru Vasile 62eb3fa2dd Stabilize V15 metadata (#66)
* Stabilize V15

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Remove re-exports for latest metadata

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2023-06-29 17:26:13 +03:00
Alexandru Vasile 0254624b4e Release v15.2.0 (#65)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2023-06-27 18:00:54 +03:00
Alexandru Vasile fc36bec2cb Simplify feature-flag and use common types (#62)
* Add common types between v14 and v15

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Use common types

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Guard common types by feature flags

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Use feature flags on the imports

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Revert "Use feature flags on the imports"

This reverts commit 5988d8a221c4f8bb8b9dd095fc703d1e5e99d7ef.

Revert "Guard common types by feature flags"

This reverts commit f12cdc650765da455bf29f1eca0205662a039267.

Revert "Use common types"

This reverts commit a012d1ce2b0ff83039a8ecd7097d66fa96d62b1a.

Revert "Add common types between v14 and v15"

This reverts commit 718c9d39e9c53c5ba51ed249595f8263b8604605.

* Adjust feature flags

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Use v14 types for v15

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Rename `module_error_ty` to be consisten with `event`/`call`

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Mark V15 as unstable

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Adjust feature flags

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2023-06-27 16:11:07 +03:00
Alexandru Vasile d6e6c2bf82 Metadata V15: Enrich extrinsic type info for decoding (#56)
* v15/extrinsic: Add extrinsic type info to decode address, call, sig

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15/extrinsic: Add extra ty

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15/extrinsic: Remove extrinsic ty and add prefix length ty

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15/extrinsic: Remove extrinsic len type

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2023-06-14 14:06:45 +03:00
Alexandru Vasile 4912047c47 V15: Add custom values to the metadata (#61)
* V15: Add custom values to the metadata

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Update frame-metadata/src/v15.rs

Co-authored-by: Bastian Köcher <git@kchr.de>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
2023-06-14 14:05:17 +03:00
Alexandru Vasile 426ba93c56 v15: Rename error_enum_ty to module_error_enum_ty (#60)
* v15: Rename `error_enum_ty` to `module_error_enum_ty`

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Rename RuntimeMetadataV15 params

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Update frame-metadata/src/v15.rs

Co-authored-by: James Wilson <james@jsdw.me>

* Update frame-metadata/src/v15.rs

Co-authored-by: James Wilson <james@jsdw.me>

* Apply fmt

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: James Wilson <james@jsdw.me>
2023-06-13 14:05:27 +03:00
Alexandru Vasile 0c6400964f v15/metadata: Add outer enum types for calls, events, errors (#57)
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2023-05-23 13:35:55 +01:00
Alexandru Vasile 438a5b098b Release 15.1.0 (#54)
* Bump version to v15.1.0

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Update changelog

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2023-03-30 16:49:57 +03:00
Alexandru Vasile a09bd49175 Add metadata V15 with Runtime API support (#48)
* v15: Add everything from v14

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Add feature to make the V15 the default version

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Add trait metadata

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Add method metadata

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Add param metadata

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Constructor for the metadata

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v14: Keep backwards compatibility with v14 re-exports

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Add trait and method documentation

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Make trait version optional

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Do not reexport v14 types

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Expose metadata as unstable

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Exclude trait versioning from metadata

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Add pallet documentation

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Rename runtime API structs

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* v15: Rename `ParamMetadata` to RuntimeApiMethodParamMetadata

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Update frame-metadata/src/v15.rs

Co-authored-by: Bastian Köcher <git@kchr.de>

* v15: Reanme `runtime` -> `apis` and use global META_RESERVED

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* lib: Force CI by better docs

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Copyright: Align copyright with substrate

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
2023-03-30 15:32:53 +03:00
Alexandru Vasile f84ba3ff49 chore: Enable rust tests in CI (#50)
* git: Run job from the `main` branch instead of `master`

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* git: Expose terminal colors for CI

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* git: Fix CI and add extra checks

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Fix clippy

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* git: Add missing `cargo hack` command

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* git: Use actions-rs/target for wasm

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2023-02-21 14:01:46 +02:00
Squirrel 1ea3299208 add no_std support (#42)
* Metadata supporting scale-info can be decoded and serialized in no_std (#2)

* Metadata supporting scale-info can be decoded and serialized in no_std (feature flag scale_info)

* Changes from review: rename feature flag into full_derive

* Changes from review: std implies full-derive

* Changes from review: optimization

Co-authored-by: echevrier <edith.chevrier@scs.ch>

* split full_derive into decode and sered_codec features.

(drop new Debug impls)

* cargo fmt

* rename serde_codec to serde_full

* Prior to v14 everything was Debug.

Are there any downsides? Unused debug impls will just get optimised away won't they?

* rust fmt

* Debug for the masses. Make it work for no_std

* check all combos of features

(if this plays well with ci then we should double up,
doing the same again but target wasm32)

* all wasm feature combos

Co-authored-by: echevrier <84318241+echevrier@users.noreply.github.com>
Co-authored-by: echevrier <edith.chevrier@scs.ch>
2022-11-09 14:32:34 +00:00
David d241ab9c1b Release v15.0.0 (#36)
* Release v14.3.0

* Add a release checklist

* Edition 2021

* Update CHANGELOG

* Update CHANGELOG.md

Co-authored-by: Andronik <write@reusable.software>

* It's a breaking change: 15.0.0

Co-authored-by: Andronik <write@reusable.software>
2022-02-08 18:21:15 +00:00
David cdb863d11b Update scale-info –> v2 and parity-scale-codec -> v3 (#35)
* Update `scale-info` –> v2 and `parity-scale-codec` -> v3

* Update frame-metadata/Cargo.toml

Co-authored-by: Andronik <write@reusable.software>

Co-authored-by: Andronik <write@reusable.software>
2022-02-08 16:57:59 +00:00
David f0c7151a95 Document all v14, v13 and most of v8 items (#33)
* Document all v14, v13 and most of v8 items

* Clarify what a `StorageEntryModifier` is.
2021-12-13 09:00:21 +00:00
James Wilson 03b8afacfb V14.2 (#31) 2021-11-04 16:25:55 +00:00
James Wilson f814ecb66a Function to return version from metadata (#30) 2021-11-04 15:46:57 +00:00
Andrew Plaza 5a822bb459 V14.1 (#29)
* v14.1

* changelog
2021-11-04 09:34:19 -04:00
Andrew Plaza b5aceed422 Add metadata versions v8-v11 (#28)
* add v11 metadata

* add v10 metadata

* add v8/v9 metadata

* add version and legacy features

* add debug impl for legacy metadata

* any for features in RuntimeMetadata enum

* revert codec version change

* spaces

* add v8-v13 test metadata

* remove runtime version from meta bin name

* move test_data outside of src/

* add tests for v9-v14 metadata

* remove println

* Update frame-metadata/src/lib.rs

Co-authored-by: David <dvdplm@gmail.com>

* add docs per meta version upto 13

* cargo fmt

Co-authored-by: David <dvdplm@gmail.com>
2021-10-21 15:41:43 +02:00
Andrew Jones d2cdeaeef5 Update to scale-info 1.0, release 14.0.0 2021-09-01 16:53:18 +01:00
Andrew Jones 717f6341c1 Add Runtime type to metadata 2021-08-31 16:55:11 +01:00
Andrew Jones 732682ed46 scale-info v0.12.0 2021-08-25 11:47:39 +01:00
Andrew Jones 12123891f2 scale-info v0.11.0 2021-08-25 10:58:15 +01:00
Andrew Jones 2c6499d975 Combine Map/NMap/DoubleMap StorageEntryTypes (#23)
* Combine Map and NMap StorageEntryTypes

* Fmt

* Remove DoubleMap

* Add comments to StorageEntryType::Map

* Release 14.0.0-rc.2
2021-08-04 11:01:02 +01:00
Andrew Jones 77e45e399d Release v14.0.0-rc.1 (#22)
* Add CHANGELOG.

* Update README.

* Make it a pre-release rc

* Update Cargo.toml
2021-07-30 16:10:44 +01:00
Andrew Jones e5c1540cf1 Update to scale-info 0.10.0 2021-07-29 10:57:42 +01:00
Andrew Jones 7bb2935f9c Remove Call metadata redundancy (#20)
* Remove Call metadata redundancy

* Add convenient From impls for Call, Event and Error types

* Add convenient From impls for Call, Event and Error types
2021-07-14 17:13:21 +01:00
Andrew Jones 9cfeeeeab8 Abbreviate field names (docs, args) for consistency 2021-07-13 11:22:36 +01:00
Andrew Jones aa74d7a644 Add additional_signed field for SignedExtension payload data (#19)
* Add `SignedExtensionMetadata::additional_signed` field for signed payload data

* Fmt
2021-07-13 11:18:00 +01:00
Andrew Jones 8c37923bdf Remove unused StorageEntryType::Map flag 2021-07-12 09:53:59 +01:00
Andrew Jones 7bd13ff505 Remove ByteGetter and add Clone impl (#17) 2021-07-07 13:24:09 +01:00
Andrew Jones abb215da01 Remove unused TypeSpec (#16) 2021-07-07 13:05:59 +01:00
Andrew Jones 32584873b4 Update scale-info to 0.9.0 2021-06-30 11:35:12 +01:00
Andrew Jones e817237893 Update scale-info to 0.7.0 2021-06-29 17:36:02 +01:00
Andrew Jones 78d3456e4f Reexport all the types from the latest version (#13)
* Reexport all the types from the latest version

* Update comment
2021-06-08 17:42:27 +01:00