Skip to content

Commit

Permalink
Merge branch 'dichotomies' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
dr-orlovsky committed Oct 13, 2024
2 parents 08a8c95 + d1ee1d0 commit db8c7ab
Show file tree
Hide file tree
Showing 8 changed files with 90 additions and 68 deletions.
4 changes: 2 additions & 2 deletions src/persistence/index.rs
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ impl<P: IndexProvider> Index<P> {
pub(super) fn bundle_info(
&self,
bundle_id: BundleId,
) -> Result<(XWitnessId, ContractId), IndexError<P>> {
) -> Result<(impl Iterator<Item = XWitnessId> + '_, ContractId), IndexError<P>> {
Ok(self.provider.bundle_info(bundle_id)?)
}
}
Expand Down Expand Up @@ -392,7 +392,7 @@ pub trait IndexReadProvider {
fn bundle_info(
&self,
bundle_id: BundleId,
) -> Result<(XWitnessId, ContractId), IndexReadError<Self::Error>>;
) -> Result<(impl Iterator<Item = XWitnessId>, ContractId), IndexReadError<Self::Error>>;
}

pub trait IndexWriteProvider: StoreTransaction<TransactionErr = Self::Error> {
Expand Down
13 changes: 8 additions & 5 deletions src/persistence/memory.rs
Original file line number Diff line number Diff line change
Expand Up @@ -580,7 +580,7 @@ impl StateReadProvider for MemState {
let ord = self
.witnesses
.get(&witness_id)
.ok_or(StateInconsistency::AbsentWitness)?;
.ok_or(StateInconsistency::AbsentWitness(witness_id))?;

Check warning on line 583 in src/persistence/memory.rs

View check run for this annotation

Codecov / codecov/patch

src/persistence/memory.rs#L583

Added line #L583 was not covered by tests
Ok(ord.is_valid())
}
}
Expand Down Expand Up @@ -1210,7 +1210,7 @@ pub struct MemIndex {

op_bundle_index: MediumOrdMap<OpId, BundleId>,
bundle_contract_index: MediumOrdMap<BundleId, ContractId>,
bundle_witness_index: MediumOrdMap<BundleId, XWitnessId>,
bundle_witness_index: MediumOrdMap<BundleId, TinyOrdSet<XWitnessId>>,
contract_index: TinyOrdMap<ContractId, ContractIndex>,
terminal_index: MediumOrdMap<XChain<SecretSeal>, TinyOrdSet<Opout>>,
}
Expand Down Expand Up @@ -1344,7 +1344,7 @@ impl IndexReadProvider for MemIndex {
fn bundle_info(
&self,
bundle_id: BundleId,
) -> Result<(XWitnessId, ContractId), IndexReadError<Self::Error>> {
) -> Result<(impl Iterator<Item = XWitnessId>, ContractId), IndexReadError<Self::Error>> {
let witness_id = self

Check warning on line 1348 in src/persistence/memory.rs

View check run for this annotation

Codecov / codecov/patch

src/persistence/memory.rs#L1348

Added line #L1348 was not covered by tests
.bundle_witness_index
.get(&bundle_id)
Expand All @@ -1353,7 +1353,7 @@ impl IndexReadProvider for MemIndex {
.bundle_contract_index
.get(&bundle_id)
.ok_or(IndexInconsistency::BundleContractUnknown(bundle_id))?;
Ok((*witness_id, *contract_id))
Ok((witness_id.iter().cloned(), *contract_id))

Check warning on line 1356 in src/persistence/memory.rs

View check run for this annotation

Codecov / codecov/patch

src/persistence/memory.rs#L1356

Added line #L1356 was not covered by tests
}
}

Expand Down Expand Up @@ -1387,7 +1387,10 @@ impl IndexWriteProvider for MemIndex {
}
.into());
}
self.bundle_witness_index.insert(bundle_id, witness_id)?;
self.bundle_witness_index
.entry(bundle_id)?
.or_default()
.push(witness_id)?;

Check warning on line 1393 in src/persistence/memory.rs

View check run for this annotation

Codecov / codecov/patch

src/persistence/memory.rs#L1390-L1393

Added lines #L1390 - L1393 were not covered by tests
let present2 = self
.bundle_contract_index
.insert(bundle_id, contract_id)?
Expand Down
31 changes: 22 additions & 9 deletions src/persistence/state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.

