diff --git a/Cargo.lock b/Cargo.lock index 933cff9c..86d1b0e8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -168,7 +168,7 @@ dependencies = [ [[package]] name = "bp-consensus" -version = "0.10.11" +version = "0.11.0-beta.1" dependencies = [ "amplify", "chrono", @@ -181,7 +181,7 @@ dependencies = [ [[package]] name = "bp-core" -version = "0.10.11" +version = "0.11.0-beta.1" dependencies = [ "amplify", "bp-consensus", @@ -196,7 +196,7 @@ dependencies = [ [[package]] name = "bp-dbc" -version = "0.10.11" +version = "0.11.0-beta.1" dependencies = [ "amplify", "base85", @@ -209,7 +209,7 @@ dependencies = [ [[package]] name = "bp-seals" -version = "0.10.11" +version = "0.11.0-beta.1" dependencies = [ "amplify", "baid58", @@ -266,7 +266,8 @@ dependencies = [ [[package]] name = "commit_encoding_derive" version = "0.10.0" -source = "git+https://github.com/LNP-BP/client_side_validation?branch=v0.11#5d1e05803158dc6a59599dcf43657d31ff6911e8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00033f14d67c4169d588f085ea2faeb7b610cf03a74d42ea09eeba31abef2047" dependencies = [ "amplify", "amplify_syn", @@ -278,7 +279,8 @@ dependencies = [ [[package]] name = "commit_verify" version = "0.11.0-beta.1" -source = "git+https://github.com/LNP-BP/client_side_validation?branch=v0.11#5d1e05803158dc6a59599dcf43657d31ff6911e8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82c1a7d13181451d927abcc477d4565f23eb06ab36820599cc75ed3161147daa" dependencies = [ "amplify", "commit_encoding_derive", @@ -559,9 +561,9 @@ checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "secp256k1" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" +checksum = "2acea373acb8c21ecb5a23741452acd2593ed44ee3d343e72baaa143bc89d0d5" dependencies = [ "rand", "secp256k1-sys", @@ -570,9 +572,9 @@ dependencies = [ [[package]] name = "secp256k1-sys" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a129b9e9efbfb223753b9163c4ab3b13cff7fd9c7f010fbac25ab4099fa07e" +checksum = "09e67c467c38fd24bd5499dc9a18183b31575c12ee549197e3e20d57aa4fe3b7" dependencies = [ "cc", ] @@ -654,7 +656,8 @@ dependencies = [ [[package]] name = "single_use_seals" version = "0.11.0-beta.1" -source = "git+https://github.com/LNP-BP/client_side_validation?branch=v0.11#5d1e05803158dc6a59599dcf43657d31ff6911e8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a46b0f289450dc06e7b94f048a55ac437177532f2c6c9bed12c1de7ac948f5a5" dependencies = [ "amplify_derive", ] diff --git a/Cargo.toml b/Cargo.toml index 8f7109aa..4cd9e65b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ default-members = [ ] [workspace.package] -version = "0.10.11" +version = "0.11.0-beta.1" authors = ["Dr Maxim Orlovsky "] homepage = "https://github.com/BP-WG" repository = "https://github.com/BP-WG/bp-core" @@ -27,10 +27,10 @@ strict_encoding = "2.6.1" strict_types = "1.6.3" commit_verify = "0.11.0-beta.1" single_use_seals = "0.11.0-beta.1" -bp-consensus = { version = "0.10.11", path = "consensus" } -bp-dbc = { version = "0.10.11", path = "./dbc" } -bp-seals = { version = "0.10.11", path = "./seals" } -secp256k1 = { version = "0.27.0", features = ["global-context"] } +bp-consensus = { version = "0.11.0-beta.1", path = "consensus" } +bp-dbc = { version = "0.11.0-beta.1", path = "./dbc" } +bp-seals = { version = "0.11.0-beta.1", path = "./seals" } +secp256k1 = { version = "0.28.0", features = ["global-context"] } serde_crate = { package = "serde", version = "1", features = ["derive"] } [package] @@ -81,7 +81,3 @@ stl = ["strict_types", "strict_types/base64", "bp-consensus/stl", "commit_verify [package.metadata.docs.rs] features = [ "all" ] - -[patch.crates-io] -commit_verify = { git = "https://github.com/LNP-BP/client_side_validation", branch = "v0.11" } -single_use_seals = { git = "https://github.com/LNP-BP/client_side_validation", branch = "v0.11" } diff --git a/consensus/src/lib.rs b/consensus/src/lib.rs index e273dc7b..7eb6cc69 100644 --- a/consensus/src/lib.rs +++ b/consensus/src/lib.rs @@ -90,7 +90,7 @@ pub use timelocks::{ pub use tx::{ Outpoint, OutpointParseError, Sats, Tx, TxIn, TxOut, TxParseError, TxVer, Txid, Vout, }; -pub use util::{Chain, ChainParseError, NonStandardValue}; +pub use util::NonStandardValue; pub use weights::{VBytes, Weight, WeightUnits}; pub const LIB_NAME_BITCOIN: &str = "Bitcoin"; diff --git a/consensus/src/stl.rs b/consensus/src/stl.rs index 5eb8e71e..73806020 100644 --- a/consensus/src/stl.rs +++ b/consensus/src/stl.rs @@ -24,7 +24,7 @@ use strict_types::{CompileError, LibBuilder, TypeLib}; use crate::timelocks::TimeLockInterval; use crate::{ - Bip340Sig, BlockHeader, ByteStr, Chain, CompressedPk, ControlBlock, FutureLeafVer, InternalPk, + Bip340Sig, BlockHeader, ByteStr, CompressedPk, ControlBlock, FutureLeafVer, InternalPk, LeafScript, LegacyPk, LegacySig, LockHeight, LockTimestamp, OpCode, OutputPk, PubkeyHash, RedeemScript, ScriptHash, TapCode, TapLeafHash, TapNodeHash, TapScript, Tx, UncompressedPk, VBytes, VarInt, WPubkeyHash, WScriptHash, WeightUnits, WitnessProgram, WitnessScript, @@ -37,7 +37,7 @@ pub const LIB_ID_BITCOIN: &str = pub const LIB_ID_BP_TX: &str = "urn:ubideco:stl:HX2UBak8vPsTokug1DGMDvTpzns3xUdwZ7QJdyt4qBA9#speed-atlanta-trilogy"; pub const LIB_ID_BP_CONSENSUS: &str = - "urn:ubideco:stl:8nFxDqDPmHD15hQf1npGQbDfpRX4Y9hXoo7VfarMJX11#urgent-viva-ninja"; + "urn:ubideco:stl:DQtzB8Kcfm7XeuhWf8sv3n31c5V2qK6VS1Zbye76haUQ#erosion-quiet-kinetic"; #[deprecated(since = "0.10.8", note = "use _bp_tx_stl instead")] fn _bitcoin_stl() -> Result { _bp_tx_stl() } @@ -83,7 +83,6 @@ fn _bp_consensus_stl() -> Result { .transpile::() .transpile::() .transpile::() - .transpile::() .transpile::() .transpile::() .compile() diff --git a/consensus/src/taproot.rs b/consensus/src/taproot.rs index f627978c..cde02412 100644 --- a/consensus/src/taproot.rs +++ b/consensus/src/taproot.rs @@ -143,7 +143,7 @@ impl FromStr for XOnlyPk { #[derive(Wrapper, WrapperMut, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash, Debug, From)] #[wrapper(Deref, LowerHex, Display, FromStr)] #[wrapper_mut(DerefMut)] -#[derive(StrictType, StrictDumb)] +#[derive(StrictType, StrictDumb, StrictEncode, StrictDecode)] #[strict_type(lib = LIB_NAME_BITCOIN)] #[cfg_attr( feature = "serde", @@ -205,24 +205,6 @@ impl From for [u8; 32] { fn from(pk: InternalPk) -> [u8; 32] { pk.to_byte_array() } } -// TODO: Remove custom implementation in v0.11 -impl StrictEncode for InternalPk { - fn strict_encode(&self, writer: W) -> io::Result { - let bytes = Bytes32::from(self.0.serialize()); - writer.write_newtype::(&bytes) - } -} - -impl StrictDecode for InternalPk { - fn strict_decode(reader: &mut impl TypedRead) -> Result { - reader.read_tuple(|r| { - let bytes: Bytes32 = r.read_field()?; - let pk = XOnlyPk::from_byte_array(bytes.to_byte_array())?; - Ok(InternalPk(pk)) - }) - } -} - /// Output taproot key - an [`InternalPk`] tweaked with merkle root of the /// script tree - or its own hash. Used only inside addresses and raw taproot /// descriptors. diff --git a/consensus/src/util.rs b/consensus/src/util.rs index f517b4b5..9baaef54 100644 --- a/consensus/src/util.rs +++ b/consensus/src/util.rs @@ -20,9 +20,6 @@ // limitations under the License. use std::fmt::{Debug, Display}; -use std::str::FromStr; - -use crate::LIB_NAME_BITCOIN; /// the provided value {value} for {matter} is non-standard; while it is /// accepted by the bitcoin consensus rules, the software prohibits from using @@ -37,86 +34,3 @@ pub struct NonStandardValue { impl NonStandardValue { pub const fn with(value: T, matter: &'static str) -> Self { NonStandardValue { value, matter } } } - -#[derive(Clone, Eq, PartialEq, Debug, Display, Error)] -#[display("invalid blockchain name '{0}'")] -pub struct ChainParseError(String); - -#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Display, Default)] -#[derive(StrictType, StrictEncode, StrictDecode)] -#[strict_type(lib = LIB_NAME_BITCOIN, tags = repr, into_u8, try_from_u8)] -#[derive(CommitEncode)] -#[commit_encode(strategy = strict)] -#[repr(u8)] -// TODO: v0.11 make non_exhaustive -pub enum Chain { - #[default] - #[display("mainnet")] - Bitcoin = 0x00, - - #[display("testnet")] - Testnet3 = 0x83, - - #[display("regtest")] - Regtest = 0x80, - - #[display("signet")] - Signet = 0x84, -} - -impl Chain { - #[inline] - pub fn is_test_chain(self) -> bool { - match self { - Chain::Bitcoin => false, - Chain::Testnet3 | Chain::Regtest | Chain::Signet => true, - } - } -} - -impl FromStr for Chain { - type Err = ChainParseError; - - fn from_str(s: &str) -> Result { - let chain = s.to_lowercase(); - Ok(match chain.as_str() { - "mainnet" | "bitcoin" => Chain::Bitcoin, - "testnet" | "testnet3" => Chain::Testnet3, - "regtest" => Chain::Regtest, - "signet" => Chain::Signet, - _ => return Err(ChainParseError(chain)), - }) - } -} - -#[cfg(feature = "serde")] -mod _serde { - use serde::de::Error; - use serde::{Deserialize, Deserializer, Serialize, Serializer}; - - use super::*; - - impl Serialize for Chain { - fn serialize(&self, serializer: S) -> Result - where S: Serializer { - if serializer.is_human_readable() { - self.to_string().serialize(serializer) - } else { - (*self as u8).serialize(serializer) - } - } - } - - impl<'de> Deserialize<'de> for Chain { - fn deserialize(deserializer: D) -> Result - where D: Deserializer<'de> { - if deserializer.is_human_readable() { - let s = String::deserialize(deserializer)?; - Chain::from_str(&s).map_err(D::Error::custom) - } else { - let v = u8::deserialize(deserializer)?; - Chain::try_from(v).map_err(D::Error::custom) - } - } - } -} diff --git a/src/stl.rs b/src/stl.rs index ecac5b89..617c9f8b 100644 --- a/src/stl.rs +++ b/src/stl.rs @@ -30,7 +30,7 @@ use strict_types::{CompileError, LibBuilder, TypeLib}; /// Strict types id for the library providing data types from [`dbc`] and /// [`seals`] crates. pub const LIB_ID_BPCORE: &str = - "urn:ubideco:stl:8RW9jc3Za592QYvum2jiPDtXjpjVdBzT8J2nurNmKX2o#change-mango-survive"; + "urn:ubideco:stl:E4xYrMV4cHgYhTPzrjG3DxzAyLEMnbvnsrBsGhQP4anV#quest-harlem-mirror"; fn _bp_core_stl() -> Result { LibBuilder::new(libname!(LIB_NAME_BPCORE), tiny_bset! { diff --git a/stl/BPCore@0.1.0.sta b/stl/BPCore@0.1.0.sta index edfad14d..5e9f5496 100644 --- a/stl/BPCore@0.1.0.sta +++ b/stl/BPCore@0.1.0.sta @@ -1,5 +1,5 @@ -----BEGIN STRICT TYPE LIB----- -Id: urn:ubideco:stl:8RW9jc3Za592QYvum2jiPDtXjpjVdBzT8J2nurNmKX2o +Id: urn:ubideco:stl:E4xYrMV4cHgYhTPzrjG3DxzAyLEMnbvnsrBsGhQP4anV Name: BPCore Dependencies: urn:ubideco:stl:ZtHaBzu9ojbDahaGKEXe5v9DfSDxLERbLkEB23R6Q6V, @@ -8,68 +8,68 @@ Dependencies: BkJQQ29yZQMIbJMpP1Zo7NnfnUB1CNehMyMWREFWAosurAm/5d+NQgxDb21taXRW ZXJpZnl7hIA8nvriESWnfCw5vHDS/ej5Q64N/Zz05oLtx2bKcANTdGT1bBNiI/Y5 -p0oJk9xHRsn5iqu4g1hdtdkWPxh+xCgaCgdCaXRjb2luAwdCaXRjb2luBwAh4z5D +p0oJk9xHRsn5iqu4g1hdtdkWPxh+xCgaCgdCaXRjb2luAwdCaXRjb2luCAAh4z5D xapc8iknU6M4wWftO2OcTdnOvamPNGkXuslDdQRWb3V0Jav1uRIUF7qjOdRfexV1 p3FL4Xp1GF3QMTV61Mkt6YYLU2NyaXB0Qnl0ZXMxu67ohIl3xbAHMXIxzZL2MLYp Lc2Jf9y63sW6xOl/2QtUYXBOb2RlSGFzaF+s2W3lP07FFNmxjWeA2gqr6y0mC/03 LaPAeqRdOZ9NCkxlYWZTY3JpcHSjgkLzy9fR0KES2o3hYC9W1PhvDsTEdsXAaFlM -SwRlVgRUeGlktjMJqRi/tpINbshYpCSHI0ZaaT9yQwe//x3XOnOBTskHTGVhZlZl -ct/4ADyB/kf8VCOx0sbiDw3fqma9zPN9dBPJH2XaADyICkludGVybmFsUGsMQ29t -bWl0VmVyaWZ5BwAv7s8eRNKhKbmKFDhHSzlxlSsoHKIBktUTJviyNmBeZwtNZXJr -bGVQcm9vZjCVfuYdYTRZuwUI5OGvPWohv9b7+x0xgqd55UV04FaxClByb3RvY29s -SWQ1N6lRFcjqhdxS96uB8nFlUQUmU5RCV6+JE+h71Jux0wdNZXNzYWdlU0OVD0Qz -KiP/6IDPUOfPCAahBM3gSGsT4Qz8GINDsNcIVHJlZU5vZGVVjTcH+EWGU4DuzEFV -JOikmWBR05SCQ/GU9/GRVyPp5gpNZXJrbGVOb2RlxKN7LSxSbrVJWtXZihWIvHNJ -7AFaxfUJdqdV7py7D1QLTWVya2xlQmxvY2vLhaeLEqU3TP/7I/XLv5m2ZEsplYZ9 -cReJIjVZ/HuLVwpNZXJrbGVUcmVlA1N0ZAEAIuTglum9fVyG9eHfXXcBav45xzzZ -NIVQlECJjKijeV4CVTUQAAhBbmNob3JJZAUBAAcAAEAgABFBbmNob3JNZXJrbGVC -bG9jawYDBHR4aWQC9WwTYiP2OadKCZPcR0bJ+YqruINYXbXZFj8YfsQoGgqjgkLz -y9fR0KES2o3hYC9W1PhvDsTEdsXAaFlMSwRlVghtcGNQcm9vZgIIbJMpP1Zo7Nnf -nUB1CNehMyMWREFWAosurAm/5d+NQsSjey0sUm61SVrV2YoViLxzSewBWsX1CXan -Ve6cuw9UCGRiY1Byb29mAapKxGjifpS21gMqlp26VvtdZYFcCXpQBHAl7YizA5S/ -EUFuY2hvck1lcmtsZVByb29mBgMEdHhpZAL1bBNiI/Y5p0oJk9xHRsn5iqu4g1hd -tdkWPxh+xCgaCqOCQvPL19HQoRLajeFgL1bU+G8OxMR2xcBoWUxLBGVWCG1wY1By -b29mAghskyk/Vmjs2d+dQHUI16EzIxZEQVYCiy6sCb/l341CL+7PHkTSoSm5ihQ4 -R0s5cZUrKByiAZLVEyb4sjZgXmcIZGJjUHJvb2YBqkrEaOJ+lLbWAyqWnbpW+11l -gVwJelAEcCXtiLMDlL8QQW5jaG9yTWVya2xlVHJlZQYDBHR4aWQC9WwTYiP2OadK -CZPcR0bJ+YqruINYXbXZFj8YfsQoGgqjgkLzy9fR0KES2o3hYC9W1PhvDsTEdsXA -aFlMSwRlVghtcGNQcm9vZgIIbJMpP1Zo7NnfnUB1CNehMyMWREFWAosurAm/5d+N -QsuFp4sSpTdM//sj9cu/mbZkSymVhn1xF4kiNVn8e4tXCGRiY1Byb29mAapKxGji -fpS21gMqlp26VvtdZYFcCXpQBHAl7YizA5S/DkJsaW5kU2VhbFR4UHRyBgQGbWV0 -aG9kAdJSMHx9cZA19zB+6Cgl7BuBK6GH3Z2YSYtKjRb6btVDBHR4aWQBseU4ORQK -OL7wbxrPvhxgpW/h4fR9eAgoeb/R+tMQId0Edm91dAL1bBNiI/Y5p0oJk9xHRsn5 -iqu4g1hdtdkWPxh+xCgaCiHjPkPFqlzyKSdTozjBZ+07Y5xN2c69qY80aRe6yUN1 -CGJsaW5kaW5nAAAIDUJsaW5kU2VhbFR4aWQGBAZtZXRob2QB0lIwfH1xkDX3MH7o -KCXsG4EroYfdnZhJi0qNFvpu1UMEdHhpZAL1bBNiI/Y5p0oJk9xHRsn5iqu4g1hd -tdkWPxh+xCgaCqOCQvPL19HQoRLajeFgL1bU+G8OxMR2xcBoWUxLBGVWBHZvdXQC -9WwTYiP2OadKCZPcR0bJ+YqruINYXbXZFj8YfsQoGgoh4z5Dxapc8iknU6M4wWft -O2OcTdnOvamPNGkXuslDdQhibGluZGluZwAACAtDbG9zZU1ldGhvZAMCCm9wcmV0 -Rmlyc3QAC3RhcHJldEZpcnN0ARFFeHBsaWNpdFNlYWxUeFB0cgYDBm1ldGhvZAHS -UjB8fXGQNfcwfugoJewbgSuhh92dmEmLSo0W+m7VQwR0eGlkAbHlODkUCji+8G8a -z74cYKVv4eH0fXgIKHm/0frTECHdBHZvdXQC9WwTYiP2OadKCZPcR0bJ+YqruINY -XbXZFj8YfsQoGgoh4z5Dxapc8iknU6M4wWftO2OcTdnOvamPNGkXuslDdRBFeHBs -aWNpdFNlYWxUeGlkBgMGbWV0aG9kAdJSMHx9cZA19zB+6Cgl7BuBK6GH3Z2YSYtK -jRb6btVDBHR4aWQC9WwTYiP2OadKCZPcR0bJ+YqruINYXbXZFj8YfsQoGgqjgkLz -y9fR0KES2o3hYC9W1PhvDsTEdsXAaFlMSwRlVgR2b3V0AvVsE2Ij9jmnSgmT3EdG -yfmKq7iDWF212RY/GH7EKBoKIeM+Q8WqXPIpJ1OjOMFn7TtjnE3Zzr2pjzRpF7rJ -Q3UFUHJvb2YEAgAKb3ByZXRGaXJzdAAAAAELdGFwcmV0Rmlyc3QABQEBGyc5NK5H -VuHrx50i/fbG0qXZSO79Qa2pcwuGhQ73eTAKU2VjcmV0U2VhbAUBAAcAAEAgABFU -YXByZXROb2RlUGFydG5lcgQDAAhsZWZ0Tm9kZQAFAQL1bBNiI/Y5p0oJk9xHRsn5 -iqu4g1hdtdkWPxh+xCgaCjG7ruiEiXfFsAcxcjHNkvYwtiktzYl/3LrexbrE6X/Z -AQlyaWdodExlYWYABQEC9WwTYiP2OadKCZPcR0bJ+YqruINYXbXZFj8YfsQoGgpf -rNlt5T9OxRTZsY1ngNoKq+stJgv9Ny2jwHqkXTmfTQILcmlnaHRCcmFuY2gABQEB -OD9iLnFT0sghkTzLdx2fPWTfdvIoVVkt+EZDlBZNbQUPVGFwcmV0UGF0aFByb29m -BgILcGFydG5lck5vZGUABAIABG5vbmUAAAABBHNvbWUABQEBAXwHXQBASxaVmBsX -w2Etxrjqrg1/cFlikhZ1WuUZkxEFbm9uY2UAAAELVGFwcmV0UHJvb2YGAglwYXRo -UHJvb2YBE8RTUmYnu0QljDtn9MzCfv785Ce3z14P/YGPL3572HwKaW50ZXJuYWxQ -awL1bBNiI/Y5p0oJk9xHRsn5iqu4g1hdtdkWPxh+xCgaCt/4ADyB/kf8VCOx0sbi -Dw3fqma9zPN9dBPJH2XaADyIEVRhcHJldFJpZ2h0QnJhbmNoBgIMbGVmdE5vZGVI -YXNoAvVsE2Ij9jmnSgmT3EdGyfmKq7iDWF212RY/GH7EKBoKMbuu6ISJd8WwBzFy -Mc2S9jC2KS3NiX/cut7FusTpf9kNcmlnaHROb2RlSGFzaAL1bBNiI/Y5p0oJk9xH -Rsn5iqu4g1hdtdkWPxh+xCgaCjG7ruiEiXfFsAcxcjHNkvYwtiktzYl/3LrexbrE -6X/ZBVR4UHRyBAIACXdpdG5lc3NUeAAAAAEEdHhpZAAFAQL1bBNiI/Y5p0oJk9xH -Rsn5iqu4g1hdtdkWPxh+xCgaCqOCQvPL19HQoRLajeFgL1bU+G8OxMR2xcBoWUxL -BGVW +SwRlVgRUeGlkqYWEd1OeaPuwv+7HmiHEV0PBVPj6vT+Y4NORPee3N3gKSW50ZXJu +YWxQa7YzCakYv7aSDW7IWKQkhyNGWmk/ckMHv/8d1zpzgU7JB0xlYWZWZXL8oqcq +vpH+zYKosZiQYyLCTnaqqjXyJNFzBWOgGC6IWQdYT25seVBrDENvbW1pdFZlcmlm +eQcAL+7PHkTSoSm5ihQ4R0s5cZUrKByiAZLVEyb4sjZgXmcLTWVya2xlUHJvb2Yw +lX7mHWE0WbsFCOThrz1qIb/W+/sdMYKneeVFdOBWsQpQcm90b2NvbElkNTepURXI +6oXcUvergfJxZVEFJlOUQleviRPoe9SbsdMHTWVzc2FnZVNDlQ9EMyoj/+iAz1Dn +zwgGoQTN4EhrE+EM/BiDQ7DXCFRyZWVOb2RlVY03B/hFhlOA7sxBVSTopJlgUdOU +gkPxlPfxkVcj6eYKTWVya2xlTm9kZcSjey0sUm61SVrV2YoViLxzSewBWsX1CXan +Ve6cuw9UC01lcmtsZUJsb2Nry4WnixKlN0z/+yP1y7+ZtmRLKZWGfXEXiSI1Wfx7 +i1cKTWVya2xlVHJlZQNTdGQBACLk4JbpvX1chvXh3113AWr+Occ82TSFUJRAiYyo +o3leAlU1EAAIQW5jaG9ySWQFAQAHAABAIAARQW5jaG9yTWVya2xlQmxvY2sGAwR0 +eGlkAvVsE2Ij9jmnSgmT3EdGyfmKq7iDWF212RY/GH7EKBoKo4JC88vX0dChEtqN +4WAvVtT4bw7ExHbFwGhZTEsEZVYIbXBjUHJvb2YCCGyTKT9WaOzZ351AdQjXoTMj +FkRBVgKLLqwJv+XfjULEo3stLFJutUla1dmKFYi8c0nsAVrF9Ql2p1XunLsPVAhk +YmNQcm9vZgHUlmYB3jzummNgw+4NYLL9m9n4vO9oG2GrUIEodbTLhBFBbmNob3JN +ZXJrbGVQcm9vZgYDBHR4aWQC9WwTYiP2OadKCZPcR0bJ+YqruINYXbXZFj8YfsQo +GgqjgkLzy9fR0KES2o3hYC9W1PhvDsTEdsXAaFlMSwRlVghtcGNQcm9vZgIIbJMp +P1Zo7NnfnUB1CNehMyMWREFWAosurAm/5d+NQi/uzx5E0qEpuYoUOEdLOXGVKygc +ogGS1RMm+LI2YF5nCGRiY1Byb29mAdSWZgHePO6aY2DD7g1gsv2b2fi872gbYatQ +gSh1tMuEEEFuY2hvck1lcmtsZVRyZWUGAwR0eGlkAvVsE2Ij9jmnSgmT3EdGyfmK +q7iDWF212RY/GH7EKBoKo4JC88vX0dChEtqN4WAvVtT4bw7ExHbFwGhZTEsEZVYI +bXBjUHJvb2YCCGyTKT9WaOzZ351AdQjXoTMjFkRBVgKLLqwJv+XfjULLhaeLEqU3 +TP/7I/XLv5m2ZEsplYZ9cReJIjVZ/HuLVwhkYmNQcm9vZgHUlmYB3jzummNgw+4N +YLL9m9n4vO9oG2GrUIEodbTLhA5CbGluZFNlYWxUeFB0cgYEBm1ldGhvZAHSUjB8 +fXGQNfcwfugoJewbgSuhh92dmEmLSo0W+m7VQwR0eGlkAbHlODkUCji+8G8az74c +YKVv4eH0fXgIKHm/0frTECHdBHZvdXQC9WwTYiP2OadKCZPcR0bJ+YqruINYXbXZ +Fj8YfsQoGgoh4z5Dxapc8iknU6M4wWftO2OcTdnOvamPNGkXuslDdQhibGluZGlu +ZwAACA1CbGluZFNlYWxUeGlkBgQGbWV0aG9kAdJSMHx9cZA19zB+6Cgl7BuBK6GH +3Z2YSYtKjRb6btVDBHR4aWQC9WwTYiP2OadKCZPcR0bJ+YqruINYXbXZFj8YfsQo +GgqjgkLzy9fR0KES2o3hYC9W1PhvDsTEdsXAaFlMSwRlVgR2b3V0AvVsE2Ij9jmn +SgmT3EdGyfmKq7iDWF212RY/GH7EKBoKIeM+Q8WqXPIpJ1OjOMFn7TtjnE3Zzr2p +jzRpF7rJQ3UIYmxpbmRpbmcAAAgLQ2xvc2VNZXRob2QDAgpvcHJldEZpcnN0AAt0 +YXByZXRGaXJzdAERRXhwbGljaXRTZWFsVHhQdHIGAwZtZXRob2QB0lIwfH1xkDX3 +MH7oKCXsG4EroYfdnZhJi0qNFvpu1UMEdHhpZAGx5Tg5FAo4vvBvGs++HGClb+Hh +9H14CCh5v9H60xAh3QR2b3V0AvVsE2Ij9jmnSgmT3EdGyfmKq7iDWF212RY/GH7E +KBoKIeM+Q8WqXPIpJ1OjOMFn7TtjnE3Zzr2pjzRpF7rJQ3UQRXhwbGljaXRTZWFs +VHhpZAYDBm1ldGhvZAHSUjB8fXGQNfcwfugoJewbgSuhh92dmEmLSo0W+m7VQwR0 +eGlkAvVsE2Ij9jmnSgmT3EdGyfmKq7iDWF212RY/GH7EKBoKo4JC88vX0dChEtqN +4WAvVtT4bw7ExHbFwGhZTEsEZVYEdm91dAL1bBNiI/Y5p0oJk9xHRsn5iqu4g1hd +tdkWPxh+xCgaCiHjPkPFqlzyKSdTozjBZ+07Y5xN2c69qY80aRe6yUN1BVByb29m +BAIACm9wcmV0Rmlyc3QAAAABC3RhcHJldEZpcnN0AAUBAQ+2H5g/Gu2rjnvK5hyt +61m+s5sC5IXzN5lwiJbZEwgMClNlY3JldFNlYWwFAQAHAABAIAARVGFwcmV0Tm9k +ZVBhcnRuZXIEAwAIbGVmdE5vZGUABQEC9WwTYiP2OadKCZPcR0bJ+YqruINYXbXZ +Fj8YfsQoGgoxu67ohIl3xbAHMXIxzZL2MLYpLc2Jf9y63sW6xOl/2QEJcmlnaHRM +ZWFmAAUBAvVsE2Ij9jmnSgmT3EdGyfmKq7iDWF212RY/GH7EKBoKX6zZbeU/TsUU +2bGNZ4DaCqvrLSYL/Tcto8B6pF05n00CC3JpZ2h0QnJhbmNoAAUBATg/Yi5xU9LI +IZE8y3cdnz1k33byKFVZLfhGQ5QWTW0FD1RhcHJldFBhdGhQcm9vZgYCC3BhcnRu +ZXJOb2RlAAQCAARub25lAAAAAQRzb21lAAUBAQF8B10AQEsWlZgbF8NhLca46q4N +f3BZYpIWdVrlGZMRBW5vbmNlAAABC1RhcHJldFByb29mBgIJcGF0aFByb29mARPE +U1JmJ7tEJYw7Z/TMwn7+/OQnt89eD/2Bjy9+e9h8CmludGVybmFsUGsC9WwTYiP2 +OadKCZPcR0bJ+YqruINYXbXZFj8YfsQoGgqphYR3U55o+7C/7seaIcRXQ8FU+Pq9 +P5jg05E957c3eBFUYXByZXRSaWdodEJyYW5jaAYCDGxlZnROb2RlSGFzaAL1bBNi +I/Y5p0oJk9xHRsn5iqu4g1hdtdkWPxh+xCgaCjG7ruiEiXfFsAcxcjHNkvYwtikt +zYl/3LrexbrE6X/ZDXJpZ2h0Tm9kZUhhc2gC9WwTYiP2OadKCZPcR0bJ+YqruINY +XbXZFj8YfsQoGgoxu67ohIl3xbAHMXIxzZL2MLYpLc2Jf9y63sW6xOl/2QVUeFB0 +cgQCAAl3aXRuZXNzVHgAAAABBHR4aWQABQEC9WwTYiP2OadKCZPcR0bJ+YqruINY +XbXZFj8YfsQoGgqjgkLzy9fR0KES2o3hYC9W1PhvDsTEdsXAaFlMSwRlVg== -----END STRICT TYPE LIB----- diff --git a/stl/BPCore@0.1.0.stl b/stl/BPCore@0.1.0.stl index 34f37f4f..eb411691 100644 Binary files a/stl/BPCore@0.1.0.stl and b/stl/BPCore@0.1.0.stl differ diff --git a/stl/BPCore@0.1.0.sty b/stl/BPCore@0.1.0.sty index 1faca3b7..03901946 100644 --- a/stl/BPCore@0.1.0.sty +++ b/stl/BPCore@0.1.0.sty @@ -1,5 +1,5 @@ {- - Id: urn:ubideco:stl:8RW9jc3Za592QYvum2jiPDtXjpjVdBzT8J2nurNmKX2o#change-mango-survive + Id: urn:ubideco:stl:E4xYrMV4cHgYhTPzrjG3DxzAyLEMnbvnsrBsGhQP4anV#quest-harlem-mirror Name: BPCore Version: 0.1.0 Description: Bitcoin client-side-validation library @@ -31,8 +31,9 @@ import urn:ubideco:stl:HX2UBak8vPsTokug1DGMDvTpzns3xUdwZ7QJdyt4qBA9#speed-atlant -- TapNodeHash := urn:ubideco:semid:4M8xyvABKKKJseN6Pme5eKrAuusMNMXoY5s6ifsEcreC#crash-culture-jamaica -- LeafScript := urn:ubideco:semid:7SUbonQ62tSaBTPpbZPACQo2NogXodi2mW5WEEDfBvp4#brenda-round-micro -- Txid := urn:ubideco:semid:C1GfCrG7AXu2sFhRBspd7KpJK2YgyTkVy6pty5rZynRs#cowboy-diego-betty +-- InternalPk := urn:ubideco:semid:CQjz6cdRfD4cr8oUKmgBUEVkjbcNJ5L8eLc7qGeNHQVu#meter-nerve-chicken -- LeafVer := urn:ubideco:semid:DGELfUvcU62GNQRo7HaMbKDzYQwdYRMW3b91JHd4d3WY#tunnel-lagoon-cowboy --- InternalPk := urn:ubideco:semid:G5HFVaWwWNYSzqk548JgGZ8WKy6dQ2ftVgkJvHjgRudZ#horse-major-vienna +-- XOnlyPk := urn:ubideco:semid:J1BbH2Lx8P3yw9G244d92MMTP5jrkiaVzsr6FzRxpfur#evident-finance-promo @@ -82,8 +83,8 @@ data TapretNodePartner :: leftNode Bitcoin.TapNodeHash {- urn:ubideco:semid:4M8x | rightBranch TapretRightBranch -- urn:ubideco:semid:BPYcTtbxvzWp8h7SMapT14FzLCnrnGzSShHTWGHCSD4C#clark-magic-salon data TapretPathProof :: partnerNode TapretNodePartner?, nonce U8 --- urn:ubideco:semid:7QQkknWxkJLkef2AJrPSH3q165rB8ZTAUofNwW3ia5im#helena-wizard-podium -data TapretProof :: pathProof TapretPathProof, internalPk Bitcoin.InternalPk {- urn:ubideco:semid:G5HFVaWwWNYSzqk548JgGZ8WKy6dQ2ftVgkJvHjgRudZ#horse-major-vienna -} +-- urn:ubideco:semid:FWHkxMrhDjzsvWwKAxEDaXsiPsHZ5iAWK6pZYCABbn3V#aurora-bonjour-dinner +data TapretProof :: pathProof TapretPathProof, internalPk Bitcoin.InternalPk {- urn:ubideco:semid:CQjz6cdRfD4cr8oUKmgBUEVkjbcNJ5L8eLc7qGeNHQVu#meter-nerve-chicken -} -- urn:ubideco:semid:4nZtVVw7QJaMDHYffkHBWhxXSkLXLcJ89qTLZH4Z3xck#basket-prelude-bridge data TapretRightBranch :: leftNodeHash Bitcoin.TapNodeHash {- urn:ubideco:semid:4M8xyvABKKKJseN6Pme5eKrAuusMNMXoY5s6ifsEcreC#crash-culture-jamaica -}, rightNodeHash Bitcoin.TapNodeHash {- urn:ubideco:semid:4M8xyvABKKKJseN6Pme5eKrAuusMNMXoY5s6ifsEcreC#crash-culture-jamaica -} -- urn:ubideco:semid:CyRtMpPJkKLX3AdhgY7ZyA7PnYAzCo7yFTeYwwGsUBhn#strange-source-father diff --git a/stl/Bitcoin@0.1.0.sta b/stl/Bitcoin@0.1.0.sta index 92549b6d..a1faf26f 100644 --- a/stl/Bitcoin@0.1.0.sta +++ b/stl/Bitcoin@0.1.0.sta @@ -1,71 +1,71 @@ -----BEGIN STRICT TYPE LIB----- -Id: urn:ubideco:stl:8nFxDqDPmHD15hQf1npGQbDfpRX4Y9hXoo7VfarMJX11 +Id: urn:ubideco:stl:DQtzB8Kcfm7XeuhWf8sv3n31c5V2qK6VS1Zbye76haUQ Name: Bitcoin Dependencies: urn:ubideco:stl:9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ B0JpdGNvaW4Be4SAPJ764hElp3wsObxw0v3o+UOuDf2c9OaC7cdmynADU3RkAQNT -dGQBAGGGItF7rvBmAt/ndcmA4LNrbrroCQ2AdfdRO+xLk/ZNBEJvb2w3AAlCaXAz +dGQBAGGGItF7rvBmAt/ndcmA4LNrbrroCQ2AdfdRO+xLk/ZNBEJvb2w2AAlCaXAz NDBTaWcGAgNzaWcABwAAQEAADHNpZ2hhc2hfdHlwZQAEAgAEbm9uZQAAAAEEc29t ZQAFAQHbF2Q+dwkTJ+gEmSSB1dxgFSMIlVM55Yszn9RMT3JIKglCbG9ja0hhc2gF AQAHAABAIAALQmxvY2tIZWFkZXIGBgd2ZXJzaW9uAABEDXByZXZCbG9ja0hhc2gB 136XKN8Qx+HJT3+gvLwHRRJSZMs+SsX4k0LE/8jKtLcKbWVya2xlUm9vdAAHAABA IAAEdGltZQAABARiaXRzAAAEBW5vbmNlAAAEB0J5dGVTdHIFAQAIAABAAAAAAAAA -AAD/////AAAAAAVDaGFpbgMEB2JpdGNvaW4AB3JlZ3Rlc3SACHRlc3RuZXQzgwZz -aWduZXSEDENvbXByZXNzZWRQawUBAAcAAEAhAAxDb250cm9sQmxvY2sGBAtsZWFm -VmVyc2lvbgG2MwmpGL+2kg1uyFikJIcjRlppP3JDB7//Hdc6c4FOyQ9vdXRwdXRL -ZXlQYXJpdHkBj8omI6JVRCOVj6Z6p21DahXeZOsQs/T5mRQiL5URZogKaW50ZXJu -YWxQawHf+AA8gf5H/FQjsdLG4g8N36pmvczzfXQTyR9l2gA8iAxtZXJrbGVCcmFu -Y2gB7gMeZlFQaLZ0GVxRd/QKg8QAUlvBpDAUGABpT73wc6QNRnV0dXJlTGVhZlZl -cgUBAAABCkludGVybmFsUGsFAQAHAABAIAAKTGVhZlNjcmlwdAYCB3ZlcnNpb24B -tjMJqRi/tpINbshYpCSHI0ZaaT9yQwe//x3XOnOBTskGc2NyaXB0ASWr9bkSFBe6 -oznUX3sVdadxS+F6dRhd0DE1etTJLemGB0xlYWZWZXIFAQAAAQhMZWdhY3lQawYC -CmNvbXByZXNzZWQCe4SAPJ764hElp3wsObxw0v3o+UOuDf2c9OaC7cdmynBhhiLR -e67wZgLf53XJgOCza2666AkNgHX3UTvsS5P2TQZwdWJrZXkABwAAQCEACUxlZ2Fj -eVNpZwYCA3NpZwAIAABAAAAAAAAAAAD/AAAAAAAAAAxzaWdoYXNoX3R5cGUB2xdk -PncJEyfoBJkkgdXcYBUjCJVTOeWLM5/UTE9ySCoKTG9ja0hlaWdodAUBAAAECExv -Y2tUaW1lBQEAAAQNTG9ja1RpbWVzdGFtcAUBAAAEBk9wQ29kZQMSCnB1c2hCeXRl -czAAC3B1c2hCeXRlczMyIAlwdXNoRGF0YTFMCXB1c2hEYXRhMk0JcHVzaERhdGE0 -TghyZXNlcnZlZFAIcHVzaE51bTFRBnJldHVybmoDZHVwdgVlcXVhbIcLZXF1YWxW -ZXJpZnmICXJpcGVtZDE2MKYEc2hhMacGc2hhMjU2qAdoYXNoMTYwqQdoYXNoMjU2 -qghjaGVja1NpZ6wOY2hlY2tTaWdWZXJpZnmtCE91dHBvaW50BgIEdHhpZAGjgkLz -y9fR0KES2o3hYC9W1PhvDsTEdsXAaFlMSwRlVgR2b3V0ASHjPkPFqlzyKSdTozjB -Z+07Y5xN2c69qY80aRe6yUN1CE91dHB1dFBrBQEB/KKnKr6R/s2CqLGYkGMiwk52 -qqo18iTRcwVjoBguiFkGUGFyaXR5AwIEZXZlbgADb2RkAQpQdWJrZXlIYXNoBQEA -BwAAQBQADFJlZGVlbVNjcmlwdAUBASWr9bkSFBe6oznUX3sVdadxS+F6dRhd0DE1 -etTJLemGBFNhdHMFAQAACAtTY3JpcHRCeXRlcwUBAAgAAEAAAAAAAAAAAP////8A -AAAAClNjcmlwdEhhc2gFAQAHAABAFAAMU2NyaXB0UHVia2V5BQEBJav1uRIUF7qj -OdRfexV1p3FL4Xp1GF3QMTV61Mkt6YYFU2VxTm8FAQAABAlTaWdTY3JpcHQFAQEl -q/W5EhQXuqM51F97FXWncUvhenUYXdAxNXrUyS3phgtTaWdoYXNoRmxhZwMDA2Fs -bAEEbm9uZQIGc2luZ2xlAwtTaWdoYXNoVHlwZQYCBGZsYWcB/z5qf8jHhUNO/I7n -dLMAsZvsmHGimh7xAIvvEOso1TQMYW55b25lQ2FuUGF5AnuEgDye+uIRJad8LDm8 -cNL96PlDrg39nPTmgu3HZspwYYYi0Xuu8GYC3+d1yYDgs2tuuugJDYB191E77EuT -9k0NVGFwQnJhbmNoSGFzaAUBAAcAAEAgAAdUYXBDb2RlAwYLcHVzaEJ5dGVzMzIg -CXB1c2hEYXRhMUwJcHVzaERhdGEyTQlwdXNoRGF0YTROCHJlc2VydmVkUAZyZXR1 -cm5qC1RhcExlYWZIYXNoBQEABwAAQCAADVRhcE1lcmtsZVBhdGgFAQAIAa/rxZ3Y -/VBHHZhdwkEoLqupjEiK8mRjwXZ+UQYiwpLYAAAAAAAAAACAAAAAAAAAAAtUYXBO -b2RlSGFzaAUBAAcAAEAgAAlUYXBTY3JpcHQFAQElq/W5EhQXuqM51F97FXWncUvh -enUYXdAxNXrUyS3phhBUaW1lTG9ja0ludGVydmFsBAIABmhlaWdodAAFAQAAAgEE -dGltZQAFAQAAAgJUeAYEB3ZlcnNpb24BqHzGeWRn5VfXROXJYjrgDMuV2RoNLwPf -dMB1Ek++x54GaW5wdXRzAAgBChmQ11PyCpVmHxM79SNKJY/+S8jdCSekG+QEvY6i -RqoAAAAAAAAAAP////8AAAAAB291dHB1dHMACAGQO2RweYSPGyZTKuTOxqaJRKBT -WLjwgcsms7v4LZ478wAAAAAAAAAA/////wAAAAAIbG9ja1RpbWUBNdodFTkgbrvd -3KTDPYcx6vKbp9p03z3IgiAcTha1uRwEVHhJbgYECnByZXZPdXRwdXQB6GpAzVwl -+b3ihP9ppREyp0ErIVW9DlYSwb/jhJVgxQYJc2lnU2NyaXB0ATh1BLFLfA5GbUee -F0d9JHQkf/gDZOw9S6r3OiD3QXRrCHNlcXVlbmNlAQEZbYUpyPbaRE0VTo2cjL2e -D42JAlo7sJEhxj1SsB6HB3dpdG5lc3MBnVWTrLr5zeCbOEb4gwlx0zjJL251vHzj -IEWeqzgZph4FVHhPdXQGAgV2YWx1ZQGX9dcGQq4qM5IlO6hOHc7Ek+O/PtNxsYdz -hjVOzIiCawxzY3JpcHRQdWJrZXkBvvwe/GalGf1kUmo6E4dA5/EQLQu+/zrBRk7z -90B2dFwFVHhWZXIFAQAARARUeGlkBQEABwAAQCAADlVuY29tcHJlc3NlZFBrBQEA -BwAAQEEABlZCeXRlcwUBAAAEBlZhckludAUBAAAIBFZvdXQFAQAABAtXUHVia2V5 -SGFzaAUBAAcAAEAUAAtXU2NyaXB0SGFzaAUBAAcAAEAgAAtXZWlnaHRVbml0cwUB -AAAEB1dpdG5lc3MFAQAIAcRya4+PKNF6wZfIHY4NoZtiRJzm0GRd/sfpeDy1h/Gj -AAAAAAAAAAD/////AAAAAA5XaXRuZXNzUHJvZ3JhbQYCB3ZlcnNpb24B0ezadmfk -Qu1NEmmmZwM25f70N69ezitprroMRlbE+q0HcHJvZ3JhbQAIAABAAgAAAAAAAAAo -AAAAAAAAAA1XaXRuZXNzU2NyaXB0BQEBJav1uRIUF7qjOdRfexV1p3FL4Xp1GF3Q -MTV61Mkt6YYKV2l0bmVzc1ZlcgMRAnYwAAJ2MVECdjJSAnYzUwJ2NFQCdjVVAnY2 -VgJ2N1cCdjhYAnY5WQN2MTBaA3YxMVsDdjEyXAN2MTNdA3YxNF4DdjE1XwN2MTZg -BVd0eGlkBQEABwAAQCAAB1hPbmx5UGsFAQAHAABAIAA= +AAD/////AAAAAAxDb21wcmVzc2VkUGsFAQAHAABAIQAMQ29udHJvbEJsb2NrBgQL +bGVhZlZlcnNpb24BtjMJqRi/tpINbshYpCSHI0ZaaT9yQwe//x3XOnOBTskPb3V0 +cHV0S2V5UGFyaXR5AY/KJiOiVUQjlY+meqdtQ2oV3mTrELP0+ZkUIi+VEWaICmlu +dGVybmFsUGsBqYWEd1OeaPuwv+7HmiHEV0PBVPj6vT+Y4NORPee3N3gMbWVya2xl +QnJhbmNoAe4DHmZRUGi2dBlcUXf0CoPEAFJbwaQwFBgAaU+98HOkDUZ1dHVyZUxl +YWZWZXIFAQAAAQpJbnRlcm5hbFBrBQEB/KKnKr6R/s2CqLGYkGMiwk52qqo18iTR +cwVjoBguiFkKTGVhZlNjcmlwdAYCB3ZlcnNpb24BtjMJqRi/tpINbshYpCSHI0Za +aT9yQwe//x3XOnOBTskGc2NyaXB0ASWr9bkSFBe6oznUX3sVdadxS+F6dRhd0DE1 +etTJLemGB0xlYWZWZXIFAQAAAQhMZWdhY3lQawYCCmNvbXByZXNzZWQCe4SAPJ76 +4hElp3wsObxw0v3o+UOuDf2c9OaC7cdmynBhhiLRe67wZgLf53XJgOCza2666AkN +gHX3UTvsS5P2TQZwdWJrZXkABwAAQCEACUxlZ2FjeVNpZwYCA3NpZwAIAABAAAAA +AAAAAAD/AAAAAAAAAAxzaWdoYXNoX3R5cGUB2xdkPncJEyfoBJkkgdXcYBUjCJVT +OeWLM5/UTE9ySCoKTG9ja0hlaWdodAUBAAAECExvY2tUaW1lBQEAAAQNTG9ja1Rp +bWVzdGFtcAUBAAAEBk9wQ29kZQMSCnB1c2hCeXRlczAAC3B1c2hCeXRlczMyIAlw +dXNoRGF0YTFMCXB1c2hEYXRhMk0JcHVzaERhdGE0TghyZXNlcnZlZFAIcHVzaE51 +bTFRBnJldHVybmoDZHVwdgVlcXVhbIcLZXF1YWxWZXJpZnmICXJpcGVtZDE2MKYE +c2hhMacGc2hhMjU2qAdoYXNoMTYwqQdoYXNoMjU2qghjaGVja1NpZ6wOY2hlY2tT +aWdWZXJpZnmtCE91dHBvaW50BgIEdHhpZAGjgkLzy9fR0KES2o3hYC9W1PhvDsTE +dsXAaFlMSwRlVgR2b3V0ASHjPkPFqlzyKSdTozjBZ+07Y5xN2c69qY80aRe6yUN1 +CE91dHB1dFBrBQEB/KKnKr6R/s2CqLGYkGMiwk52qqo18iTRcwVjoBguiFkGUGFy +aXR5AwIEZXZlbgADb2RkAQpQdWJrZXlIYXNoBQEABwAAQBQADFJlZGVlbVNjcmlw +dAUBASWr9bkSFBe6oznUX3sVdadxS+F6dRhd0DE1etTJLemGBFNhdHMFAQAACAtT +Y3JpcHRCeXRlcwUBAAgAAEAAAAAAAAAAAP////8AAAAAClNjcmlwdEhhc2gFAQAH +AABAFAAMU2NyaXB0UHVia2V5BQEBJav1uRIUF7qjOdRfexV1p3FL4Xp1GF3QMTV6 +1Mkt6YYFU2VxTm8FAQAABAlTaWdTY3JpcHQFAQElq/W5EhQXuqM51F97FXWncUvh +enUYXdAxNXrUyS3phgtTaWdoYXNoRmxhZwMDA2FsbAEEbm9uZQIGc2luZ2xlAwtT +aWdoYXNoVHlwZQYCBGZsYWcB/z5qf8jHhUNO/I7ndLMAsZvsmHGimh7xAIvvEOso +1TQMYW55b25lQ2FuUGF5AnuEgDye+uIRJad8LDm8cNL96PlDrg39nPTmgu3HZspw +YYYi0Xuu8GYC3+d1yYDgs2tuuugJDYB191E77EuT9k0NVGFwQnJhbmNoSGFzaAUB +AAcAAEAgAAdUYXBDb2RlAwYLcHVzaEJ5dGVzMzIgCXB1c2hEYXRhMUwJcHVzaERh +dGEyTQlwdXNoRGF0YTROCHJlc2VydmVkUAZyZXR1cm5qC1RhcExlYWZIYXNoBQEA +BwAAQCAADVRhcE1lcmtsZVBhdGgFAQAIAa/rxZ3Y/VBHHZhdwkEoLqupjEiK8mRj +wXZ+UQYiwpLYAAAAAAAAAACAAAAAAAAAAAtUYXBOb2RlSGFzaAUBAAcAAEAgAAlU +YXBTY3JpcHQFAQElq/W5EhQXuqM51F97FXWncUvhenUYXdAxNXrUyS3phhBUaW1l +TG9ja0ludGVydmFsBAIABmhlaWdodAAFAQAAAgEEdGltZQAFAQAAAgJUeAYEB3Zl +cnNpb24BqHzGeWRn5VfXROXJYjrgDMuV2RoNLwPfdMB1Ek++x54GaW5wdXRzAAgB +ChmQ11PyCpVmHxM79SNKJY/+S8jdCSekG+QEvY6iRqoAAAAAAAAAAP////8AAAAA +B291dHB1dHMACAGQO2RweYSPGyZTKuTOxqaJRKBTWLjwgcsms7v4LZ478wAAAAAA +AAAA/////wAAAAAIbG9ja1RpbWUBNdodFTkgbrvd3KTDPYcx6vKbp9p03z3IgiAc +Tha1uRwEVHhJbgYECnByZXZPdXRwdXQB6GpAzVwl+b3ihP9ppREyp0ErIVW9DlYS +wb/jhJVgxQYJc2lnU2NyaXB0ATh1BLFLfA5GbUeeF0d9JHQkf/gDZOw9S6r3OiD3 +QXRrCHNlcXVlbmNlAQEZbYUpyPbaRE0VTo2cjL2eD42JAlo7sJEhxj1SsB6HB3dp +dG5lc3MBnVWTrLr5zeCbOEb4gwlx0zjJL251vHzjIEWeqzgZph4FVHhPdXQGAgV2 +YWx1ZQGX9dcGQq4qM5IlO6hOHc7Ek+O/PtNxsYdzhjVOzIiCawxzY3JpcHRQdWJr +ZXkBvvwe/GalGf1kUmo6E4dA5/EQLQu+/zrBRk7z90B2dFwFVHhWZXIFAQAARARU +eGlkBQEABwAAQCAADlVuY29tcHJlc3NlZFBrBQEABwAAQEEABlZCeXRlcwUBAAAE +BlZhckludAUBAAAIBFZvdXQFAQAABAtXUHVia2V5SGFzaAUBAAcAAEAUAAtXU2Ny +aXB0SGFzaAUBAAcAAEAgAAtXZWlnaHRVbml0cwUBAAAEB1dpdG5lc3MFAQAIAcRy +a4+PKNF6wZfIHY4NoZtiRJzm0GRd/sfpeDy1h/GjAAAAAAAAAAD/////AAAAAA5X +aXRuZXNzUHJvZ3JhbQYCB3ZlcnNpb24B0ezadmfkQu1NEmmmZwM25f70N69ezitp +rroMRlbE+q0HcHJvZ3JhbQAIAABAAgAAAAAAAAAoAAAAAAAAAA1XaXRuZXNzU2Ny +aXB0BQEBJav1uRIUF7qjOdRfexV1p3FL4Xp1GF3QMTV61Mkt6YYKV2l0bmVzc1Zl +cgMRAnYwAAJ2MVECdjJSAnYzUwJ2NFQCdjVVAnY2VgJ2N1cCdjhYAnY5WQN2MTBa +A3YxMVsDdjEyXAN2MTNdA3YxNF4DdjE1XwN2MTZgBVd0eGlkBQEABwAAQCAAB1hP +bmx5UGsFAQAHAABAIAA= -----END STRICT TYPE LIB----- diff --git a/stl/Bitcoin@0.1.0.stl b/stl/Bitcoin@0.1.0.stl index 7347bd21..f0e96517 100644 Binary files a/stl/Bitcoin@0.1.0.stl and b/stl/Bitcoin@0.1.0.stl differ diff --git a/stl/Bitcoin@0.1.0.sty b/stl/Bitcoin@0.1.0.sty index 6e788f27..721d1342 100644 --- a/stl/Bitcoin@0.1.0.sty +++ b/stl/Bitcoin@0.1.0.sty @@ -1,5 +1,5 @@ {- - Id: urn:ubideco:stl:8nFxDqDPmHD15hQf1npGQbDfpRX4Y9hXoo7VfarMJX11#urgent-viva-ninja + Id: urn:ubideco:stl:DQtzB8Kcfm7XeuhWf8sv3n31c5V2qK6VS1Zbye76haUQ#erosion-quiet-kinetic Name: Bitcoin Version: 0.1.0 Description: Consensus library for bitcoin protocol @@ -29,9 +29,6 @@ data BlockHeader :: version I32 , nonce U32 -- urn:ubideco:semid:EDr6wurh4X1tMNGqA7mRkyrAY6ngPGyRSEufTGSUtySJ#kinetic-avenue-escort data ByteStr :: [Byte ^ ..0xffffffff] --- urn:ubideco:semid:6aRP3odHaTGySvSWHjreC8HsbX5ss9LxkQqwcjaoxhpv#aspirin-brown-alpine -data Chain :: bitcoin:0 | regtest:128 | testnet3:131 | signet:132 - -- urn:ubideco:semid:EoHBsHBYQiRvuKFEJvqwp8FiBPrpoFhkhQ9peLsFxrai#aspect-citrus-nerve data CompressedPk :: [Byte ^ 33] -- urn:ubideco:semid:BPzqzv3DN65MTwzbTXJbHFyiKeYvmX1VExcqvk5FUb5c#nuclear-coral-gilbert @@ -41,8 +38,8 @@ data ControlBlock :: leafVersion LeafVer , merkleBranch TapMerklePath -- urn:ubideco:semid:CvDS9EgqtBkWLvADynNeR7VGwVAy14EXViKnLaBkqtac#student-formula-circus data FutureLeafVer :: U8 --- urn:ubideco:semid:G5HFVaWwWNYSzqk548JgGZ8WKy6dQ2ftVgkJvHjgRudZ#horse-major-vienna -data InternalPk :: [Byte ^ 32] +-- urn:ubideco:semid:G8TPMhnwckPwtSQ9dBzFXESZ2aBCXmH62iDBR9ffsek8#anita-tactic-bikini +data InternalPk :: XOnlyPk -- urn:ubideco:semid:Birr99aCTGqzwnuBou79KNhyLLBTNQvoTAkTbMu7C4y5#anvil-arctic-cloud data LeafScript :: version LeafVer, script ScriptBytes -- urn:ubideco:semid:DGELfUvcU62GNQRo7HaMbKDzYQwdYRMW3b91JHd4d3WY#tunnel-lagoon-cowboy