promise
AppRepository
  • Overview
  • Links
  • How to use
    • Exploring promises
    • Creating a promise
    • Interacting with promises
    • Verifying a Twitter account
    • Indexing an IPFS directory
  • Chainlink - External Adapters
    • Introduction
    • Twitter account verification
    • IPFS & Arweave verification
  • IPFS & Arweave
    • Sending to the IPFS network
    • Sending to Arweave with Bundlr
  • The Graph
    • Catching events from promises
Powered by GitBook
On this page
  1. How to use

Interacting with promises

How to interact with your promises?

PreviousCreating a promiseNextVerifying a Twitter account

Last updated 2 years ago

The dashboard shows different sections to interact with the App:

  • the promises you created ;

  • the promises you're involved with, meaning that you've been added as a participant ;

  • the Twitter handles you have verified.

Clicking on a promise, from the first two sections, will open a drawer through which you can interact with this promise's contract.

Any interaction with a promise is only available to participants in that specific promise.

It will always trigger a transaction, that requires the user to approve and pay some gas for it to go through.

Below are the various ways of interacting with the promise, also available directly from the contract.

Add a participant

This button allows anyone involved in the promise to add new members to participate. They will inherit the same permissions as the initial participants. If any had already approved the promise, this approval will be reset, and they will need to approve it again.

Approve promise

Approving the promise shows that each member is indeed participating in that agreement, and is not an arbitrarily included Ethereum address. Only a participant can approve for themselves.

Any time a participant is added, everyone needs to approve the promise again. This is done, so they can approve it, knowing exactly what they agree to, and with whom.

Verify Twitter

This section allows any participant with a Twitter handle attached to this promise, to ensure that they actually own it.

Please visit Verifying a Twitter account for the detailed steps.

Lock promise

Once all the participants have approved the promise, it can then be locked. That means it will no longer be possible to add new participants.

This Locked status is a proof of reliability for your promise, as it means that it can't be modified anymore. Additionally, it means that all participants have confirmed they own their Ethereum address, and indeed agreed to participating in that promise.

Related resources

App
Contracts
Chainlink

Opening the drawer will display, at the top, the same table as for the promises in the Explore promises page ; only omitting to list the IPFS directory .

Interacting with a promise (InteractPromiseDrawer)
Add a participant
Approve the promise
Lock the promise
Verify a Twitter account
PromiseContract.sol
PromiseContract (tests)
VerifyTwitter.sol
VerifyTwitter (unit tests)
VerifyTwitter (staging tests)
External Adapter - twitter verification
Operator contract
Go to the dashboard from the menu.
Click on a promise to start interacting with it.
The drawer for interacting with a promise.
The popup shown for adding a participant.
Using the menu to navigate to the dashboard
Clicking on a promise will open a popup
The drawer used for interacting with a promise
The popup shown for adding a new participant to the promise
What does a promise look like?