use std::borrow::Borrow;
use std::collections::BTreeMap;
use std::error::Error;
use std::fmt::Debug;
Expand Down Expand Up @@ -51,6 +52,10 @@ pub enum StateError<P: StateProvider> {
#[display(doc_comments)]
Resolver(XWitnessId, WitnessResolverError),

/// valid (non-archived) witness is absent in the list of witnesses for a
/// state transition bundle.
AbsentValidWitness,

/// {0}
///
/// It may happen due to RGB standard library bug, or indicate internal
Expand All @@ -65,11 +70,8 @@ pub enum StateError<P: StateProvider> {
pub enum StateInconsistency {
/// contract state {0} is not known.
UnknownContract(ContractId),
/// a witness is absent in the list of witnesses for a state transition bundle.
AbsentWitness,
/// valid (non-archived) witness is absent in the list of witnesses for a
/// state transition bundle.
AbsentValidWitness,
/// a witness {0} is absent from the state data.
AbsentWitness(XWitnessId),
}

#[derive(Clone, Eq, PartialEq, Debug, Hash)]
Expand Down Expand Up @@ -135,10 +137,21 @@ impl<P: StateProvider> State<P> {
.map_err(StateError::ReadProvider)
}

pub fn is_valid_witness(&self, witness_id: XWitnessId) -> Result<bool, StateError<P>> {
self.provider
.is_valid_witness(witness_id)
.map_err(StateError::ReadProvider)
pub fn select_valid_witness(
&self,
witness_ids: impl IntoIterator<Item = impl Borrow<XWitnessId>>,
) -> Result<XWitnessId, StateError<P>> {
for witness_id in witness_ids {
let witness_id = *witness_id.borrow();
if self
.provider
.is_valid_witness(witness_id)
.map_err(StateError::ReadProvider)?
{
return Ok(witness_id);
}
}
Err(StateError::AbsentValidWitness)

Check warning on line 154 in src/persistence/state.rs

View check run for this annotation

Codecov / codecov/patch

src/persistence/state.rs#L154

Added line #L154 was not covered by tests
}

pub fn update_from_bundle<R: ResolveWitness>(
Expand Down
15 changes: 10 additions & 5 deletions src/persistence/stock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,10 @@ pub enum StockError<
#[from]
StashData(StashDataError),

/// valid (non-archived) witness is absent in the list of witnesses for a
/// state transition bundle.
AbsentValidWitness,

/// witness {0} can't be resolved: {1}
WitnessUnresolved(XWitnessId, WitnessResolverError),
}
Expand All @@ -134,6 +138,7 @@ impl<S: StashProvider, H: StateProvider, P: IndexProvider, E: Error> From<StateE
StateError::WriteProvider(err) => Self::StateWrite(err),
StateError::Inconsistency(e) => Self::StateInconsistency(e),
StateError::Resolver(id, e) => Self::WitnessUnresolved(id, e),
StateError::AbsentValidWitness => Self::AbsentValidWitness,

Check warning on line 141 in src/persistence/stock.rs

View check run for this annotation

Codecov / codecov/patch

src/persistence/stock.rs#L141

Added line #L141 was not covered by tests
}
}
}
Expand Down Expand Up @@ -314,6 +319,7 @@ macro_rules! stock_err_conv {
StockError::IndexWrite(e) => StockError::IndexWrite(e),
StockError::StateRead(e) => StockError::StateRead(e),
StockError::StateWrite(e) => StockError::StateWrite(e),
StockError::AbsentValidWitness => StockError::AbsentValidWitness,

Check warning on line 322 in src/persistence/stock.rs

View check run for this annotation

Codecov / codecov/patch

src/persistence/stock.rs#L322

Added line #L322 was not covered by tests
StockError::StashData(e) => StockError::StashData(e),
StockError::StashInconsistency(e) => StockError::StashInconsistency(e),
StockError::StateInconsistency(e) => StockError::StateInconsistency(e),
Expand Down Expand Up @@ -852,7 +858,8 @@ impl<S: StashProvider, H: StateProvider, P: IndexProvider> Stock<S, H, P> {

let mut bundles = BTreeMap::<XWitnessId, WitnessBundle>::new();
for anchored_bundle in anchored_bundles.into_values() {
let witness_id = self.index.bundle_info(anchored_bundle.bundle_id())?.0;
let witness_ids = self.index.bundle_info(anchored_bundle.bundle_id())?.0;
let witness_id = self.state.select_valid_witness(witness_ids)?;
let pub_witness = self.stash.witness(witness_id)?.public.clone();
let wb = match bundles.remove(&witness_id) {
Some(bundle) => bundle.into_double(anchored_bundle)?,
Expand Down Expand Up @@ -1355,12 +1362,10 @@ impl<S: StashProvider, H: StateProvider, P: IndexProvider> Stock<S, H, P> {
}

fn client_bundle(&self, bundle_id: BundleId) -> Result<ClientBundle, StockError<S, H, P>> {

Check warning on line 1364 in src/persistence/stock.rs

View check run for this annotation

Codecov / codecov/patch

src/persistence/stock.rs#L1364

Added line #L1364 was not covered by tests
let (witness_id, contract_id) = self.index.bundle_info(bundle_id)?;
let (witness_ids, contract_id) = self.index.bundle_info(bundle_id)?;

let bundle = self.stash.bundle(bundle_id)?.clone();
if !self.state.is_valid_witness(witness_id)? {
return Err(StateInconsistency::AbsentValidWitness.into());
}
let witness_id = self.state.select_valid_witness(witness_ids)?;
let witness = self.stash.witness(witness_id)?;
let (merkle_block, dbc) = match (bundle.close_method, &witness.anchors) {
(
Expand Down
2 changes: 1 addition & 1 deletion src/stl/stl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ use crate::LIB_NAME_RGB_STD;
/// Strict types id for the library providing standard data types which may be
/// used in RGB smart contracts.
pub const LIB_ID_RGB_STORAGE: &str =
"stl:t8loV$Vb-Z8hGMSi-pC9dCUe-Lpy$rm8-CGtTeJa-6ll2sCk#guest-infant-crash";
"stl:hHEaUT1x-VjyiUK0-v$pgYr0-xQwdM5m-S3UaY23-nj7!2vM#orbit-virgo-basil";

/// Strict types id for the library providing standard data types which may be
/// used in RGB smart contracts.
Expand Down
87 changes: 44 additions & 43 deletions stl/[email protected]
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
-----BEGIN STRICT TYPE LIB-----
Id: stl:t8loV$Vb-Z8hGMSi-pC9dCUe-Lpy$rm8-CGtTeJa-6ll2sCk#guest-infant-crash
Id: stl:hHEaUT1x-VjyiUK0-v$pgYr0-xQwdM5m-S3UaY23-nj7!2vM#orbit-virgo-basil
Name: RGBStorage
Dependencies:
RGBCommit#harvest-person-orion,
Expand All @@ -11,7 +11,7 @@ Dependencies:
RGBLogic#rapid-baboon-satire,
Std#ralph-blue-lucky,
Bitcoin#signal-color-cipher
Check-SHA256: 74c61ee061f186917d794a71630d15cbd6c223f15ba043b722b7556123ee98ad
Check-SHA256: 21288028263f43cb6a61761336c6ffb69b6e948258d2077d35c0264ad5b8e685

3Q|WxQ*>`~VP|CtAXg`>_lQgbaV_>=c$Ts04O39g2dD_h*R5>c*5<{j2~tNwLvL+uX>=wP0_2znD++Ak
!<jWnB~mpH>AD4^=04ZLvBczwX;cPMM?zC{WJT(uU)%QMkO4aJ;_ZeCe;xE!X<$x_Fs4If6Z`oP*$Y#2
Expand Down Expand Up @@ -176,47 +176,48 @@ t!&=b=EbQ4dy}<28ig(gSpg+?&9*`C2(3=%09avzwZKZf-~wC#0000000030|Nj600000JVs&n0Y-K}l
Zgg^CV{}PwWMy~&3IZTkC#?5~OapN(_Fs6GvFQy{P|gRa2*}s1Y~I%9#i;{(leIk>g)RqK0VQ|Mwn6X+
txo3vSYd;;z)HQ~0$c(hS0}9Zh)e@<E%sk{ma*v#Q&7$as0hf{t!&=b=EbR>2rNlD$O59e#ogQsB77jP
l+<X%NY5HtA>h5j^*S;D0000000030|Nj600000IVs&n0Y-LwzbZ%vHb4hMwWq1Gz0w7l>toMja192_(
UwD?W=?zm*&IhOn$k(lG-qz;DsRMhHwLKbzE(ciwC3nrXLGTEzPUiqvVS}~6O1<C$Tmm3hC#?5~OapN(
_Fs6GvFQy{P|gRa2*}s1Y~I%9#i@yFSS8KIkY89@$6%;X7qJ(R#b4x^L3+^xAn+qc8}R@D0000000960
{{R30000eRZ*FvQVPkYjZe(S6015&iS0}9Zh)e@<E%sk{ma*v#Q&7$as0hf{t!&=b=EbR>2rNlD$O59e
#ogQsB77jPl+<X%NY5HtA>h5j^*S;EEYxz&xd)D|X2*0_E|OYH;h*YvvIyS{G&S`ex{XQ}0000000000
{{R30000004RmF4ZE0>{Y)NipWq1Gz0w7l>toMja192_(UwD?W=?zm*&IhOn$k(lG-qz;DsoRQL8iEuM
btv-qj6g$b#7A9pc!|f`I$jaRzSe2A1ON#FAXg`>_lQgbaV_>=c$Ts04O39g2dD_h*R5>c*5<{jlMuXs
u{2tXFT+?;?hj39&>gq>HOrf1lB-q;n)I5N0000000000{{R30000000000000000|Ns90000002u)>e
Q*>c-Xa)@kb7N>_ZDDj_015&iS0}9Zh)e@<E%sk{ma*v#Q&7$as0hf{t!&=b=EbR$Qq$W5tE;F{pQrXd
&=l*`O?@#x{Qdy?T_k!`1dtE{CKUqYm<KBgY~jP1HAy8>H4o{!1*GOa*TS*H<cVoi(swU)=eHZcWUx8U
##PM;a30K-=Jl8VtAf?Zi=Hx60000000000{{R300000025DwtV`Xyy3IZk-0_2znD++Ak!<jWnB~mpH
>AD4^=04ZLvBczwX;eGPz<~n@;VY|KA!vt$<F<39SJ>qMEp^75#kD_Tqj3Tz6$0d#2P+C};lr6VNhMM>
59zuEq~<=?!m-5UiD^_h#~MC<5IE1bzMOP@>#x3$o4Af`kVHyQ&~TYCSRqgV00000000300000000007
XJu|>b7gY?3IZTkC#?5~OapN(_Fs6GvFQy{P|gRa2*}s1Y~I%9#i^eNEJ-@Z0;0Ob-P{Wzd?2rs)M&&=
&l*}G;Jw22Ix+$vS0}9Zh)e@<E%sk{ma*v#Q&7$as0hf{t!&=b=EbS(vgUTbnZZteO3IOg0+3WD-We)T
m9OC!w7#?l6><y!00000000300000000005b9HcVYyb)ZCKUqYm<KBgY~jP1HAy8>H4o{!1*GOa*TS*H
<cVoi2AHk4+Bm{3x%H=p>4!*u&n<nZ*HSpYm!_!;u~jRj00{yn6$0d#2P+C};lr6VNhMM>59zuEq~<=?
!m-5UiD^`0J=2M>OG#EL&$!Mwbx<Z6Via+FuJhXp(y?Z1WjwV2000000003000000000000000000030
0000000007Vs&n0Y-Mu*3IZTkC#?5~OapN(_Fs6GvFQy{P|gRa2*}s1Y~I%9#i;{(leIk>g)RqK0VQ|M
wn6X+txo3vSYd;;z)HQ~0$c(hS0}9Zh)e@<E%sk{ma*v#Q&7$as0hf{t!&=b=EbS6jhE2@R4ADY@XOb3
WHJm&VktwD1&R~J8Qi15W{8Ub0000000030|Ns900000AWq5RDZgXjGZgT(%0w7l>toMja192_(UwD?W
=?zm*&IhOn$k(lG-qz;Dsg=m)dLDIRU(}XWLTZugenOC;Z(5k~zEJnJiX;;E#R4E#C#?5~OapN(_Fs6G
vFQy{P|gRa2*}s1Y~I%9#i>)L^XdU9;lkvmMR*4bh)jz;q`~Q5Z+&x=I0QQSl+6GD0000000960|Nj60
000ShX>@L7b8}^L015&iS0}9Zh)e@<E%sk{ma*v#Q&7$as0hf{t!&=b=EbRrYgi@C#*klFTE}3hP#3Wm
ki}o*nL&Ed10e7tM;q}1CKUqYm<KBgY~jP1HAy8>H4o{!1*GOa*TS*H<cVoi$6skVRwOM6wz9dSYg6i3
-rmX0uFE(Y8AEY@srN=80000000000|NsC0000003t@D0VPj}*Wo~qH015&iS0}9Zh)e@<E%sk{ma*v#
Q&7$as0hf{t!&=b=EbRmaSf9!PV~dK2uo>;u!nFdemP_$e?^hl+JkM;eY!XR2mk;;0000000000|Ns90
000000000000000|Nj60000003v*>-a%FT=WnpY{00{yhS0}9Zh)e@<E%sk{ma*v#Q&7$as0hf{t!&=b
=EbRxyTa&4noi_R;$3lnz4{Zl)X|Z&ZIQtMA_g1big7gn0000000030|Nj600000Aba`-PQ+acAWo-gQ
>Z4!V_T!KNI`QJ|h6;Zj^jB$MPK+?7Lu3>C`4HLtfv$so3kRF1PV2}fOp_vjQ6FdFHId|<b)4huMS`gc
X=G(?bZK;HWpe-u0w7l>toMja192_(UwD?W=?zm*&IhOn$k(lG-qz;DskZ2Vh8!q$B6|*YuiTY;OURW8
#d%1{rxIXtTaY^?oB}2l0_2znD++Ak!<jWnB~mpH>AD4^=04ZLvBczwX;h-%S=7<6%^jtx5=^cXz--x^
3Rg~O2_Ny!Q1}E;1fT!_000000096000000000DRX<~B#3IbwqHGd)H<Dj;Nz^!EbXX{KgjJY{tu+xnh
vc`|O#x|!gRRS&fT*&Z=qeY@Wmfle*z!SF)@h8|JkU^FEQwjoNa5aA+<>R2XhQO_4{AcS-HH^7AVzASV
8M4NYxyCjU1gEwF5PXV6FZDLo1#Vec_~kix7WfVQ#Sd|CM9$^_0000000030{{R3000004b7^OD015&o
6$0d#2P+C};lr6VNhMM>59zuEq~<=?!m-5UiD^{g)D=(>(T2L(qY0=?N<m7wE#-kTe9FLD^Ynbg=;<K>
CKUqYm<KBgY~jP1HAy8>H4o{!1*GOa*TS*H<cVoih8PemXlG!~;@e)_O3H?xO^a~KWeI~0jp}x-Dk@(^
0000000000|Nj60000002u)>eQ*>c;Wd;HXcWHEPWpi_7a{vkgAXg`>_lQgbaV_>=c$Ts04O39g2dD_h
*R5>c*5<{jiECIT&Bl;lSX#$ms8AQN7m&qY<e5Qw(E}jxBS#zY0*n8b^aF4VX~1Mc)5`k2Pg(y3Hpmz{
Tu19Qn*yz!aP|u$niq>g8B7tjqC|5&qz6Q-tazCB3Um~mr!r)9aR2}S000000RR90{{R30010DnZgg^C
V{~%>3IZTkC#?5~OapN(_Fs6GvFQy{P|gRa2*}s1Y~I%9#i^eNEJ-@Z0;0Ob-P{Wzd?2rs)M&&=&l*}G
;Jw22Ix+!vno`+&e1Pj6a?JDUs8A->-qfH?0iRw!WuNN`7KQr&0000000030000000000
UwD?W=?zm*&IhOn$k(lG-qz;DsRMhHwLKbzE(ciwC3nrXLGTEzPUiqvVS}~6O1<C$TmT6IAXg`>_lQgb
aV_>=c$Ts04O39g2dD_h*R5>c*5<{jiECIT&Bl;lSX#$ms8AQN7m&qY<e5Qw(E}jxBS#zY0000000000
{{R30000000000000000|Ns90000004P$R^baG*1bV+VxWq1Gz0w7l>toMja192_(UwD?W=?zm*&IhOn
$k(lG-qz;Dsh<ceNjk^^qPoT1+zTRnAg`3vXv9d*8d@RXy~6c6G65{qa?ZI2j;&_LbXP8tT1(-d>UXjT
-wZT0^&Yy7N)`YB000000093000000000eiWpZt4ZeeUmZe(S6015&iS0}9Zh)e@<E%sk{ma*v#Q&7$a
s0hf{t!&=b=EbSoidq_i6cBYN^7xEELu$lFU37Sf$J;ty5yrmOX|)6Z2?8KjC#?5~OapN(_Fs6GvFQy{
P|gRa2*}s1Y~I%9#i^4JynwMZT8l5kSW@l}O=!>^xB4~9n`Dx!RtcK)nwJ0o00000009300000000000
0000000960{{R30000P0Wo=V*VRL8(4G42%Xk~3-bYTDr0w7l>toMja192_(UwD?W=?zm*&IhOn$k(lG
-qz;DsgzRF+XJhss8OG%_CC-Q>(otsF+cqN0Qy}ddQ=3E5CSF@0_2znD++Ak!<jWnB~mpH>AD4^=04ZL
vBczwX;jj8FLmd)8^C0+InTyb%?WTG%$DZ$m;bAR)ya#VGE@Kn000000093000000000JQW?^Gxa{vkg
CKUqYm<KBgY~jP1HAy8>H4o{!1*GOa*TS*H<cVoiJIcU;0|?<Ot6L#xhlJy{bEQ|<<p3>p#+${pKVqYC
0wxs#<d_F53T)xSnKelzQZ*0hx&@@>KG(vr#N>%-R5`~QK7J55&$qsubbafuzL1-^j%|=cN>I>nnK4))
Pyhe`000000RI300000000(DfZe??2a{vkgAXg`>_lQgbaV_>=c$Ts04O39g2dD_h*R5>c*5<{jp9m~T
I>-W|y2ahx3nF|Vuawki#7NH?S|Q-Q!u2{b0w7l>toMja192_(UwD?W=?zm*&IhOn$k(lG-qz;DsqC`m
cE6dyPJT+tk%Iz|R3_dTDo~ZL;TN>Nv<DS(3;+NC000000RI300000000nb(aByq@3IZk-0_2znD++Ak
!<jWnB~mpH>AD4^=04ZLvBczwX;cQ7t+(1Z!Y#S=r-tc=NPf>PeW=$`IKP*ssSB}HE2RJl0wxs#<d_F5
3T)xSnKelzQZ*0hx&@@>KG(vr#N>%-RAW8UiLgsaRw~c9&Ny{YCK_TCaeS`x+X~XLW@}|UwEzGB00000
0RI300000000000000000RI300000000&}qZe(m_a{vkgAXg`>_lQgbaV_>=c$Ts04O39g2dD_h*R5>c
*5<{j1ACLTJsO2B2U!6ncg?mz@CdC==Kxq?gSEg)z2E{|0w7l>toMja192_(UwD?W=?zm*&IhOn$k(lG
-qz;DsjrQf(E(H_nGEpD*KTAo3`$}tLz4xH6U7<aqrhf}ivR!s000000RR90{{R30019PzbY*UHX>V?G
015&iS0}9Zh)e@<E%sk{ma*v#Q&7$as0hf{t!&=b=EbR%$mV(;bz)!CmQ_M(k?Vd!kfCo{nDM?)_qK{8
68FUdAXg`>_lQgbaV_>=c$Ts04O39g2dD_h*R5>c*5<{jQ>XLl0V(0a<fcV<2MdTyi#?>l>0fVsbCfs)
I{K8&0000000000|NsC00000033q99Ze??GWpe-u0w7l>toMja192_(UwD?W=?zm*&IhOn$k(lG-qz;D
sflY?CC$c=UszhlV5m?Ru@{iVU*wrVdeH+Q@FPbX@d73l0_2znD++Ak!<jWnB~mpH>AD4^=04ZLvBczw
X;jBwX*pITEeW==xua`S>RI02$<40II2sv4aet}zMj!wH0000000960|Nj60000YNbaY{3Xl-R~baMa-
0w7l>toMja192_(UwD?W=?zm*&IhOn$k(lG-qz;Dsf2M2lPpg3!?y@aX^XIja4CK{WF&t@k=WXUZP9(Y
H~<I$06+i$0000000960{{R3000000000000096000000000YfWn*$>bW>$vY;yn!0w7l>toMja192_(
UwD?W=?zm*&IhOn$k(lG-qz;DsgJwD=tr7P<W1sTaeuw~6S&mTk+f}*!2lu#8{vv^H2?qr000000RR90
00000019+@aAi|@b97~G0!8YhU)%QMkO4aJ;_ZeCe;xE!X<$x_Fs4If6Z`oP+5Lg8gMJGKo2X9f$R<pa
B7jjJXW=!G<ehb#<LpI(sS0UiWo~q7bZKRC015&iS0}9Zh)e@<E%sk{ma*v#Q&7$as0hf{t!&=b=EbSD
=zxYCD0L!x4tB5Hm3vFbl?lapNXe%XU~*fKJ0+X~CKUqYm<KBgY~jP1HAy8>H4o{!1*GOa*TS*H<cVoi
qTpH7(Xh=OrK%E4t`xv**_;YjPG|`q@y<~A1W*K^0000000000|Nj60000001Z-(ya{vkgVsJHoA?4$s
wuZp1Wc+9AOf`(TIbyKWjTy4WkGaM+r!Z9lE%{u?@QI^EqCb}2Q7OO^w+`_q*ddTXmHSf)0%CAAe<9`L
ptgp<tz`UX>r6F_xjAC6(~TLj#*ewiHWCD<wgM1*ibOB<Hr54hSy}kyId~TM4gJLrad1S=<^TWy00000
0RR600000000eVsXLA4w0wxs#<d_F53T)xSnKelzQZ*0hx&@@>KG(vr#N>%-RN~YXP!Z9Fy4s@&s7y*h
O1UlNfirx{z*_V4e8lMKAp#~90_2znD++Ak!<jWnB~mpH>AD4^=04ZLvBczwX;g+75G-hCV9w&(UffE`
hM!G~aLQ!~gAR@AcC9KZUqt`_000000096000000000P0Wo=V*VRU5%0tt6%bZ%vHb7gY?3IZTkC#?5~
OapN(_Fs6GvFQy{P|gRa2*}s1Y~I%9#i@yFSS8KIkY89@$6%;X7qJ(R#b4x^L3+^xAn+qc8}R~*|CjUw
a13d{WJ1%*`n^wC{{=S47&=@>>ouDKt(|c83nQ8ri$WPp5w@a4b3LR7M69fMnD+{F6rHCsWOZ=>00000
00030|Ns9000009V{dMBa$#e1a{vkgAXg`>_lQgbaV_>=c$Ts04O39g2dD_h*R5>c*5<{jp9m~TI>-W|
y2ahx3nF|Vuawki#7NH?S|Q-Q!u2{b0d|^F*?W9|>m72;^XjNjCf456piKdvUO#1@>k1Zy`v3p{00000
0RI300000000

-----END STRICT TYPE LIB-----

Binary file modified stl/[email protected]
Binary file not shown.
6 changes: 3 additions & 3 deletions stl/[email protected]
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{-
Id: stl:t8loV$Vb-Z8hGMSi-pC9dCUe-Lpy$rm8-CGtTeJa-6ll2sCk#guest-infant-crash
Id: stl:hHEaUT1x-VjyiUK0-v$pgYr0-xQwdM5m-S3UaY23-nj7!2vM#orbit-virgo-basil
Name: RGBStorage
Version: 0.11.0
Description: RGB storage library
Expand Down Expand Up @@ -231,10 +231,10 @@ data MemContractState : schemaId RGBCommit.SchemaId
@mnemonic(gilbert-torpedo-digital)
data MemGlobalState : known {RGBStd.GlobalOut -> ^ ..0xffffffff RGBCommit.DataState}, limit U24
@mnemonic(dialog-parody-ralph)
@mnemonic(savage-joshua-clone)
data MemIndex : opBundleIndex {RGBCommit.OpId -> ^ ..0xffffff RGBCommit.BundleId}
, bundleContractIndex {RGBCommit.BundleId -> ^ ..0xffffff RGBCommit.ContractId}
, bundleWitnessIndex {RGBCommit.BundleId -> ^ ..0xffffff RGBCommit.XChainTxid}
, bundleWitnessIndex {RGBCommit.BundleId -> ^ ..0xffffff {RGBCommit.XChainTxid ^ ..0xff}}
, contractIndex {RGBCommit.ContractId -> ^ ..0xff ContractIndex}
, terminalIndex {RGBCommit.XChainSecretSeal -> ^ ..0xffffff {RGBCommit.Opout ^ ..0xff}}
Expand Down

0 comments on commit db8c7ab

Please sign in to comment.