In this snippet:
// ... owner or owners ...
is it possible to have multiple public keys? Or is this a reference to bls multisig?
// ... enforce that a mutation request has a valid signature of the owner
is it a dual check, firstly for the owner signature secondly the appropriate permission exists?
Mostly unrelated, but it seems that transfer.rs is a wallet action since it involves money
, but the only mention of a wallet is very indirectly in messaging/network.rs (seems to me like wallet is a noun so I would anticipate a Wallet
struct or even a separate file dedicated to it but neither of things are there).
Transfer is (to my current understanding) a verb but the implementation of Transfer
seems to be a noun. Maybe Transaction
is more appropriate?
Just trying to see if I understand this, not trying to suggest a change in the code.
Maybe some context might help here. I’m investigating the potential for adding scripting for mutations, just for my own interest, to open up more options for smart contracts, reward puzzles, possibly distributed compute. So I’ve been looking at how mutations are verified and am hoping to refactor that part. The refactor would keep the exact same behavior as the current implementation but within a scripting paradigm rather than the implied-from-structs-and-implementation system currently being used.
After that refactor it would be possible to extend the scripting language so mutations could be done under more complex scenarios than just ‘verify signature’. But the extension of the scripting language is not something I’m looking to do just yet.
I had anticipated that money transactions would have been a type of map mutation but it looks like that may not be the case. Is my understanding correct?