So I have a next set of questions which is not around requiring further explanations on the previous as such but next on my journey forward. Admin might want to break this out into a new thread however, but it does require some repetition so i’ll repost some code to carry along the background context.
I have setup a proposal
contract so a party can issue proposals and for that I need all members of the Guild
to be a signatory on the issuing of the proposal
.
Now rather than doing that in a drawn out explicit way, I was reading Use Case 2 in this blog post and wondering if I can use that same learning?
I know that I have set up Guild as a contract template here, but is there a way I could group the creator
and members
together so that I can have one entity as a signatory on my proposal contract?
I tried to follow the blog post example but while i understand it somewhat conceptually I got stuck trying to implement it in practice.
Here’s my code for the Proposal contract:
template Proposal with
issuer: Party
investor: Party
projectdescription: Text
unitsrequired: Int
marketingcost: Int
distributioncost: Int
additionalcost: Int
proposalId: Text -- Key
item: Item
where
signatory issuer
observer investor
This is where I wanted to add something like say
signatory issuer, guild
Where all the members of the Guild sign off on the proposal. Note that the issuer would have to be said member of the guild as well and there would be overlap between the issuer and members of the guild as the issuer is also a member of the guild as well anyway. Only a guild member can issue a proposal.
I know that right now I could do something like
guild: Guild
In the template
and then I could add something like
signatory issuer, guild.members
(not sure if my syntax is entirely correct here, but hopefully this demonstrates the point)
and then all the members of the guild
would have to sign-off on this proposal. I don’t know if I would have to run an extra check before hand to see if that person is a member of said guild and if the guild needs to be specified beforehand but this is the general pattern I was going to follow logically speaking.
Would this be the right way to go about it? Or perhaps there is a more concise/elegant way of doing it?