From a643a04b0ba287511d1069715e23942b690fc7ca Mon Sep 17 00:00:00 2001 From: Dr Maxim Orlovsky Date: Mon, 15 May 2023 01:59:18 +0200 Subject: [PATCH 1/2] stl: update to use new library generators --- .github/workflows/build.yml | 1 + Cargo.lock | 161 ++++--------------- Cargo.toml | 14 +- scripts/typelib.sh | 5 +- src/bin/rgbcore-stl.rs | 94 ++--------- src/lib.rs | 6 +- src/stl.rs | 61 ++++++++ stl/RGB@0.1.0.sta | 240 +++++++++++++++++++++++++++++ stl/RGB@0.1.0.stl | Bin 0 -> 10930 bytes stl/{RGBCore.sty => RGB@0.1.0.sty} | 43 +++--- stl/RGBCore.stl | Bin 10930 -> 0 bytes 11 files changed, 395 insertions(+), 230 deletions(-) create mode 100644 src/stl.rs create mode 100644 stl/RGB@0.1.0.sta create mode 100644 stl/RGB@0.1.0.stl rename stl/{RGBCore.sty => RGB@0.1.0.sty} (88%) delete mode 100644 stl/RGBCore.stl diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e784120e..644c81a7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,6 +30,7 @@ jobs: fail-fast: false matrix: feature: + - stl - serde steps: - uses: actions/checkout@v2 diff --git a/Cargo.lock b/Cargo.lock index f19b9e08..5b7810d9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5,8 +5,7 @@ version = 3 [[package]] name = "aluvm" version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a1af50ff99955dc8f90a00f73e5c8e8d726088c561bd51a5349b5488e8434a7" +source = "git+https://github.com/AluVM/rust-aluvm#dd7410778ff2a9fe5808447a9efeb55ccbc68c54" dependencies = [ "amplify", "baid58", @@ -16,6 +15,7 @@ dependencies = [ "paste", "serde", "strict_encoding", + "strict_types", ] [[package]] @@ -150,6 +150,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + [[package]] name = "bitcoin-private" version = "0.1.0" @@ -197,8 +203,7 @@ dependencies = [ [[package]] name = "bp-core" version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1052718595cc1ec21aaf709181e00a6a23465181294c8d9138becd17595c3761" +source = "git+https://github.com/BP-WG/bp-core?branch=stl#f35d19a2ef7f329bb84813f8a2e37eb6ee97eeec" dependencies = [ "amplify", "bp-dbc", @@ -208,13 +213,13 @@ dependencies = [ "serde", "single_use_seals", "strict_encoding", + "strict_types", ] [[package]] name = "bp-dbc" version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a701a742b23d6bda5f92ec042f18a84a9ab0541488babf196c28a1f64d72c2a" +source = "git+https://github.com/BP-WG/bp-core?branch=stl#f35d19a2ef7f329bb84813f8a2e37eb6ee97eeec" dependencies = [ "amplify", "baid58", @@ -228,21 +233,20 @@ dependencies = [ [[package]] name = "bp-primitives" version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbfea68e7cf2a2962b609d4de56b8e855ecfe7ca5c2e6deac5ac02289fb5b656" +source = "git+https://github.com/BP-WG/bp-core?branch=stl#f35d19a2ef7f329bb84813f8a2e37eb6ee97eeec" dependencies = [ "amplify", "commit_verify", "secp256k1", "serde", "strict_encoding", + "strict_types", ] [[package]] name = "bp-seals" version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b78940b9213cff7e53f705b2ab1320679b02edd4d7d0f26648341a4089c8d979" +source = "git+https://github.com/BP-WG/bp-core?branch=stl#f35d19a2ef7f329bb84813f8a2e37eb6ee97eeec" dependencies = [ "amplify", "baid58", @@ -292,21 +296,10 @@ dependencies = [ "winapi", ] -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - [[package]] name = "commit_encoding_derive" -version = "0.10.0-beta.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c90e218caace623ce81600c4abbf475d939068b3998d362fb6eb44172cfc1a" +version = "0.10.0" +source = "git+https://github.com/LNP-BP/client_side_validation?branch=stl#317d594d2c3d252bcb7d1a493cd49a04a320c3c9" dependencies = [ "amplify", "amplify_syn", @@ -318,14 +311,14 @@ dependencies = [ [[package]] name = "commit_verify" version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4909c1969590b4f3bf94e555a750f5d0a06322c358562c14ff9c1c90a6828e9e" +source = "git+https://github.com/LNP-BP/client_side_validation?branch=stl#317d594d2c3d252bcb7d1a493cd49a04a320c3c9" dependencies = [ "amplify", "commit_encoding_derive", "rand", "serde", "strict_encoding", + "strict_types", ] [[package]] @@ -366,50 +359,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "cxx" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn 2.0.15", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - [[package]] name = "darling" version = "0.20.1" @@ -431,7 +380,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -442,7 +391,7 @@ checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" dependencies = [ "darling_core", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -528,12 +477,11 @@ dependencies = [ [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cxx", - "cxx-build", + "cc", ] [[package]] @@ -580,15 +528,6 @@ version = "0.2.144" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" -[[package]] -name = "link-cplusplus" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" -dependencies = [ - "cc", -] - [[package]] name = "log" version = "0.4.17" @@ -738,12 +677,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" -[[package]] -name = "scratch" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" - [[package]] name = "secp256k1" version = "0.27.0" @@ -804,7 +737,7 @@ checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -843,7 +776,7 @@ version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" dependencies = [ - "base64", + "base64 0.13.1", "chrono", "hex", "indexmap", @@ -862,7 +795,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", ] [[package]] @@ -890,8 +823,7 @@ dependencies = [ [[package]] name = "strict_encoding" version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d8f58c66205b3eeb74ffc3c0e5b5cac77658a88ba0345018cc074ad4ddb6fef" +source = "git+https://github.com/strict-types/strict-encoding?branch=stl#09c260290112897b913a1fe025bb9c12c73785dd" dependencies = [ "amplify", "half", @@ -902,8 +834,7 @@ dependencies = [ [[package]] name = "strict_encoding_derive" version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5adae55367464f5a229bfd539682c94f870b98a220be6e61dc43f85d612e7e" +source = "git+https://github.com/strict-types/strict-encoding?branch=stl#09c260290112897b913a1fe025bb9c12c73785dd" dependencies = [ "amplify_syn", "heck", @@ -915,11 +846,11 @@ dependencies = [ [[package]] name = "strict_types" version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a03bb84c2de19c9f389c58fe9cb505ca3dbb4b9247209428cb3c6aa440cff87" +source = "git+https://github.com/strict-types/strict-types?branch=fix/typesys-builder#649eface5c47a117ff443bfac7ba70a73de2ba27" dependencies = [ "amplify", "baid58", + "base64 0.21.0", "blake3", "half", "indexmap", @@ -966,24 +897,15 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.15" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" +checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] -[[package]] -name = "termcolor" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" -dependencies = [ - "winapi-util", -] - [[package]] name = "time" version = "0.3.21" @@ -1066,12 +988,6 @@ version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" -[[package]] -name = "unicode-width" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" - [[package]] name = "unsafe-libyaml" version = "0.2.8" @@ -1111,7 +1027,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", "wasm-bindgen-shared", ] @@ -1145,7 +1061,7 @@ checksum = "4783ce29f09b9d93134d41297aded3a712b7b979e9c6f28c32cb88c973a94869" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.16", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -1206,15 +1122,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" diff --git a/Cargo.toml b/Cargo.toml index f3411941..0a2bc0ee 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,6 +17,10 @@ exclude = [".github"] name = "rgb" crate-type = ["cdylib", "rlib"] # We need this for WASM +[[bin]] +name = "rgbcore-stl" +required-features = ["stl"] + [dependencies] amplify = "~4.0.0" strict_encoding = "~2.1.2" @@ -32,7 +36,8 @@ serde_crate = { package = "serde", version = "1", features = ["derive"], optiona [features] default = [] -all = ["serde"] +all = ["stl", "serde"] +stl = ["commit_verify/stl", "bp-core/stl", "aluvm/stl"] serde = [ "serde_crate", "amplify/serde", @@ -54,3 +59,10 @@ wasm-bindgen-test = "0.3" [package.metadata.docs.rs] features = [ "all" ] + +[patch.crates-io] +strict_encoding = { git = "https://github.com/strict-types/strict-encoding", branch = "stl" } +strict_types = { git = "https://github.com/strict-types/strict-types", branch = "fix/typesys-builder" } +commit_verify = { git = "https://github.com/LNP-BP/client_side_validation", branch = "stl" } +bp-core = { git = "https://github.com/BP-WG/bp-core", branch = "stl" } +aluvm = { git = "https://github.com/AluVM/rust-aluvm" } diff --git a/scripts/typelib.sh b/scripts/typelib.sh index a6ac2706..cb53b98e 100755 --- a/scripts/typelib.sh +++ b/scripts/typelib.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash -cargo run --bin rgbcore-stl -- --sty -cargo run --bin rgbcore-stl -- --stl +cargo run --features stl --bin rgbcore-stl -- --sty +cargo run --features stl --bin rgbcore-stl -- --stl +cargo run --features stl --bin rgbcore-stl -- --sta diff --git a/src/bin/rgbcore-stl.rs b/src/bin/rgbcore-stl.rs index c95ea8f0..39402a1c 100644 --- a/src/bin/rgbcore-stl.rs +++ b/src/bin/rgbcore-stl.rs @@ -20,85 +20,23 @@ // See the License for the specific language governing permissions and // limitations under the License. -#[macro_use] -extern crate amplify; -#[macro_use] -extern crate strict_types; - -use std::io::stdout; -use std::str::FromStr; -use std::{env, fs, io}; - -use aluvm::LIB_NAME_ALUVM; -use amplify::num::u24; -use bp::dbc::LIB_NAME_BPCORE; -use bp::LIB_NAME_BITCOIN; -use rgb::{Extension, Genesis, SubSchema, TransitionBundle, LIB_NAME_RGB}; -use strict_encoding::{StrictEncode, StrictWriter, STRICT_TYPES_LIB}; -use strict_types::typelib::LibBuilder; -use strict_types::{Dependency, TypeLibId}; - -fn main() -> Result<(), Box> { - let args: Vec = env::args().collect(); - - let sty_id = - TypeLibId::from_str("danube_cotton_kansas_3xcfudRJUuwQ187puYDdNcxGeTpG8AoHyTrfJ9ryo9k6")?; - let bitcoin_id = - TypeLibId::from_str("circus_report_jeep_2bj6eDer24ZBSVq6JgQW2BrARt6vx56vMWzF35J45gzY")?; - let bpcore_id = - TypeLibId::from_str("harlem_null_puma_DxuLX8d9UiMyEJMRJivMFviK1B8t1QWyjywXuDC13iKR")?; - let aluvm_id = - TypeLibId::from_str("sardine_ground_beatles_5GpK1xbT5AT8buj9rEh2Tp7iFJf7rr36qmbbaU39aMWD")?; - - let imports = bset! { - Dependency::with(sty_id, libname!(STRICT_TYPES_LIB)), - Dependency::with(bitcoin_id, libname!(LIB_NAME_BITCOIN)), - Dependency::with(bpcore_id, libname!(LIB_NAME_BPCORE)), - Dependency::with(aluvm_id, libname!(LIB_NAME_ALUVM)), - }; - - let lib = LibBuilder::new(libname!(LIB_NAME_RGB)) - .process::()? - .process::()? - .process::()? - .process::()? - .compile(imports)?; - let id = lib.id(); - - let ext = match args.get(1).map(String::as_str) { - Some("--stl") => "stl", - Some("--sty") => "sty", - _ => "sty", - }; - let filename = args - .get(2) - .cloned() - .unwrap_or_else(|| format!("stl/RGBCore.{ext}")); - let mut file = match args.len() { - 1 => Box::new(stdout()) as Box, - 2 | 3 => Box::new(fs::File::create(filename)?) as Box, - _ => panic!("invalid argument count"), - }; - match ext { - "stl" => { - lib.strict_encode(StrictWriter::with(u24::MAX.into_usize(), file))?; - } - _ => { - writeln!( - file, - "{{- - Id: {id} - Name: RGBCore +use strict_types::typelib::parse_args; + +fn main() { + let (format, dir) = parse_args(); + + rgb::stl::rgb_core_stl() + .serialize( + format, + dir, + "0.1.0", + Some( + " Description: Consensus layer for RGB smart contracts Author: Dr Maxim Orlovsky Copyright (C) 2023 LNP/BP Standards Association. All rights reserved. - License: Apache-2.0 --}} -" - )?; - writeln!(file, "{lib}")?; - } - } - - Ok(()) + License: Apache-2.0", + ), + ) + .expect("unable to write to the file"); } diff --git a/src/lib.rs b/src/lib.rs index 7d29b957..fabfe2b9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -48,8 +48,8 @@ pub mod contract; pub mod schema; pub mod validation; pub mod vm; - -pub const LIB_NAME_RGB: &str = "RGB"; +#[cfg(feature = "stl")] +pub mod stl; pub mod prelude { pub use bp::dbc::{Anchor, AnchorId}; @@ -63,6 +63,8 @@ pub mod prelude { pub use prelude::*; +pub const LIB_NAME_RGB: &str = "RGB"; + /// Reserved byte. #[derive(Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Default, Debug, Display)] #[display("reserved")] diff --git a/src/stl.rs b/src/stl.rs new file mode 100644 index 00000000..ac8dccfd --- /dev/null +++ b/src/stl.rs @@ -0,0 +1,61 @@ +// RGB Core Library: consensus layer for RGB smart contracts. +// +// SPDX-License-Identifier: Apache-2.0 +// +// Written in 2019-2023 by +// Dr Maxim Orlovsky +// +// Copyright (C) 2019-2023 LNP/BP Standards Association. All rights reserved. +// Copyright (C) 2019-2023 Dr Maxim Orlovsky. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use aluvm::stl::aluvm_stl; +use bp::bc::stl::bitcoin_stl; +use bp::stl::bp_core_stl; +use strict_types::stl::strict_types_stl; +use strict_types::typelib::{LibBuilder, TranslateError}; +use strict_types::TypeLib; + +use crate::{Extension, Genesis, SubSchema, TransitionBundle, LIB_NAME_RGB}; + +/// Strict types id for the library providing data types for RGB consensus. +pub const LIB_ID_RGB: &str = "xray_susan_reward_Fvh85VcsTSb2zmdwT13q32Rv9M14nvMaGvCT3JMtRQWf"; + +fn _rgb_core_stl() -> Result { + LibBuilder::new(libname!(LIB_NAME_RGB)) + .transpile::() + .transpile::() + .transpile::() + .transpile::() + .compile(bset! { + strict_types_stl().to_dependency(), + bitcoin_stl().to_dependency(), + bp_core_stl().to_dependency(), + aluvm_stl().to_dependency() + }) +} + +/// Generates strict type library providing data types for RGB consensus. +pub fn rgb_core_stl() -> TypeLib { _rgb_core_stl().expect("invalid strict type RGB library") } + +#[cfg(test)] +mod test { + use super::*; + + #[test] + fn lib_id() { + let lib = rgb_core_stl(); + assert_eq!(lib.id().to_string(), LIB_ID_RGB); + } +} diff --git a/stl/RGB@0.1.0.sta b/stl/RGB@0.1.0.sta new file mode 100644 index 00000000..67c565e1 --- /dev/null +++ b/stl/RGB@0.1.0.sta @@ -0,0 +1,240 @@ +-----BEGIN STRICT TYPE LIB----- +Id: xray_susan_reward_Fvh85VcsTSb2zmdwT13q32Rv9M14nvMaGvCT3JMtRQWf +Name: RGB +Dependencies: + AluVM@collect_equator_sahara_9ar2N9jT1gHk5Ei9b5uoVoVbvWAXFpiWE2Dxg49iMR2R, + Bitcoin@cubic_filter_vampire_AqBBP1ZeTXrdAePf6SBcUGbttpvxpHKG7uJLKFkVxtGi, + BPCore@manila_origami_blonde_GUPDJLSfnzeYN8udLa1Z7qFLZ45oiyekN2DR8DRPHqri, + StrictTypes@classic_vitamin_turtle_GWq5E83fACXwLpRjdGWCAH1iLA5BvCg3cUWXGD6Uzw29 + +A1JHQgR/iRfbXBowpuu3z43/iSybym7dvRvFk+V9RbVNIj3CogVBbHVWTZIQkg/u +bfNGqW8oKZIsOFGI79ITsMEnykvtXkwVvWFzB0JpdGNvaW7l4xnaJuexmg/cA+Gn +S9czd9fpC1WYt4euEKdOsL2LYwZCUENvcmXmg4Dmx7IZKjQ+mnStPZ6USwGm8B10 +VUr/VPuNCcDCEgtTdHJpY3RUeXBlczYACUFsdVNjcmlwdAYCBGxpYnMCBUxpYklk +BUFsdVZNh8aeK6YeIqRbxn3uizSDY6egue1nXWvNeW9Qxu0PzH8LZW50cnlQb2lu +dHMACgcDAAIHTGliU2l0ZQVBbHVWTRyOx6ACMZZR6AYSsW/KcAr9soRjWg2i+DXG +4HaahmXMAAAAAAAAAAD//wAAAAAAACJBc3NpZ25SZXZlYWxlZEF0dGFjaEJsaW5k +U2VhbFR4UHRyBAQADGNvbmZpZGVudGlhbAAGAgRzZWFsAgpTZWNyZXRTZWFsBkJQ +Q29yZQqIuG1HYxMi7f4PqqyDPZp+WimeZ2/yLcmP7JY+YMihBXN0YXRlAQ9Db25j +ZWFsZWRBdHRhY2gjyAZV1NGdfPzCjyeQnSBU98RMImNTwpl4DTilQcptRwERY29u +ZmlkZW50aWFsU3RhdGUABgIEc2VhbAIOQmxpbmRTZWFsVHhQdHIGQlBDb3JlWLQm +FA0C2nFDWLYfvpsUGDroihZDeZ8Js0KLsYl6ZBQFc3RhdGUBD0NvbmNlYWxlZEF0 +dGFjaCPIBlXU0Z18/MKPJ5CdIFT3xEwiY1PCmXgNOKVBym1HAhBjb25maWRlbnRp +YWxTZWFsAAYCBHNlYWwCClNlY3JldFNlYWwGQlBDb3JlCoi4bUdjEyLt/g+qrIM9 +mn5aKZ5nb/ItyY/slj5gyKEFc3RhdGUBDlJldmVhbGVkQXR0YWNomPO9l3KDEoLr +ds0UVFWO75TULtv7cyQfnuYXa9E32bIDCHJldmVhbGVkAAYCBHNlYWwCDkJsaW5k +U2VhbFR4UHRyBkJQQ29yZVi0JhQNAtpxQ1i2H76bFBg66IoWQ3mfCbNCi7GJemQU +BXN0YXRlAQ5SZXZlYWxlZEF0dGFjaJjzvZdygxKC63bNFFRVju+U1C7b+3MkH57m +F2vRN9myIUFzc2lnblJldmVhbGVkQXR0YWNoQmxpbmRTZWFsVHhpZAQEAAxjb25m +aWRlbnRpYWwABgIEc2VhbAIKU2VjcmV0U2VhbAZCUENvcmUKiLhtR2MTIu3+D6qs +gz2aflopnmdv8i3Jj+yWPmDIoQVzdGF0ZQEPQ29uY2VhbGVkQXR0YWNoI8gGVdTR +nXz8wo8nkJ0gVPfETCJjU8KZeA04pUHKbUcBEWNvbmZpZGVudGlhbFN0YXRlAAYC +BHNlYWwCDUJsaW5kU2VhbFR4aWQGQlBDb3Jlm80MPH4HBn5buOZGu33DSNBdJAU3 +0muWoLGQysCGgfoFc3RhdGUBD0NvbmNlYWxlZEF0dGFjaCPIBlXU0Z18/MKPJ5Cd +IFT3xEwiY1PCmXgNOKVBym1HAhBjb25maWRlbnRpYWxTZWFsAAYCBHNlYWwCClNl +Y3JldFNlYWwGQlBDb3JlCoi4bUdjEyLt/g+qrIM9mn5aKZ5nb/ItyY/slj5gyKEF +c3RhdGUBDlJldmVhbGVkQXR0YWNomPO9l3KDEoLrds0UVFWO75TULtv7cyQfnuYX +a9E32bIDCHJldmVhbGVkAAYCBHNlYWwCDUJsaW5kU2VhbFR4aWQGQlBDb3Jlm80M +PH4HBn5buOZGu33DSNBdJAU30muWoLGQysCGgfoFc3RhdGUBDlJldmVhbGVkQXR0 +YWNomPO9l3KDEoLrds0UVFWO75TULtv7cyQfnuYXa9E32bIgQXNzaWduUmV2ZWFs +ZWREYXRhQmxpbmRTZWFsVHhQdHIEBAAMY29uZmlkZW50aWFsAAYCBHNlYWwCClNl +Y3JldFNlYWwGQlBDb3JlCoi4bUdjEyLt/g+qrIM9mn5aKZ5nb/ItyY/slj5gyKEF +c3RhdGUBDUNvbmNlYWxlZERhdGHAPpJIPlQJPua34SrDjuyx8gNFOG9nV/KpS8B5 +pyu9yQERY29uZmlkZW50aWFsU3RhdGUABgIEc2VhbAIOQmxpbmRTZWFsVHhQdHIG +QlBDb3JlWLQmFA0C2nFDWLYfvpsUGDroihZDeZ8Js0KLsYl6ZBQFc3RhdGUBDUNv +bmNlYWxlZERhdGHAPpJIPlQJPua34SrDjuyx8gNFOG9nV/KpS8B5pyu9yQIQY29u +ZmlkZW50aWFsU2VhbAAGAgRzZWFsAgpTZWNyZXRTZWFsBkJQQ29yZQqIuG1HYxMi +7f4PqqyDPZp+WimeZ2/yLcmP7JY+YMihBXN0YXRlAQxSZXZlYWxlZERhdGGV5rUD +z5m8BPhtMj2qlOZmYQA2c68I6ncCBKIpU1kDcwMIcmV2ZWFsZWQABgIEc2VhbAIO +QmxpbmRTZWFsVHhQdHIGQlBDb3JlWLQmFA0C2nFDWLYfvpsUGDroihZDeZ8Js0KL +sYl6ZBQFc3RhdGUBDFJldmVhbGVkRGF0YZXmtQPPmbwE+G0yPaqU5mZhADZzrwjq +dwIEoilTWQNzH0Fzc2lnblJldmVhbGVkRGF0YUJsaW5kU2VhbFR4aWQEBAAMY29u +ZmlkZW50aWFsAAYCBHNlYWwCClNlY3JldFNlYWwGQlBDb3JlCoi4bUdjEyLt/g+q +rIM9mn5aKZ5nb/ItyY/slj5gyKEFc3RhdGUBDUNvbmNlYWxlZERhdGHAPpJIPlQJ +Pua34SrDjuyx8gNFOG9nV/KpS8B5pyu9yQERY29uZmlkZW50aWFsU3RhdGUABgIE +c2VhbAINQmxpbmRTZWFsVHhpZAZCUENvcmWbzQw8fgcGflu45ka7fcNI0F0kBTfS +a5agsZDKwIaB+gVzdGF0ZQENQ29uY2VhbGVkRGF0YcA+kkg+VAk+5rfhKsOO7LHy +A0U4b2dX8qlLwHmnK73JAhBjb25maWRlbnRpYWxTZWFsAAYCBHNlYWwCClNlY3Jl +dFNlYWwGQlBDb3JlCoi4bUdjEyLt/g+qrIM9mn5aKZ5nb/ItyY/slj5gyKEFc3Rh +dGUBDFJldmVhbGVkRGF0YZXmtQPPmbwE+G0yPaqU5mZhADZzrwjqdwIEoilTWQNz +AwhyZXZlYWxlZAAGAgRzZWFsAg1CbGluZFNlYWxUeGlkBkJQQ29yZZvNDDx+BwZ+ +W7jmRrt9w0jQXSQFN9JrlqCxkMrAhoH6BXN0YXRlAQxSZXZlYWxlZERhdGGV5rUD +z5m8BPhtMj2qlOZmYQA2c68I6ncCBKIpU1kDcyFBc3NpZ25SZXZlYWxlZFZhbHVl +QmxpbmRTZWFsVHhQdHIEBAAMY29uZmlkZW50aWFsAAYCBHNlYWwCClNlY3JldFNl +YWwGQlBDb3JlCoi4bUdjEyLt/g+qrIM9mn5aKZ5nb/ItyY/slj5gyKEFc3RhdGUB +EUNvbmNlYWxlZEZ1bmdpYmxlHcXmpbEITjTO3bizGbL4KjKXrJnf8fr0mNLgoIGY +muIBEWNvbmZpZGVudGlhbFN0YXRlAAYCBHNlYWwCDkJsaW5kU2VhbFR4UHRyBkJQ +Q29yZVi0JhQNAtpxQ1i2H76bFBg66IoWQ3mfCbNCi7GJemQUBXN0YXRlARFDb25j +ZWFsZWRGdW5naWJsZR3F5qWxCE40zt24sxmy+Coyl6yZ3/H69JjS4KCBmJriAhBj +b25maWRlbnRpYWxTZWFsAAYCBHNlYWwCClNlY3JldFNlYWwGQlBDb3JlCoi4bUdj +EyLt/g+qrIM9mn5aKZ5nb/ItyY/slj5gyKEFc3RhdGUBEFJldmVhbGVkRnVuZ2li +bGXn+Fw+QRWbkNVd5PvPIJTyd6unjmH1NYHc0v+hz03e9QMIcmV2ZWFsZWQABgIE +c2VhbAIOQmxpbmRTZWFsVHhQdHIGQlBDb3JlWLQmFA0C2nFDWLYfvpsUGDroihZD +eZ8Js0KLsYl6ZBQFc3RhdGUBEFJldmVhbGVkRnVuZ2libGXn+Fw+QRWbkNVd5PvP +IJTyd6unjmH1NYHc0v+hz03e9SBBc3NpZ25SZXZlYWxlZFZhbHVlQmxpbmRTZWFs +VHhpZAQEAAxjb25maWRlbnRpYWwABgIEc2VhbAIKU2VjcmV0U2VhbAZCUENvcmUK +iLhtR2MTIu3+D6qsgz2aflopnmdv8i3Jj+yWPmDIoQVzdGF0ZQERQ29uY2VhbGVk +RnVuZ2libGUdxealsQhONM7duLMZsvgqMpesmd/x+vSY0uCggZia4gERY29uZmlk +ZW50aWFsU3RhdGUABgIEc2VhbAINQmxpbmRTZWFsVHhpZAZCUENvcmWbzQw8fgcG +flu45ka7fcNI0F0kBTfSa5agsZDKwIaB+gVzdGF0ZQERQ29uY2VhbGVkRnVuZ2li +bGUdxealsQhONM7duLMZsvgqMpesmd/x+vSY0uCggZia4gIQY29uZmlkZW50aWFs +U2VhbAAGAgRzZWFsAgpTZWNyZXRTZWFsBkJQQ29yZQqIuG1HYxMi7f4PqqyDPZp+ +WimeZ2/yLcmP7JY+YMihBXN0YXRlARBSZXZlYWxlZEZ1bmdpYmxl5/hcPkEVm5DV +XeT7zyCU8nerp45h9TWB3NL/oc9N3vUDCHJldmVhbGVkAAYCBHNlYWwCDUJsaW5k +U2VhbFR4aWQGQlBDb3Jlm80MPH4HBn5buOZGu33DSNBdJAU30muWoLGQysCGgfoF +c3RhdGUBEFJldmVhbGVkRnVuZ2libGXn+Fw+QRWbkNVd5PvPIJTyd6unjmH1NYHc +0v+hz03e9R1Bc3NpZ25Wb2lkU3RhdGVCbGluZFNlYWxUeFB0cgQEAAxjb25maWRl +bnRpYWwABgIEc2VhbAIKU2VjcmV0U2VhbAZCUENvcmUKiLhtR2MTIu3+D6qsgz2a +flopnmdv8i3Jj+yWPmDIoQVzdGF0ZQEJVm9pZFN0YXRlM87ahb3H4GUjeZJuGTn1 +CNFEVDiX+xtRcBp7m0ymKU4BEWNvbmZpZGVudGlhbFN0YXRlAAYCBHNlYWwCDkJs +aW5kU2VhbFR4UHRyBkJQQ29yZVi0JhQNAtpxQ1i2H76bFBg66IoWQ3mfCbNCi7GJ +emQUBXN0YXRlAQlWb2lkU3RhdGUzztqFvcfgZSN5km4ZOfUI0URUOJf7G1FwGnub +TKYpTgIQY29uZmlkZW50aWFsU2VhbAAGAgRzZWFsAgpTZWNyZXRTZWFsBkJQQ29y +ZQqIuG1HYxMi7f4PqqyDPZp+WimeZ2/yLcmP7JY+YMihBXN0YXRlAQlWb2lkU3Rh +dGUzztqFvcfgZSN5km4ZOfUI0URUOJf7G1FwGnubTKYpTgMIcmV2ZWFsZWQABgIE +c2VhbAIOQmxpbmRTZWFsVHhQdHIGQlBDb3JlWLQmFA0C2nFDWLYfvpsUGDroihZD +eZ8Js0KLsYl6ZBQFc3RhdGUBCVZvaWRTdGF0ZTPO2oW9x+BlI3mSbhk59QjRRFQ4 +l/sbUXAae5tMpilOHEFzc2lnblZvaWRTdGF0ZUJsaW5kU2VhbFR4aWQEBAAMY29u +ZmlkZW50aWFsAAYCBHNlYWwCClNlY3JldFNlYWwGQlBDb3JlCoi4bUdjEyLt/g+q +rIM9mn5aKZ5nb/ItyY/slj5gyKEFc3RhdGUBCVZvaWRTdGF0ZTPO2oW9x+BlI3mS +bhk59QjRRFQ4l/sbUXAae5tMpilOARFjb25maWRlbnRpYWxTdGF0ZQAGAgRzZWFs +Ag1CbGluZFNlYWxUeGlkBkJQQ29yZZvNDDx+BwZ+W7jmRrt9w0jQXSQFN9JrlqCx +kMrAhoH6BXN0YXRlAQlWb2lkU3RhdGUzztqFvcfgZSN5km4ZOfUI0URUOJf7G1Fw +GnubTKYpTgIQY29uZmlkZW50aWFsU2VhbAAGAgRzZWFsAgpTZWNyZXRTZWFsBkJQ +Q29yZQqIuG1HYxMi7f4PqqyDPZp+WimeZ2/yLcmP7JY+YMihBXN0YXRlAQlWb2lk +U3RhdGUzztqFvcfgZSN5km4ZOfUI0URUOJf7G1FwGnubTKYpTgMIcmV2ZWFsZWQA +BgIEc2VhbAINQmxpbmRTZWFsVHhpZAZCUENvcmWbzQw8fgcGflu45ka7fcNI0F0k +BTfSa5agsZDKwIaB+gVzdGF0ZQEJVm9pZFN0YXRlM87ahb3H4GUjeZJuGTn1CNFE +VDiX+xtRcBp7m0ymKU4ZQXNzaWdubWVudHNCbGluZFNlYWxUeFB0cgUBAAoAAgEa +VHlwZWRBc3NpZ25zQmxpbmRTZWFsVHhQdHKn3ObJlFncuo2iZC63g5JP//lSorBw +B3CiawkR25W/oQAAAAAAAAAA/wAAAAAAAAAYQXNzaWdubWVudHNCbGluZFNlYWxU +eGlkBQEACgACARlUeXBlZEFzc2lnbnNCbGluZFNlYWxUeGlkHtH3VwjrLb7eEkve +3PJi+NFx+aB+Z41fwCokNspgSDoAAAAAAAAAAP8AAAAAAAAACEF0dGFjaElkBQEA +BwAAQCAADkJsaW5kaW5nRmFjdG9yBQEABwAAQCAACkJ1bmRsZUl0ZW0GAgZpbnB1 +dHMACQAAAgAAAAAAAAAA/wAAAAAAAAAKdHJhbnNpdGlvbgAEAgAEbm9uZQAAAAEE +c29tZQAFAQEKVHJhbnNpdGlvbqpMKp7iqLcyfBR4jl3QKXAwdhCTZ9zH513R0hYK +kBqFD0NvbmNlYWxlZEF0dGFjaAUBAAcAAEAgAA1Db25jZWFsZWREYXRhBQEABwAA +QCAAEUNvbmNlYWxlZEZ1bmdpYmxlBgIKY29tbWl0bWVudAESUGVkZXJzZW5Db21t +aXRtZW50cce0DBaO0m0nPNeT4hoCbFVDIatQjORj3Ek0XMV+PQUKcmFuZ2VQcm9v +ZgEKUmFuZ2VQcm9vZm4Cba4A1ZRbUJWUBMh3e6BgkMJzlX+Vdfj1g9N5U1+1CkNv +bnRyYWN0SWQFAQAHAABAIAAJRXh0ZW5zaW9uBggDZmZ2AQNGZnZpcHXdpN2LsjDa +V4F5it4iq4jTZ1CvmE+pJd+iLmuMfgpjb250cmFjdElkAQpDb250cmFjdElkL/QE +8EPsIASiLsb+1q7xETHffTCKhQO+J7WIToC/rGUNZXh0ZW5zaW9uVHlwZQAAAght +ZXRhZGF0YQAIAABAAAAAAAAAAAD//wAAAAAAAAdnbG9iYWxzAQtHbG9iYWxTdGF0 +ZSKLqZqEPtILxseTLbC4XjnSQwAojm2t7P/8BIy1lZhJC2Fzc2lnbm1lbnRzARhB +c3NpZ25tZW50c0JsaW5kU2VhbFR4aWRNTsbsnDbNRm+3uh2vyK+c8jAZGyP+pBcF +iLhdGV2hYghyZWRlZW1lZAEIUmVkZWVtZWQQL8vqI3zt2bbhDQ7si95O8yS0vxoW +Ad/1+Xmo6k2pewl2YWxlbmNpZXMBCVZhbGVuY2llc018X3kpBuRVojRPyuS9fyU3 +a4VgJ0lUC/Dsz6KtnlHhD0V4dGVuc2lvblNjaGVtYQYFCG1ldGFkYXRhAgVTZW1J +ZAtTdHJpY3RUeXBlcxIrqBnvsgX7PxJL3bTx7rLMd3sw9Qgz/7MdLpxvAEleB2ds +b2JhbHMACgACAQtPY2N1cnJlbmNlc0ZVcVLVihSsrHZui31d0hkR8zbu0ujgWjk2 +6zm6Rtb4AAAAAAAAAAD/AAAAAAAAAAdyZWRlZW1zAAkAAAIAAAAAAAAAAP8AAAAA +AAAAC2Fzc2lnbm1lbnRzAAoAAgELT2NjdXJyZW5jZXNGVXFS1YoUrKx2bot9XdIZ +EfM27tLo4Fo5Nus5ukbW+AAAAAAAAAAA/wAAAAAAAAAJdmFsZW5jaWVzAAkAAAIA +AAAAAAAAAP8AAAAAAAAAA0ZmdgUBAAACDUZ1bmdpYmxlU3RhdGUEAQgGYml0czY0 +AAUBAAAIDEZ1bmdpYmxlVHlwZQMBDXVuc2lnbmVkNjRCaXQIB0dlbmVzaXMGBwNm +ZnYBA0Zmdmlwdd2k3YuyMNpXgXmK3iKriNNnUK+YT6kl36Iua4x+CHNjaGVtYUlk +AQhTY2hlbWFJZACrHzEMFqiDHQCvU8EQhMnj48UKE6pabEElFMiG/kH7BWNoYWlu +AgVDaGFpbgdCaXRjb2luav7fD/y/yQNikXbxEg0DBvoSt3o4/wbFjBSt09rbukwI +bWV0YWRhdGEACAAAQAAAAAAAAAAA//8AAAAAAAAHZ2xvYmFscwELR2xvYmFsU3Rh +dGUii6mahD7SC8bHky2wuF450kMAKI5trez//ASMtZWYSQthc3NpZ25tZW50cwEY +QXNzaWdubWVudHNCbGluZFNlYWxUeGlkTU7G7Jw2zUZvt7odr8ivnPIwGRsj/qQX +BYi4XRldoWIJdmFsZW5jaWVzAQlWYWxlbmNpZXNNfF95KQbkVaI0T8rkvX8lN2uF +YCdJVAvw7M+irZ5R4Q1HZW5lc2lzU2NoZW1hBgQIbWV0YWRhdGECBVNlbUlkC1N0 +cmljdFR5cGVzEiuoGe+yBfs/EkvdtPHussx3ezD1CDP/sx0unG8ASV4HZ2xvYmFs +cwAKAAIBC09jY3VycmVuY2VzRlVxUtWKFKysdm6LfV3SGRHzNu7S6OBaOTbrObpG +1vgAAAAAAAAAAP8AAAAAAAAAC2Fzc2lnbm1lbnRzAAoAAgELT2NjdXJyZW5jZXNG +VXFS1YoUrKx2bot9XdIZEfM27tLo4Fo5Nus5ukbW+AAAAAAAAAAA/wAAAAAAAAAJ +dmFsZW5jaWVzAAkAAAIAAAAAAAAAAP8AAAAAAAAAC0dsb2JhbFN0YXRlBQEACgAC +AQxHbG9iYWxWYWx1ZXMcRQWBgCy74PNqWjEf/+nLfCPApr5wCJC4pjoN+RHffAAA +AAAAAAAA/wAAAAAAAAARR2xvYmFsU3RhdGVTY2hlbWEGAgVzZW1JZAIFU2VtSWQL +U3RyaWN0VHlwZXMSK6gZ77IF+z8SS9208e6yzHd7MPUIM/+zHS6cbwBJXghtYXhJ +dGVtcwAAAgxHbG9iYWxWYWx1ZXMFAQAIAQxSZXZlYWxlZERhdGGV5rUDz5m8BPht +Mj2qlOZmYQA2c68I6ncCBKIpU1kDcwEAAAAAAAAA//8AAAAAAAAFSW5wdXQGAgdw +cmV2T3V0AQVPcG91dDfgiOvcartvEfSjFp/bUKNQ34rOk4wqMai05D6EHdd/CHJl +c2VydmVkAQxSZXNlcnZlZEJ5dGUhXADu/wn41dEtdr0ODJthS0Bh786yYAJ+IM2/ +uRWp4QZJbnB1dHMFAQAJAQVJbnB1dB86lr/A8o1BSnLUHm9cgIkdnGtjZJiEwkEp +nEqmimejAAAAAAAAAAD/AAAAAAAAAAlNZWRpYVR5cGUDAQNhbnn/CU5vaXNlRHVt +YgUBAAcAAEAAAgtPY2N1cnJlbmNlcwYCA21pbgAAAgNtYXgAAAIET3BJZAUBAAcA +AEAgAAVPcG91dAYDAm9wAQRPcElkIjNcQYWSCzwkN+dbWPan4r2/1rt5lKD17mvL +c1QS8mUCdHkAAAICbm8AAAISUGVkZXJzZW5Db21taXRtZW50BQEABwAAQCEAClJh +bmdlUHJvb2YEAf8LcGxhY2Vob2xkZXIABQEBCU5vaXNlRHVtYgo2BqpqtB2U7Zab +W7mo1vU5ipEqZTcbwMDqgEXH3oclCFJlZGVlbWVkBQEACgACAQRPcElkIjNcQYWS +CzwkN+dbWPan4r2/1rt5lKD17mvLc1QS8mUAAAAAAAAAAP8AAAAAAAAADFJlc2Vy +dmVkQnl0ZQUBAAABDlJldmVhbGVkQXR0YWNoBgMCaWQBCEF0dGFjaElkcHh9x4fb +j5TKkiB0J0vZvELkaTqAjFpU9RWUNphZ2y4JbWVkaWFUeXBlAQlNZWRpYVR5cGUv +CU6td9st1IH/VL6xh+mQIDFCGM4N8VjxmH17AKHJvQRzYWx0AAAIDFJldmVhbGVk +RGF0YQUBAAgAAEAAAAAAAAAAAP//AAAAAAAAEFJldmVhbGVkRnVuZ2libGUGAgV2 +YWx1ZQENRnVuZ2libGVTdGF0ZXW1QosDBNsKfyBISo9SrtUMJCYWf1zsF1TL+eyr +Dym/CGJsaW5kaW5nAQ5CbGluZGluZ0ZhY3Rvcva1uMDokXAR9vbQulP/Ld1XMcBk +c4wU4faluv3nuqKqBlNjaGVtYQYKA2ZmdgEDRmZ2aXB13aTdi7Iw2leBeYreIquI +02dQr5hPqSXfoi5rjH4Ic3Vic2V0T2YABAIABG5vbmUAAAABBHNvbWUABQEAAAAL +Z2xvYmFsVHlwZXMACgACARFHbG9iYWxTdGF0ZVNjaGVtYZenTPm0iFHe590HUX/A +1xMXaiggCnWXykoGc4uDUN8fAAAAAAAAAAD/AAAAAAAAAApvd25lZFR5cGVzAAoA +AgELU3RhdGVTY2hlbWHFGsjM2UNebUIaoZ+EgJLw6N6o1ozi6GawAnkLx0ie+wAA +AAAAAAAA/wAAAAAAAAAMdmFsZW5jeVR5cGVzAAkAAAIAAAAAAAAAAP8AAAAAAAAA +B2dlbmVzaXMBDUdlbmVzaXNTY2hlbWGUk/RdXOyF2j3vKgDLiIZuUKG4R47u2gg1 +wVFrszoflgpleHRlbnNpb25zAAoAAgEPRXh0ZW5zaW9uU2NoZW1h29pph7/nCJRn +LxJZxCFwV650jWKYCvB5HHncvBRbvJAAAAAAAAAAAP8AAAAAAAAAC3RyYW5zaXRp +b25zAAoAAgEQVHJhbnNpdGlvblNjaGVtYSCNMFyr7AoZrcuZy/0LN5IrTM3ssZFK +JAQWvcHjYR57AAAAAAAAAAD/AAAAAAAAAAp0eXBlU3lzdGVtAgpUeXBlU3lzdGVt +C1N0cmljdFR5cGVzlWP+PrlaNUDblHDU/LtP8rzPvBljYyKPEuvYfBKAdEIGc2Ny +aXB0AQZTY3JpcHTl7rhjqhZqd9oLoEHKYiWhBr7a5gatxlK8tvmAsbCPCAhTY2hl +bWFJZAUBAAcAAEAgAAxTY2hlbWFTY2hlbWEGCgNmZnYBA0Zmdmlwdd2k3YuyMNpX +gXmK3iKriNNnUK+YT6kl36Iua4x+CHN1YnNldE9mAAQCAARub25lAAAAAQRzb21l +AAUBAQZTY2hlbWFZi5kmyLPm4BpvAfdmJJSFBQoYt2TsWdomO/Xa/13/sAtnbG9i +YWxUeXBlcwAKAAIBEUdsb2JhbFN0YXRlU2NoZW1hl6dM+bSIUd7n3QdRf8DXExdq +KCAKdZfKSgZzi4NQ3x8AAAAAAAAAAP8AAAAAAAAACm93bmVkVHlwZXMACgACAQtT +dGF0ZVNjaGVtYcUayMzZQ15tQhqhn4SAkvDo3qjWjOLoZrACeQvHSJ77AAAAAAAA +AAD/AAAAAAAAAAx2YWxlbmN5VHlwZXMACQAAAgAAAAAAAAAA/wAAAAAAAAAHZ2Vu +ZXNpcwENR2VuZXNpc1NjaGVtYZST9F1c7IXaPe8qAMuIhm5QobhHju7aCDXBUWuz +Oh+WCmV4dGVuc2lvbnMACgACAQ9FeHRlbnNpb25TY2hlbWHb2mmHv+cIlGcvElnE +IXBXrnSNYpgK8Hkcedy8FFu8kAAAAAAAAAAA/wAAAAAAAAALdHJhbnNpdGlvbnMA +CgACARBUcmFuc2l0aW9uU2NoZW1hII0wXKvsChmty5nL/Qs3kitMzeyxkUokBBa9 +weNhHnsAAAAAAAAAAP8AAAAAAAAACnR5cGVTeXN0ZW0CClR5cGVTeXN0ZW0LU3Ry +aWN0VHlwZXOVY/4+uVo1QNuUcNT8u0/yvM+8GWNjIo8S69h8EoB0QgZzY3JpcHQB +BlNjcmlwdOXuuGOqFmp32gugQcpiJaEGvtrmBq3GUry2+YCxsI8IBlNjcmlwdAQB +AAVhbHVWbQAFAQEJQWx1U2NyaXB0Up2WU/vzf2Y2WKYR6+AodYfxZjzH8EpHO+/g +gZ+/aTgLU3RhdGVTY2hlbWEEBAALZGVjbGFyYXRpdmUAAAABCGZ1bmdpYmxlAAUB +AQxGdW5naWJsZVR5cGXpKB+FtUYKkbuCqHdvEAA4OiHfpLiaiGtbLSoMoEVXswIK +c3RydWN0dXJlZAAFAQIFU2VtSWQLU3RyaWN0VHlwZXMSK6gZ77IF+z8SS9208e6y +zHd7MPUIM/+zHS6cbwBJXgMKYXR0YWNobWVudAAFAQEJTWVkaWFUeXBlLwlOrXfb +LdSB/1S+sYfpkCAxQhjODfFY8Zh9ewChyb0KVHJhbnNpdGlvbgYIA2ZmdgEDRmZ2 +aXB13aTdi7Iw2leBeYreIquI02dQr5hPqSXfoi5rjH4KY29udHJhY3RJZAEKQ29u +dHJhY3RJZC/0BPBD7CAEoi7G/tau8REx330wioUDvie1iE6Av6xlDnRyYW5zaXRp +b25UeXBlAAACCG1ldGFkYXRhAAgAAEAAAAAAAAAAAP//AAAAAAAAB2dsb2JhbHMB +C0dsb2JhbFN0YXRlIoupmoQ+0gvGx5MtsLheOdJDACiOba3s//wEjLWVmEkGaW5w +dXRzAQZJbnB1dHM/7xxdja8PHgA8wvyjtDgHswnmGMHnSPS7+ScB5/I2Ogthc3Np +Z25tZW50cwEZQXNzaWdubWVudHNCbGluZFNlYWxUeFB0cgLpxRrY1q4Gh8y3H276 +9Nn2p/WWMUJBg2YkGGGqyjLFCXZhbGVuY2llcwEJVmFsZW5jaWVzTXxfeSkG5FWi +NE/K5L1/JTdrhWAnSVQL8OzPoq2eUeEQVHJhbnNpdGlvbkJ1bmRsZQUBAAoHIAAB +CkJ1bmRsZUl0ZW2bGNRExLCSu9yJ297NDCx4Qm60IcSkdQf3gl6ESy8+vwAAAAAA +AAAA/wAAAAAAAAAQVHJhbnNpdGlvblNjaGVtYQYFCG1ldGFkYXRhAgVTZW1JZAtT +dHJpY3RUeXBlcxIrqBnvsgX7PxJL3bTx7rLMd3sw9Qgz/7MdLpxvAEleB2dsb2Jh +bHMACgACAQtPY2N1cnJlbmNlc0ZVcVLVihSsrHZui31d0hkR8zbu0ujgWjk26zm6 +Rtb4AAAAAAAAAAD/AAAAAAAAAAZpbnB1dHMACgACAQtPY2N1cnJlbmNlc0ZVcVLV +ihSsrHZui31d0hkR8zbu0ujgWjk26zm6Rtb4AAAAAAAAAAD/AAAAAAAAAAthc3Np +Z25tZW50cwAKAAIBC09jY3VycmVuY2VzRlVxUtWKFKysdm6LfV3SGRHzNu7S6OBa +OTbrObpG1vgAAAAAAAAAAP8AAAAAAAAACXZhbGVuY2llcwAJAAACAAAAAAAAAAD/ +AAAAAAAAABpUeXBlZEFzc2lnbnNCbGluZFNlYWxUeFB0cgQEAAtkZWNsYXJhdGl2 +ZQAFAQAIAR1Bc3NpZ25Wb2lkU3RhdGVCbGluZFNlYWxUeFB0cu4ZL4baVT4g2CwV +Cp3Ii1kLo1VchWmi8jFPw9BJIQp6AAAAAAAAAAD//wAAAAAAAAEIZnVuZ2libGUA +BQEACAEhQXNzaWduUmV2ZWFsZWRWYWx1ZUJsaW5kU2VhbFR4UHRyF6qPma4dtwOr +YJJYZoyaxe8NZawwWGFEgrLrTC3JmhMAAAAAAAAAAP//AAAAAAAAAgpzdHJ1Y3R1 +cmVkAAUBAAgBIEFzc2lnblJldmVhbGVkRGF0YUJsaW5kU2VhbFR4UHRyN//CvkM7 +k2X+1NqPlIHuBUoubfUIOMVNJ6wuVfbsN2cAAAAAAAAAAP//AAAAAAAA/wphdHRh +Y2htZW50AAUBAAgBIkFzc2lnblJldmVhbGVkQXR0YWNoQmxpbmRTZWFsVHhQdHKC +MWirrCUN07GHJ2onwMS4ve230itc6SUXZ+YFqIfyuQAAAAAAAAAA//8AAAAAAAAZ +VHlwZWRBc3NpZ25zQmxpbmRTZWFsVHhpZAQEAAtkZWNsYXJhdGl2ZQAFAQAIARxB +c3NpZ25Wb2lkU3RhdGVCbGluZFNlYWxUeGlkpwOnDwfH2GWDblnCnuAH4Fh2XMT5 +770QExtfdgZyl4IAAAAAAAAAAP//AAAAAAAAAQhmdW5naWJsZQAFAQAIASBBc3Np +Z25SZXZlYWxlZFZhbHVlQmxpbmRTZWFsVHhpZHG6PgvxV/K7XF8mv7Z2DgtJz5TO +GzTpCEAmBCZ0b7MXAAAAAAAAAAD//wAAAAAAAAIKc3RydWN0dXJlZAAFAQAIAR9B +c3NpZ25SZXZlYWxlZERhdGFCbGluZFNlYWxUeGlkMF/YDB4FIpBatEROLTPY8vtT +epZLMXr59sGtyJKOo9kAAAAAAAAAAP//AAAAAAAA/wphdHRhY2htZW50AAUBAAgB +IUFzc2lnblJldmVhbGVkQXR0YWNoQmxpbmRTZWFsVHhpZNHCqKr9AqhYQvYIpKNX +f57neYHAvps+KgUq2y+GXFwsAAAAAAAAAAD//wAAAAAAAAlWYWxlbmNpZXMFAQAJ +AAACAAAAAAAAAAD/AAAAAAAAAAlWb2lkU3RhdGUFAQAAAA== + +-----END STRICT TYPE LIB----- + diff --git a/stl/RGB@0.1.0.stl b/stl/RGB@0.1.0.stl new file mode 100644 index 0000000000000000000000000000000000000000..af81bc654c0b27ad4fceeb2bb25f6701c86f7afb GIT binary patch literal 10930 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 cR!-RH?LAJ}Mo04ztdy=Kc*m& Copyright (C) 2023 LNP/BP Standards Association. All rights reserved. License: Apache-2.0 -} -typelib RGB -- orca_famous_unicorn_54LLqJCV8yGPTz6vpJ2vmrU46VR6USUCnXp68hMk4FgS +typelib RGB -- xray_susan_reward_Fvh85VcsTSb2zmdwT13q32Rv9M14nvMaGvCT3JMtRQWf -import circus_report_jeep_2bj6eDer24ZBSVq6JgQW2BrARt6vx56vMWzF35J45gzY as Bitcoin -import danube_cotton_kansas_3xcfudRJUuwQ187puYDdNcxGeTpG8AoHyTrfJ9ryo9k6 as StrictTypes -import sardine_ground_beatles_5GpK1xbT5AT8buj9rEh2Tp7iFJf7rr36qmbbaU39aMWD as AluVM -import harlem_null_puma_DxuLX8d9UiMyEJMRJivMFviK1B8t1QWyjywXuDC13iKR as BPCore +import collect_equator_sahara_9ar2N9jT1gHk5Ei9b5uoVoVbvWAXFpiWE2Dxg49iMR2R as AluVM +import cubic_filter_vampire_AqBBP1ZeTXrdAePf6SBcUGbttpvxpHKG7uJLKFkVxtGi as Bitcoin +import manila_origami_blonde_GUPDJLSfnzeYN8udLa1Z7qFLZ45oiyekN2DR8DRPHqri as BPCore +import classic_vitamin_turtle_GWq5E83fACXwLpRjdGWCAH1iLA5BvCg3cUWXGD6Uzw29 as StrictTypes data AluScript :: libs AluVM.LibId, entryPoints {[Byte ^ 3] -> AluVM.LibSite} @@ -50,17 +51,17 @@ data AssignVoidStateBlindSealTxid :: confidential (seal BPCore.SecretSeal, state | revealed (seal BPCore.BlindSealTxid, state VoidState) data AssignmentsBlindSealTxPtr :: {U16 -> ^ ..0xff TypedAssignsBlindSealTxPtr} data AssignmentsBlindSealTxid :: {U16 -> ^ ..0xff TypedAssignsBlindSealTxid} -data AttachId :: [U8 ^ 32] -data BlindingFactor :: [U8 ^ 32] +data AttachId :: [Byte ^ 32] +data BlindingFactor :: [Byte ^ 32] data BundleItem :: inputs {U16 ^ ..0xff}, transition Transition? -data ConcealedAttach :: [U8 ^ 32] -data ConcealedData :: [U8 ^ 32] +data ConcealedAttach :: [Byte ^ 32] +data ConcealedData :: [Byte ^ 32] data ConcealedFungible :: commitment PedersenCommitment, rangeProof RangeProof -data ContractId :: [U8 ^ 32] +data ContractId :: [Byte ^ 32] data Extension :: ffv Ffv , contractId ContractId , extensionType U16 - , metadata [U8] + , metadata [Byte] , globals GlobalState , assignments AssignmentsBlindSealTxid , redeemed Redeemed @@ -73,10 +74,11 @@ data ExtensionSchema :: metadata StrictTypes.SemId data Ffv :: U16 data FungibleState :: bits64:8 U64 data FungibleType :: unsigned64Bit:8 + data Genesis :: ffv Ffv , schemaId SchemaId , chain Bitcoin.Chain - , metadata [U8] + , metadata [Byte] , globals GlobalState , assignments AssignmentsBlindSealTxid , valencies Valencies @@ -90,20 +92,21 @@ data GlobalValues :: [RevealedData ^ 1..] data Input :: prevOut Opout, reserved ReservedByte data Inputs :: {Input ^ ..0xff} data MediaType :: any:255 -data NoiseDumb :: [U8 ^ 512] + +data NoiseDumb :: [Byte ^ 512] data Occurrences :: min U16, max U16 -data OpId :: [U8 ^ 32] +data OpId :: [Byte ^ 32] data Opout :: op OpId , ty U16 , no U16 -data PedersenCommitment :: [U8 ^ 33] +data PedersenCommitment :: [Byte ^ 33] data RangeProof :: placeholder:255 NoiseDumb data Redeemed :: {U16 -> ^ ..0xff OpId} data ReservedByte :: U8 data RevealedAttach :: id AttachId , mediaType MediaType , salt U64 -data RevealedData :: [U8] +data RevealedData :: [Byte] data RevealedFungible :: value FungibleState, blinding BlindingFactor data Schema :: ffv Ffv , subsetOf ()? @@ -115,7 +118,7 @@ data Schema :: ffv Ffv , transitions {U16 -> ^ ..0xff TransitionSchema} , typeSystem StrictTypes.TypeSystem , script Script -data SchemaId :: [U8 ^ 32] +data SchemaId :: [Byte ^ 32] data SchemaSchema :: ffv Ffv , subsetOf Schema? , globalTypes {U16 -> ^ ..0xff GlobalStateSchema} @@ -134,7 +137,7 @@ data StateSchema :: declarative () data Transition :: ffv Ffv , contractId ContractId , transitionType U16 - , metadata [U8] + , metadata [Byte] , globals GlobalState , inputs Inputs , assignments AssignmentsBlindSealTxPtr diff --git a/stl/RGBCore.stl b/stl/RGBCore.stl deleted file mode 100644 index 6ef5a3f0ea8d4ec3c5adcb051646761793e57698..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10930 zcmeHNdpuO>8$V}m=H{AOl$JyZDQ%+KpInQC+!CTOb8s?dG;?NTr7OCKu1jrdyHZ3c z5~8b0Hgd^QS&8me+Oiwk{LWmAG07%te|>(R?T@^lnKSS6ywCG}zt8u5-h*|WYlZvj z67jVCvrT76gPwe(-HTGFoc`OmkkTBSxvgQD3imfo3paMZKZlo zOmmO9sylX{#|;X^LO2mF=n@bvK$gP-7&-LUZZHCgem|p&a^*(-WTf&Ic3Wg;TUt-8^5S;@df(ON`Bl{bl^Jli{jelNe9B6De*8N5d2rj_t zB|SRQd|&DDQ#==;ArPo&&1TW1>{ZVj+nn2-mJ{tUZDQ02|8SS1UYYaW&8{rpO3+h{ znY9{JmbULEm_y=(LSJXajxeTHk4U^cwn91jblB+!-zq+NZfD>$>UbriTzyend?fOj zj$oAfID#%g;>TwPL!oc%+cU~XIR2_omY!#-(WY{2aa6HO_$(gMysdV==4kd64J?r( z&XvUUkU}s>^V)xb7nt#7!$n>SE-*uk7Atd;7tu$$60g&O9vf^~ZT)=Ck_{zw`2jmD zZ*-N-m}2vPg_fa2V31(Z>I)Vd8bXr_|FBStyo6c=*2>q%BY=;2X6JUtv$=^sjoI6! z<&eIV82JO|&ylARlH`VsSO(|DaL@|1hgJk}Po0-qbU)BC@QW=!-uLnfQa1hGivNI4!hO(Ik=f#(Zk)f=9P!N%+I-WEp4;pSJ zQI;@?9gh_R2QZ-m{e5ebY_|9X#TrK)(c_a^=N}C>2%%c(BE0Uq0UO!|0?LqT^x$0? z4zwusFiKB6qIT4zoIdKe??A|0{!U8^`-d|wKF73A|%Ag&PsXwx? z84hY0e5wXQ%}_Sj;63?LK{J#n3>q_klBEh#f3- z^LAo|jk{S=*XV^|8j*V)Q}mq%0?Lr+<KHc(|kAq@3NaWKU8we9a z**2fCiok;a8Nh%Vg5D8B^pwmK0ks=fDQzsC=(TM8{anx0 zFHh|o>7Ab&N#ZxS$33*RzbEO@hzDx@+kzQlQ|ccv1vAof=C0UTV;3@2b$fn;>GejU zUe+!h{>svP9ktHeDSUldOGHus2W>`yfE)mTT7ZaHU{;VFjgGK6lF!LjJQjlq*&|RW z0YiXUVLY@SMFIef?384LLt}Aa1ZJ}U90tI#*enQr2E=jMp%8!vL9)B#0e{s=n(HE3 z48vTb>r&NJgCvf?POkb|6T0 zm5k}JZPUFil;6$VH7dF;=@oM6k-_<*1gNPfqU?!W$hw_mR7|3Qpd(VDCE2b(AT%^= z7J-Nj4CI4YyFfl1#;ZS4A9s4n-9>97Hvcj%ePdOS%gNo&$8{SHO%BRP61|;pW4lWH8}n6@oJZg^Egr?FcPg~nhMS$zl81V139y2ui5LnYGzNM!1c+!d zBuNu@1?7U6>;M{*3sU9^2f|9o*0bEPCzi0>AN%@p7Ux-&&e33p{HmLUQ$|6F-Z?58 zC^TU!QMe_*k7D+U^Bf+mds)9F>DjrMb2&cm+cR{0k=zc$fFJg_7G&w6?JWibg+dIF z=qesPK9QrSP-U5rohy3tw6wC06zfti%HlR3*LG|S`GXw`4Z3#$fJp86R)8xkD9=Ly9mIkdrr)5QcB0%|hy`(B zEDce?0tjcy9*`QfbINOD)LxDr%LX3X5ED1Evgw+ckkspO0xZ>ZGhgq z3rJMjme@ z2(58Zw@IMLGEz|d=-3?aNOJO{l2iBjhYNpo$#@v9yZ*qnlrFn77qkJX(vAbW zDPc?+9SUYMQMDkDEWJMK?9>O2y;Z!eRZ2^RYc8dBzPjpk@yv^FkB$9)NsgAr&ypI3 z&Md&>Cpjq_vpy+8Cjvm3K0F!#80E_z@pk`>*L2rKmS)RV)@1}|P20P_GV0XBDWQ{I zDJ$0QznM3hgjQEk4#3`Y7?Yeb!tWVXukCg(%G&U3o7Pk-wKDlvUaxjXMFIy)3UOQ- z6A=)8PZvngS4N%bPdY90nI$m$oYTuTx z+)F!J(iQbD5Ca4kk*N3tWn}2fkdVTQm9Z;AyvGF~Yi!o<`r88uT;YX0 zh~h?YG0)0gU;CqWb*<6l1Ii1$7HE&G&pvqB=%o+8LLW#tnOH1QCStzO0;nR_|7O?; z{1Ir=Kv>?xx6{02Pf3%_WBbi;@))J2Y(HfrQ(dF+^;L@-|6=oBZ1!MN3}GAy;8Di) z3>DTZ$tx!$n)#Ho=STjz&+>kfMMvqb6a#K$+067aoAPWOe6Ste(iDVVt*&Np%>8|D>(Z%WncMLUo2ji}zbAdrppn zI%E}&SCEhKNuX}bM;m4e)C`(3j-k;K&KpML_I=bSlbppuwB^0c%N2S47q3NmUe z^H8*HXnJtxE>@nH#oVz~^_OkyTs_NtE5151o$^^H6DfKZwTuKxNKOj?r8-Evcb7)i z=9m64OR6fwYJnY!g5_ zUqY=hl*xLt*6%rgfIg)x0SMF{IPm=lM(M7@*|;4Q#0Kxs6VtYF4Qu6hZfcym*wiH1 z5K|VMD#@g{(F95}3Of5=U-VijYWV!TwehBsviI9N$%VKz1!Hh+ZbeQ??G`%qE}Feq z5nGTU9@K`+t)M{1_U+(irc$)$ZRL>S6=N<(UTIGI>N}3-rL=YD6kA=){GN==lwCx3 zUuHs0e8O9Gk;xZG=g0oRTs!YSWUIHgFs({v1bt(=Lx&j|0HGPKQO7R!9B?iZr6~tEt@5o2ntWwQXzyHCmlS# z`7@!sy}5jSH=FXxFVWOvso{HTH?^7*n;dQH^<)ivn54gYDP->Jebj`_i)O{_y6RMe z{OIH7!FXY|GTt~X^3v?H)L%ViEqs_G8K`~m<|E877!wv|Jo(I}x#0Xw{JqgDHD_GE i1{dGPj5=QoEk5QwN7hDf^AX)C{YmiNTNU&H0QfK30~~Y! From 7670256a234627b97df32ce368043ac76f3cff76 Mon Sep 17 00:00:00 2001 From: Dr Maxim Orlovsky Date: Mon, 15 May 2023 20:37:55 +0200 Subject: [PATCH 2/2] chore: update dependencies, version bump --- Cargo.lock | 52 +++++++++++++++++++++++++++++++--------------------- Cargo.toml | 19 ++++++------------- 2 files changed, 37 insertions(+), 34 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5b7810d9..102efab1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,8 +4,9 @@ version = 3 [[package]] name = "aluvm" -version = "0.10.1" -source = "git+https://github.com/AluVM/rust-aluvm#dd7410778ff2a9fe5808447a9efeb55ccbc68c54" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ebb162f495c9b467476c4287fbdf5afaf816a9c91c7e37de9d0ff13804ef502" dependencies = [ "amplify", "baid58", @@ -202,8 +203,9 @@ dependencies = [ [[package]] name = "bp-core" -version = "0.10.2" -source = "git+https://github.com/BP-WG/bp-core?branch=stl#f35d19a2ef7f329bb84813f8a2e37eb6ee97eeec" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77895cc1d62865613d3c2aa0331de273974c4901fe00ecbdbd51fe69337a9bda" dependencies = [ "amplify", "bp-dbc", @@ -218,8 +220,9 @@ dependencies = [ [[package]] name = "bp-dbc" -version = "0.10.2" -source = "git+https://github.com/BP-WG/bp-core?branch=stl#f35d19a2ef7f329bb84813f8a2e37eb6ee97eeec" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa85f689829ecbb13f56cc9e06ebf3c101bdd4df85fc10049df080f997020e26" dependencies = [ "amplify", "baid58", @@ -232,8 +235,9 @@ dependencies = [ [[package]] name = "bp-primitives" -version = "0.10.2" -source = "git+https://github.com/BP-WG/bp-core?branch=stl#f35d19a2ef7f329bb84813f8a2e37eb6ee97eeec" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e69ae41e82b139784dc3fd8318a8a892d75300954c6bfc0ab16c4a056745602" dependencies = [ "amplify", "commit_verify", @@ -245,8 +249,9 @@ dependencies = [ [[package]] name = "bp-seals" -version = "0.10.2" -source = "git+https://github.com/BP-WG/bp-core?branch=stl#f35d19a2ef7f329bb84813f8a2e37eb6ee97eeec" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b3380f6c3cb42f4ebf3b39bde6239381481097d70594729f630db46c3bee9b0" dependencies = [ "amplify", "baid58", @@ -299,7 +304,8 @@ dependencies = [ [[package]] name = "commit_encoding_derive" version = "0.10.0" -source = "git+https://github.com/LNP-BP/client_side_validation?branch=stl#317d594d2c3d252bcb7d1a493cd49a04a320c3c9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00033f14d67c4169d588f085ea2faeb7b610cf03a74d42ea09eeba31abef2047" dependencies = [ "amplify", "amplify_syn", @@ -310,8 +316,9 @@ dependencies = [ [[package]] name = "commit_verify" -version = "0.10.1" -source = "git+https://github.com/LNP-BP/client_side_validation?branch=stl#317d594d2c3d252bcb7d1a493cd49a04a320c3c9" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1baccabac24e468b317b3a627fa0a07e2708f9efbad2d1b44eb64fe993f7c621" dependencies = [ "amplify", "commit_encoding_derive", @@ -598,9 +605,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" +checksum = "c4ec6d5fe0b140acb27c9a0444118cf55bfbb4e0b259739429abb4521dd67c16" dependencies = [ "unicode-ident", ] @@ -646,7 +653,7 @@ dependencies = [ [[package]] name = "rgb-core" -version = "0.10.2" +version = "0.10.3" dependencies = [ "aluvm", "amplify", @@ -822,8 +829,9 @@ dependencies = [ [[package]] name = "strict_encoding" -version = "2.1.2" -source = "git+https://github.com/strict-types/strict-encoding?branch=stl#09c260290112897b913a1fe025bb9c12c73785dd" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fff0b729ca136cddccc87481dd932a442133a12a490f349d67f5d4c20b421e5" dependencies = [ "amplify", "half", @@ -834,7 +842,8 @@ dependencies = [ [[package]] name = "strict_encoding_derive" version = "2.0.0" -source = "git+https://github.com/strict-types/strict-encoding?branch=stl#09c260290112897b913a1fe025bb9c12c73785dd" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f5adae55367464f5a229bfd539682c94f870b98a220be6e61dc43f85d612e7e" dependencies = [ "amplify_syn", "heck", @@ -845,8 +854,9 @@ dependencies = [ [[package]] name = "strict_types" -version = "1.1.1" -source = "git+https://github.com/strict-types/strict-types?branch=fix/typesys-builder#649eface5c47a117ff443bfac7ba70a73de2ba27" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7af86f31fce50e8e4635509b6114c71aaa3a37cb3df1b8ea0ab5d5cf58afd688" dependencies = [ "amplify", "baid58", diff --git a/Cargo.toml b/Cargo.toml index 0a2bc0ee..b87b880b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rgb-core" -version = "0.10.2" +version = "0.10.3" authors = ["Dr Maxim Orlovsky "] description = "RGB Core Library: confidential & scalable smart contracts on Bitcoin & Lightning (consensus layer)" repository = "https://github.com/RGB-WG/rgb-core" @@ -23,12 +23,12 @@ required-features = ["stl"] [dependencies] amplify = "~4.0.0" -strict_encoding = "~2.1.2" -strict_types = "~1.1.1" -aluvm = { version = "~0.10.1", features = ["std"] } -commit_verify = { version = "~0.10.1", features = ["rand", "derive"] } +strict_encoding = "~2.2.0" +strict_types = "~1.2.0" +aluvm = { version = "~0.10.2", features = ["std"] } +commit_verify = { version = "~0.10.2", features = ["rand", "derive"] } single_use_seals = "~0.10.0" -bp-core = { version = "~0.10.2" } +bp-core = { version = "~0.10.3" } secp256k1-zkp = { version = "0.8.0", features = ["use-rand", "rand-std", "global-context"] } baid58 = "~0.3.1" mime = "~0.3.16" @@ -59,10 +59,3 @@ wasm-bindgen-test = "0.3" [package.metadata.docs.rs] features = [ "all" ] - -[patch.crates-io] -strict_encoding = { git = "https://github.com/strict-types/strict-encoding", branch = "stl" } -strict_types = { git = "https://github.com/strict-types/strict-types", branch = "fix/typesys-builder" } -commit_verify = { git = "https://github.com/LNP-BP/client_side_validation", branch = "stl" } -bp-core = { git = "https://github.com/BP-WG/bp-core", branch = "stl" } -aluvm = { git = "https://github.com/AluVM/rust-aluvm" }