Skip to content

Commit e072e6f

Browse files
authored
Iris Milestone 2 (#5)
* add new contract * update deps, update readme * WIP call transfer from contract * pass args to transfer func * add test contract, readme * add payable * update readme * remove test, transfer assets works, add registry, add mint func * add purchase func * update readme * update email * purchase tokens with latest chain ext funcs * update ext * update chain ext, add new errors, add event struct, lock and transfer works * cleanup, add docs * update readmes, add composable access rules * limited use token * remove cars * happy path tests work * update get version func * update storage maps * rename func * add getters for registries * fix typos, handle option * update structure, CARs WIP * compilation works * register func works * update gitignore * add limit to constructor * register works, tests work, execute works * limited use token works with burn * rule executor works * modify storage with new struct, update tests, remove chain ext * move data retrieval to compoasable rules dir, create trait for rule executor * cross contract calls works! * :( * rule executor works * rename data_retrieval to rule executor, update docs * update docs, cleanup * update readme and .gitignore * add license * add copyright headers * update to pass pk as arg from caller * add trivial executor * remove target
1 parent 4dbbbd3 commit e072e6f

File tree

718 files changed

+205
-26180
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

718 files changed

+205
-26180
lines changed

composable_access_rules/limited_use/lib.rs

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,6 @@ mod limited_use_rule {
7272
impl LimitedUseRule {
7373
#[ink(constructor)]
7474
pub fn new(limit: u32) -> Self {
75-
if limit <= 0 {
76-
panic!("limit must be positive");
77-
}
7875
ink_lang::utils::initialize_contract(|contract: &mut Self| {
7976
contract.limit = limit;
8077
})
@@ -84,6 +81,24 @@ mod limited_use_rule {
8481
pub fn get_limit(&self) -> u32 {
8582
self.limit
8683
}
84+
85+
#[ink(message)]
86+
pub fn get_attempts_count(&self, asset_id: u32) -> u32 {
87+
let caller = self.env().caller();
88+
let mut usage_attempts = 0;
89+
match self.usage_counter.get(caller) {
90+
Some(usages) => {
91+
let filtered_usages = usages.iter().filter(|u| u.asset_id == asset_id).collect::<Vec<_>>();
92+
for usage in filtered_usages.iter() {
93+
usage_attempts = usage.access_attempts;
94+
}
95+
},
96+
None => {
97+
// do nothing
98+
}
99+
}
100+
usage_attempts
101+
}
87102
}
88103

89104
impl ComposableAccessRule for LimitedUseRule {
@@ -137,20 +152,6 @@ mod limited_use_rule {
137152
assert_eq!(limit, limited_use_contract.get_limit());
138153
}
139154

140-
#[ink::test]
141-
#[should_panic]
142-
fn panic_when_new_contract_with_zero_limit() {
143-
let limit = 0;
144-
let limited_use_contract = LimitedUseRule::new(limit);
145-
}
146-
147-
#[ink::test]
148-
#[should_panic]
149-
fn panic_when_new_contract_with_negative_limit() {
150-
let limit = -10;
151-
let limited_use_contract = LimitedUseRule::new(limit);
152-
}
153-
154155
/**
155156
* Tests for the `execute` function
156157
*/

composable_access_rules/limited_use/target/.rustc_info.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

composable_access_rules/limited_use/target/ink/.rustc_info.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

composable_access_rules/limited_use/target/ink/CACHEDIR.TAG

Lines changed: 0 additions & 3 deletions
This file was deleted.

composable_access_rules/limited_use/target/ink/release/.cargo-lock

Whitespace-only changes.

composable_access_rules/limited_use/target/ink/release/.fingerprint/arrayvec-f059754eb3a3c5ac/invoked.timestamp

Lines changed: 0 additions & 1 deletion
This file was deleted.

composable_access_rules/limited_use/target/ink/release/.fingerprint/arrayvec-f059754eb3a3c5ac/lib-arrayvec

Lines changed: 0 additions & 1 deletion
This file was deleted.

composable_access_rules/limited_use/target/ink/release/.fingerprint/arrayvec-f059754eb3a3c5ac/lib-arrayvec.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)