diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-31 04:32:47 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-31 04:32:47 +0000 |
commit | 96c0d7efa6acaef81edc30de28cb705bc42798c6 (patch) | |
tree | 3830348d6444ec229797d88ab32007fc01861847 | |
parent | 7fb5f797f8fe78f68b82fe58b762311565eb3527 (diff) |
automatic import of python-polymath-scalecodec
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-polymath-scalecodec.spec | 494 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 496 insertions, 0 deletions
@@ -0,0 +1 @@ +/polymath-scalecodec-4.0.0.tar.gz diff --git a/python-polymath-scalecodec.spec b/python-polymath-scalecodec.spec new file mode 100644 index 0000000..73e22ef --- /dev/null +++ b/python-polymath-scalecodec.spec @@ -0,0 +1,494 @@ +%global _empty_manifest_terminate_build 0 +Name: python-polymath-scalecodec +Version: 4.0.0 +Release: 1 +Summary: Python SCALE Codec Library for Polymesh +License: Apache Software License +URL: https://github.com/polymathnetwork/py-scale-codec +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/80/53/b9908c261fa0a7a51955e02e2347208c98df97fe77ae234caa026eea6c97/polymath-scalecodec-4.0.0.tar.gz +BuildArch: noarch + +Requires: python3-more-itertools +Requires: python3-base58 +Requires: python3-requests +Requires: python3-coverage +Requires: python3-pytest + +%description +#### This project is forked from https://github.com/polkascan/py-scale-codec + +# Python Polymath SCALE Codec + +[](https://pypi.org/project/polymath-scalecodec) +[](https://pypi.org/project/polymath-scalecodec/) + +Python Polymath SCALE Codec Library + +## Description + +Most of the data that the Substrate RPCs output is encoded with the SCALE Codec. This codec is used by the Substrate nodes' internal runtime. In order to get to meaningful data this data will need to be decoded. The Python SCALE Codec Library will specialize in this task. + +## Documentation + +https://polkascan.github.io/py-scale-codec/ + +## Installation + +```bash +pip install polymath-scalecodec +``` + +## Examples + +Decode a SCALE-encoded Compact\<Balance\> + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) +RuntimeConfiguration().update_type_registry(load_type_registry_preset("kusama")) +obj = ScaleDecoder.get_decoder_class('Compact<Balance>', ScaleBytes("0x130080cd103d71bc22")) +obj.decode() +print(obj.value) +``` + +Encode to Compact\<Balance\> + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) +obj = ScaleDecoder.get_decoder_class('Compact<Balance>') +scale_data = obj.encode(2503000000000000000) +print(scale_data) +``` + +Encode to Vec\<Bytes\> + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) +value = ['test', 'vec'] +obj = ScaleDecoder.get_decoder_class('Vec<Bytes>') +scale_data = obj.encode(value) +print(scale_data) +``` + +Add custom types to type registry + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) + +custom_types = { + "types": { + "MyCustomType": "u32", + "CustomNextAuthority": { + "type": "struct", + "type_mapping": [ + ["AuthorityId", "AuthorityId"], + ["weight", "AuthorityWeight"] + ] + } + } +} + +RuntimeConfiguration().update_type_registry(custom_types) +``` + +Or from a custom JSON file + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) +RuntimeConfiguration().update_type_registry(load_type_registry_file("/path/to/type_registry.json")) +``` + +## Multiple runtime configurations +By default a singleton is used to maintain the configuration, for multiple instances: + +```python +# Kusama runtime config +runtime_config_kusama = RuntimeConfigurationObject() +runtime_config_kusama.update_type_registry(load_type_registry_preset("default")) +runtime_config_kusama.update_type_registry(load_type_registry_preset("kusama")) + + +# Polkadot runtime config +runtime_config_polkadot = RuntimeConfigurationObject() +runtime_config_polkadot.update_type_registry(load_type_registry_preset("default")) +runtime_config_polkadot.update_type_registry(load_type_registry_preset("polkadot")) + +# Decode extrinsic using Kusama runtime configuration +extrinsic = ScaleDecoder.get_decoder_class( + type_string='Extrinsic', + data=ScaleBytes(extrinsic_data), + metadata=metadata_decoder, + runtime_config=runtime_config_kusama +) +extrinsic.decode() + +``` + +## Using the type registry updater in your application + +To ensure the type registries are in sync with the current runtime of the blockchain, you can use +the updater function in your application: + +```python +from scalecodec.updater import update_type_registries + +# Update type registries with latest version from Github +try: + update_type_registries() +except Exception: + pass +``` + +This will overwrite the type registry JSON files with the downloaded lastest versions from Github. In case of write +permission restrictions it is also possible to always use the remote version on Github with the `use_remote_preset` kwarg: + +```python +# Polkadot runtime config +runtime_config_polkadot = RuntimeConfigurationObject() +runtime_config_polkadot.update_type_registry(load_type_registry_preset("default", use_remote_preset=True)) +runtime_config_polkadot.update_type_registry(load_type_registry_preset("polkadot", use_remote_preset=True)) +``` + + +## License + +https://github.com/PolymathNetwork/py-scale-codec/blob/master/LICENSE + + + + +%package -n python3-polymath-scalecodec +Summary: Python SCALE Codec Library for Polymesh +Provides: python-polymath-scalecodec +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-polymath-scalecodec +#### This project is forked from https://github.com/polkascan/py-scale-codec + +# Python Polymath SCALE Codec + +[](https://pypi.org/project/polymath-scalecodec) +[](https://pypi.org/project/polymath-scalecodec/) + +Python Polymath SCALE Codec Library + +## Description + +Most of the data that the Substrate RPCs output is encoded with the SCALE Codec. This codec is used by the Substrate nodes' internal runtime. In order to get to meaningful data this data will need to be decoded. The Python SCALE Codec Library will specialize in this task. + +## Documentation + +https://polkascan.github.io/py-scale-codec/ + +## Installation + +```bash +pip install polymath-scalecodec +``` + +## Examples + +Decode a SCALE-encoded Compact\<Balance\> + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) +RuntimeConfiguration().update_type_registry(load_type_registry_preset("kusama")) +obj = ScaleDecoder.get_decoder_class('Compact<Balance>', ScaleBytes("0x130080cd103d71bc22")) +obj.decode() +print(obj.value) +``` + +Encode to Compact\<Balance\> + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) +obj = ScaleDecoder.get_decoder_class('Compact<Balance>') +scale_data = obj.encode(2503000000000000000) +print(scale_data) +``` + +Encode to Vec\<Bytes\> + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) +value = ['test', 'vec'] +obj = ScaleDecoder.get_decoder_class('Vec<Bytes>') +scale_data = obj.encode(value) +print(scale_data) +``` + +Add custom types to type registry + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) + +custom_types = { + "types": { + "MyCustomType": "u32", + "CustomNextAuthority": { + "type": "struct", + "type_mapping": [ + ["AuthorityId", "AuthorityId"], + ["weight", "AuthorityWeight"] + ] + } + } +} + +RuntimeConfiguration().update_type_registry(custom_types) +``` + +Or from a custom JSON file + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) +RuntimeConfiguration().update_type_registry(load_type_registry_file("/path/to/type_registry.json")) +``` + +## Multiple runtime configurations +By default a singleton is used to maintain the configuration, for multiple instances: + +```python +# Kusama runtime config +runtime_config_kusama = RuntimeConfigurationObject() +runtime_config_kusama.update_type_registry(load_type_registry_preset("default")) +runtime_config_kusama.update_type_registry(load_type_registry_preset("kusama")) + + +# Polkadot runtime config +runtime_config_polkadot = RuntimeConfigurationObject() +runtime_config_polkadot.update_type_registry(load_type_registry_preset("default")) +runtime_config_polkadot.update_type_registry(load_type_registry_preset("polkadot")) + +# Decode extrinsic using Kusama runtime configuration +extrinsic = ScaleDecoder.get_decoder_class( + type_string='Extrinsic', + data=ScaleBytes(extrinsic_data), + metadata=metadata_decoder, + runtime_config=runtime_config_kusama +) +extrinsic.decode() + +``` + +## Using the type registry updater in your application + +To ensure the type registries are in sync with the current runtime of the blockchain, you can use +the updater function in your application: + +```python +from scalecodec.updater import update_type_registries + +# Update type registries with latest version from Github +try: + update_type_registries() +except Exception: + pass +``` + +This will overwrite the type registry JSON files with the downloaded lastest versions from Github. In case of write +permission restrictions it is also possible to always use the remote version on Github with the `use_remote_preset` kwarg: + +```python +# Polkadot runtime config +runtime_config_polkadot = RuntimeConfigurationObject() +runtime_config_polkadot.update_type_registry(load_type_registry_preset("default", use_remote_preset=True)) +runtime_config_polkadot.update_type_registry(load_type_registry_preset("polkadot", use_remote_preset=True)) +``` + + +## License + +https://github.com/PolymathNetwork/py-scale-codec/blob/master/LICENSE + + + + +%package help +Summary: Development documents and examples for polymath-scalecodec +Provides: python3-polymath-scalecodec-doc +%description help +#### This project is forked from https://github.com/polkascan/py-scale-codec + +# Python Polymath SCALE Codec + +[](https://pypi.org/project/polymath-scalecodec) +[](https://pypi.org/project/polymath-scalecodec/) + +Python Polymath SCALE Codec Library + +## Description + +Most of the data that the Substrate RPCs output is encoded with the SCALE Codec. This codec is used by the Substrate nodes' internal runtime. In order to get to meaningful data this data will need to be decoded. The Python SCALE Codec Library will specialize in this task. + +## Documentation + +https://polkascan.github.io/py-scale-codec/ + +## Installation + +```bash +pip install polymath-scalecodec +``` + +## Examples + +Decode a SCALE-encoded Compact\<Balance\> + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) +RuntimeConfiguration().update_type_registry(load_type_registry_preset("kusama")) +obj = ScaleDecoder.get_decoder_class('Compact<Balance>', ScaleBytes("0x130080cd103d71bc22")) +obj.decode() +print(obj.value) +``` + +Encode to Compact\<Balance\> + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) +obj = ScaleDecoder.get_decoder_class('Compact<Balance>') +scale_data = obj.encode(2503000000000000000) +print(scale_data) +``` + +Encode to Vec\<Bytes\> + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) +value = ['test', 'vec'] +obj = ScaleDecoder.get_decoder_class('Vec<Bytes>') +scale_data = obj.encode(value) +print(scale_data) +``` + +Add custom types to type registry + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) + +custom_types = { + "types": { + "MyCustomType": "u32", + "CustomNextAuthority": { + "type": "struct", + "type_mapping": [ + ["AuthorityId", "AuthorityId"], + ["weight", "AuthorityWeight"] + ] + } + } +} + +RuntimeConfiguration().update_type_registry(custom_types) +``` + +Or from a custom JSON file + +```python +RuntimeConfiguration().update_type_registry(load_type_registry_preset("default")) +RuntimeConfiguration().update_type_registry(load_type_registry_file("/path/to/type_registry.json")) +``` + +## Multiple runtime configurations +By default a singleton is used to maintain the configuration, for multiple instances: + +```python +# Kusama runtime config +runtime_config_kusama = RuntimeConfigurationObject() +runtime_config_kusama.update_type_registry(load_type_registry_preset("default")) +runtime_config_kusama.update_type_registry(load_type_registry_preset("kusama")) + + +# Polkadot runtime config +runtime_config_polkadot = RuntimeConfigurationObject() +runtime_config_polkadot.update_type_registry(load_type_registry_preset("default")) +runtime_config_polkadot.update_type_registry(load_type_registry_preset("polkadot")) + +# Decode extrinsic using Kusama runtime configuration +extrinsic = ScaleDecoder.get_decoder_class( + type_string='Extrinsic', + data=ScaleBytes(extrinsic_data), + metadata=metadata_decoder, + runtime_config=runtime_config_kusama +) +extrinsic.decode() + +``` + +## Using the type registry updater in your application + +To ensure the type registries are in sync with the current runtime of the blockchain, you can use +the updater function in your application: + +```python +from scalecodec.updater import update_type_registries + +# Update type registries with latest version from Github +try: + update_type_registries() +except Exception: + pass +``` + +This will overwrite the type registry JSON files with the downloaded lastest versions from Github. In case of write +permission restrictions it is also possible to always use the remote version on Github with the `use_remote_preset` kwarg: + +```python +# Polkadot runtime config +runtime_config_polkadot = RuntimeConfigurationObject() +runtime_config_polkadot.update_type_registry(load_type_registry_preset("default", use_remote_preset=True)) +runtime_config_polkadot.update_type_registry(load_type_registry_preset("polkadot", use_remote_preset=True)) +``` + + +## License + +https://github.com/PolymathNetwork/py-scale-codec/blob/master/LICENSE + + + + +%prep +%autosetup -n polymath-scalecodec-4.0.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-polymath-scalecodec -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 4.0.0-1 +- Package Spec generated @@ -0,0 +1 @@ +3effdbd18c5279efc2b8b7cc78a26771 polymath-scalecodec-4.0.0.tar.gz |