Open s8sato opened 3 months ago
One of the possible paths is as follows:
as of f12077d35
struct AccountId {
domain_id: DomainId,
signatory: PublicKey,
}
shallow objects #3921 should allow AccountId
to be independent of DomainId
struct AccountId(PublicKey);
multisig accounts #4373 should require AccountId
to be like enum
enum AccountId {
Personal(PublicKey),
Shared(RawId),
}
type RawId = Box<[u8; 32]>;
add a variant for triggers
enum AccountId {
Personal(PublicKey),
Shared(RawId),
Trigger(RawId),
}
I guess trigger will be able to be identified as an account.
_Originally posted by @s8sato in https://github.com/hyperledger/iroha/pull/4668#discussion_r1620176299_
In this way, trigger has authority different from the registrant and can manage transactions involving multiple authorities. Use cases such as locking assets could also be implemented by the trigger taking the assets