diff --git a/Cargo.lock b/Cargo.lock index 892e18a1..703859fe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -781,7 +781,7 @@ dependencies = [ [[package]] name = "strict_types" version = "1.6.3" -source = "git+https://github.com/strict-types/strict-types?branch=vesper#f93a63bf785d639de155cc6e2aa2b10bf15a5d84" +source = "git+https://github.com/strict-types/strict-types?branch=vesper#b424b47eff526088417eccf85441211db4f953a1" dependencies = [ "amplify", "baid58", diff --git a/src/bin/rgbcore-stl.rs b/src/bin/rgbcore-stl.rs index 39402a1c..fd5a8d90 100644 --- a/src/bin/rgbcore-stl.rs +++ b/src/bin/rgbcore-stl.rs @@ -20,23 +20,68 @@ // See the License for the specific language governing permissions and // limitations under the License. +use std::fs; + +use aluvm::stl::aluvm_stl; +use bp::stl::bp_core_stl; +use commit_verify::stl::commit_verify_stl; +use rgb::stl::bp_tx_stl; +use strict_types::stl::{std_stl, strict_types_stl}; use strict_types::typelib::parse_args; +use strict_types::SystemBuilder; fn main() { let (format, dir) = parse_args(); - rgb::stl::rgb_core_stl() - .serialize( - format, - dir, - "0.1.0", - Some( - " + let rgb = rgb::stl::rgb_core_stl(); + + rgb.serialize( + format, + dir.as_ref(), + "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", - ), - ) - .expect("unable to write to the file"); + ), + ) + .expect("unable to write to the file"); + + let std = std_stl(); + let tx = bp_tx_stl(); + let bp = bp_core_stl(); + let cv = commit_verify_stl(); + let st = strict_types_stl(); + let vm = aluvm_stl(); + + let sys = SystemBuilder::new() + .import(rgb) + .unwrap() + .import(vm) + .unwrap() + .import(bp) + .unwrap() + .import(tx) + .unwrap() + .import(cv) + .unwrap() + .import(st) + .unwrap() + .import(std) + .unwrap() + .finalize() + .expect("not all libraries present"); + + let dir = dir.unwrap_or_else(|| ".".to_owned()); + + let tt = sys.type_tree("RGB.Transition").unwrap(); + fs::write(format!("{dir}/Transition.vesper",), format!("{tt}")).unwrap(); + + let tt = sys.type_tree("RGB.Schema").unwrap(); + fs::write(format!("{dir}/Schema.vesper",), format!("{tt}")).unwrap(); + + let tt = sys.type_tree("RGB.AnchoredBundle").unwrap(); + fs::write(format!("{dir}/AnchoredBundle.vesper",), format!("{tt}")).unwrap(); } diff --git a/stl/AnchoredBundle.vesper b/stl/AnchoredBundle.vesper new file mode 100644 index 00000000..f736001b --- /dev/null +++ b/stl/AnchoredBundle.vesper @@ -0,0 +1,323 @@ +AnchoredBundle rec + anchor union -- XChainAnchorSet + bitcoin union wrapped tag=0 -- AnchorSet + tapret rec wrapped tag=0 -- AnchorMerkleProofTapretProof + txid bytes len=32 aka=Txid + mpcProof rec -- MerkleProof + pos is U32 + cofactor is U16 + path list len=0..32 + element bytes len=32 aka=MerkleHash + dbcProof rec -- TapretProof + pathProof rec -- TapretPathProof + some union option wrapped tag=1 -- TapretNodePartner + rightBranch rec wrapped tag=2 -- TapretRightBranch + nonce is U8 + opret rec wrapped tag=1 -- AnchorMerkleProofOpretProof + txid bytes len=32 aka=Txid + mpcProof rec -- MerkleProof + pos is U32 + cofactor is U16 + path list len=0..32 + element bytes len=32 aka=MerkleHash + dbcProof is Unit aka=OpretProof + dual rec tag=2 + tapret rec -- AnchorMerkleProofTapretProof + txid bytes len=32 aka=Txid + mpcProof rec -- MerkleProof + pos is U32 + cofactor is U16 + path list len=0..32 + element bytes len=32 aka=MerkleHash + dbcProof rec -- TapretProof + pathProof rec -- TapretPathProof + some union option wrapped tag=1 -- TapretNodePartner + rightBranch rec wrapped tag=2 -- TapretRightBranch + nonce is U8 + opret rec -- AnchorMerkleProofOpretProof + txid bytes len=32 aka=Txid + mpcProof rec -- MerkleProof + pos is U32 + cofactor is U16 + path list len=0..32 + element bytes len=32 aka=MerkleHash + dbcProof is Unit aka=OpretProof + liquid union wrapped tag=1 -- AnchorSet + tapret rec wrapped tag=0 -- AnchorMerkleProofTapretProof + txid bytes len=32 aka=Txid + mpcProof rec -- MerkleProof + pos is U32 + cofactor is U16 + path list len=0..32 + element bytes len=32 aka=MerkleHash + dbcProof rec -- TapretProof + pathProof rec -- TapretPathProof + some union option wrapped tag=1 -- TapretNodePartner + rightBranch rec wrapped tag=2 -- TapretRightBranch + nonce is U8 + opret rec wrapped tag=1 -- AnchorMerkleProofOpretProof + txid bytes len=32 aka=Txid + mpcProof rec -- MerkleProof + pos is U32 + cofactor is U16 + path list len=0..32 + element bytes len=32 aka=MerkleHash + dbcProof is Unit aka=OpretProof + dual rec tag=2 + tapret rec -- AnchorMerkleProofTapretProof + txid bytes len=32 aka=Txid + mpcProof rec -- MerkleProof + pos is U32 + cofactor is U16 + path list len=0..32 + element bytes len=32 aka=MerkleHash + dbcProof rec -- TapretProof + pathProof rec -- TapretPathProof + some union option wrapped tag=1 -- TapretNodePartner + rightBranch rec wrapped tag=2 -- TapretRightBranch + nonce is U8 + opret rec -- AnchorMerkleProofOpretProof + txid bytes len=32 aka=Txid + mpcProof rec -- MerkleProof + pos is U32 + cofactor is U16 + path list len=0..32 + element bytes len=32 aka=MerkleHash + dbcProof is Unit aka=OpretProof + bundle rec -- TransitionBundle + inputMap map len=1..MAX16 + key is U32 aka=Vout + value bytes len=32 aka=OpId + knownTransitions map len=1..MAX16 + key bytes len=32 aka=OpId + Transition rec -- mapped to + ffv is U16 aka=Ffv + contractId bytes len=32 aka=ContractId + transitionType is U16 aka=TransitionType + metadata bytes len=0..MAX16 + globals map len=0..MAX8 aka=GlobalState + key is U16 aka=GlobalStateType + value list len=1..MAX16 aka=GlobalValues + RevealedData rec + value bytes len=0..MAX16 aka=DataState + salt is U128 + inputs set len=0..MAX8 aka=Inputs + Input rec + prevOut rec -- Opout + op bytes len=32 aka=OpId + ty is U16 aka=AssignmentType + no is U16 + reserved is U8 aka=ReservedByte + assignments map len=0..MAX8 aka=AssignmentsBlindSealTxPtr + key is U16 aka=AssignmentType + TypedAssignsBlindSealTxPtr union -- mapped to + declarative list len=0..MAX16 wrapped tag=0 + AssignVoidStateBlindSealTxPtr union + confidential rec tag=0 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state is Unit aka=VoidState + confidentialState rec tag=1 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state is Unit aka=VoidState + confidentialSeal rec tag=2 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state is Unit aka=VoidState + revealed rec tag=3 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state is Unit aka=VoidState + fungible list len=0..MAX16 wrapped tag=1 + AssignRevealedValueBlindSealTxPtr union + confidential rec tag=0 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state rec -- ConcealedFungible + commitment bytes len=33 aka=PedersenCommitment + rangeProof union -- RangeProof + placeholder bytes len=512 wrapped aka=NoiseDumb tag=0 + confidentialState rec tag=1 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state rec -- ConcealedFungible + commitment bytes len=33 aka=PedersenCommitment + rangeProof union -- RangeProof + placeholder bytes len=512 wrapped aka=NoiseDumb tag=0 + confidentialSeal rec tag=2 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state rec -- RevealedFungible + value union -- FungibleState + bits64 is U64 wrapped tag=0 + blinding bytes len=32 aka=BlindingFactor + tag bytes len=32 aka=AssetTag + revealed rec tag=3 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state rec -- RevealedFungible + value union -- FungibleState + bits64 is U64 wrapped tag=0 + blinding bytes len=32 aka=BlindingFactor + tag bytes len=32 aka=AssetTag + structured list len=0..MAX16 wrapped tag=2 + AssignRevealedDataBlindSealTxPtr union + confidential rec tag=0 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state bytes len=32 aka=ConcealedData + confidentialState rec tag=1 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state bytes len=32 aka=ConcealedData + confidentialSeal rec tag=2 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state rec -- RevealedData + value bytes len=0..MAX16 aka=DataState + salt is U128 + revealed rec tag=3 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state rec -- RevealedData + value bytes len=0..MAX16 aka=DataState + salt is U128 + attachment list len=0..MAX16 wrapped tag=3 + AssignRevealedAttachBlindSealTxPtr union + confidential rec tag=0 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state bytes len=32 aka=ConcealedAttach + confidentialState rec tag=1 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state bytes len=32 aka=ConcealedAttach + confidentialSeal rec tag=2 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state rec -- RevealedAttach + id bytes len=32 aka=AttachId + mediaType enum any=255 -- MediaType + salt is U64 + revealed rec tag=3 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state rec -- RevealedAttach + id bytes len=32 aka=AttachId + mediaType enum any=255 -- MediaType + salt is U64 + valencies set len=0..MAX8 aka=Valencies + element is U16 aka=ValencyType diff --git a/stl/RGB@0.1.0.sta b/stl/RGB@0.1.0.sta index b12eca78..e7be7c35 100644 --- a/stl/RGB@0.1.0.sta +++ b/stl/RGB@0.1.0.sta @@ -1,337 +1,317 @@ -----BEGIN STRICT TYPE LIB----- -Id: urn:ubideco:stl:3oFaATCYpF47hyS8HJzVvdDRpJNJnggKo1zcqDBBLNYi +Id: ENn5cEDW7QUStLzY6HBXjZFARAbrGHv3tXmdQ3QGzoU3#option-data-mimosa Name: RGB Dependencies: - urn:ubideco:stl:ZtHaBzu9ojbDahaGKEXe5v9DfSDxLERbLkEB23R6Q6V, - urn:ubideco:stl:8wHziC7Bxa3BwctUh6EVBanosrvRHecCTPUjkZT4btNd, - urn:ubideco:stl:9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ, - urn:ubideco:stl:DKfPCg8jYu1apejvdTpRZvLCtXuzwaC6iZwfHqXz3Uaj, - urn:ubideco:stl:DVtm25LRKU4TjbyZmVxPhvCmctZ6vKkPKqfpU2QsDNUo, - urn:ubideco:stl:HX2UBak8vPsTokug1DGMDvTpzns3xUdwZ7QJdyt4qBA9 + 4SZ2EgWWtC5LsNXmNpAzogNHZoaZNTCwU3SQhAYwDX6A#citizen-fiction-corner, + 55f8bsTvyh7zAeYAiNwL9G1DxgwXzDvE8edcTFJz3Q9H#milan-poncho-gray, + 6HFQ83t33zW6PgG2pWpXM3HuEUFXAgUjheYiQa2Jdb9c#jester-lorenzo-address, + BADMWBVQ6sMJGfELP13cjeZPNutGuLzZtNNZirJQsz9e#tower-monaco-corona, + DVtm25LRKU4TjbyZmVxPhvCmctZ6vKkPKqfpU2QsDNUo#exodus-axiom-tommy, + HX2UBak8vPsTokug1DGMDvTpzns3xUdwZ7QJdyt4qBA9#speed-atlanta-trilogy -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 -Oet4fTMrkFVU2AtwQFVIAVJknOe0JI+r9gBkw6hZJwCkgP+bfgb31M6MQWRg8ReO -PQ5BbmNob3JlZEJ1bmRsZQYCBmFuY2hvcgHvzwBJL1+cysF59X2Zg9xoqwpQCAwP -i/uPgkNziasylgZidW5kbGUBGAdaASyRBZLxc2F83z0gc6hgdZJ8wT8Ypq9JMEr6 -+HUIQXNzZXRUYWcFAQAHAABAIAAiQXNzaWduUmV2ZWFsZWRBdHRhY2hCbGluZFNl -YWxUeFB0cgQEAAxjb25maWRlbnRpYWwABgIEc2VhbAHbiloaghQQdSjy+IxAQ2rE -R110eInH2zpeEca+1mm1BAVzdGF0ZQH8NEXdX88NC/+sFaR6ugUi4FuLKxswZVKH -g497LeuOPQERY29uZmlkZW50aWFsU3RhdGUABgIEc2VhbAGPu8LoR5pO5E3iXXF/ -vfoTuNTRkbRtkcEAIgYb4YpxNQVzdGF0ZQH8NEXdX88NC/+sFaR6ugUi4FuLKxsw -ZVKHg497LeuOPQIQY29uZmlkZW50aWFsU2VhbAAGAgRzZWFsAduKWhqCFBB1KPL4 -jEBDasRHXXR4icfbOl4Rxr7WabUEBXN0YXRlAWhTNCAM3FPGTXbiti6qZi/aOtmR -vwarKQ680PZ6A0rMAwhyZXZlYWxlZAAGAgRzZWFsAY+7wuhHmk7kTeJdcX+9+hO4 -1NGRtG2RwQAiBhvhinE1BXN0YXRlAWhTNCAM3FPGTXbiti6qZi/aOtmRvwarKQ68 -0PZ6A0rMIUFzc2lnblJldmVhbGVkQXR0YWNoQmxpbmRTZWFsVHhpZAQEAAxjb25m -aWRlbnRpYWwABgIEc2VhbAHbiloaghQQdSjy+IxAQ2rER110eInH2zpeEca+1mm1 -BAVzdGF0ZQH8NEXdX88NC/+sFaR6ugUi4FuLKxswZVKHg497LeuOPQERY29uZmlk -ZW50aWFsU3RhdGUABgIEc2VhbAGCDA2va/00AXcoqL5ScJh539KRqTp7mUKHtJe/ -oaep2wVzdGF0ZQH8NEXdX88NC/+sFaR6ugUi4FuLKxswZVKHg497LeuOPQIQY29u -ZmlkZW50aWFsU2VhbAAGAgRzZWFsAduKWhqCFBB1KPL4jEBDasRHXXR4icfbOl4R -xr7WabUEBXN0YXRlAWhTNCAM3FPGTXbiti6qZi/aOtmRvwarKQ680PZ6A0rMAwhy -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 -U5/k1ZO0nELT+UXzivmc7pRmKwAAAAAAAAAA/wAAAAAAAAARR2xvYmFsU3RhdGVT -Y2hlbWEGAgVzZW1JZAK3FBjj8uonpEm73YiYBHyGHQ2UFsYXZ3kUQh36Kwr+EGsE -oxSeppUAFmef7wK0qyT15reKZMjZ0L1l/NejWE6NCG1heEl0ZW1zAAACD0dsb2Jh -bFN0YXRlVHlwZQUBAAACDEdsb2JhbFZhbHVlcwUBAAgB/2hjwHhSgGn5h7iC45yj -Eyw6PpvBL4tw7QQfVfFlMF8BAAAAAAAAAP//AAAAAAAABUlucHV0BgIHcHJldk91 -dAGTELyAsTRaiy/DWFLuD01o0B23+jXLm2SSq1YJmvSalwhyZXNlcnZlZAFFKqVf -fdYBSouhbcRmMrYP8bVs3DpTLs+9a5PVZxmeiQZJbnB1dHMFAQAJAclCQiLtAr5H -af1PIx2zRU6nKLxDqBEO2zPLjy8KnkhGAAAAAAAAAAD/AAAAAAAAAAlNZWRpYVR5 -cGUDAQNhbnn/CU5vaXNlRHVtYgUBAAcAAEAAAgtPY2N1cnJlbmNlcwYCA21pbgAA -AgNtYXgAAAIET3BJZAUBAAcAAEAgAAVPcG91dAYDAm9wAZXI5noedWJf1JZVQmqR -635CkKFvWpjxvlD3tookEvfFAnR5AYf+4mVYiGzoHL6GhLN5YycTZYPFtmgBXosU -FjaxRIe5Am5vAAACHk91dHB1dEFzc2lnbm1lbnRSZXZlYWxlZEF0dGFjaAYEBW9w -b3V0AZMQvICxNFqLL8NYUu4PTWjQHbf6NcubZJKrVgma9JqXBHNlYWwB0WcXvUMS -8PYJhO7+bk0eCwMDJ/lOyLsFkizEyTEnlqoFc3RhdGUBaFM0IAzcU8ZNduK2Lqpm -L9o62ZG/BqspDrzQ9noDSswHd2l0bmVzcwEFc+DJUM6q9NDDmwNdo+qh0Ns0ZILQ -WR6EliTLFaZZZhxPdXRwdXRBc3NpZ25tZW50UmV2ZWFsZWREYXRhBgQFb3BvdXQB -kxC8gLE0Wosvw1hS7g9NaNAdt/o1y5tkkqtWCZr0mpcEc2VhbAHRZxe9QxLw9gmE -7v5uTR4LAwMn+U7IuwWSLMTJMSeWqgVzdGF0ZQH/aGPAeFKAafmHuILjnKMTLDo+ -m8Evi3DtBB9V8WUwXwd3aXRuZXNzAQVz4MlQzqr00MObA12j6qHQ2zRkgtBZHoSW -JMsVpllmHU91dHB1dEFzc2lnbm1lbnRSZXZlYWxlZFZhbHVlBgQFb3BvdXQBkxC8 -gLE0Wosvw1hS7g9NaNAdt/o1y5tkkqtWCZr0mpcEc2VhbAHRZxe9QxLw9gmE7v5u -TR4LAwMn+U7IuwWSLMTJMSeWqgVzdGF0ZQFtRMb0L2oFOkMVD6bmwizE6HrlLJT4 -BtQMpdyH9nWNoAd3aXRuZXNzAQVz4MlQzqr00MObA12j6qHQ2zRkgtBZHoSWJMsV -pllmGU91dHB1dEFzc2lnbm1lbnRWb2lkU3RhdGUGBAVvcG91dAGTELyAsTRaiy/D -WFLuD01o0B23+jXLm2SSq1YJmvSalwRzZWFsAdFnF71DEvD2CYTu/m5NHgsDAyf5 -Tsi7BZIsxMkxJ5aqBXN0YXRlAS6ypf4XwDBEMJjgXJsbWmzWHu12DWHey4Am02Tz -FuG7B3dpdG5lc3MBBXPgyVDOqvTQw5sDXaPqodDbNGSC0FkehJYkyxWmWWYSUGVk -ZXJzZW5Db21taXRtZW50BQEABwAAQCEAClJhbmdlUHJvb2YEAf8LcGxhY2Vob2xk -ZXIABQEBHnYX8Sd92z674WoPchG3be1V329DDVURXwN4J6VCVycIUmVkZWVtZWQF -AQAKAUbt5sMIHP245lekKlzgxgiEf/wfvl52uXF0qcr1iVnOAZXI5noedWJf1JZV -QmqR635CkKFvWpjxvlD3tookEvfFAAAAAAAAAAD/AAAAAAAAAAxSZXNlcnZlZEJ5 -dGUFAQAAAQ5SZXZlYWxlZEF0dGFjaAYDAmlkAYRxDZMsTvTDtwhLaYuwh3Apfjlk -JH9Fkdjag23Rfbo4CW1lZGlhVHlwZQFCMGGFiMjUqxQmQMf9yRcszdD/EP8Nk4AA -RHyImt3MeQRzYWx0AAAIDFJldmVhbGVkRGF0YQYCBXZhbHVlATKeVlEG+U0VK6ea -o2wANZWCnfmwN+ULlML8cL/GfQSFBHNhbHQAABAQUmV2ZWFsZWRGdW5naWJsZQYD -BXZhbHVlAaaMMJFHS8o6wmKMx5VEjSzdqsUUnwUzlav2PFVhBxcmCGJsaW5kaW5n -AYW4+Cu79KSmDbO/P0W4D5RueIPDrVJtk/RvowGobkfaA3RhZwHJj5qpwwZLGv39 -ZxuXvCr8/kxojx9zyC3rcW/naZsirwZTY2hlbWEGCgNmZnYB2ptRE1gWVnaQh/uZ -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 +15!sq1~VSXp&gflt-+@~_eeBXa!cG8g3ZW4Bp*VfbYxC+0vHR+edZy`|Kv*>uVx +kpmL}Eg3U`IlNoAa7B+CXuP(yEWWtQ;}kI`46>9@qkSrR0T#xnXija}LTPkkZ)t7@1wm|eR!sr` +ZSSEb;k|42*wg~2q@3^Lq|9zft}OB~jx>)hO72TW;VQ)zT%r!Z9lE%{u?@QI^ +EqCb}2Q7OO^w+`_q*ddTXmHSf)1x#sTNn{2>P(yEWWeorUdtm>UaGoca9LuK7Ij+X8IutaRAF#(Wpqw&WMxoca&&HGas$;gkn2QsifIWLvZbUw81 +NwsGjgonnp^pYSe+vyeGo->aBOK~X>?O%VQf@*X=D$!ADBNH?W>M^%H|xc>sh|Dn +*!v8^Ea7rh?dzC2n-8UVQ_L~bWn0{Z)Ow3Q&MIpyF?|7J7@IF!hZhz8Wft0d6dj=*oo`t>c$)o5X19O9`rXu +=lIsRdWprq7WH>)!E^$-R$RUwD%Xb~0J!Ic@@+ehVE%-)5lom~G1rbzXaB^jIQfX +&sbV71rZewUhC#Wt^wA&hNfbvI8l{tqo-}{|djZ8YAkJtUQVz<=}LTqVnWK(5fY* +ctqbaF>d&s@;xOg?z(`#e5a?6_IYcQ>Du*Pw +&hI`xNV4B0;>oUbhHyi-Y#=22)QEgSwgbZe&wsVQf@*X=JhGI5`vwIKJ +?28qdBQV5M*2;q-lY2q<~K(fZR6A>9R3cu;h5!P-FPcA5c2+v;>D@qdC-Hdlhx3 +aZBNPbr@aHF*SPB$t~%I3sYlqX>fExd30rSF}tqlgo$^>um>@6G0l?pFt#Zz&53{ +9y57aQ#OZ(83shlnPH$voNMUnmU#!_}aHwX>fF-fOl4taR%LShqNggpk^aqssIi!kV?X)a%pCH0suIkLxv|61vo|i^jdP +;%w2}rc(F;vwa%*g5P;zf?W&=}nWC8$Th9c2>uJC38-{*D7fZ(%hZo23R4S;p`Q9 +JBQllDynLT_(ua*n2om)>+B_9|IvuuF#~1iwYr-#C?=ekSLqB#`8-4nb^iXkkuuZ +A@=uVRL8;Q*?4^V{}w`aAk8302{a_f~YKKsRVJ$cq_YIR$d@A*Ad=)x)vi0X9JtzktHWiJ@1L)babHELfN$u@7k>`Uy~SX>Dn +AX?A5pv*m4Yw)B>wxiHZ7F<>4e9@?+^Gt^ge<33_oRD_8TR$+2!VQzFuZf0*&Wo= +1hWQ^1guxo~?k7uF4NzDeO#rBGKK=2;%1>}BM5{Lay5>;+)VQpn(MrmbiWOGwxZA +oNiJ2xM}SaLsnunswt8WkEvwiIxOQC;OL>r^THZDGL>PGN0jWJYOaY-Dp&Wo=1hX +I79H6CJlHnxEK%NSB*vEUCdBMWU%~<6#T5;KWaW3Px#VY-CeqZAoNn1fvw5rj-B| +XP@r^w5ufb=C_Ju$l1`nW&GEpSWb-vQ)O*QWPNrrN%arAsa2~aa`JC!kHz2#8iMH +*6x*Uu)+c1g=mkk+Wo~qV(<~&{!{{>E!(#o&^pB98KZhv1GEPn8Orhb4n;8ZMQ)z +l>ZfBAby7Gca>vy*Q?h@&~tk)^LbBPzYo<|k4j{}!dEPo6|Zgp)|VRC6?pA9RqgJsQ +F)~2<)1*a`BfGWZkxd_avHyWRvZaNX=Q9=PGN0j!P3H)ZNVYHBOq;+#Z*Ep$a%o +|1baPW>ZAoNN00}{CbWCA+WpXhC0S0Voadl~A0SrNGbWCA+WpXi7Wpo7r00{xeYl +3?VT7AZm1SE3hA}5c~&&3*7XrN0!sxd$tJbohp00000000300000000009L2PwXV +{&P5bOr(hY-wV1015)Rvj?DBr&dXZLqcx477IU*jA;4jPyNj;g+K~N3L015yH002M(00OzQ2cTM~R!N3KLTaU=OZ$bvG|>z)+>9PT;Au-7)~D;-++hF!00 +0000096000000000R=ZewU~a#Lk=1OovEbYXCEWpn@q0Rm2R0vHR+edZy`|Kv*>u +VxkpmL}Eg3U`IlNoAa7B+J3tK<0Lu0Y%&DbYn`jrnGScK?m>lquAdZ^vT}#Ew};& +Z*X#DbN~eb0#0-S7z@jN<{`@e-AdqkKoJOcz|bzy7(1_B0jVQ_L~bOKIv0vHR+edZy`|Kv +*>uVxkpmL}Eg3U`IlNoAa7B+J3tK<0Lu0Y%&DbYn`jrnGScK?m>lquAdZ^vT}#Ew +}}5aB^jI0#0-S7z@jN<{`@e-AdqkKoJPtu_V`y)3Wn@BiZe(m_1_B0QZewU~asf5!7Zdcy +l>8RP#sS2w|IN6-<8Et=ENgX*_C9_Aywe6^b#7#AWdRrmS^+GP1(NY|VSL{`Aakf +-b&`C+KNzO3Nia(K_;mKtpQ8M_qJyiO1VIUJ=H=)@ii_1#@&^bY%hjG)3KC&kYOztQDksx&yAAE5o2#|W@%()Zggp3Y*Tb$bY%br0t9nqVQc}9yTa&4noi_R;$3ln +z4{Zl)X|Z&ZIQtMA_g1big7gsb97;JWdZy&McrS|4GaIQ6{LE)1tQ>Eiz^#2Wm1Q +Ok9#fajy(bpV{dL|X=G(?bZKF1Q)OXn00sgCb7f&{0o#gN8iEuMbtv-qj6g$b#7A +9pc!|f`I$jaRzSe2A1O;<+VRU5yXj3#G4BS)3O?Kk8E~;iP+B(^hzXq!*4!qFzdI +L(#0|;_uc4c8~Wn=&b0t9nqVQc}9yTa&4noi_R;$3lnz4{Zl)X|Z&ZIQtMA_g1bi +g7gsb97;JWdUeYG$0JzQ^rkp;Yy +C6yAAF5Mys{W@%()Zggp3Y*S@nYybuV1aoC!YysPfS{i~B5OpZ> +_>4e9YQ#rfba;u!+d5tm#=h2RwFCuobYXO50ccY+APn47#!YtOwl1n>FWNfUk-rA +3DGt2Q_Id+K%mWB=Wp-s@Y-MBs1_A_gWnpXqf(#9>YyC6MdwWnpYocu;h51OxyKV{dL|X=G(?bZKF100sgCb +7f&{0o#gN8iEuMbtv-qj6g$b#7A9pc!|f`I$jaRzSe2A1O;<+VRU5ya1CV;vVwtc +AGbZ_5@VACR|ut2VXXq-)V^B9&!_4M0TE+wZf0p@Wo~q7VQf=$VRU5x1_A_gWnpX +qkGsO?N19ILP2yc~f4%w>xYW^+v~7{W03rq(;firJ1#@&^bY%f>4P_9rf`M-zw>{ ++&W0M0{2&GbCtpecGzFNi4r|Jm;5Mys{W@%()Zggp3Y*S@nYybuV1aoC!YysPfS{ +i~B5OpZ>_>4e9YQ#rfba;u!+d5tm#=h2RwFCuobYXO50sm-Yz<5%CY59k^g5#W{6 +D&GDo53%OaP0&iRq +xYW^+v~7{W03rq(;firJ1#@&^bY%hmXk);5Qh;gshq!{{oTC#gIzF4hFN<*P1Rqu +LWiVeKL349yXKqquc4c8~Wn@HQbYVhlX>MdwWnpYocxhw=1ONKtpQ8M_qJyiO1VIUJ=H=)@ii_1#@&^bY%f>4P +_9rf`M-zw>{+&W0M0{2&GbCtpecGzFNi4r|Jm-5o2#|W@%()Zggp3Y*Tb$bY%br0 +t9nqVQc|{3=OYq{WJl0D5$WZob97;JWdU#vWe~E0 +fo~tTJ>?Q(lLJ=>rBY$70^roXTE)+&>Ini6V{dL|X=G(?bZKF1Q)OXn00sgCb7f& +{0o#gN8iEuMbtv-qj6g$b#7A9pc!|f`I$jaRzSe2A1O;<+VRU5y|7c^tcv66A`G> +fIWZob97;JWdZ+aW59S)fNA-MxPs%HqZ2GTKAXWWi +*W4(A64;XFkc}-b8~5DZc=4-WnpY(WL9Bpb!9?qX>MdwWnpYocu;h51OxyKV{dL| +X=G(?bZKF100sgCb7f&{0o#gN8iEuMbtv-qj6g$b#7A9pc!|f`I$jaRzSe2A1O;< ++VRU5y!cnbd>2(dPni5&ez=b4S)%US)QrL1fMlA7ljGsxYW^+v~7{W03rq(;firJ1#@&^bY +%g;QLSa^bq%bV5?Rc^g(O_n_pxtM*m5>TEb(=WpH5u@5Mys{W@%()Zggp3Y*S@nY +ybuV1aoC!YysPfS{i~B5OpZ>_>4e9YQ#rfba;u!+d5tm#=h2RwFCuobYXO50c}La +^e<`!Iztr?rsl#d#OQkEER^^L)C{HEhxT=ipaTeUWp-s@Y-MBs1_A_gWnpXqkGsO +?N19ILP2yc~f4%w>xYW^+v~7{W03rq(;firJ1#@&^bY%f;M8@2(dPni5&ez=b4S)%US)QrL1fMlA7ljGsYyC6TEb(=WpH5u@5Mys{W@%()Zgg +p3Y*S@nYybuV1aoC!YysPfS{i~B5OpZ>_>4e9YQ#rfba;u!+d5tm#=h2RwFCuobY +XO50c}La^e<`!Iztr?rsl#d#OQkEER^^L)C{HEhxT=ipaTeUWp-s@Y-MBs1_A_gW +npXqf(#9>YyC6_>4e9YQ#rfba;u!+d5 +tm#=h2RwFCuobYXO50WPwo{ujV7L@=1(T$>wOY}Ov_b`4?P%YY`+Wb+o`y8#hnZ* +FF3WMyu2X<=+rbYXO500sgCb7f&{0gt=F=tr7P_>4e9YQ#rfba;u! ++d5tm#=h2RwFCuobYXO50WPwo{ujV7L@=1(T$>wOY}Ov_b`4?P%YY`+Wb+o`y8#h +nZ*FF3WMyu2X<=+rbYXO500sgCb7f&{0fGz-uWS7@0e2{@L7b8`d&00v=Vb7gLH000012XJy_b7gLH00jX7iECIT&Bl;lSX +#$ms8AQN7m&qYKfZ0H=mhJ>?uVMd`Zf8beV{~tF1pxpD002NB01rcNZewL(Y-MCYbaY{3XaxZP2 +LJ#-AOH +D0jOAO_>pDW!XprEy@kYv$v5V(X6p=QLH`ynXsCCkm=8m5Zgg^CV{}Mqb98TVc?J +jwb7N>_ZDC1d0hChH+XJhss8OG%_CC-Q>(otsF+cqN0Qy}ddQ=3E5Dao}Z*)^*Xk +~3-Nn`*70ssVVZ*FA(00035b8l^B00jX7lv2~%1FNg3QJ<&wKF}2F)J=UcKm7gx` +duV?R0NO^3S)0>baG*1bV+0Zp9m~TI>-W|y2ahx3nF|Vuawki#7NH?S|Q-Q!u2{b +24`$O^z3qkU`2%>V!Z000000RR90 +{{R3000d-VbYTDq0Zm&2unN%Ogv+IWOlAQDZ9;ju-OD&R*`2#>nd!~X9RL6T0000 +00RR90{{R3000v=nbYWv?00{xXnY9F@W0kV-aZ{ajBd_ZDnD~<$3CBu40zYmn*4o +Vg0000000030|Ns900000ALvL<$a$#e1Nn`~900#g7Kp+4OLvL<$a$#e1Q*>c;Wd +;HUb7N>_ZD9cy#FTPkGHkVT5cWBQ@u6K8aKc_jMubjo`Wy&nb#mDUXlZkFZ*qA7R +_IuAa?c1y4{!B0lLRVe@c%rricI<>A{c-Zhn%3h2}EIZVN-NrbY%qr00;m8KmY&$ +000000RR600000000~8SbY*UHX>V=@2m@wjb^+R(Q4?4eR(6nw`loIF_o +wDud_=c42H~ZewX>a{=9jW&m$tWDykZj`7#3_zANbB(SO{shhGe=&H{tM@ioJpYH;+t0eX2w~A!Q+0eaZ{MVycPK^g=Y;R&=Y;yn#0oCr34 +oQf!Y4K`P(FaQVwIle)QgI&pHa%8Z1>xis%Ku=2wF+7z(W +qt=tdZk`V^s(Ana000000093000000000MaWn^V#ZF2w#0Y>fS!w4MxxaL=+DqP^ +k2!wz9AHH68xp8!<%Jqp^&Hw-a000000RI300000001IJrb7^O8ZDnqBa{vkfhyL +PaScq)s9KMExvw34D6J>+NwrBxfixd_%u|$Wt0XD%jq57bK6Q|uUfIMEX^1}Vv6t +LB!)|10-o)0prc>n+a000000RI3000000010+sY-Mg^X=QT&2?0j!=EDda{kY~=q +$*tC#t4Le{2#tvcDZqMsmk?$e$17>D+0ot2U6Id2jc94hrndM +fLayEe1ISdA&%p{mB1!VWk)d+KAXk~3-Nn`<(Qq$W5tE;F{pQrXd&=l*`O?@#x{Q +dy?T_k!`1dtF1bY*jNZe?@=JfJU>zJB;=bhBCKPB)LHON@H8JZNt%NvJPm-=hp1V +TK~nd#>Oe*2+$Gv`#s(_J`M{(ZDxCj+u}PDuB+X33g#@Wo~0>Wpe@Dg= +PS6VPp{$?vC--s`v@B8YHl)C#jpVFzBk!DMw8WM`dnhb7^x^V`yb9@qkSrR0T#xnXin+a000000RI +300000001IJrb7^O8ZDnqBa{vkfhyLPaScq)s9KMExvw34D6J>+NwrBxfixd_%u| +$Wt0XD%jq57bK6Q|uUfIMEX^1}Vv6tLB!)|10-o)0prc>n+a000000RI30000000 +10+sY-Mg^X=QT&2?0j!=EDda{kY~=q$*tC#t4Le{2#tvcDZqMsmk?@L7b8|s%V`y)300aU61a5C`WdHyG0R(e +zZDjxj0RdPNl?@<^v`w+>_3ApsnVQb!iMVLduF6PuEs5-&8axAOWOx7o0t-iMZ(? +C=Q*>c;Wd#8M3IWybk`76TvuW{aQ_%-X`?VwZ$5L?~`!+pRSq0(b70UsD_3x-QSV +kkiHn)wTQ=jD3leC;d)A>d7ius)Glx8ac0000000030000000000HM{I9mVQf=$V +RU6vV`ybioJpYH;+t0eX2w~A!Q+0eaZ{MVycPK^j{VR%V&Wo>f+00Iw3Y;R&=Y*Tb +$bY)a|aAgGn0006EM{I9mVQf}mY;|RG1pxpE0sm-Yz<5%CY59k^g5#W{6D&GDo53 +%OaP0&iRqbODnPynwMZT8 +l5kSW@l}O=!>^xB4~9n`Dx!RtcK)nwJQ2Wpib6c4cG%MJlCVebxa=i=l1AW-_)9@ +wIH+I#Vvsy=#-zXBnP}21#ykb#!wD0RRaB$wERR?E=0>Y5h+l9kWGFrzpHbs1Xj^ +Gs}-J3Z6(t0000000000{{R30000002~A~WX<<}(aAgAl17U7?{|QcSX>(;nb!}n +=0RRU806+i&3r}NXb#iiLZewM01_A?ZX>I@j0t0PfcmMzb1W#~DWCZ~L2LJ#-AOH +nVaBp>V1_J_bZ~>Lb=6W7=VqesjRYGc!>wZFzp>JB4@xD;^wu&SY_r(Hqc>#z1;$ +>KfZ0H=mhJ>?uVgq>HOrf1lB-q; +n)I5N1aoC!Yyr_{7rjFg@b(FW?*48~9t#5lC;3juy9JUg#K|!ymZ}AFbYXO50ccY ++APn47#!YtOwl1n>FWNfUk-rA3DGt2Q_Id+K%m;UAbZ%vHa{&c&;K@+Vs`Svqn*& +{=>Y>ovG-QI%SssLzB+C`1S!Nthb#!obbU|}-X=iS2Wo~p*Wp-s@Y-MCbVRT^z1O +;z!Z*_D5lMuXsu{2tXFT+?;?hj39&>gq>HOrf1lB-q;n)I5N1aoC!Yyr_{7rjFg@ +b(FW?*48~9t#5lC;3juy9JUg#K|!ymZ}AFbYXO50sm-Yz<5%CY59k^g5#W{6D&GD +o53%OaP0&iRqY>ovG-QI%SssLzB+C` +1S!Nwib#!obbU|}-X=iS2Wo~p*Wp-s@Y-MCtVQh6}1_T9faBp>V0h18CfUz`Mi!Z +}iQtl5;XwV(E`Zdd&WRj~^37YhpmjrWVVQc}>XBWLg67cp3gzo-sO&$va11I@T$h +!rSEX2t%Czh%Ob97;JWdUtO#`G_01v*0&52ohAEX3$~@L7b8`U&bKuEP&Z_j#!c;Wd;NVZ*XsQbODnPynwMZT8l5kSW@l}O=!>^xB4~9n`Dx!RtcK +)nwJD~WnpXq(PtOELlW@z354$cZcQEw0|O`dPRP3jk}Sl@F(;O)1#@&^bY%f9vZe +kPz%WEGnBZKS8(M7E9_@AwVcyGtCevi|7U8=GcWHEPWpi@@1#{rZP|m9K(8HSpU8 +Cxu(AzX*g3wtWgq9@B6{cBc5>RDiWpZ<6ZbNTvZE19EWo~o@0RRU806-xC3Q}QiX +Jt@wZ*OJ<0sjkdY+++%Xm4y}WpV%o0RbL%7x5>3+djMDY7cS|w{7iJ-)}<=RS{nU +cqgSoS0@NkWn^V#ZDnKy0RRdCM(yUq2ps*m=2xUDT;RqCgn#@WzFu~@adfH5^@&- +|0hP$+dLDIRU(}XWLTZugenOC;Z(5k~zEJnJiX;;E#Q*>R000000RI300000001Q +%Pb7gXNWn@BmbY%qr0003FQe}2!VQgh&L3DIsV`v5g0%>FcgmDd%EKc;pw+KsVi? +D}qDSkO*B!5Mb*xG|_(S5o&32kL$X<<}(aAg5PFkyv=$keM8CP2si$rmim(Ekws4 +U>QXM0|*v-OPCeb75?B000OKQe}2!VQgh&L}7Gc1_A|kVQh6}0WzLeQ3m-<6)UHj +qig^*m4co5us7ukl*0UQzs7w8g#>e9Y;*ts5D-#jc4c8~Wn@NmZf9v?Y-I)m1$JR +Kwa1v8ba_B>T#2Nxy?Vr*${WNB_^0fo5uE4% +chrVX>dKSj6?lx}!~!>v+nlk{(+0jO?A+5>c9X93BNnyJGEOB((CXB(HiD*XOTXp +bLr$Svz}Z|7;7BCiHhV`yb}5vZY(~ +FzYeIdN`S$)9l7ap=09=fBme*a000000RI3000000019t+Ze?Utd2nTO015$z{^D +g=h-~N_zJ`Red1EINWrM}GXaQb}6c#qIM2EQnILZ{@g(An}If6!%vcs8JbyKG3$_ +x(S=#`1OiFX_G0000000000{{R300000040d5`Wo~16RC#b^a{vheM(yUq2ps*m= +2xUDT;RqCgn#@WzFu~@adfH5^@&-|0000000000{{R30000002WMq&WpinB0jom) +3dE3VMG*K@Uj`&9O$m&URampr+czw5j9K7JLkeYhbY*UHX>V?G015$Qbsj>g6`?# +s5rWnKhSeO?L~x^!;Y#eFP|P}0Z%Ez&X0(@tkHmR7VBa*7>vj^5vkt5f(LFa*EmC +9=2$WE90000000000{{R30000003v_Z}ZgXjLX>V?G015##QV*^ZmKt8YDf|&5KZ +Q>65I6*X)C9iYp+?yjr7~y%y~l5O%01=Zemts_^ihfD_#u#I +JXH5*Wys5xLU4JrSgP3@8bSFd6H|0e8x)RV#2vcKdWo=M0Sp%uJ^vU*QJ`JCB}1fCDqcO!XNk(`C +#ZoeEA)wskqc*RZ(?C=RC#b^a{vkf)$WoGNr}5vZY(~FzYeIdN`S$)9l7ap=09=fBme*a000000RI300000 +0019t+Ze?Utd2nTO015$z{^Dg=h-~N_zJ`Red1EINWrM}GXaQb}6c#qIM2EQnILZ +{@g(An}If6!%vcs8JbyKG3$_x(S=#`1OiFX_G0000000000{{R300000040d5`Wo +~16RC#b^a{vheM(yUq2ps*m=2xUDT;RqCgn#@WzFu~@adfH5^@&-|0000000000{ +{R30000002WMq&WpinB0jom)3dE3VMG*K@Uj`&9O$m&URampr+czw5j9K7JLkeYh +bY*UHX>V?G015$Qbsj>g6`?#s5rWnKhSeO?L~x^!;Y#eFP|P}0Z%Ez&X0(@tkHmR +7VBa*7>vj^5vkt5f(LFa*EmC9=2$WE90000000000{{R30000003v_Z}ZgXjLX>V +?G015##QV*^ZmKt8YDf|&5KZQ>65I6*X)C9iYp+?yjr7~y%y~l5O%01=Zemts_^i +hfD_#u#IJXH5*Wys5xLU4JrSgP3@8bSFd6H|0e8x)RV#22*2 +lX>fD|0RRPIY;{&`00jX7qWbEda9o^`%-h{Y?T>Kfj`b9SKFB^?WVLEr!&9xW3sZ +DqbY)XxXk~3-1OxyJWMyM)VRB(~X?A4*00039W_507X<}?;00jX7`Sh#^X0AbZX4 +L%*5q$))*;M@wXI>IJVg&1PPwC}G0t$0Lb#i5700jX8mhlje(O07Bx5UR;5 ++serGWs~V=@2m@wjb^+R(Q4?4eR(6nw`@6CZd +7@2WdSr&53UoI8eY9A{1GERg--GiI0S#x1is&)M%fmnGH3{GWprU=VRT^t2mk;;0 +000000000|Nj60000002WM<=Vqt7^0owP`H}~XwW|nkt{7-&IWbpPi(wX$0pXUqF +<#0Z84+d#&aCLNZ0r_}MpteKaIeZ@3SB*1_H_;r+;!45jrPr5ftu@@z<*O39}j`u&O7io3b$Is?RA$O%POaVQzD2bZKvHLUnFrY-I)l2x +)F`b#zT(Z~zJd^=uPjBlbC`N(qzPM@Gr{imSMTSY5T*7C#t%#3&jHA>%$n#j0HLD +JN5-IKgM_J7b(p+0MPGk2Gl)y2(Rz0hP$+dLDIRU(}XWLTZugenOC;Z(5k~zEJnJ +iX;;E#Q^{S000000RR600000001#_#Z+C7~a$#@6CZgT(%0hP$+dLDIRU(}X +WLTZugenOC;Z(5k~zEJnJiX;;E#R2R@6CZc}4uWo=;w1qf|rbYWy+bYTLP@e +q&ESEA{+#K&0@B#p*0`Z(jSln|eUa_5s>PIZ}U1fvw5rj-B|XP@r^w5ufb=C_Ju$ +l1`nW&GEpSWb-xXKZg`VQg~%3IWybk`76TvuW{aQ_%-X`?VwZ$5L?~`!+pRSq0(b +70UrO!8D=zpn(&o-7tVWUa<1Q{n`|;)uYyv!)~4rGOBq10000000030000000000 +6X>M?JbaMa-0f+wLWmt%8=p4R=gtK{LClh6Z#kObxUW*hKHnBv9xdAr8G@<&SffJ +|QFn~N>u=2wF+7z(Wqt=tdZk`V^s(Ana000000093000000000YNb8~5DZf#|5ba +Ma-0f+wLWmt%8=p4R=gtK{LClh6Z#kObxUW*hKHnBv9xdAr8G@<&SffJ|QFn~N>u +=2wF+7z(Wqt=tdZk`V^s(Ana000000093000000000SgVQgh?V`*h`00{v`?dHP> +9R0ZFSEMRj;Km4qfBYZ5UUs>0bg9bqiCNA70000000030000000000ERB~Z%b7^# +GZ*Ek1aAgGn0006SRC#b^WI=OtX=iS8LTqVnWK(5fY*ctqbaDg)01ISgV{Bn^VRU +JBWdH>M00;rH1vZ#~6S0w{(RI4`cN>c#f1s}6wBY4XHm<^|-YI4P0000000030{{ +R30000012xfI|XK7+=WdH>M00;pqWj;1%d`l;`|9P5nOOx +7YOm0000000030{{R30000023UhRFbz^jOa%E%y1pxpE0g7pkX`g;+>REzyBm9wo +R4fMkGNeGN3DfiLPnSEI8vp7hxcI*rY&UL5{22fM000000096000000000SAVQgh?V`*h`1pxpF0Y>fS!w +4MxxaL=+DqP^k2!wz9AHH68xp8!<%Jqp^&Hw-a000000RI300000001H-OY-Mg^c +~p6DWd#8M00IeCZ)s#xbYXO51pxp601a1ZbZ%vHb3txnXm4@`0t$C&bZ%vHb5C+) +0m2^a+yK+Q;_HtBn{qn)u@JyEm+8*~Xc?3hrUVCR$_aOAbZ%vHb4g?YiECIT&Bl; +lSX#$ms8AQN7m&qYI@o0Ra +xbxa~M%Zlr^{H1ibsRCVcA*+(@K+$R_oJY%-uiLn6)Z)RpgXklq?0000AS7~%^Wp +i^-Z*v9$254nzXJ~W)00aqiX>Db5bYX39002l2SVL%GX>LJoV`y)3Q)P4n0sseMX +>?<6X>I@o0Rh_JVJAtjgJdT_Z|>M2sS?MtJl#qTQVPp!*((IXOHBa=Y-w?IX=DHe +0Rh_JVJAtjgJdT_Z|>M2sS?MtJl#qTQVPp!*((IXOHCA5Lug@XZbEEnZe&wsVQf@ +*P;_zx0sseMX>?<6X>I@o0Rm2R0vHR+edZy`|Kv*>uVxkpmL}Eg3U`IlNoAa7B+E +u8s4h^n+Zt?u@<&aTIfpUd`<+;gOgf;C*Zs6&x77g#Y-w?IX=DHe0Rm2R0vHR+ed +Zy`|Kv*>uVxkpmL}Eg3U`IlNoAa7B+Eu8s4h^n+Zt?u@<&aTIfpUd`<+;gOgf;C* +Zs6&x78C^Lug@XZbEEnZe&wsVQf@*X=DTf00&}ebYpL6ZU6-V0#0-S7z@jN<{`@e +{OM>iY*&c?b?aZznm(1ly +i>j4IAX>oOFWB>&L0#0-S7z@jN<{`@e{OM>iY*&c?b?aZznm(1lyi>lRo;Xklq?MR;&*X=7=0Q)OXnRCsA*1O +fmDVrg_^Z)t7-1pxw1bOIO)%YEh{%Kzj`8?R;-2bLz)>LL?_X=DTf00&}ebYpL6ZU6-V0`+VYVk7oB +r%DNv+($;q`HHK!gIHa)*%m(-e#9sm3ZsHT^UK%K(4i9Ajp1M~R@C@!4#dQE#lUD +;OiKi1RsjZVX>oOFWB>&L0`+VYVk7oBr%DNv+($;q`HHK!gIHa)*%m(-e#9sm3Zs +HT^UK%K(4i9Ajp1M~R@C@!4#dQE#lUD;OiKi1Rs -----END STRICT TYPE LIB----- diff --git a/stl/RGB@0.1.0.stl b/stl/RGB@0.1.0.stl index 37f60a23..fbfb14a3 100644 Binary files a/stl/RGB@0.1.0.stl and b/stl/RGB@0.1.0.stl differ diff --git a/stl/RGB@0.1.0.sty b/stl/RGB@0.1.0.sty index 77e9305c..557e991a 100644 --- a/stl/RGB@0.1.0.sty +++ b/stl/RGB@0.1.0.sty @@ -1,5 +1,5 @@ {- - Id: urn:ubideco:stl:3oFaATCYpF47hyS8HJzVvdDRpJNJnggKo1zcqDBBLNYi#sphere-barbara-cecilia + Id: urn:ubideco:stl:ENn5cEDW7QUStLzY6HBXjZFARAbrGHv3tXmdQ3QGzoU3#option-data-mimosa Name: RGB Version: 0.1.0 Description: Consensus layer for RGB smart contracts @@ -8,146 +8,163 @@ License: Apache-2.0 -} +@context typelib RGB -import urn:ubideco:stl:ZtHaBzu9ojbDahaGKEXe5v9DfSDxLERbLkEB23R6Q6V#rhino-cover-frog as CommitVerify --- Imports: --- MerkleProof := urn:ubideco:semid:4E7NDL8Nm1EXtcenS9idAx1LAXvTu2wRdYsxT8Q2hgRC#carol-alamo-denver --- MerkleNode := urn:ubideco:semid:6kxYeCatpncbA9UiTdsFbxbxJdU56x6MdmTRkEeGAv6R#iceberg-rocket-velvet - -import urn:ubideco:stl:8wHziC7Bxa3BwctUh6EVBanosrvRHecCTPUjkZT4btNd#ruby-heaven-madrid as BPCore --- Imports: --- TapretNodePartner := urn:ubideco:semid:6o6mGBNbDXJCcNgk5ohP6wgXcdXZvYd1ZWy1GMBy5q2#iceberg-poker-active --- ExplicitSealTxid := urn:ubideco:semid:FxnQvXfa6koZmm6uyZCPwnGrMi3UzY588kKN9ipN72L#antenna-darwin-emotion --- TapretProof := urn:ubideco:semid:24LBor5ZVKjGk4uBbEb28w6D7rroV3mpVAntNAWQsYaP#forum-paint-tunnel --- TapretPathProof := urn:ubideco:semid:2LANtvWZDRes61SHKFxtFPzSuTzaKQGCUvYsNowNf3n3#stage-element-update --- AnchorMerkleProofTapretProof := urn:ubideco:semid:2RRuXmkGM51gpruJzNCL6mSFm7nQFrP6zXm6CmNr77uE#arcade-modest-fossil --- Method := urn:ubideco:semid:49Mf3pFa3gZNQXJarv9nKCMrZ3NFn2ME9Q3dCAsXhpAe#trilogy-tahiti-valid --- TapretRightBranch := urn:ubideco:semid:4nZtVVw7QJaMDHYffkHBWhxXSkLXLcJ89qTLZH4Z3xck#basket-prelude-bridge --- BlindSealTxPtr := urn:ubideco:semid:5ircUcbD1UjEKsAKMcvdfjS9UcVCEcs47BWAZ5UDqYdr#austria-icon-waiter --- OpretProof := urn:ubideco:semid:5oMeVsXXeicrdvrCCEZQiKWcrDHy4nQPbaQGhtnwM3ug#segment-ambient-totem --- AnchorMerkleProofOpretProof := urn:ubideco:semid:7mkYAw62Vi8BuyQ16qGg3bgFw8WVtTXUkJoYBv1qoNg4#tape-mental-legacy --- SecretSeal := urn:ubideco:semid:81NKrdc9pBoBjsKaGBVN9wXLG4tKjkK4f8DLj7TNMZxh#santana-domingo-needle --- BlindSealTxid := urn:ubideco:semid:Cu4G4njDjd2mgmz4FsvFAwRKwBpksmZ9CB9AJhSNx5dk#kimono-golf-price --- TxPtr := urn:ubideco:semid:CyRtMpPJkKLX3AdhgY7ZyA7PnYAzCo7yFTeYwwGsUBhn#strange-source-father - -import urn:ubideco:stl:9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ#justice-rocket-type as Std --- Imports: --- Bool := urn:ubideco:semid:7ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx#laser-madam-maxwell --- AlphaNumLodash := urn:ubideco:semid:8iBe2dh8beD1KUairdqCacEcxAr4h55XfUQN2PspWXjz#north-sound-salsa - -import urn:ubideco:stl:DKfPCg8jYu1apejvdTpRZvLCtXuzwaC6iZwfHqXz3Uaj#welcome-ibiza-active as StrictTypes --- Imports: --- VariantName := urn:ubideco:semid:2sCsYSQe1Rjb7t3DVYu6LehuZRiBmBPXwK4R2q9siy3v#snow-gray-extreme --- Primitive := urn:ubideco:semid:3T3zMmQxuir7TsdjhBLaETJfLH4mr5amAseXDePnzhMT#hobby-cable-puzzle --- VariantInfoSemId := urn:ubideco:semid:5ZHRBKqPqs74zPndgF6J7txmX4ALnNmozbqzTTs9rgKJ#clone-panama-guru --- UnnamedFieldsSemId := urn:ubideco:semid:7mWKWSN4oLP5RHpJp2ofSR2DmPLnoGWnSdaT7XkLjJDL#hippie-world-sandra --- NamedFieldsSemId := urn:ubideco:semid:7t4xRL7UV1zB1pm8nT6mM7LQTKDXrhJtCpXXeY1DdWTi#jordan-kiwi-nickel --- FieldSemId := urn:ubideco:semid:7xPYsYdNDXSyVVY1FFRMkwYzn6ggw8PXV45A8vtdGGrK#speed-patriot-gallery --- SemId := urn:ubideco:semid:8Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp#cargo-plasma-catalog --- Ident := urn:ubideco:semid:9SkVki7nQ7WRGN2ayWjySv7QSh6ftrakdNRbE2sSbUYw#connect-fragile-exile --- Sizing := urn:ubideco:semid:9jnMbAs5A91zjK9KDrLuFH42WtinmB8GY6JE6BMY31hw#canoe-gordon-amazon --- EnumVariants := urn:ubideco:semid:AqD6ASRgSjBEZ5gMySehKdDudJ7LndvcMY8ANjjehkH4#correct-dream-albert --- TypeSystem := urn:ubideco:semid:C5scwurbHpAqBkraD7dfGE7kGd2moNvLG2CeXhZSKVvM#panel-data-lazarus --- FieldName := urn:ubideco:semid:CK7zqXpkDGwatYDy1bVHoARAq1xTi85DFueWrZdFE7du#orient-spell-talent --- TySemId := urn:ubideco:semid:E3c5pBCJ7KQyJwU1xjGXLtCjvY8QAxxsVrKm8GS5udbx#kimono-catalog-mango --- Variant := urn:ubideco:semid:End46YSQFa9GNYAJfMpdxi9MKVb9GptkZHYeP5euNEVy#textile-cowboy-dragon --- UnionVariantsSemId := urn:ubideco:semid:HB3z8nUEkoycbip2MRu3K7Y4wjX6ofRMGHpMVEXXsqhH#iceberg-road-crack - -import urn:ubideco:stl:DVtm25LRKU4TjbyZmVxPhvCmctZ6vKkPKqfpU2QsDNUo#exodus-axiom-tommy as AluVM --- Imports: --- LibSite := urn:ubideco:semid:8Q9NNyK2PCcjZ7U7rDGUJBhk8q37hAnWLgSizGLmr56g#mission-papa-mercy --- LibId := urn:ubideco:semid:CFdqBJb1FVEwSwuQp47acj2bCFJgJn9J9NKVdoZuG625#rebel-factor-rodeo - -import urn:ubideco:stl:HX2UBak8vPsTokug1DGMDvTpzns3xUdwZ7QJdyt4qBA9#speed-atlanta-trilogy as Bitcoin --- Imports: --- Vout := urn:ubideco:semid:3HHRtSJW5fnGkdVW1EVDH7B97Y79WhwvKyyfsaBkuQkk#chrome-robin-gallop --- ScriptBytes := urn:ubideco:semid:3Y4AgjkFbDusgo3YqRDWv9BznDeAJEUDEPeEq1mpSkAR#maestro-source-jackson --- 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 --- XOnlyPk := urn:ubideco:semid:J1BbH2Lx8P3yw9G244d92MMTP5jrkiaVzsr6FzRxpfur#evident-finance-promo - - - --- urn:ubideco:semid:EVMd4HiFWvuPQv5JaVPecRY8oyqRNR92gxYUaCFFWqXp#banana-mouse-plaster -data AltLayer1 :: liquid:1 - --- urn:ubideco:semid:AWiT5HsZJueysPSX7FUubH1GjiTnADaHdUv6fNZKxHnB#salmon-taxi-ohio -data AltLayer1Set :: {AltLayer1 ^ ..0xff} --- urn:ubideco:semid:ByCxcZ2hYTTJ8yoUhpUuHaxceQoAjqsxSF9zJkED3JuM#soviet-arsenal-complex -data AluScript :: libs {AluVM.LibId -> ^ ..0xff [Byte]}, entryPoints {[Byte ^ 3] -> AluVM.LibSite {- urn:ubideco:semid:8Q9NNyK2PCcjZ7U7rDGUJBhk8q37hAnWLgSizGLmr56g#mission-papa-mercy -}} --- urn:ubideco:semid:4GL38RVDhs4JkL5phqyF6pguwL6Av8qTUWCVNfGeWdUg#history-joel-ivory -data AnchorSet :: tapret:1 BPCore.AnchorMerkleProofTapretProof {- urn:ubideco:semid:2RRuXmkGM51gpruJzNCL6mSFm7nQFrP6zXm6CmNr77uE#arcade-modest-fossil -} - | opret BPCore.AnchorMerkleProofOpretProof {- urn:ubideco:semid:7mkYAw62Vi8BuyQ16qGg3bgFw8WVtTXUkJoYBv1qoNg4#tape-mental-legacy -} - | dual (tapret BPCore.AnchorMerkleProofTapretProof {- urn:ubideco:semid:2RRuXmkGM51gpruJzNCL6mSFm7nQFrP6zXm6CmNr77uE#arcade-modest-fossil -}, opret BPCore.AnchorMerkleProofOpretProof {- urn:ubideco:semid:7mkYAw62Vi8BuyQ16qGg3bgFw8WVtTXUkJoYBv1qoNg4#tape-mental-legacy -}) --- urn:ubideco:semid:8N8sQGRwEmmxKLwUiE4GQ89ziPzgBi7BfSjaNz9ozRKv#verbal-slow-lemon -data AnchoredBundle :: anchor XChainAnchorSet, bundle TransitionBundle --- urn:ubideco:semid:EZoxBpGenvb9UVze1zuwuEHqQJAqw2m3T8za5gbX1JZk#buzzer-pattern-craft -data AssetTag :: [Byte ^ 32] --- urn:ubideco:semid:86oEReUQtpkBF5ag57qt8QYeRoADcnsYVWUhd1hZYF9B#police-castle-fractal -data AssignRevealedAttachBlindSealTxPtr :: confidential (seal XChainSecretSeal, state ConcealedAttach) +import CommitVerify#4SZ2EgWWtC5LsNXmNpAzogNHZoaZNTCwU3SQhAYwDX6A#citizen-fiction-corner + use MerkleHash#culture-metro-modular + use MerkleProof#labor-hilton-magenta + +import Std#55f8bsTvyh7zAeYAiNwL9G1DxgwXzDvE8edcTFJz3Q9H#milan-poncho-gray + use Bool#laser-madam-maxwell + use AlphaNumLodash#north-sound-salsa + +import BPCore#6HFQ83t33zW6PgG2pWpXM3HuEUFXAgUjheYiQa2Jdb9c#jester-lorenzo-address + use TapretNodePartner#iceberg-poker-active + use ExplicitSealTxid#antenna-darwin-emotion + use TapretProof#forum-paint-tunnel + use TapretPathProof#stage-element-update + use Method#trilogy-tahiti-valid + use TapretRightBranch#basket-prelude-bridge + use BlindSealTxPtr#austria-icon-waiter + use OpretProof#segment-ambient-totem + use SecretSeal#santana-domingo-needle + use AnchorMerkleProofOpretProof#mammal-ethnic-crown + use BlindSealTxid#kimono-golf-price + use TxPtr#strange-source-father + use AnchorMerkleProofTapretProof#forward-chemist-panda + +import StrictTypes#BADMWBVQ6sMJGfELP13cjeZPNutGuLzZtNNZirJQsz9e#tower-monaco-corona + use VariantName#snow-gray-extreme + use Primitive#hobby-cable-puzzle + use VariantInfoSemId#clone-panama-guru + use UnnamedFieldsSemId#hippie-world-sandra + use NamedFieldsSemId#jordan-kiwi-nickel + use FieldSemId#speed-patriot-gallery + use SemId#cargo-plasma-catalog + use Ident#connect-fragile-exile + use Sizing#canoe-gordon-amazon + use EnumVariants#correct-dream-albert + use TypeSystem#panel-data-lazarus + use FieldName#orient-spell-talent + use TySemId#kimono-catalog-mango + use Variant#textile-cowboy-dragon + use UnionVariantsSemId#iceberg-road-crack + +import AluVM#DVtm25LRKU4TjbyZmVxPhvCmctZ6vKkPKqfpU2QsDNUo#exodus-axiom-tommy + use LibSite#mission-papa-mercy + use LibId#rebel-factor-rodeo + +import Bitcoin#HX2UBak8vPsTokug1DGMDvTpzns3xUdwZ7QJdyt4qBA9#speed-atlanta-trilogy + use Vout#chrome-robin-gallop + use ScriptBytes#maestro-source-jackson + use TapNodeHash#crash-culture-jamaica + use LeafScript#brenda-round-micro + use Txid#cowboy-diego-betty + use InternalPk#meter-nerve-chicken + use LeafVer#tunnel-lagoon-cowboy + use XOnlyPk#evident-finance-promo + + +@mnemonic(banana-mouse-plaster) +data AltLayer1 : liquid#1 + + +@mnemonic(salmon-taxi-ohio) +data AltLayer1Set : {AltLayer1 ^ ..0xff} + +@mnemonic(soviet-arsenal-complex) +data AluScript : libs {AluVM.LibId -> ^ ..0xff [Byte]}, entryPoints {[Byte ^ 3] -> AluVM.LibSite#mission-papa-mercy} + +@mnemonic(aurora-blast-brown) +data AnchorSet : tapret#1 BPCore.AnchorMerkleProofTapretProof#forward-chemist-panda + | opret BPCore.AnchorMerkleProofOpretProof#mammal-ethnic-crown + | dual (tapret BPCore.AnchorMerkleProofTapretProof#forward-chemist-panda, opret BPCore.AnchorMerkleProofOpretProof#mammal-ethnic-crown) + +@mnemonic(verbal-slow-lemon) +data AnchoredBundle : anchor XChainAnchorSet, bundle TransitionBundle + +@mnemonic(buzzer-pattern-craft) +data AssetTag : [Byte ^ 32] + +@mnemonic(police-castle-fractal) +data AssignRevealedAttachBlindSealTxPtr : confidential (seal XChainSecretSeal, state ConcealedAttach) | confidentialState (seal XChainBlindSealTxPtr, state ConcealedAttach) | confidentialSeal (seal XChainSecretSeal, state RevealedAttach) | revealed (seal XChainBlindSealTxPtr, state RevealedAttach) --- urn:ubideco:semid:GMetkMHmE6pvWF7v4cVkh5FQW1cBWSb4F38oge4Le8wG#parker-locate-madrid -data AssignRevealedAttachBlindSealTxid :: confidential (seal XChainSecretSeal, state ConcealedAttach) + +@mnemonic(parker-locate-madrid) +data AssignRevealedAttachBlindSealTxid : confidential (seal XChainSecretSeal, state ConcealedAttach) | confidentialState (seal XChainBlindSealTxid, state ConcealedAttach) | confidentialSeal (seal XChainSecretSeal, state RevealedAttach) | revealed (seal XChainBlindSealTxid, state RevealedAttach) --- urn:ubideco:semid:AbqXzWbeC4QTe3RGDg1tgZoq8Cg79wPfgxC418mbLZWc#fabric-exotic-road -data AssignRevealedDataBlindSealTxPtr :: confidential (seal XChainSecretSeal, state ConcealedData) + +@mnemonic(fabric-exotic-road) +data AssignRevealedDataBlindSealTxPtr : confidential (seal XChainSecretSeal, state ConcealedData) | confidentialState (seal XChainBlindSealTxPtr, state ConcealedData) | confidentialSeal (seal XChainSecretSeal, state RevealedData) | revealed (seal XChainBlindSealTxPtr, state RevealedData) --- urn:ubideco:semid:8DRTcwcPXjALBUhs8QSutcQj4KyxejP6nVGpmSPcma5s#iron-design-king -data AssignRevealedDataBlindSealTxid :: confidential (seal XChainSecretSeal, state ConcealedData) + +@mnemonic(iron-design-king) +data AssignRevealedDataBlindSealTxid : confidential (seal XChainSecretSeal, state ConcealedData) | confidentialState (seal XChainBlindSealTxid, state ConcealedData) | confidentialSeal (seal XChainSecretSeal, state RevealedData) | revealed (seal XChainBlindSealTxid, state RevealedData) --- urn:ubideco:semid:HpDAZ3iWVWNFP5oUrXNSifNop1wHGmfK7csUXkWbf3jE#avatar-house-ammonia -data AssignRevealedValueBlindSealTxPtr :: confidential (seal XChainSecretSeal, state ConcealedFungible) + +@mnemonic(avatar-house-ammonia) +data AssignRevealedValueBlindSealTxPtr : confidential (seal XChainSecretSeal, state ConcealedFungible) | confidentialState (seal XChainBlindSealTxPtr, state ConcealedFungible) | confidentialSeal (seal XChainSecretSeal, state RevealedFungible) | revealed (seal XChainBlindSealTxPtr, state RevealedFungible) --- urn:ubideco:semid:DFdcr9izr4NmVJJojKFXWPPYnWVM3RNU2K6oxMhDZmYx#popular-vista-urgent -data AssignRevealedValueBlindSealTxid :: confidential (seal XChainSecretSeal, state ConcealedFungible) + +@mnemonic(popular-vista-urgent) +data AssignRevealedValueBlindSealTxid : confidential (seal XChainSecretSeal, state ConcealedFungible) | confidentialState (seal XChainBlindSealTxid, state ConcealedFungible) | confidentialSeal (seal XChainSecretSeal, state RevealedFungible) | revealed (seal XChainBlindSealTxid, state RevealedFungible) --- urn:ubideco:semid:6Nr3ZJAAV8ukSmVJHChmUkbGFzdAbCjzXbmoxrDNcmwc#slogan-change-green -data AssignVoidStateBlindSealTxPtr :: confidential (seal XChainSecretSeal, state VoidState) + +@mnemonic(slogan-change-green) +data AssignVoidStateBlindSealTxPtr : confidential (seal XChainSecretSeal, state VoidState) | confidentialState (seal XChainBlindSealTxPtr, state VoidState) | confidentialSeal (seal XChainSecretSeal, state VoidState) | revealed (seal XChainBlindSealTxPtr, state VoidState) --- urn:ubideco:semid:BqQbSTu2tdDVLMnTx2rpKFYF47oEwrc2fGrTZGzDrueV#classic-cubic-ingrid -data AssignVoidStateBlindSealTxid :: confidential (seal XChainSecretSeal, state VoidState) + +@mnemonic(classic-cubic-ingrid) +data AssignVoidStateBlindSealTxid : confidential (seal XChainSecretSeal, state VoidState) | confidentialState (seal XChainBlindSealTxid, state VoidState) | confidentialSeal (seal XChainSecretSeal, state VoidState) | revealed (seal XChainBlindSealTxid, state VoidState) --- urn:ubideco:semid:A9sThAqgwKPfuJcR4GDfTQHUAbbS5sbEXG5XVk7FZHEg#hunter-hello-retro -data AssignmentType :: U16 --- urn:ubideco:semid:GoS3BcE36RKwqEES5FPrp8uPmGF5m23EDFMSb7NMXjnw#explain-nato-passage -data AssignmentWitness :: absent () + +@mnemonic(hunter-hello-retro) +data AssignmentType : U16 + +@mnemonic(explain-nato-passage) +data AssignmentWitness : absent () | present XChainTxid --- urn:ubideco:semid:Bu8iXz4MmJnuUMW6AFAepa8BAa4DXLVAMdrNrkLh3S7a#granite-history-canvas -data AssignmentsBlindSealTxPtr :: {AssignmentType -> ^ ..0xff TypedAssignsBlindSealTxPtr} --- urn:ubideco:semid:7ZGXPWXsK641fCB8nipeDy4ZR9BTQ9Q8c9E2vj2ufNq5#center-nevada-promise -data AssignmentsBlindSealTxid :: {AssignmentType -> ^ ..0xff TypedAssignsBlindSealTxid} --- urn:ubideco:semid:9uzoSojhudYvNZYgTmJ5sMwwxzLtdLnfUeudT6Ro8i23#delta-member-agenda -data AttachId :: [Byte ^ 32] --- urn:ubideco:semid:9zzp5XyDaLvZSGhCEWtey1Y7xdD1soEYdGaimjyZexyf#agenda-ivory-blast -data BlindingFactor :: [Byte ^ 32] --- urn:ubideco:semid:HyVyGxhRswAZ3BHJqx6PKmcEGCUSHaL1Rc7qxxi811qE#pizza-natural-cyclone -data ConcealedAttach :: [Byte ^ 32] --- urn:ubideco:semid:8YQWVpKJBaYsAwrXvuLDNEDEKRZxfoQJpu1G7X2ZN1tL#mirage-invite-newton -data ConcealedData :: [Byte ^ 32] --- urn:ubideco:semid:5UUVzBtqMkymxQmDry4ay4aoXLLojTQQyHGrdSWis3Jt#window-basket-actor -data ConcealedFungible :: commitment PedersenCommitment, rangeProof RangeProof --- urn:ubideco:semid:AKAMGBAMmu7DZ9kMpwqSfDepEJf5PUB6BsufJ4zz88QB#beast-korea-perfect -data ContractHistory :: schemaId SchemaId + +@mnemonic(granite-history-canvas) +data AssignmentsBlindSealTxPtr : {AssignmentType -> ^ ..0xff TypedAssignsBlindSealTxPtr} + +@mnemonic(center-nevada-promise) +data AssignmentsBlindSealTxid : {AssignmentType -> ^ ..0xff TypedAssignsBlindSealTxid} + +@mnemonic(delta-member-agenda) +data AttachId : [Byte ^ 32] + +@mnemonic(agenda-ivory-blast) +data BlindingFactor : [Byte ^ 32] + +@mnemonic(pizza-natural-cyclone) +data ConcealedAttach : [Byte ^ 32] + +@mnemonic(mirage-invite-newton) +data ConcealedData : [Byte ^ 32] + +@mnemonic(window-basket-actor) +data ConcealedFungible : commitment PedersenCommitment, rangeProof RangeProof + +@mnemonic(beast-korea-perfect) +data ContractHistory : schemaId SchemaId , rootSchemaId SchemaId? , contractId ContractId , global {GlobalStateType -> ^ ..0xff {GlobalOrd -> ^ ..0xffffffff RevealedData}} @@ -155,14 +172,18 @@ data ContractHistory :: schemaId SchemaId , fungibles {OutputAssignmentRevealedValue ^ ..0xffffffff} , data {OutputAssignmentRevealedData ^ ..0xffffffff} , attach {OutputAssignmentRevealedAttach ^ ..0xffffffff} --- urn:ubideco:semid:Bho42Xw8wPy2nWxgz6H51rNdBBusaPyrVQT8VypvpZ3w#alarm-danube-vampire -data ContractId :: [Byte ^ 32] --- urn:ubideco:semid:AGRkqu4XCz7HJnTiG3DbE6xvMrU1D9vwH2gtJiuHtAyQ#client-major-stamp -data ContractState :: schema SchemaSchema, history ContractHistory --- urn:ubideco:semid:4QbRJoxsynQq3nBr4hR8gvT9xqKR7R8nejcMxmZGJQrQ#diana-archive-liquid -data DataState :: [Byte] --- urn:ubideco:semid:4wCasNtcxRnicsUakyXzzRdzemmUk8deBzrCqyRLiesL#deluxe-history-acrobat -data Extension :: ffv Ffv + +@mnemonic(alarm-danube-vampire) +data ContractId : [Byte ^ 32] + +@mnemonic(client-major-stamp) +data ContractState : schema SchemaSchema, history ContractHistory + +@mnemonic(diana-archive-liquid) +data DataState : [Byte] + +@mnemonic(deluxe-history-acrobat) +data Extension : ffv Ffv , contractId ContractId , extensionType ExtensionType , metadata [Byte] @@ -170,102 +191,133 @@ data Extension :: ffv Ffv , assignments AssignmentsBlindSealTxid , redeemed Redeemed , valencies Valencies --- urn:ubideco:semid:5EA8tZw7MhL13SCX33m98QLykB6iZFJ3ynukkiCqnh6U#peace-tiger-elastic -data ExtensionSchema :: metadata StrictTypes.SemId {- urn:ubideco:semid:8Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp#cargo-plasma-catalog -} + +@mnemonic(peace-tiger-elastic) +data ExtensionSchema : metadata StrictTypes.SemId#cargo-plasma-catalog , globals {GlobalStateType -> ^ ..0xff Occurrences} , redeems {ValencyType ^ ..0xff} , assignments {AssignmentType -> ^ ..0xff Occurrences} , valencies {ValencyType ^ ..0xff} --- urn:ubideco:semid:7m9MHRdHSXnhYiheDeXybxnHAxPRgs84USnVELFH98Cd#mission-salsa-parole -data ExtensionType :: U16 --- urn:ubideco:semid:FiMEyh3t5FKEsUqVTgQFYJ5XfJF9m2RwKMN9NckympSG#silence-motel-toronto -data Ffv :: U16 --- urn:ubideco:semid:CD8fR4UCdn4ZE6Y6bNPFkDpXdMCMH1Y8nVPx7NGqqYHB#natasha-profit-winter -data FungibleState :: bits64:8 U64 --- urn:ubideco:semid:HpiuYTT7BuhCmoNs2GrwNrHNUx3i3yf6GjDiFphLKeQV#profit-bazooka-present -data FungibleType :: unsigned64Bit:8 - --- urn:ubideco:semid:F7ZK3wjiiBY57d8tMRbXW6nsDb86Lnjbq1GXRvbGv34c#relax-emotion-nitro -data Genesis :: ffv Ffv + +@mnemonic(mission-salsa-parole) +data ExtensionType : U16 + +@mnemonic(silence-motel-toronto) +data Ffv : U16 + +@mnemonic(natasha-profit-winter) +data FungibleState : bits64#8 U64 + +@mnemonic(profit-bazooka-present) +data FungibleType : unsigned64Bit#8 + + +@mnemonic(relax-emotion-nitro) +data Genesis : ffv Ffv , schemaId SchemaId - , testnet Std.Bool {- urn:ubideco:semid:7ZhBHGSJm9ixmm8Z9vCX7i5Ga7j5xrW8t11nsb1Cgpnx#laser-madam-maxwell -} + , testnet Std.Bool#laser-madam-maxwell , altLayers1 AltLayer1Set , metadata [Byte] , globals GlobalState , assignments AssignmentsBlindSealTxid , valencies Valencies --- urn:ubideco:semid:7vb54CDdNg8xJtKZjnbYReqaxHAdmbfoFezH8CsLQWsS#andrea-amigo-grid -data GenesisSchema :: metadata StrictTypes.SemId {- urn:ubideco:semid:8Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp#cargo-plasma-catalog -} + +@mnemonic(andrea-amigo-grid) +data GenesisSchema : metadata StrictTypes.SemId#cargo-plasma-catalog , globals {GlobalStateType -> ^ ..0xff Occurrences} , assignments {AssignmentType -> ^ ..0xff Occurrences} , valencies {ValencyType ^ ..0xff} --- urn:ubideco:semid:9UUjMhuGNyLiWhT9hC2wCVfzBfABUHMtqcEqVykQTTBm#north-llama-empire -data GlobalOrd :: witnessAnchor WitnessAnchor?, idx U16 --- urn:ubideco:semid:Ekg4cNmYPqSZn14jQ4GD2tStBFX6S6aUk5bmLDRTaap8#ranger-middle-roman -data GlobalState :: {GlobalStateType -> ^ ..0xff GlobalValues} --- urn:ubideco:semid:ES98zed1FQ1XHZJptvv3ecWF6XFCdQsG1NvtkADYkugP#night-mixer-monaco -data GlobalStateSchema :: semId StrictTypes.SemId {- urn:ubideco:semid:8Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp#cargo-plasma-catalog -}, maxItems U16 --- urn:ubideco:semid:FQ6qHu9gQzjZu3i7dasU7T1PGi4qZi1a4goxJbHxHkbU#seminar-major-tape -data GlobalStateType :: U16 --- urn:ubideco:semid:AnBpS97EbffL9PYZLfHKESeLoNeosEbLinQM9VqGeG2x#bicycle-europe-shampoo -data GlobalValues :: [RevealedData ^ 1..] --- urn:ubideco:semid:MXcKv35FafL8vRPoxfaZaG96L3bLiNsTtfsJiCLwc23#classic-chariot-domino -data Input :: prevOut Opout, reserved ReservedByte --- urn:ubideco:semid:4Pv4CN7nfHbbKyoEBvRVrnihhv7uP8y6QNi6FNRCNjUq#puzzle-guru-oregano -data Inputs :: {Input ^ ..0xff} --- urn:ubideco:semid:5TNhPhpZzE6iDWXaUpdsTAwVsCZj5e9Z8AqFU1ii6HHa#light-nelson-brain -data MediaType :: any:255 - --- urn:ubideco:semid:33ug4TwTBFQxz7D3YdFmwpKET415dv5zQRh5CkavC5fL#deal-orca-aztec -data NoiseDumb :: [Byte ^ 512] --- urn:ubideco:semid:4gjtVBchJQ5f1aAzoyxYWeGp6qZi9dPudJCbWKYKhw1a#unicorn-empire-mama -data Occurrences :: min U16, max U16 --- urn:ubideco:semid:B5hRc3ekuQsCAgsk8dmPVfytVDbvECJ3g2ANqrwSLE2p#slow-samuel-ceramic -data OpId :: [Byte ^ 32] --- urn:ubideco:semid:8EYQPboNCwpv9Nt9FQ47idjzNwCFBtDzRUmAuYEheahW#shallow-match-tokyo -data Opout :: op OpId + +@mnemonic(north-llama-empire) +data GlobalOrd : witnessAnchor WitnessAnchor?, idx U16 + +@mnemonic(ranger-middle-roman) +data GlobalState : {GlobalStateType -> ^ ..0xff GlobalValues} + +@mnemonic(night-mixer-monaco) +data GlobalStateSchema : semId StrictTypes.SemId#cargo-plasma-catalog, maxItems U16 + +@mnemonic(seminar-major-tape) +data GlobalStateType : U16 + +@mnemonic(bicycle-europe-shampoo) +data GlobalValues : [RevealedData ^ 1..] + +@mnemonic(classic-chariot-domino) +data Input : prevOut Opout, reserved ReservedByte + +@mnemonic(puzzle-guru-oregano) +data Inputs : {Input ^ ..0xff} + +@mnemonic(light-nelson-brain) +data MediaType : any#255 + + +@mnemonic(deal-orca-aztec) +data NoiseDumb : [Byte ^ 512] + +@mnemonic(unicorn-empire-mama) +data Occurrences : min U16, max U16 + +@mnemonic(slow-samuel-ceramic) +data OpId : [Byte ^ 32] + +@mnemonic(shallow-match-tokyo) +data Opout : op OpId , ty AssignmentType , no U16 --- urn:ubideco:semid:6oSXqNziLXfxtguX2EyDGpv1HCZYRTwxV4MTByGc9TAe#think-record-medusa -data OutputAssignmentRevealedAttach :: opout Opout + +@mnemonic(think-record-medusa) +data OutputAssignmentRevealedAttach : opout Opout , seal XChainExplicitSealTxid , state RevealedAttach , witness AssignmentWitness --- urn:ubideco:semid:6q4QK1aPeuzzyr5DrHaN31CVjDaoEiXbwvvogrwefgi6#nectar-nectar-capsule -data OutputAssignmentRevealedData :: opout Opout + +@mnemonic(nectar-nectar-capsule) +data OutputAssignmentRevealedData : opout Opout , seal XChainExplicitSealTxid , state RevealedData , witness AssignmentWitness --- urn:ubideco:semid:2imiN4yuTLhjfDCgnTSELqNre2RNNeTXwPH3wAAiFqS3#control-boris-motif -data OutputAssignmentRevealedValue :: opout Opout + +@mnemonic(control-boris-motif) +data OutputAssignmentRevealedValue : opout Opout , seal XChainExplicitSealTxid , state RevealedFungible , witness AssignmentWitness --- urn:ubideco:semid:672UMhjodfQP8fXtBR2j8Lkkpxgh6ktwB6M7sMCzvJc4#avatar-beatles-protein -data OutputAssignmentVoidState :: opout Opout + +@mnemonic(avatar-beatles-protein) +data OutputAssignmentVoidState : opout Opout , seal XChainExplicitSealTxid , state VoidState , witness AssignmentWitness --- urn:ubideco:semid:5twbh2U5hyaowidwum1iRNCqebBLxTuZTuNPt3SaRT13#nepal-delta-earth -data PedersenCommitment :: [Byte ^ 33] --- urn:ubideco:semid:73TpZuiyRWAuV9GRSj9H7tDf3JXwVvmT4teTXhKxdue1#invent-stock-result -data RangeProof :: placeholder:255 NoiseDumb --- urn:ubideco:semid:9gee8HH6yNbqyLe9tA3N5zcCTReMDe6y2yfcybWyYApm#scoop-press-scuba -data Redeemed :: {ValencyType -> ^ ..0xff OpId} --- urn:ubideco:semid:5ezr9uJrSdzez89fTCRWvKwGv6coMmQeXizK371oYdZ2#balloon-justin-place -data ReservedByte :: U8 --- urn:ubideco:semid:2odg1kiUEtjxBa9MzQmkyDPxKe2hdt6aASEGQTEHAJYU#cigar-network-event -data RevealedAttach :: id AttachId + +@mnemonic(nepal-delta-earth) +data PedersenCommitment : [Byte ^ 33] + +@mnemonic(invent-stock-result) +data RangeProof : placeholder#255 NoiseDumb + +@mnemonic(scoop-press-scuba) +data Redeemed : {ValencyType -> ^ ..0xff OpId} + +@mnemonic(balloon-justin-place) +data ReservedByte : U8 + +@mnemonic(cigar-network-event) +data RevealedAttach : id AttachId , mediaType MediaType , salt U64 --- urn:ubideco:semid:ax8HeLn2wWFvH23MbnD5b3vSu9PAazCz21nZgLkRi7U#ivory-bogart-stock -data RevealedData :: value DataState, salt U128 --- urn:ubideco:semid:5rdcWxUW6LxoRQKrPs2EszvTTPrjmKKWPzHeZi1FjWhX#canal-pagoda-ralph -data RevealedFungible :: value FungibleState + +@mnemonic(ivory-bogart-stock) +data RevealedData : value DataState, salt U128 + +@mnemonic(canal-pagoda-ralph) +data RevealedFungible : value FungibleState , blinding BlindingFactor , tag AssetTag --- urn:ubideco:semid:XJoyci5UgmqY5fLyk3MxztRrXhSSaNxokrZrUtcuNJM#fresh-beatles-empire -data Schema :: ffv Ffv + +@mnemonic(fresh-beatles-empire) +data Schema : ffv Ffv , subsetOf ()? , globalTypes {GlobalStateType -> ^ ..0xff GlobalStateSchema} , ownedTypes {AssignmentType -> ^ ..0xff StateSchema} @@ -273,12 +325,14 @@ data Schema :: ffv Ffv , genesis GenesisSchema , extensions {ExtensionType -> ^ ..0xff ExtensionSchema} , transitions {TransitionType -> ^ ..0xff TransitionSchema} - , typeSystem StrictTypes.TypeSystem {- urn:ubideco:semid:C5scwurbHpAqBkraD7dfGE7kGd2moNvLG2CeXhZSKVvM#panel-data-lazarus -} + , typeSystem StrictTypes.TypeSystem#panel-data-lazarus , script Script --- urn:ubideco:semid:AyzbMn4ux89LLU8ho1L4pQa5TXsmRdHd79oh6SXdrCmd#garcia-smoke-ozone -data SchemaId :: [Byte ^ 32] --- urn:ubideco:semid:5qMeWEdfJ3qENXvKjV1GymVcPouHJVL7Xxw3uwjVDKgS#heaven-object-august -data SchemaSchema :: ffv Ffv + +@mnemonic(garcia-smoke-ozone) +data SchemaId : [Byte ^ 32] + +@mnemonic(heaven-object-august) +data SchemaSchema : ffv Ffv , subsetOf Schema? , globalTypes {GlobalStateType -> ^ ..0xff GlobalStateSchema} , ownedTypes {AssignmentType -> ^ ..0xff StateSchema} @@ -286,17 +340,20 @@ data SchemaSchema :: ffv Ffv , genesis GenesisSchema , extensions {ExtensionType -> ^ ..0xff ExtensionSchema} , transitions {TransitionType -> ^ ..0xff TransitionSchema} - , typeSystem StrictTypes.TypeSystem {- urn:ubideco:semid:C5scwurbHpAqBkraD7dfGE7kGd2moNvLG2CeXhZSKVvM#panel-data-lazarus -} + , typeSystem StrictTypes.TypeSystem#panel-data-lazarus , script Script --- urn:ubideco:semid:HyVVQCc7o1wnC3oo1VTHzcpMuVsvzFBTnSFe6xVSiDAV#process-media-second -data Script :: aluVm AluScript --- urn:ubideco:semid:tECDKfnyyGZgwoorc1VynUBq9unv34u9WvRBUTduoRK#report-agatha-level -data StateSchema :: declarative () + +@mnemonic(process-media-second) +data Script : aluVm AluScript + +@mnemonic(report-agatha-level) +data StateSchema : declarative () | fungible FungibleType - | structured StrictTypes.SemId {- urn:ubideco:semid:8Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp#cargo-plasma-catalog -} + | structured StrictTypes.SemId#cargo-plasma-catalog | attachment MediaType --- urn:ubideco:semid:GLm25xw5WvH5UBJHQw6FVyZbAHYVjXtS1HtkYVPJ1FjT#folio-barbara-guru -data Transition :: ffv Ffv + +@mnemonic(folio-barbara-guru) +data Transition : ffv Ffv , contractId ContractId , transitionType TransitionType , metadata [Byte] @@ -304,55 +361,73 @@ data Transition :: ffv Ffv , inputs Inputs , assignments AssignmentsBlindSealTxPtr , valencies Valencies --- urn:ubideco:semid:LnohmzqG7bkCL7hAjWd2tUrvEP1Pe5C6oiv5r5KjF2G#boxer-nadia-alias -data TransitionBundle :: inputMap {Bitcoin.Vout -> ^ 1.. OpId}, knownTransitions {OpId -> ^ 1.. Transition} --- urn:ubideco:semid:4d7FmcvNey5X175gyggcn4wftcf7mtGyn6N4r6Ek4roX#fiction-caramel-fractal -data TransitionSchema :: metadata StrictTypes.SemId {- urn:ubideco:semid:8Ckj2p3GLKina636pSKJkj7GB6ft8XeoP4jfGkRUNwtp#cargo-plasma-catalog -} + +@mnemonic(boxer-nadia-alias) +data TransitionBundle : inputMap {Bitcoin.Vout -> ^ 1.. OpId}, knownTransitions {OpId -> ^ 1.. Transition} + +@mnemonic(fiction-caramel-fractal) +data TransitionSchema : metadata StrictTypes.SemId#cargo-plasma-catalog , globals {GlobalStateType -> ^ ..0xff Occurrences} , inputs {AssignmentType -> ^ ..0xff Occurrences} , assignments {AssignmentType -> ^ ..0xff Occurrences} , valencies {ValencyType ^ ..0xff} --- urn:ubideco:semid:4XEmzMLZTXc4XB3njvemMq5qdMmx5EKJPAXpJaBPrqCb#puma-joshua-evita -data TransitionType :: U16 --- urn:ubideco:semid:Gbg8NjDV5x6NnhVzmqksPgAc2hgYzMNcgiu4iHggmQcB#orchid-season-bishop -data TypedAssignsBlindSealTxPtr :: declarative [AssignVoidStateBlindSealTxPtr] + +@mnemonic(puma-joshua-evita) +data TransitionType : U16 + +@mnemonic(orchid-season-bishop) +data TypedAssignsBlindSealTxPtr : declarative [AssignVoidStateBlindSealTxPtr] | fungible [AssignRevealedValueBlindSealTxPtr] | structured [AssignRevealedDataBlindSealTxPtr] - | attachment:255 [AssignRevealedAttachBlindSealTxPtr] --- urn:ubideco:semid:5X4gpjBJD2jiYSSTYrmEb3QZPxHRFDo4TwgUhuZjLVW4#rondo-roman-expand -data TypedAssignsBlindSealTxid :: declarative [AssignVoidStateBlindSealTxid] + | attachment#255 [AssignRevealedAttachBlindSealTxPtr] + +@mnemonic(rondo-roman-expand) +data TypedAssignsBlindSealTxid : declarative [AssignVoidStateBlindSealTxid] | fungible [AssignRevealedValueBlindSealTxid] | structured [AssignRevealedDataBlindSealTxid] - | attachment:255 [AssignRevealedAttachBlindSealTxid] --- urn:ubideco:semid:FXixNMTaiMJMqp5qQCyb67oPrzryjAXxsk6kvsFQoHTi#andy-mango-brother -data Valencies :: {ValencyType ^ ..0xff} --- urn:ubideco:semid:5mswXMrudHpJEnuoLA86YY2VHN5iL56hmKcmh5k1h3e5#palma-exit-pupil -data ValencyType :: U16 --- urn:ubideco:semid:49HkbZvGaJE3phHjLBMQCR3NK1sGA462HJr5BkqQ6YQr#nectar-ceramic-driver -data VoidState :: () --- urn:ubideco:semid:HtyS3FW8duiA8o1TV13jiK5BUJtebY1JvghTkz9sVuNM#henry-prepare-company -data WitnessAnchor :: witnessOrd WitnessOrd, witnessId XChainTxid --- urn:ubideco:semid:JAhqqYxn4oDEDefAeAHFcAtNQJqQBHo6q5xqbviV3L3q#jacket-fiction-sound -data WitnessOrd :: onChain WitnessPos + | attachment#255 [AssignRevealedAttachBlindSealTxid] + +@mnemonic(andy-mango-brother) +data Valencies : {ValencyType ^ ..0xff} + +@mnemonic(palma-exit-pupil) +data ValencyType : U16 + +@mnemonic(nectar-ceramic-driver) +data VoidState : () + +@mnemonic(henry-prepare-company) +data WitnessAnchor : witnessOrd WitnessOrd, witnessId XChainTxid + +@mnemonic(jacket-fiction-sound) +data WitnessOrd : onChain WitnessPos | offChain () --- urn:ubideco:semid:zaGYZruf2pxiZqk1bjmoivxK8DkFycoyjQB52uHYhGL#robert-average-artist -data WitnessPos :: height U32, timestamp I64 --- urn:ubideco:semid:7ypgzk2JFQpQQbtUFua1uyGu6N7aUxkiXokmjrJDNQnq#floor-emotion-riviera -data XChainAnchorSet :: bitcoin AnchorSet + +@mnemonic(robert-average-artist) +data WitnessPos : height U32, timestamp I64 + +@mnemonic(floor-emotion-riviera) +data XChainAnchorSet : bitcoin AnchorSet | liquid AnchorSet --- urn:ubideco:semid:Ag5MktqPQsAWFoJEaUfNw6AvjYtLFXMwupw9chdEwEKE#prime-loyal-escort -data XChainBlindSealTxPtr :: bitcoin BPCore.BlindSealTxPtr {- urn:ubideco:semid:5ircUcbD1UjEKsAKMcvdfjS9UcVCEcs47BWAZ5UDqYdr#austria-icon-waiter -} - | liquid BPCore.BlindSealTxPtr {- urn:ubideco:semid:5ircUcbD1UjEKsAKMcvdfjS9UcVCEcs47BWAZ5UDqYdr#austria-icon-waiter -} --- urn:ubideco:semid:9kefL6S8Tr5a7hMTPg6M8Ruh9Da7s3LV6L4HJDQH69vJ#biology-domain-domain -data XChainBlindSealTxid :: bitcoin BPCore.BlindSealTxid {- urn:ubideco:semid:Cu4G4njDjd2mgmz4FsvFAwRKwBpksmZ9CB9AJhSNx5dk#kimono-golf-price -} - | liquid BPCore.BlindSealTxid {- urn:ubideco:semid:Cu4G4njDjd2mgmz4FsvFAwRKwBpksmZ9CB9AJhSNx5dk#kimono-golf-price -} --- urn:ubideco:semid:F6RPJgZMGop2K5QBdWK1bP57ifXo5g76Jet1fEtbi3Wh#ozone-quick-hippie -data XChainExplicitSealTxid :: bitcoin BPCore.ExplicitSealTxid {- urn:ubideco:semid:FxnQvXfa6koZmm6uyZCPwnGrMi3UzY588kKN9ipN72L#antenna-darwin-emotion -} - | liquid BPCore.ExplicitSealTxid {- urn:ubideco:semid:FxnQvXfa6koZmm6uyZCPwnGrMi3UzY588kKN9ipN72L#antenna-darwin-emotion -} --- urn:ubideco:semid:FmzeQkRM31bz3UNNTZTV2DWDyCMVSabzQWcdb1PpL2Ao#palace-random-taxi -data XChainSecretSeal :: bitcoin BPCore.SecretSeal {- urn:ubideco:semid:81NKrdc9pBoBjsKaGBVN9wXLG4tKjkK4f8DLj7TNMZxh#santana-domingo-needle -} - | liquid BPCore.SecretSeal {- urn:ubideco:semid:81NKrdc9pBoBjsKaGBVN9wXLG4tKjkK4f8DLj7TNMZxh#santana-domingo-needle -} --- urn:ubideco:semid:AFRnr7FmAC7DtKDQZj9eCzuf9Tp8E6UckpVouwDmwq5S#cubic-museum-lemon -data XChainTxid :: bitcoin Bitcoin.Txid {- urn:ubideco:semid:C1GfCrG7AXu2sFhRBspd7KpJK2YgyTkVy6pty5rZynRs#cowboy-diego-betty -} - | liquid Bitcoin.Txid {- urn:ubideco:semid:C1GfCrG7AXu2sFhRBspd7KpJK2YgyTkVy6pty5rZynRs#cowboy-diego-betty -} + +@mnemonic(prime-loyal-escort) +data XChainBlindSealTxPtr : bitcoin BPCore.BlindSealTxPtr#austria-icon-waiter + | liquid BPCore.BlindSealTxPtr#austria-icon-waiter + +@mnemonic(biology-domain-domain) +data XChainBlindSealTxid : bitcoin BPCore.BlindSealTxid#kimono-golf-price + | liquid BPCore.BlindSealTxid#kimono-golf-price + +@mnemonic(ozone-quick-hippie) +data XChainExplicitSealTxid : bitcoin BPCore.ExplicitSealTxid#antenna-darwin-emotion + | liquid BPCore.ExplicitSealTxid#antenna-darwin-emotion + +@mnemonic(palace-random-taxi) +data XChainSecretSeal : bitcoin BPCore.SecretSeal#santana-domingo-needle + | liquid BPCore.SecretSeal#santana-domingo-needle + +@mnemonic(cubic-museum-lemon) +data XChainTxid : bitcoin Bitcoin.Txid#cowboy-diego-betty + | liquid Bitcoin.Txid#cowboy-diego-betty + diff --git a/stl/Schema.vesper b/stl/Schema.vesper new file mode 100644 index 00000000..c5824b93 --- /dev/null +++ b/stl/Schema.vesper @@ -0,0 +1,119 @@ +Schema rec + ffv is U16 aka=Ffv + some is Unit option wrapped tag=1 + globalTypes map len=0..MAX8 + key is U16 aka=GlobalStateType + GlobalStateSchema rec -- mapped to + semId bytes len=32 aka=SemId + maxItems is U16 + ownedTypes map len=0..MAX8 + key is U16 aka=AssignmentType + StateSchema union -- mapped to + declarative is Unit tag=0 + fungible enum wrapped unsigned64Bit=8 tag=1 -- FungibleType + structured bytes len=32 wrapped aka=SemId tag=2 + attachment enum wrapped any=255 tag=3 -- MediaType + valencyTypes set len=0..MAX8 + element is U16 aka=ValencyType + genesis rec -- GenesisSchema + metadata bytes len=32 aka=SemId + globals map len=0..MAX8 + key is U16 aka=GlobalStateType + Occurrences rec -- mapped to + min is U16 + max is U16 + assignments map len=0..MAX8 + key is U16 aka=AssignmentType + Occurrences rec -- mapped to + min is U16 + max is U16 + valencies set len=0..MAX8 + element is U16 aka=ValencyType + extensions map len=0..MAX8 + key is U16 aka=ExtensionType + ExtensionSchema rec -- mapped to + metadata bytes len=32 aka=SemId + globals map len=0..MAX8 + key is U16 aka=GlobalStateType + Occurrences rec -- mapped to + min is U16 + max is U16 + redeems set len=0..MAX8 + element is U16 aka=ValencyType + assignments map len=0..MAX8 + key is U16 aka=AssignmentType + Occurrences rec -- mapped to + min is U16 + max is U16 + valencies set len=0..MAX8 + element is U16 aka=ValencyType + transitions map len=0..MAX8 + key is U16 aka=TransitionType + TransitionSchema rec -- mapped to + metadata bytes len=32 aka=SemId + globals map len=0..MAX8 + key is U16 aka=GlobalStateType + Occurrences rec -- mapped to + min is U16 + max is U16 + inputs map len=0..MAX8 + key is U16 aka=AssignmentType + Occurrences rec -- mapped to + min is U16 + max is U16 + assignments map len=0..MAX8 + key is U16 aka=AssignmentType + Occurrences rec -- mapped to + min is U16 + max is U16 + valencies set len=0..MAX8 + element is U16 aka=ValencyType + typeSystem map len=0..MAX24 aka=TypeSystem + key bytes len=32 aka=SemId + TySemId union -- mapped to + primitive is U8 wrapped aka=Primitive tag=0 + unicode is Unit tag=1 + enum set len=1..MAX8 wrapped aka=EnumVariants tag=2 + Variant rec + name ascii len=1..100 aka=VariantName aka=Ident charset=AlphaNumLodash + tag is U8 + union map len=0..MAX8 wrapped aka=UnionVariantsSemId tag=3 + key is U8 + VariantInfoSemId rec -- mapped to + name ascii len=1..100 aka=VariantName aka=Ident charset=AlphaNumLodash + ty bytes len=32 aka=SemId + tuple list len=1..MAX8 wrapped aka=UnnamedFieldsSemId tag=4 + element bytes len=32 aka=SemId + struct list len=1..MAX8 wrapped aka=NamedFieldsSemId tag=5 + FieldSemId rec + name ascii len=1..100 aka=FieldName aka=Ident charset=AlphaNumLodash + ty bytes len=32 aka=SemId + array tuple tag=6 + _ bytes len=32 aka=SemId + _ is U16 + list tuple tag=7 + _ bytes len=32 aka=SemId + Sizing rec + min is U64 + max is U64 + set tuple tag=8 + _ bytes len=32 aka=SemId + Sizing rec + min is U64 + max is U64 + map tuple tag=9 + _ bytes len=32 aka=SemId + _ bytes len=32 aka=SemId + Sizing rec + min is U64 + max is U64 + script union -- Script + aluVm rec wrapped tag=0 -- AluScript + libs map len=0..MAX8 + key bytes len=32 aka=LibId + value bytes len=0..MAX16 + entryPoints map len=0..MAX16 + key bytes len=3 + LibSite rec -- mapped to + lib bytes len=32 aka=LibId + pos is U16 diff --git a/stl/Transition.vesper b/stl/Transition.vesper new file mode 100644 index 00000000..6b26324c --- /dev/null +++ b/stl/Transition.vesper @@ -0,0 +1,231 @@ +Transition rec + ffv is U16 aka=Ffv + contractId bytes len=32 aka=ContractId + transitionType is U16 aka=TransitionType + metadata bytes len=0..MAX16 + globals map len=0..MAX8 aka=GlobalState + key is U16 aka=GlobalStateType + value list len=1..MAX16 aka=GlobalValues + RevealedData rec + value bytes len=0..MAX16 aka=DataState + salt is U128 + inputs set len=0..MAX8 aka=Inputs + Input rec + prevOut rec -- Opout + op bytes len=32 aka=OpId + ty is U16 aka=AssignmentType + no is U16 + reserved is U8 aka=ReservedByte + assignments map len=0..MAX8 aka=AssignmentsBlindSealTxPtr + key is U16 aka=AssignmentType + TypedAssignsBlindSealTxPtr union -- mapped to + declarative list len=0..MAX16 wrapped tag=0 + AssignVoidStateBlindSealTxPtr union + confidential rec tag=0 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state is Unit aka=VoidState + confidentialState rec tag=1 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state is Unit aka=VoidState + confidentialSeal rec tag=2 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state is Unit aka=VoidState + revealed rec tag=3 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state is Unit aka=VoidState + fungible list len=0..MAX16 wrapped tag=1 + AssignRevealedValueBlindSealTxPtr union + confidential rec tag=0 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state rec -- ConcealedFungible + commitment bytes len=33 aka=PedersenCommitment + rangeProof union -- RangeProof + placeholder bytes len=512 wrapped aka=NoiseDumb tag=0 + confidentialState rec tag=1 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state rec -- ConcealedFungible + commitment bytes len=33 aka=PedersenCommitment + rangeProof union -- RangeProof + placeholder bytes len=512 wrapped aka=NoiseDumb tag=0 + confidentialSeal rec tag=2 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state rec -- RevealedFungible + value union -- FungibleState + bits64 is U64 wrapped tag=0 + blinding bytes len=32 aka=BlindingFactor + tag bytes len=32 aka=AssetTag + revealed rec tag=3 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state rec -- RevealedFungible + value union -- FungibleState + bits64 is U64 wrapped tag=0 + blinding bytes len=32 aka=BlindingFactor + tag bytes len=32 aka=AssetTag + structured list len=0..MAX16 wrapped tag=2 + AssignRevealedDataBlindSealTxPtr union + confidential rec tag=0 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state bytes len=32 aka=ConcealedData + confidentialState rec tag=1 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state bytes len=32 aka=ConcealedData + confidentialSeal rec tag=2 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state rec -- RevealedData + value bytes len=0..MAX16 aka=DataState + salt is U128 + revealed rec tag=3 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state rec -- RevealedData + value bytes len=0..MAX16 aka=DataState + salt is U128 + attachment list len=0..MAX16 wrapped tag=3 + AssignRevealedAttachBlindSealTxPtr union + confidential rec tag=0 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state bytes len=32 aka=ConcealedAttach + confidentialState rec tag=1 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state bytes len=32 aka=ConcealedAttach + confidentialSeal rec tag=2 + seal union -- XChainSecretSeal + bitcoin bytes len=32 wrapped aka=SecretSeal tag=0 + liquid bytes len=32 wrapped aka=SecretSeal tag=1 + state rec -- RevealedAttach + id bytes len=32 aka=AttachId + mediaType enum any=255 -- MediaType + salt is U64 + revealed rec tag=3 + seal union -- XChainBlindSealTxPtr + bitcoin rec wrapped tag=0 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + liquid rec wrapped tag=1 -- BlindSealTxPtr + method enum opretFirst=0 tapretFirst=1 -- Method + txid union -- TxPtr + witnessTx is Unit tag=0 + txid bytes len=32 wrapped aka=Txid tag=1 + vout is U32 aka=Vout + blinding is U64 + state rec -- RevealedAttach + id bytes len=32 aka=AttachId + mediaType enum any=255 -- MediaType + salt is U64 + valencies set len=0..MAX8 aka=Valencies + element is U16 aka=ValencyType