Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
641f008
Add some tests/todos
ascjones Mar 8, 2023
d2897f3
Testing
ascjones Mar 9, 2023
f094b0a
Add test for using well known selector without wildcard
ascjones Mar 9, 2023
c6771e4
Require reserved selector
ascjones Mar 10, 2023
8e8f3dd
Merge branch 'master' into aj/restrict-wildcard-selectors
ascjones Mar 17, 2023
91b3a16
Define reserved selector const
ascjones Mar 17, 2023
91ecf89
WIP defining wildcard selector complement
ascjones Mar 17, 2023
a9b7aaf
Compiles with wildcard selector complement
ascjones Mar 17, 2023
db836eb
Merge branch 'master' into aj/restrict-wildcard-selectors
ascjones Mar 24, 2023
1109f79
Return combined error on 2 or more messages
ascjones Mar 27, 2023
7f8f3ec
Fix up compile test for wildcard selector complement
ascjones Mar 27, 2023
b491a76
Add error for when wildcard complement used without wildcard
ascjones Mar 27, 2023
1ba18eb
Fix test
ascjones Mar 27, 2023
1450bcf
Fmt
ascjones Mar 27, 2023
3385ef0
Fmt
ascjones Mar 27, 2023
37ce190
Clear up error combine code
ascjones Mar 27, 2023
2af6423
Fix some wildcard complement tests
ascjones Mar 27, 2023
7b3e364
WIP use correct wildcard complement selector
ascjones Mar 28, 2023
ee4e483
Merge branch 'master' into aj/restrict-wildcard-selectors
ascjones Mar 29, 2023
1aed9d1
Introduce Symbol parsing for MetaValue
ascjones Mar 29, 2023
db324c7
Remove unused imports
ascjones Mar 29, 2023
c02bf84
Add wildcard-selector example
ascjones Mar 29, 2023
856fd08
Calculate correct wildcard complement selector
ascjones Mar 29, 2023
192b325
Use well known wildcard complement constant
ascjones Mar 29, 2023
742df48
Fix UI test
ascjones Mar 29, 2023
c5f991d
WIP wildcard selector integration test
ascjones Mar 29, 2023
a735fc1
WIP wildcard selector integration test
ascjones Mar 30, 2023
cfeae31
Test wildcard
ascjones Mar 30, 2023
f7fa437
Wildcard complement test, define const in prelude and reexport
ascjones Mar 30, 2023
ca1edee
spellcheck
ascjones Mar 30, 2023
74f098e
Merge branch 'master' into aj/restrict-wildcard-selectors
ascjones Mar 30, 2023
bcc76d8
Clippy
ascjones Mar 30, 2023
5e9b2fc
Use underscores for param bindings
ascjones Mar 30, 2023
763076f
Merge branch 'master' into aj/restrict-wildcard-selectors
ascjones Apr 12, 2023
3db0181
Merge branch 'master' into aj/restrict-wildcard-selectors
ascjones Apr 17, 2023
f9a6901
Merge branch 'master' into aj/restrict-wildcard-selectors
ascjones Apr 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Define reserved selector const
  • Loading branch information
ascjones committed Mar 17, 2023
commit 91b3a16e1432b933e49867fbefeef17bfca407ac
8 changes: 5 additions & 3 deletions crates/ink/ir/src/ir/item_mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ use syn::{
token,
};

/// A well know selector reserved for the message required to be defined
/// alongside a wildcard selector. See https://github.com/paritytech/ink/issues/1676.
pub const IIP2_WILDCARD_COMPLEMENT_SELECTOR: [u8; 4] = [0xFF, 0xFF, 0xFF, 0xFF]; // todo: selector_bytes!("IIP2_WILDCARD_COMPLEMENT");

/// The ink! module.
///
/// This is the root of all ink! smart contracts and is defined similarly to
Expand Down Expand Up @@ -275,8 +279,6 @@ impl ItemMod {
}
}

const WELL_KNOWN_SELECTOR: [u8; 4] = [0x00, 0x00, 0x00, 0x00];

if let Some(wildcard) = wildcard_selector {
match other_messages.len() as u32 {
0 => return Err(format_err!(
Expand All @@ -285,7 +287,7 @@ impl ItemMod {
selector",
)),
1 => {
if other_messages[0].composed_selector().to_bytes() != WELL_KNOWN_SELECTOR { // todo well known selector constant?
if other_messages[0].composed_selector().to_bytes() != IIP2_WILDCARD_COMPLEMENT_SELECTOR {
return Err(format_err!(
other_messages[0].span(),
"when using a wildcard selector, the other message must use the \
Expand Down