Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

continuing invitation pattern #667

Open
dckc opened this issue Apr 13, 2022 · 6 comments
Open

continuing invitation pattern #667

dckc opened this issue Apr 13, 2022 · 6 comments
Assignees

Comments

@dckc
Copy link
Member

dckc commented Apr 13, 2022

For an NFT ticketing system bounty ( Agoric/agoric-sdk#4657 ) we (@samsiegart , @Chris-Hibbert @kennyrowe, @jeetraut and I) recommended the continuing invitation pattern in office hours. There is essentially no documentation, so we sketched something quick-n-dirty:

https://gist.github.com/dckc/9c393be1bd5a147f72c6b42ca12a1aa2#continuing-invitation-pattern

@dckc
Copy link
Member Author

dckc commented Apr 13, 2022

See also plans for more direct support for ocaps in the wallet Agoric/agoric-sdk#3901

@Tyrosine22
Copy link
Contributor

If I understand this correctly, this will probably be taken care of when I document continuing offers. (#759)

Note: There's a very good chance I don't understand this correctly, but I have higher priority things in my queue. I'll update this bug when I have time to properly investigate.

@dckc
Copy link
Member Author

dckc commented Jan 11, 2023

Yes, it looks like #759 should be closed as a dup of this.

@dckc
Copy link
Member Author

dckc commented Nov 16, 2023

@dckc dckc mentioned this issue Mar 15, 2024
11 tasks
@dckc
Copy link
Member Author

dckc commented Mar 15, 2024

closed in #999

@dckc dckc closed this as completed Mar 15, 2024
@dckc
Copy link
Member Author

dckc commented Jul 3, 2024

in office hours today... thanks Jorge...

---
title: Continuing Invitation
---
sequenceDiagram
    actor c as client
    participant sw as swartWallet
    participant i as invitations

    c ->> sw: { id: offer1, source: 'purse' }
    sw -->> sw: withdraw inv1
    sw -->> zoe: offer(inv1, ...)
    zoe -->> sw: seat1
    create participant seat1
    sw -->> seat1: getOfferResult()
    seat1 -->> sw: invitationMakers1


    note over c, sw :  offerSpec:  { id, invitationSpec, proposal, offerArgs }
    note over c, sw :  invitationSpec:  { source: 'continuing', previousOffer: offer1, invitationMakerName: 'AdjustVault', invitationArgs}
    c ->> sw : executeOffer(offerSpec) 
    sw ->> i : makeInvitationsHelper()
    i -->> sw : invitationFromSpec
    sw ->> i : invitationFromSpec(offerSpec.invitationSpec)
    i ->> i : spec.source === 'continuing' 
    i ->> sw : getInvitationContinuation(previousOffer)
    sw ->> sw : offerToInvitationMakers.get(previousOffer)
    sw -->> i : invitationMakers1
    create participant im as invitationMakers1
    i ->> im : invitationMakerName(invitationArgs)
    im -->> sw : invitation
Loading

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants