-
Starts:
-
Ends:
-
nSLOC: 129
About
This contract is designed as a modified fund me. It is supposed to sign up participants for a social christmas dinner (or any other dinner), while collecting payments for signing up.
We try to address the following problems in the oraganization of such events:
- Funding Security: Organizing a social event is tough, people often say "we will attend" but take forever to pay their share, with our Christmas Dinner Contract we directly "force" the attendees to pay upon signup, so the host can plan properly knowing the total budget after deadline.
- Organization: Through funding security hosts will have a way easier time to arrange the event which fits the given budget. No Backsies.
Actors:
Host
: The person doing the organization of the event. Receiver of the funds by the end ofdeadline
. Privilegded Role, which can be handed over to anyParticipant
by the currenthost
Participant
: Attendees of the event which provided some sort of funding.Participant
can become newHost
, can continue sending money as Generous Donation, can sign up friends and can becomeFunder
.Funder
: Former Participants which left their funds in the contract as donation, but can not attend the event.Funder
can becomeParticipant
again BEFORE deadline ends.
All Contracts in `src` are in scope.
src/
├── ChristmasDinner.sol
Compatibilities:
Blockchains:
- Ethereum
Tokens:
- ETH
- WETH
- WBTC
- USDC
This is a standard Foundry project, to run it use:
$ forge install
$ forge build
$ forge test
$ forge coverage
We are aware that we do not require a minimum deposit amount to sign up as participant for this contract. We consider it not necessary and rely here on social conventions.