
PAC Fundraising with Ethereum Contracts? - westurner
https://github.com/OpenZeppelin/zeppelin-solidity/issues/502
======
westurner
I'll cc this here with formatting changes (extra \n and ---) for Hacker News:

\---

### Background

\- PAC: Political Action Committee
[https://en.wikipedia.org/wiki/Political_action_committee](https://en.wikipedia.org/wiki/Political_action_committee)

\- [https://github.com/holographicio/awesome-token-
sale](https://github.com/holographicio/awesome-token-sale)

### Questions

\- Is Civic PAC fundraising similar to e.g. a Crowdsale or a CappedCrowdsale
or something else entirely, in terms of ERC20 OpenZeppelin solidity contracts?

\- Would it be worth maintaining an additional contract for [PAC]
"fundraising" with terminology that campaigns can understand; or a terminology
map?

\- Compared to just accepting donations at a wallet address, or just accepting
credit/debt card donations, what are the __risks __of a token sale for a PAC?

\--- Is there any way to check for donors' citizenship? (When/Where is it
necessary to check donors' citizenship (with credit/debit cards or
cryptocoins/cryptotokens?))

\- Compared to just accepting donations at a wallet address, or just accepting
credit/debt card donations, what are the __costs __of a token sale for a PAC?

\--- How much gas would such a contract require?

\- Compared to just accepting donations at a wallet address, or just accepting
credit/debt card donations, what are the __benefits __of a token sale for a
PAC?

\---- Lower transaction fees than credit/debit cards?

\---- Time limit (practicality, marketing)

\---- Cap ("we only need this much")

\---- Refunds in the event of […]

### Objectives

\- Comply with all local campaign finance laws

\--- Collect citizenship information for a Person

\--- Collect citizenship information for an Organization 'person'

\- Ensure that donations hold value

\- Raise funds

\- Raise funds up to a cap

\- (Optionally?) collect names and contact information (
[https://schema.org/Person](https://schema.org/Person)
[https://schema.org/Organization](https://schema.org/Organization) )

\- Optionally refund if the cap is not met

\- Optionally change the cap midstream

\- Optionally cancel for a specified string and/or URL reason

