Wallet canister standards

This is super great!

A couple suggestions/questions :

  1. Why the extra layer of p?

‘’’
type Identity = variant {
Principal : record {
p : principal;
}
};
‘’’

  1. 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.

  1. 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?

  2. 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?

3 Likes