This is super great!
A couple suggestions/questions :
- Why the extra layer of p?
‘’’
type Identity = variant {
Principal : record {
p : principal;
}
};
‘’’
- For the value types I’d suggest something like CandyLibrary types GitHub - icdevs/candy_library: Library for Converting Types and Creating Workable Motoko Collections that are just a bit more dynamic. It includes the #class type and the properties construct that you and @quint used back in the day. We currently have a bounty assigned building a rust version and with a bit of curation from someone with a better computer science background it could become a pretty cool data access paradigm. We already haven engineer building a candy path library as well for deep queries. GitHub - ZhenyaUsenko/motoko-candy-utils
This is what we use in the origyn nft standard and with a few conventions we’ve implemented permissioned nodes as well. Maybe we are getting a bit to complex for a first turn here, but at the same time I feel we should start using the power of this baby.
-
I know composite queries are coming, should we include an endpoint for that as a stub? Maybe one for pure canister to canister queries as well?
-
What do mean “blocking call”? Does this open your canister up to an attacker tricking you into calling long running calls? Does it need to block?
