The PartyBid V1 protocol allowed people to pool funds together to acquire NFTs. V2 (Party Protocol) adds new features to allow parties to use and govern those NFTs together as well. The party never ends!
PLEASE READ THE PROTOCOL DOCS HERE!
docs/ # Start here
├── overview.md
├── crowdfund.md
└── governance.md
contracts/
│ # Used during the crowdfund phase
├── crowdfund/
│ ├── AuctionCrowdfund.sol
│ ├── BuyCrowdfund.sol
│ ├── CollectionBuyCrowdfund.sol
│ ├── CrowdfundFactory.sol
│ ├── Crowdfund.sol
│ └── CrowdfundNFT.sol
├── gatekeepers/
│ ├── AllowListGateKeeper.sol
│ └── TokenGateKeeper.sol
├── globals/
│ └── Globals.sol
│ # Used during the governance phase
├── party/
│ ├── Party.sol
│ ├── PartyFactory.sol
│ ├── PartyGovernance.sol
│ └── PartyGovernanceNFT.sol
├── proposals/
│ ├── ProposalExecutionEngine.sol
│ ├── ArbitraryCallsProposal.sol
│ ├── FractionalizeProposal.sol
│ ├── ListOnOpenseaProposal.sol
│ └── ListOnZoraProposal.sol
├── distribution/
│ └── TokenDistributor.sol
| # Used to render crowdfund and governance NFTs
└── renderers/
├── CrowdfundNFTRenderer.sol
└── PartyGovernanceNFTRenderer.sol
sol-tests/ # Foundry tests
tests/ # TS tests
First install Foundry.
forge install
yarn -D
yarn build
yarn test
yarn test:ts
yarn test:sol
# If you want gas reports:
yarn test:gas
forge test -m testFork --fork-url $YOUR_RPC_URL
This code is provided under the Beta Software License Agreement.