From 50c272b1be4845acee64cc2ccd47eb9743e036e5 Mon Sep 17 00:00:00 2001 From: Dmitriy Khaustov aka xDimon Date: Wed, 26 Feb 2025 20:43:10 +0800 Subject: [PATCH 1/4] update: qtils & scale Signed-off-by: Dmitriy Khaustov aka xDimon --- src/scale/jam_scale.hpp | 11 +++++------ test-vectors/config-types.hpp | 4 ++-- vcpkg-overlay/qtils/portfile.cmake | 4 ++-- vcpkg-overlay/scale/portfile.cmake | 4 ++-- vcpkg-overlay/scale/vcpkg.json | 2 +- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/scale/jam_scale.hpp b/src/scale/jam_scale.hpp index 5d986e6..39ea213 100644 --- a/src/scale/jam_scale.hpp +++ b/src/scale/jam_scale.hpp @@ -15,21 +15,20 @@ namespace jam { template [[nodiscard]] outcome::result> encode_with_config( T &&value, Configs &&...configs) { - scale::Encoder encoder{ - std::forward(configs)...}; + std::vector out; + scale::backend::ToBytes encoder(out, std::forward(configs)...); try { encode(std::forward(value), encoder); } catch (std::system_error &e) { return outcome::failure(e.code()); } - return std::move(encoder).backend().to_vector(); + return std::move(out); } template [[nodiscard]] outcome::result decode_with_config( - scale::ConstSpanOfBytes bytes, Configs &&...configs) { - scale::Decoder decoder{ - bytes, std::forward(configs)...}; + const auto &bytes, Configs &&...configs) { + scale::backend::FromBytes decoder(bytes, std::forward(configs)...); T value; try { decode(value, decoder); diff --git a/test-vectors/config-types.hpp b/test-vectors/config-types.hpp index 03b23c5..1a1cae9 100644 --- a/test-vectors/config-types.hpp +++ b/test-vectors/config-types.hpp @@ -29,7 +29,7 @@ namespace jam { using std::vector::emplace; public: - friend void encode(const ConfigVec &v, scale::ScaleEncoder auto &encoder) { + friend void encode(const ConfigVec &v, scale::Encoder &encoder) { const auto &config = encoder.template getConfig(); auto n = v.configSize(config); if (n == std::numeric_limits::max()) { @@ -41,7 +41,7 @@ namespace jam { } } - friend void decode(ConfigVec &v, scale::ScaleDecoder auto &decoder) { + friend void decode(ConfigVec &v, scale::Decoder &decoder) { const auto &config = decoder.template getConfig(); auto n = v.configSize(config); if (n == std::numeric_limits::max()) { diff --git a/vcpkg-overlay/qtils/portfile.cmake b/vcpkg-overlay/qtils/portfile.cmake index 661caa8..1bc76ce 100644 --- a/vcpkg-overlay/qtils/portfile.cmake +++ b/vcpkg-overlay/qtils/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO qdrvm/qtils - REF f5013e52027f6b3014c2ae902a94903583898639 - SHA512 6492edc93437b8edc254014b5face0521f0fd46fce6e6cab4e577fc00b6964b5930c75fd228fd8f3bb10bf57a6dd8722dcf2912a488b3f1174a99ed991ae4c54 + REF 6d02006f7c0fe44958acbfe53016fa81f1ac0bf5 + SHA512 3e46c767bb30a5e6d1df38e7a4c6fb5ec61c320bbbf6bbe622043402119216a8f7ddc1e6841a26c8848c20f38e1dfbd37f2b505698802e3a95ace464bb8c2cb9 ) vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") vcpkg_cmake_install() diff --git a/vcpkg-overlay/scale/portfile.cmake b/vcpkg-overlay/scale/portfile.cmake index 4addb69..bfa4fa9 100644 --- a/vcpkg-overlay/scale/portfile.cmake +++ b/vcpkg-overlay/scale/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO qdrvm/scale-codec-cpp - REF 6ecc0c67eadacc9ab8acdeb73488bdc4c6e30d1c - SHA512 22267674113f04fb9c4624bd2cb69e6f4053edd129bfa5ffb83136e4ce2c04f6fe3dce9c729d5df08c84fd92a8a69938c249fa5068132ebc4a42d205142fb921 + REF refs/tags/v2.0.0 + SHA512 80ae69a29c094654acccfacb1f3f9fd37ad40725887536b96920055dfa1efda7e0c847975967c809c676d1123d9b9a0cba8706b1b8ab2f6239b7b842442c2fdc ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" diff --git a/vcpkg-overlay/scale/vcpkg.json b/vcpkg-overlay/scale/vcpkg.json index 73942f4..dbda787 100644 --- a/vcpkg-overlay/scale/vcpkg.json +++ b/vcpkg-overlay/scale/vcpkg.json @@ -1,6 +1,6 @@ { "name": "scale", - "version": "1.1.3", + "version": "2.0.0", "dependencies": [ { "name": "vcpkg-cmake", "host": true }, { "name": "vcpkg-cmake-config", "host": true }, From 0361f94d3c53c55f7164bfb028cd230b880693ca Mon Sep 17 00:00:00 2001 From: Dmitriy Khaustov aka xDimon Date: Wed, 26 Feb 2025 21:16:08 +0800 Subject: [PATCH 2/4] remove rnd code Signed-off-by: Dmitriy Khaustov aka xDimon --- src/executable/experiment.cpp | 76 +---------------------------------- 1 file changed, 1 insertion(+), 75 deletions(-) diff --git a/src/executable/experiment.cpp b/src/executable/experiment.cpp index 0ed48f0..4af153b 100644 --- a/src/executable/experiment.cpp +++ b/src/executable/experiment.cpp @@ -1,79 +1,5 @@ -#include - -#include -#include - -struct S { - explicit operator int() const { - return 1; - } - S(int) {} - S &operator+=(auto i) { - return *this; - } - bool operator~() { - return true; - } -}; - -S &operator+=(S &s, auto i) { - return s; -} - -struct Tag {}; - -// void encode(qtils::is_tagged_v auto &&tagged, scale::ScaleEncoder auto &encoder) { -// encode(untagged(tagged), encoder); -// } -// void decode(qtils::is_tagged_v auto &tagged, scale::ScaleDecoder auto &decoder) { -// decode(untagged(tagged), decoder); -// } int main() { - qtils::Tagged x; - qtils::Tagged s(1); - qtils::Tagged, Tag> v(1); - qtils::Tagged ts; - int i; - - auto us = untagged(s); - - auto eq1x = 1 == x; - auto eqx1 = x == 1; - auto eqxx = x == x; - x = 1; - s = 1; - x += 1; - x += x; - s += 1; - s += x; - auto &cx = x; - s += cx; - s += std::move(x); - s += std::move(cx); - s += s; - // auto ss = x << 1; - - ++x; - --x; - auto ix = x++; - auto dx = x--; - - scale::Encoder es; - es << x; - es << v; - - scale::Decoder ds(es.backend().to_vector()); - ds >> x; - - auto lx = x << 1; - auto rx = x >> 1; - - auto &&w = !x; - auto&&ww = s.operator~(); - auto &&wwww = ~x; - auto z = ~i; - auto zzzz = not x; - + // place for experiments return 0; } From 8db4675fa8a9420b28727a08b35677d2c31c1a15 Mon Sep 17 00:00:00 2001 From: Dmitriy Khaustov aka xDimon Date: Wed, 5 Mar 2025 02:58:46 +0800 Subject: [PATCH 3/4] update: soralog Signed-off-by: Dmitriy Khaustov aka xDimon --- vcpkg-overlay/soralog/portfile.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vcpkg-overlay/soralog/portfile.cmake b/vcpkg-overlay/soralog/portfile.cmake index 53fd893..fd1ba63 100644 --- a/vcpkg-overlay/soralog/portfile.cmake +++ b/vcpkg-overlay/soralog/portfile.cmake @@ -1,9 +1,9 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO xDimon/soralog - REF 4dfffd3d949b1c16a04db2e5756555a4031732f7 - SHA512 4a8f6066433e6bde504454ea256915e8e6975c060eabdaebd031df409d348b8c22ccd716ec11c4466b0f4322b1f2524350dcc77c3615a8511cba9886f88e7260 + REPO qdrvm/soralog + REF refs/tags/v0.2.5 + SHA512 ce98f52bbca0ee81c672b5a7fee5846f47c39eed4a9dfdeb91a6670c3cbfc2f96df23cf87f84216847d20be7bc52e54fa98ade0b5b7ca832d4ac1a7560396449 ) vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") vcpkg_cmake_install() From aa61df28956156b033efafe5715c73fcd264f8af Mon Sep 17 00:00:00 2001 From: Dmitriy Khaustov aka xDimon Date: Tue, 11 Mar 2025 16:54:23 +0800 Subject: [PATCH 4/4] update: dependencies Signed-off-by: Dmitriy Khaustov aka xDimon --- vcpkg-overlay/qtils/portfile.cmake | 4 ++-- vcpkg-overlay/qtils/vcpkg.json | 2 +- vcpkg-overlay/scale/portfile.cmake | 4 ++-- vcpkg-overlay/scale/vcpkg.json | 2 +- vcpkg-overlay/soralog/portfile.cmake | 5 ++--- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/vcpkg-overlay/qtils/portfile.cmake b/vcpkg-overlay/qtils/portfile.cmake index 1bc76ce..ce7f86a 100644 --- a/vcpkg-overlay/qtils/portfile.cmake +++ b/vcpkg-overlay/qtils/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO qdrvm/qtils - REF 6d02006f7c0fe44958acbfe53016fa81f1ac0bf5 - SHA512 3e46c767bb30a5e6d1df38e7a4c6fb5ec61c320bbbf6bbe622043402119216a8f7ddc1e6841a26c8848c20f38e1dfbd37f2b505698802e3a95ace464bb8c2cb9 + REF refs/tags/v0.1.0 + SHA512 301987eefc98b66c42dcf731d73c11c3e9835098fc3d9a1b8e3adef9b73dad6b0198019d416e1809956620377b48e575157d56b278dcdcf65a24ecdfc134605e ) vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") vcpkg_cmake_install() diff --git a/vcpkg-overlay/qtils/vcpkg.json b/vcpkg-overlay/qtils/vcpkg.json index a6f24b6..e02df75 100644 --- a/vcpkg-overlay/qtils/vcpkg.json +++ b/vcpkg-overlay/qtils/vcpkg.json @@ -1,6 +1,6 @@ { "name": "qtils", - "version": "0.0.3", + "version": "0.1.0", "dependencies": [ { "name": "vcpkg-cmake", "host": true }, { "name": "vcpkg-cmake-config", "host": true }, diff --git a/vcpkg-overlay/scale/portfile.cmake b/vcpkg-overlay/scale/portfile.cmake index bfa4fa9..53e8275 100644 --- a/vcpkg-overlay/scale/portfile.cmake +++ b/vcpkg-overlay/scale/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO qdrvm/scale-codec-cpp - REF refs/tags/v2.0.0 - SHA512 80ae69a29c094654acccfacb1f3f9fd37ad40725887536b96920055dfa1efda7e0c847975967c809c676d1123d9b9a0cba8706b1b8ab2f6239b7b842442c2fdc + REF refs/tags/v2.0.1 + SHA512 cc5158cdfecea7f516e2f110adcc00f3024649507908b366ef34a76398efcb735011d8fcacd2f41016eb769dfa74e93ee3af20049560fafd1576b280fb92acc7 ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" diff --git a/vcpkg-overlay/scale/vcpkg.json b/vcpkg-overlay/scale/vcpkg.json index dbda787..f296762 100644 --- a/vcpkg-overlay/scale/vcpkg.json +++ b/vcpkg-overlay/scale/vcpkg.json @@ -1,6 +1,6 @@ { "name": "scale", - "version": "2.0.0", + "version": "2.0.1", "dependencies": [ { "name": "vcpkg-cmake", "host": true }, { "name": "vcpkg-cmake-config", "host": true }, diff --git a/vcpkg-overlay/soralog/portfile.cmake b/vcpkg-overlay/soralog/portfile.cmake index fd1ba63..4c83acc 100644 --- a/vcpkg-overlay/soralog/portfile.cmake +++ b/vcpkg-overlay/soralog/portfile.cmake @@ -3,9 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO qdrvm/soralog REF refs/tags/v0.2.5 - SHA512 ce98f52bbca0ee81c672b5a7fee5846f47c39eed4a9dfdeb91a6670c3cbfc2f96df23cf87f84216847d20be7bc52e54fa98ade0b5b7ca832d4ac1a7560396449 + SHA512 47375cc61c78ebc4119781bf19ce3b92c4a5a40ed4dc77c0156ac0750df1e4d13455bf6f60d9ea2f0b7bf7dda75423eed320edce453617ab06d6c1c9a8a8843c ) vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") vcpkg_cmake_install() -#vcpkg_cmake_config_fixup(PACKAGE_NAME "soralog") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") \ No newline at end of file