You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* In addition, `|` is the remotable->ordinal mapping prefix:
* This is not used in covers but it is
* reserved from the same set of strings. Note that the prefix is > any
* prefix used by any cover so that ordinal mapping keys are always outside
* the range of valid collection entry keys.
and noted explicitly in Agoric/agoric-sdk#2589 (comment) , agoric-sdk liveslots expects | to be a prefix that sorts after all encoded values. But that assumption would no longer hold if ~-prefixed compactOrdered encodings were stored as-is. Here in endo, we can either assume that agoric-sdk will find a suitable workaround, or switch to a different prefix that does not suffer from this issue. The initial choice of ~ was mostly arbitrary, but did strive to avoid overloading any existing special character. Were we to stick with that goal, we'd be looking at candidates like
U+0020 SPACE (which sorts before any other encoding but suffers from invisibility)
{ (which sorts after any other encoding but overloads the JSON begin-object token)
" (which overloads the JSON string quote)
# (which overloads the CapData body smallcaps prefix and smallcaps special-constant prefix)
$/%/&/+/- (which overload smallcaps type prefixes)
'/)/*/, (which are reserved by smallcaps but not currently used)
.///;/</=/>/@/\/]/_/` (no known conflicts other than sorting in between legacy passable encodings)
The text was updated successfully, but these errors were encountered:
Describe the bug
As implied at
endo/packages/marshal/src/encodePassable.js
Lines 861 to 865 in b3a31b1
|
to be a prefix that sorts after all encoded values. But that assumption would no longer hold if~
-prefixed compactOrdered encodings were stored as-is. Here in endo, we can either assume that agoric-sdk will find a suitable workaround, or switch to a different prefix that does not suffer from this issue. The initial choice of~
was mostly arbitrary, but did strive to avoid overloading any existing special character. Were we to stick with that goal, we'd be looking at candidates like{
(which sorts after any other encoding but overloads the JSON begin-object token)"
(which overloads the JSON string quote)#
(which overloads the CapData body smallcaps prefix and smallcaps special-constant prefix)$
/%
/&
/+
/-
(which overload smallcaps type prefixes)'
/)
/*
/,
(which are reserved by smallcaps but not currently used).
//
/;
/<
/=
/>
/@
/\
/]
/_
/`
(no known conflicts other than sorting in between legacy passable encodings)The text was updated successfully, but these errors were encountered: