diff --git a/primitives/src/coding.rs b/primitives/src/coding.rs index 44ffc84e..0f358b3a 100644 --- a/primitives/src/coding.rs +++ b/primitives/src/coding.rs @@ -496,7 +496,7 @@ impl ConsensusEncode for ControlBlock { self.leaf_version.to_consensus_u8() & self.output_key_parity.to_consensus_u8(); first_byte.consensus_encode(writer)?; - counter += self.internal_key.consensus_encode(writer)?; + counter += self.internal_pk.consensus_encode(writer)?; for step in &self.merkle_branch { counter += step.consensus_encode(writer)?; } @@ -526,7 +526,7 @@ impl ConsensusDecode for ControlBlock { Ok(ControlBlock { leaf_version, output_key_parity, - internal_key, + internal_pk: internal_key, merkle_branch, }) } diff --git a/primitives/src/stl.rs b/primitives/src/stl.rs index 17a6c76a..b0f0db84 100644 --- a/primitives/src/stl.rs +++ b/primitives/src/stl.rs @@ -35,7 +35,7 @@ pub const LIB_ID_BITCOIN: &str = pub const LIB_ID_BP_TX: &str = "urn:ubideco:stl:6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi#money-pardon-parody"; pub const LIB_ID_BP_CONSENSUS: &str = - "urn:ubideco:stl:A9EKnosv2TJAJvQvRgCDLUpajnfSjS7oRiuogFs1S8Nq#chapter-henry-unit"; + "urn:ubideco:stl:DxmVFuGffDNS1w5tBAhWS798qXBCqDtpmVPQanLbmBRX#vendor-inside-forum"; #[deprecated(since = "0.10.8", note = "use _bp_tx_stl instead")] fn _bitcoin_stl() -> Result { _bp_tx_stl() } diff --git a/primitives/src/taproot.rs b/primitives/src/taproot.rs index 383e7d44..14b09217 100644 --- a/primitives/src/taproot.rs +++ b/primitives/src/taproot.rs @@ -661,7 +661,24 @@ pub struct ControlBlock { /// XONLY). pub output_key_parity: Parity, /// The internal key. - pub internal_key: InternalPk, + pub internal_pk: InternalPk, /// The merkle proof of a script associated with this leaf. pub merkle_branch: TapMerklePath, } + +impl ControlBlock { + #[inline] + pub fn with( + leaf_version: LeafVer, + internal_pk: InternalPk, + output_key_parity: Parity, + merkle_branch: TapMerklePath, + ) -> Self { + ControlBlock { + leaf_version, + output_key_parity, + internal_pk, + merkle_branch, + } + } +} diff --git a/stl/BPCore@0.1.0.sta b/stl/BPCore@0.1.0.sta index 95cb1ff1..4a658d91 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:2YsxMW6xygK2FxFSbbBLqmzaUSytmLHHNF9DRio5zNr2 +Id: urn:ubideco:stl:5cbnbTwuKKKpRqh9WJejEKXcWahnHc3jgwBeJCNr48cL Name: BPCore Dependencies: urn:ubideco:stl:ZtHaBzu9ojbDahaGKEXe5v9DfSDxLERbLkEB23R6Q6V, @@ -8,68 +8,68 @@ Dependencies: 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 -O2OcTdnOvamPNGkXuslDdQhibGluZGluZwAACAtDbG9zZU1ldGhvZAMCCm9wcmV0 -Rmlyc3QAC3RhcHJldEZpcnN0ARFFeHBsaWNpdFNlYWxUeFB0cgYDBm1ldGhvZAHS -UjB8fXGQNfcwfugoJewbgSuhh92dmEmLSo0W+m7VQwR0eGlkAbHlODkUCji+8G8a -z74cYKVv4eH0fXgIKHm/0frTECHdBHZvdXQCTk6E9HAWyeXSYny/w/Q2st1s1NG5 -sERb/17vgnZyd1ch4z5Dxapc8iknU6M4wWftO2OcTdnOvamPNGkXuslDdRBFeHBs -aWNpdFNlYWxUeGlkBgMGbWV0aG9kAdJSMHx9cZA19zB+6Cgl7BuBK6GH3Z2YSYtK -jRb6btVDBHR4aWQCTk6E9HAWyeXSYny/w/Q2st1s1NG5sERb/17vgnZyd1ejgkLz -y9fR0KES2o3hYC9W1PhvDsTEdsXAaFlMSwRlVgR2b3V0Ak5OhPRwFsnl0mJ8v8P0 -NrLdbNTRubBEW/9e74J2cndXIeM+Q8WqXPIpJ1OjOMFn7TtjnE3Zzr2pjzRpF7rJ -Q3UFUHJvb2YEAgAKb3ByZXRGaXJzdAAAAAELdGFwcmV0Rmlyc3QABQEBGyc5NK5H -VuHrx50i/fbG0qXZSO79Qa2pcwuGhQ73eTAKU2VjcmV0U2VhbAUBAAcAAEAgABFU -YXByZXROb2RlUGFydG5lcgQDAAhsZWZ0Tm9kZQAFAQJOToT0cBbJ5dJifL/D9Day -3WzU0bmwRFv/Xu+CdnJ3VzG7ruiEiXfFsAcxcjHNkvYwtiktzYl/3LrexbrE6X/Z -AQlyaWdodExlYWYABQECTk6E9HAWyeXSYny/w/Q2st1s1NG5sERb/17vgnZyd1df -rNlt5T9OxRTZsY1ngNoKq+stJgv9Ny2jwHqkXTmfTQILcmlnaHRCcmFuY2gABQEB -OD9iLnFT0sghkTzLdx2fPWTfdvIoVVkt+EZDlBZNbQUPVGFwcmV0UGF0aFByb29m -BgILcGFydG5lck5vZGUABAIABG5vbmUAAAABBHNvbWUABQEBAXwHXQBASxaVmBsX -w2Etxrjqrg1/cFlikhZ1WuUZkxEFbm9uY2UAAAELVGFwcmV0UHJvb2YGAglwYXRo -UHJvb2YBE8RTUmYnu0QljDtn9MzCfv785Ce3z14P/YGPL3572HwKaW50ZXJuYWxQ -awJOToT0cBbJ5dJifL/D9Day3WzU0bmwRFv/Xu+CdnJ3V9/4ADyB/kf8VCOx0sbi -Dw3fqma9zPN9dBPJH2XaADyIEVRhcHJldFJpZ2h0QnJhbmNoBgIMbGVmdE5vZGVI -YXNoAk5OhPRwFsnl0mJ8v8P0NrLdbNTRubBEW/9e74J2cndXMbuu6ISJd8WwBzFy -Mc2S9jC2KS3NiX/cut7FusTpf9kNcmlnaHROb2RlSGFzaAJOToT0cBbJ5dJifL/D -9Day3WzU0bmwRFv/Xu+CdnJ3VzG7ruiEiXfFsAcxcjHNkvYwtiktzYl/3LrexbrE -6X/ZBVR4UHRyBAIACXdpdG5lc3NUeAAAAAEEdHhpZAAFAQJOToT0cBbJ5dJifL/D -9Day3WzU0bmwRFv/Xu+CdnJ3V6OCQvPL19HQoRLajeFgL1bU+G8OxMR2xcBoWUxL -BGVW +cr18s/79ARrjodNVM67jWNIpDIaIvrGSH/1AHJAU2n5UCkludGVybmFsUGu/yha7 +wj6MQHrzikzrFji7JXWHUoEh+dLdarQgEksl1glUYXByb290UGsMQ29tbWl0VmVy +aWZ5BwAv7s8eRNKhKbmKFDhHSzlxlSsoHKIBktUTJviyNmBeZwtNZXJrbGVQcm9v +ZjCVfuYdYTRZuwUI5OGvPWohv9b7+x0xgqd55UV04FaxClByb3RvY29sSWQ1N6lR +FcjqhdxS96uB8nFlUQUmU5RCV6+JE+h71Jux0wdNZXNzYWdlU0OVD0QzKiP/6IDP +UOfPCAahBM3gSGsT4Qz8GINDsNcIVHJlZU5vZGVVjTcH+EWGU4DuzEFVJOikmWBR +05SCQ/GU9/GRVyPp5gpNZXJrbGVOb2RlxKN7LSxSbrVJWtXZihWIvHNJ7AFaxfUJ +dqdV7py7D1QLTWVya2xlQmxvY2vLhaeLEqU3TP/7I/XLv5m2ZEsplYZ9cReJIjVZ +/HuLVwpNZXJrbGVUcmVlA1N0ZAEAIuTglum9fVyG9eHfXXcBav45xzzZNIVQlECJ +jKijeV4CVTUQAAhBbmNob3JJZAUBAAcAAEAgABFBbmNob3JNZXJrbGVCbG9jawYD +BHR4aWQCTk6E9HAWyeXSYny/w/Q2st1s1NG5sERb/17vgnZyd1ejgkLzy9fR0KES +2o3hYC9W1PhvDsTEdsXAaFlMSwRlVghtcGNQcm9vZgIIbJMpP1Zo7NnfnUB1CNeh +MyMWREFWAosurAm/5d+NQsSjey0sUm61SVrV2YoViLxzSewBWsX1CXanVe6cuw9U +CGRiY1Byb29mATWZWar1vLwVVPxn9z0BFB0FY8WzlnYC1GcBvQCfMeUYEUFuY2hv +ck1lcmtsZVByb29mBgMEdHhpZAJOToT0cBbJ5dJifL/D9Day3WzU0bmwRFv/Xu+C +dnJ3V6OCQvPL19HQoRLajeFgL1bU+G8OxMR2xcBoWUxLBGVWCG1wY1Byb29mAghs +kyk/Vmjs2d+dQHUI16EzIxZEQVYCiy6sCb/l341CL+7PHkTSoSm5ihQ4R0s5cZUr +KByiAZLVEyb4sjZgXmcIZGJjUHJvb2YBNZlZqvW8vBVU/Gf3PQEUHQVjxbOWdgLU +ZwG9AJ8x5RgQQW5jaG9yTWVya2xlVHJlZQYDBHR4aWQCTk6E9HAWyeXSYny/w/Q2 +st1s1NG5sERb/17vgnZyd1ejgkLzy9fR0KES2o3hYC9W1PhvDsTEdsXAaFlMSwRl +VghtcGNQcm9vZgIIbJMpP1Zo7NnfnUB1CNehMyMWREFWAosurAm/5d+NQsuFp4sS +pTdM//sj9cu/mbZkSymVhn1xF4kiNVn8e4tXCGRiY1Byb29mATWZWar1vLwVVPxn +9z0BFB0FY8WzlnYC1GcBvQCfMeUYDkJsaW5kU2VhbFR4UHRyBgQGbWV0aG9kAdJS +MHx9cZA19zB+6Cgl7BuBK6GH3Z2YSYtKjRb6btVDBHR4aWQBseU4ORQKOL7wbxrP +vhxgpW/h4fR9eAgoeb/R+tMQId0Edm91dAJOToT0cBbJ5dJifL/D9Day3WzU0bmw +RFv/Xu+CdnJ3VyHjPkPFqlzyKSdTozjBZ+07Y5xN2c69qY80aRe6yUN1CGJsaW5k +aW5nAAAIDUJsaW5kU2VhbFR4aWQGBAZtZXRob2QB0lIwfH1xkDX3MH7oKCXsG4Er +oYfdnZhJi0qNFvpu1UMEdHhpZAJOToT0cBbJ5dJifL/D9Day3WzU0bmwRFv/Xu+C +dnJ3V6OCQvPL19HQoRLajeFgL1bU+G8OxMR2xcBoWUxLBGVWBHZvdXQCTk6E9HAW +yeXSYny/w/Q2st1s1NG5sERb/17vgnZyd1ch4z5Dxapc8iknU6M4wWftO2OcTdnO +vamPNGkXuslDdQhibGluZGluZwAACAtDbG9zZU1ldGhvZAMCCm9wcmV0Rmlyc3QA +C3RhcHJldEZpcnN0ARFFeHBsaWNpdFNlYWxUeFB0cgYDBm1ldGhvZAHSUjB8fXGQ +NfcwfugoJewbgSuhh92dmEmLSo0W+m7VQwR0eGlkAbHlODkUCji+8G8az74cYKVv +4eH0fXgIKHm/0frTECHdBHZvdXQCTk6E9HAWyeXSYny/w/Q2st1s1NG5sERb/17v +gnZyd1ch4z5Dxapc8iknU6M4wWftO2OcTdnOvamPNGkXuslDdRBFeHBsaWNpdFNl +YWxUeGlkBgMGbWV0aG9kAdJSMHx9cZA19zB+6Cgl7BuBK6GH3Z2YSYtKjRb6btVD +BHR4aWQCTk6E9HAWyeXSYny/w/Q2st1s1NG5sERb/17vgnZyd1ejgkLzy9fR0KES +2o3hYC9W1PhvDsTEdsXAaFlMSwRlVgR2b3V0Ak5OhPRwFsnl0mJ8v8P0NrLdbNTR +ubBEW/9e74J2cndXIeM+Q8WqXPIpJ1OjOMFn7TtjnE3Zzr2pjzRpF7rJQ3UFUHJv +b2YEAgAKb3ByZXRGaXJzdAAAAAELdGFwcmV0Rmlyc3QABQEBw7JLtgSdryy0A9M+ +AJxUQp4pH1QTsu22i8UWoA+Nk/wKU2VjcmV0U2VhbAUBAAcAAEAgABFUYXByZXRO +b2RlUGFydG5lcgQDAAhsZWZ0Tm9kZQAFAQJOToT0cBbJ5dJifL/D9Day3WzU0bmw +RFv/Xu+CdnJ3VzG7ruiEiXfFsAcxcjHNkvYwtiktzYl/3LrexbrE6X/ZAQlyaWdo +dExlYWYABQECTk6E9HAWyeXSYny/w/Q2st1s1NG5sERb/17vgnZyd1dfrNlt5T9O +xRTZsY1ngNoKq+stJgv9Ny2jwHqkXTmfTQILcmlnaHRCcmFuY2gABQEBOD9iLnFT +0sghkTzLdx2fPWTfdvIoVVkt+EZDlBZNbQUPVGFwcmV0UGF0aFByb29mBgILcGFy +dG5lck5vZGUABAIABG5vbmUAAAABBHNvbWUABQEBAXwHXQBASxaVmBsXw2Etxrjq +rg1/cFlikhZ1WuUZkxEFbm9uY2UAAAELVGFwcmV0UHJvb2YGAglwYXRoUHJvb2YB +E8RTUmYnu0QljDtn9MzCfv785Ce3z14P/YGPL3572HwKaW50ZXJuYWxQawJOToT0 +cBbJ5dJifL/D9Day3WzU0bmwRFv/Xu+CdnJ3V718s/79ARrjodNVM67jWNIpDIaI +vrGSH/1AHJAU2n5UEVRhcHJldFJpZ2h0QnJhbmNoBgIMbGVmdE5vZGVIYXNoAk5O +hPRwFsnl0mJ8v8P0NrLdbNTRubBEW/9e74J2cndXMbuu6ISJd8WwBzFyMc2S9jC2 +KS3NiX/cut7FusTpf9kNcmlnaHROb2RlSGFzaAJOToT0cBbJ5dJifL/D9Day3WzU +0bmwRFv/Xu+CdnJ3VzG7ruiEiXfFsAcxcjHNkvYwtiktzYl/3LrexbrE6X/ZBVR4 +UHRyBAIACXdpdG5lc3NUeAAAAAEEdHhpZAAFAQJOToT0cBbJ5dJifL/D9Day3WzU +0bmwRFv/Xu+CdnJ3V6OCQvPL19HQoRLajeFgL1bU+G8OxMR2xcBoWUxLBGVW -----END STRICT TYPE LIB----- diff --git a/stl/BPCore@0.1.0.stl b/stl/BPCore@0.1.0.stl index 87e68e23..4e1471c1 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 7f2a7d87..b559fffe 100644 --- a/stl/BPCore@0.1.0.sty +++ b/stl/BPCore@0.1.0.sty @@ -1,5 +1,5 @@ {- - Id: urn:ubideco:stl:2YsxMW6xygK2FxFSbbBLqmzaUSytmLHHNF9DRio5zNr2#sultan-data-copy + Id: urn:ubideco:stl:5cbnbTwuKKKpRqh9WJejEKXcWahnHc3jgwBeJCNr48cL#gyro-minute-maestro Name: BPCore Version: 0.1.0 Description: Bitcoin client-side-validation library @@ -28,7 +28,8 @@ import urn:ubideco:stl:6GgF7biXPVNcus2FfQj2pQuRzau11rXApMQLfCZhojgi#money-pardon -- LeafScript := urn:ubideco:semid:7SUbonQ62tSaBTPpbZPACQo2NogXodi2mW5WEEDfBvp4#brenda-round-micro -- Txid := urn:ubideco:semid:C1GfCrG7AXu2sFhRBspd7KpJK2YgyTkVy6pty5rZynRs#cowboy-diego-betty -- LeafVer := urn:ubideco:semid:DGELfUvcU62GNQRo7HaMbKDzYQwdYRMW3b91JHd4d3WY#tunnel-lagoon-cowboy --- InternalPk := urn:ubideco:semid:G5HFVaWwWNYSzqk548JgGZ8WKy6dQ2ftVgkJvHjgRudZ#horse-major-vienna +-- InternalPk := urn:ubideco:semid:DkgLteYQvM5jASrE2R8Z2z1jmzgwrnVNGBXLPoa8gDm5#monaco-special-needle +-- TaprootPk := urn:ubideco:semid:DufbiodesBkHAgaCpqgXzZYoJa97fEMjmTBxr6JoVATF#sound-humor-adam import urn:ubideco:stl:9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ#justice-rocket-type as Std -- Imports: @@ -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:CWF7gRmqznx45aDH9ubzkYaxswU2xmvo8CNdNWRtaDrW#stamp-inca-drama +data TapretProof :: pathProof TapretPathProof, internalPk Bitcoin.InternalPk {- urn:ubideco:semid:DkgLteYQvM5jASrE2R8Z2z1jmzgwrnVNGBXLPoa8gDm5#monaco-special-needle -} -- 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 c37e080a..66f80495 100644 --- a/stl/Bitcoin@0.1.0.sta +++ b/stl/Bitcoin@0.1.0.sta @@ -1,11 +1,11 @@ -----BEGIN STRICT TYPE LIB----- -Id: urn:ubideco:stl:A6tfQFthqmb39wR5sWvrfgf3oiAyazm8rh7ff35ruioi +Id: urn:ubideco:stl:DxmVFuGffDNS1w5tBAhWS798qXBCqDtpmVPQanLbmBRX Name: Bitcoin Dependencies: urn:ubideco:stl:9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ B0JpdGNvaW4Be4SAPJ764hElp3wsObxw0v3o+UOuDf2c9OaC7cdmynADU3RkAQNT -dGQBAGGGItF7rvBmAt/ndcmA4LNrbrroCQ2AdfdRO+xLk/ZNBEJvb2wrAAlCaXAz +dGQBAGGGItF7rvBmAt/ndcmA4LNrbrroCQ2AdfdRO+xLk/ZNBEJvb2wtAAlCaXAz NDBTaWcGAgNzaWcABwAAQEAADHNpZ2hhc2hfdHlwZQAEAgAEbm9uZQAAAAEEc29t ZQAFAQHbF2Q+dwkTJ+gEmSSB1dxgFSMIlVM55Yszn9RMT3JIKglCbG9ja0hhc2gF AQAHAABAIAALQmxvY2tIZWFkZXIGBgd2ZXJzaW9uAABEDXByZXZCbG9ja0hhc2gB @@ -14,50 +14,52 @@ IAAEdGltZQAABARiaXRzAAAEBW5vbmNlAAAEB0J5dGVTdHIFAQAIAABAAAAAAAAA AAD/////AAAAAAVDaGFpbgMEB2JpdGNvaW4AB3JlZ3Rlc3SACHRlc3RuZXQzgwZz aWduZXSEDENvbnRyb2xCbG9jawYEC2xlYWZWZXJzaW9uAbYzCakYv7aSDW7IWKQk hyNGWmk/ckMHv/8d1zpzgU7JD291dHB1dEtleVBhcml0eQGPyiYjolVEI5WPpnqn -bUNqFd5k6xCz9PmZFCIvlRFmiAtpbnRlcm5hbEtleQHf+AA8gf5H/FQjsdLG4g8N -36pmvczzfXQTyR9l2gA8iAxtZXJrbGVCcmFuY2gB7gMeZlFQaLZ0GVxRd/QKg8QA -UlvBpDAUGABpT73wc6QNRnV0dXJlTGVhZlZlcgUBAAABCkludGVybmFsUGsFAQAH -AABAIAAKTGVhZlNjcmlwdAYCB3ZlcnNpb24BtjMJqRi/tpINbshYpCSHI0ZaaT9y -Qwe//x3XOnOBTskGc2NyaXB0ASWr9bkSFBe6oznUX3sVdadxS+F6dRhd0DE1etTJ -LemGB0xlYWZWZXIFAQAAAQlMZWdhY3lTaWcGAgNzaWcACAAAQAAAAAAAAAAA/wAA -AAAAAAAMc2lnaGFzaF90eXBlAdsXZD53CRMn6ASZJIHV3GAVIwiVUznlizOf1ExP -ckgqCExvY2tUaW1lBQEAAAQGT3BDb2RlAxIKcHVzaEJ5dGVzMAALcHVzaEJ5dGVz -MzIgCXB1c2hEYXRhMUwJcHVzaERhdGEyTQlwdXNoRGF0YTROCHJlc2VydmVkUAhw -dXNoTnVtMVEGcmV0dXJuagNkdXB2BWVxdWFshwtlcXVhbFZlcmlmeYgJcmlwZW1k -MTYwpgRzaGExpwZzaGEyNTaoB2hhc2gxNjCpB2hhc2gyNTaqCGNoZWNrU2lnrA5j -aGVja1NpZ1Zlcmlmea0IT3V0cG9pbnQGAgR0eGlkAaOCQvPL19HQoRLajeFgL1bU -+G8OxMR2xcBoWUxLBGVWBHZvdXQBIeM+Q8WqXPIpJ1OjOMFn7TtjnE3Zzr2pjzRp -F7rJQ3UGUGFyaXR5AwIEZXZlbgADb2RkAQxSZWRlZW1TY3JpcHQFAQElq/W5EhQX -uqM51F97FXWncUvhenUYXdAxNXrUyS3phgRTYXRzBQEAAAgLU2NyaXB0Qnl0ZXMF -AQAIAABAAAAAAAAAAAD/////AAAAAAxTY3JpcHRQdWJrZXkFAQElq/W5EhQXuqM5 -1F97FXWncUvhenUYXdAxNXrUyS3phgVTZXFObwUBAAAECVNpZ1NjcmlwdAUBASWr -9bkSFBe6oznUX3sVdadxS+F6dRhd0DE1etTJLemGC1NpZ2hhc2hGbGFnAwMDYWxs -AQRub25lAgZzaW5nbGUDC1NpZ2hhc2hUeXBlBgIEZmxhZwH/Pmp/yMeFQ078jud0 -swCxm+yYcaKaHvEAi+8Q6yjVNAxhbnlvbmVDYW5QYXkCe4SAPJ764hElp3wsObxw -0v3o+UOuDf2c9OaC7cdmynBhhiLRe67wZgLf53XJgOCza2666AkNgHX3UTvsS5P2 -TQ1UYXBCcmFuY2hIYXNoBQEABwAAQCAAB1RhcENvZGUDBgtwdXNoQnl0ZXMzMiAJ -cHVzaERhdGExTAlwdXNoRGF0YTJNCXB1c2hEYXRhNE4IcmVzZXJ2ZWRQBnJldHVy -bmoLVGFwTGVhZkhhc2gFAQAHAABAIAANVGFwTWVya2xlUGF0aAUBAAgBr+vFndj9 -UEcdmF3CQSguq6mMSIryZGPBdn5RBiLCktgAAAAAAAAAAIAAAAAAAAAAC1RhcE5v -ZGVIYXNoBQEABwAAQCAACVRhcFNjcmlwdAUBASWr9bkSFBe6oznUX3sVdadxS+F6 -dRhd0DE1etTJLemGAlR4BgQHdmVyc2lvbgGofMZ5ZGflV9dE5cliOuAMy5XZGg0v -A990wHUST77HngZpbnB1dHMACAEZRy0X2GIHpw8hMalYoWilbirWUz+cZkwZd9pc -+f5ihgAAAAAAAAAA/////wAAAAAHb3V0cHV0cwAIAZA7ZHB5hI8bJlMq5M7GpolE -oFNYuPCByyazu/gtnjvzAAAAAAAAAAD/////AAAAAAhsb2NrVGltZQE12h0VOSBu -u93cpMM9hzHq8pun2nTfPciCIBxOFrW5HARUeEluBgQKcHJldk91dHB1dAHoakDN -XCX5veKE/2mlETKnQSshVb0OVhLBv+OElWDFBglzaWdTY3JpcHQBOHUEsUt8DkZt -R54XR30kdCR/+ANk7D1Lqvc6IPdBdGsIc2VxdWVuY2UBARlthSnI9tpETRVOjZyM -vZ4PjYkCWjuwkSHGPVKwHocHd2l0bmVzcwFzd0NwNpMgSc0olQiqcXzjgp2yRS5V -6E7U/C48zS4AnQVUeE91dAYCBXZhbHVlAZf11wZCriozkiU7qE4dzsST478+03Gx -h3OGNU7MiIJrDHNjcmlwdFB1YmtleQG+/B78ZqUZ/WRSajoTh0Dn8RAtC77/OsFG -TvP3QHZ0XAVUeFZlcgUBAABEBFR4aWQFAQAHAABAIAAGVkJ5dGVzBQEAAAQGVmFy -SW50BQEAAAgEVm91dAUBAAAEC1dlaWdodFVuaXRzBQEAAAQHV2l0bmVzcwUBAAgA -CAAAQAAAAAAAAAAA/////wAAAAAAAAAAAAAAAP////8AAAAADldpdG5lc3NQcm9n -cmFtBgIHdmVyc2lvbgHR7Np2Z+RC7U0SaaZnAzbl/vQ3r17OK2muugxGVsT6rQdw -cm9ncmFtAAgAAEACAAAAAAAAACgAAAAAAAAADVdpdG5lc3NTY3JpcHQFAQElq/W5 -EhQXuqM51F97FXWncUvhenUYXdAxNXrUyS3phgpXaXRuZXNzVmVyAxECdjAAAnYx -UQJ2MlICdjNTAnY0VAJ2NVUCdjZWAnY3VwJ2OFgCdjlZA3YxMFoDdjExWwN2MTJc -A3YxM10DdjE0XgN2MTVfA3YxNmAFV3R4aWQFAQAHAABAIAA= +bUNqFd5k6xCz9PmZFCIvlRFmiAppbnRlcm5hbFBrAb18s/79ARrjodNVM67jWNIp +DIaIvrGSH/1AHJAU2n5UDG1lcmtsZUJyYW5jaAHuAx5mUVBotnQZXFF39AqDxABS +W8GkMBQYAGlPvfBzpA1GdXR1cmVMZWFmVmVyBQEAAAEKSW50ZXJuYWxQawUBAb/K +FrvCPoxAevOKTOsWOLsldYdSgSH50t1qtCASSyXWCkxlYWZTY3JpcHQGAgd2ZXJz +aW9uAbYzCakYv7aSDW7IWKQkhyNGWmk/ckMHv/8d1zpzgU7JBnNjcmlwdAElq/W5 +EhQXuqM51F97FXWncUvhenUYXdAxNXrUyS3phgdMZWFmVmVyBQEAAAEJTGVnYWN5 +U2lnBgIDc2lnAAgAAEAAAAAAAAAAAP8AAAAAAAAADHNpZ2hhc2hfdHlwZQHbF2Q+ +dwkTJ+gEmSSB1dxgFSMIlVM55Yszn9RMT3JIKghMb2NrVGltZQUBAAAEBk9wQ29k +ZQMSCnB1c2hCeXRlczAAC3B1c2hCeXRlczMyIAlwdXNoRGF0YTFMCXB1c2hEYXRh +Mk0JcHVzaERhdGE0TghyZXNlcnZlZFAIcHVzaE51bTFRBnJldHVybmoDZHVwdgVl +cXVhbIcLZXF1YWxWZXJpZnmICXJpcGVtZDE2MKYEc2hhMacGc2hhMjU2qAdoYXNo +MTYwqQdoYXNoMjU2qghjaGVja1NpZ6wOY2hlY2tTaWdWZXJpZnmtCE91dHBvaW50 +BgIEdHhpZAGjgkLzy9fR0KES2o3hYC9W1PhvDsTEdsXAaFlMSwRlVgR2b3V0ASHj +PkPFqlzyKSdTozjBZ+07Y5xN2c69qY80aRe6yUN1CE91dHB1dFBrBQEBv8oWu8I+ +jEB684pM6xY4uyV1h1KBIfnS3Wq0IBJLJdYGUGFyaXR5AwIEZXZlbgADb2RkAQxS +ZWRlZW1TY3JpcHQFAQElq/W5EhQXuqM51F97FXWncUvhenUYXdAxNXrUyS3phgRT +YXRzBQEAAAgLU2NyaXB0Qnl0ZXMFAQAIAABAAAAAAAAAAAD/////AAAAAAxTY3Jp +cHRQdWJrZXkFAQElq/W5EhQXuqM51F97FXWncUvhenUYXdAxNXrUyS3phgVTZXFO +bwUBAAAECVNpZ1NjcmlwdAUBASWr9bkSFBe6oznUX3sVdadxS+F6dRhd0DE1etTJ +LemGC1NpZ2hhc2hGbGFnAwMDYWxsAQRub25lAgZzaW5nbGUDC1NpZ2hhc2hUeXBl +BgIEZmxhZwH/Pmp/yMeFQ078jud0swCxm+yYcaKaHvEAi+8Q6yjVNAxhbnlvbmVD +YW5QYXkCe4SAPJ764hElp3wsObxw0v3o+UOuDf2c9OaC7cdmynBhhiLRe67wZgLf +53XJgOCza2666AkNgHX3UTvsS5P2TQ1UYXBCcmFuY2hIYXNoBQEABwAAQCAAB1Rh +cENvZGUDBgtwdXNoQnl0ZXMzMiAJcHVzaERhdGExTAlwdXNoRGF0YTJNCXB1c2hE +YXRhNE4IcmVzZXJ2ZWRQBnJldHVybmoLVGFwTGVhZkhhc2gFAQAHAABAIAANVGFw +TWVya2xlUGF0aAUBAAgBr+vFndj9UEcdmF3CQSguq6mMSIryZGPBdn5RBiLCktgA +AAAAAAAAAIAAAAAAAAAAC1RhcE5vZGVIYXNoBQEABwAAQCAACVRhcFNjcmlwdAUB +ASWr9bkSFBe6oznUX3sVdadxS+F6dRhd0DE1etTJLemGCVRhcHJvb3RQawUBAAcA +AEAgAAJUeAYEB3ZlcnNpb24BqHzGeWRn5VfXROXJYjrgDMuV2RoNLwPfdMB1Ek++ +x54GaW5wdXRzAAgBGUctF9hiB6cPITGpWKFopW4q1lM/nGZMGXfaXPn+YoYAAAAA +AAAAAP////8AAAAAB291dHB1dHMACAGQO2RweYSPGyZTKuTOxqaJRKBTWLjwgcsm +s7v4LZ478wAAAAAAAAAA/////wAAAAAIbG9ja1RpbWUBNdodFTkgbrvd3KTDPYcx +6vKbp9p03z3IgiAcTha1uRwEVHhJbgYECnByZXZPdXRwdXQB6GpAzVwl+b3ihP9p +pREyp0ErIVW9DlYSwb/jhJVgxQYJc2lnU2NyaXB0ATh1BLFLfA5GbUeeF0d9JHQk +f/gDZOw9S6r3OiD3QXRrCHNlcXVlbmNlAQEZbYUpyPbaRE0VTo2cjL2eD42JAlo7 +sJEhxj1SsB6HB3dpdG5lc3MBc3dDcDaTIEnNKJUIqnF844KdskUuVehO1PwuPM0u +AJ0FVHhPdXQGAgV2YWx1ZQGX9dcGQq4qM5IlO6hOHc7Ek+O/PtNxsYdzhjVOzIiC +awxzY3JpcHRQdWJrZXkBvvwe/GalGf1kUmo6E4dA5/EQLQu+/zrBRk7z90B2dFwF +VHhWZXIFAQAARARUeGlkBQEABwAAQCAABlZCeXRlcwUBAAAEBlZhckludAUBAAAI +BFZvdXQFAQAABAtXZWlnaHRVbml0cwUBAAAEB1dpdG5lc3MFAQAIAAgAAEAAAAAA +AAAAAP////8AAAAAAAAAAAAAAAD/////AAAAAA5XaXRuZXNzUHJvZ3JhbQYCB3Zl +cnNpb24B0ezadmfkQu1NEmmmZwM25f70N69ezitprroMRlbE+q0HcHJvZ3JhbQAI +AABAAgAAAAAAAAAoAAAAAAAAAA1XaXRuZXNzU2NyaXB0BQEBJav1uRIUF7qjOdRf +exV1p3FL4Xp1GF3QMTV61Mkt6YYKV2l0bmVzc1ZlcgMRAnYwAAJ2MVECdjJSAnYz +UwJ2NFQCdjVVAnY2VgJ2N1cCdjhYAnY5WQN2MTBaA3YxMVsDdjEyXAN2MTNdA3Yx +NF4DdjE1XwN2MTZgBVd0eGlkBQEABwAAQCAA -----END STRICT TYPE LIB----- diff --git a/stl/Bitcoin@0.1.0.stl b/stl/Bitcoin@0.1.0.stl index 75bdc339..6013a675 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 113c8d71..daf15fa5 100644 --- a/stl/Bitcoin@0.1.0.sty +++ b/stl/Bitcoin@0.1.0.sty @@ -1,5 +1,5 @@ {- - Id: urn:ubideco:stl:A6tfQFthqmb39wR5sWvrfgf3oiAyazm8rh7ff35ruioi#russian-emerald-extra + Id: urn:ubideco:stl:DxmVFuGffDNS1w5tBAhWS798qXBCqDtpmVPQanLbmBRX#vendor-inside-forum Name: Bitcoin Version: 0.1.0 Description: Consensus library for bitcoin protocol @@ -32,15 +32,15 @@ data ByteStr :: [Byte ^ ..0xffffffff] -- urn:ubideco:semid:6aRP3odHaTGySvSWHjreC8HsbX5ss9LxkQqwcjaoxhpv#aspirin-brown-alpine data Chain :: bitcoin:0 | regtest:128 | testnet3:131 | signet:132 --- urn:ubideco:semid:C7rC7icVsoUF43k8QpzxWSx6BAbT8uyY2PWGjsQuf2kd#mega-optic-type +-- urn:ubideco:semid:BPzqzv3DN65MTwzbTXJbHFyiKeYvmX1VExcqvk5FUb5c#nuclear-coral-gilbert data ControlBlock :: leafVersion LeafVer , outputKeyParity Parity - , internalKey InternalPk + , internalPk InternalPk , 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:FKSMf7xnPBKRaY67CP9nNbVMV8ZscunJeLmqgzLk2h7N#pinball-culture-salt +data InternalPk :: TaprootPk -- urn:ubideco:semid:Birr99aCTGqzwnuBou79KNhyLLBTNQvoTAkTbMu7C4y5#anvil-arctic-cloud data LeafScript :: version LeafVer, script ScriptBytes -- urn:ubideco:semid:DGELfUvcU62GNQRo7HaMbKDzYQwdYRMW3b91JHd4d3WY#tunnel-lagoon-cowboy @@ -58,6 +58,8 @@ data OpCode :: pushBytes0:0 | pushBytes32:32 | pushData1:76 | pushData -- urn:ubideco:semid:FWt2MSo8A4nsYgYbuBqMRNLiKgtzvLBgUn774iKzTcuf#pocket-pegasus-frank data Outpoint :: txid Txid, vout Vout +-- urn:ubideco:semid:8xqfr5BJ4FJ9Sv7wYEhz9a5gen2wyYpEAUqbBDngjuth#video-flex-harbor +data OutputPk :: TaprootPk -- urn:ubideco:semid:AgJ5n58hrH761B4MV7giZ1FhMipaDrUmnFYCLno74HDy#method-editor-echo data Parity :: even:0 | odd:1 @@ -92,6 +94,8 @@ data TapMerklePath :: [TapBranchHash ^ ..0x80] data TapNodeHash :: [Byte ^ 32] -- urn:ubideco:semid:71AxyLFsoRG6hJ1c11gxad65nEbWfzkQBjWCPPrgCyjX#telecom-quest-helium data TapScript :: ScriptBytes +-- urn:ubideco:semid:DufbiodesBkHAgaCpqgXzZYoJa97fEMjmTBxr6JoVATF#sound-humor-adam +data TaprootPk :: [Byte ^ 32] -- urn:ubideco:semid:DynChojW1sfr8VjSoZbmReHhZoU8u9KCiuwijgEGdToe#milk-gloria-prize data Tx :: version TxVer , inputs [TxIn ^ ..0xffffffff]