Contract interactions
_24┌────────────┐ ┌────────────────┐_24│ Improv Hub │ │ Improv Auction │_24│ contract │ │ (Terra or Eth) │_24└────────────┘ └────────────────┘_24_24 CreateProposal ────────────► SubmitBid_24 │_24 ▼_24 Submit Auction Report ◄────── Create Auction Report_24 │_24 ▼_24 Finalize Proposal ──────────► Finalize Auction_24 │_24 ▼_24 Submit Story ───────────────► Submit Veto_24 │_24 ▼_24 Submit Veto Report ◄───────── Create Veto Report_24 │_24 ▼_24 Finalize Story ─────────────► Finalize Story_24 │_24 │_24 Submit Bridge Funds VAA ◄──────────┘
-
Writers create a proposal by calling
CreateProposal. The proposal is submitted to wormhole and the auction starts. -
Owners of any NFT collections specified in the proposal can submit their bids to
improv-auction. The first bidder to callSubmitBidalso submits the proposal VAA emitted byimprov-hub. -
After the auction is finished,
improv-auctioncallsCreateAuctionReportand submits its emitted VAA to theimprov-hubcontract by callingSubmitAuctionReport. Winning bids are locked in theimprov-auctioncontract temporarily. These funds are bridged to theimprov-hubcontract after the auction is finished. Auction winners also get an arbitration NFT. -
The
improv-hubcontract callsFinalizeProposalto finalize the proposal. If the proposal passes, the writer can start working on their story. -
The writer calls
SubmitStoryand submits their story. -
After the final version of the story is submitted, arbitration NFT owners can call
SubmitVetoto submit vetos during the veto period. -
When the veto period is finished,
improv-auctioncallsCreateVetoReport, and submits the emitted VAA toimprov-hubby callingSubmitVetoReport. -
The
improv-hubandimprov-auctioncontracts callFinalizeStoryto finalize the story. The funds locked in theimprov-hubcontract are then sent to the author upon successful completion usingSubmitBridgeFundsVAA.