Hi I have a question regarding the request interface standards - I noticed that they don’t have a choice for the happy path (accept), just reject and withdraw. On the wallet UI interface, there’s a button to accept the allocation requests. How does the UI know which choice to exercise for the request?
Hey Austin
So, wallet doesn’t “accept” an allocation request the way you’d accept a proposal. Instead, the wallet’s path is to exercise a choice on a completely different interface…the AllocationInstruction interface.
An app creates a contract implementing AllocationRequeste.g LicenseRenewalRequest in cn-quickstart and this signals to the wallet that “I need the user to allocate some assets for this settlement”
Wallet UI detects this AllocationRequest contract on the user’s ACS. What it shows the user as “Accept” is actually the wallet internally constructing and submitting an AllocationInstruction a separate factory contract that instructs the registry to create the actual Allocation
Registry processesAllocationInstruction and creates an Allocation contract. The settlement app then observes the allocation and completes the settlement.
I see, does creating the allocation instruction then archive the allocation request or update it in some way that prevents duplicate allocations? Or is that dependent on the implementation that the app providers have for the interfaces?