* BE: limit contribution emails to CONFIRMED & one per user + add app context to EmailSender
* BE: handle EmailSender setup and start using flask request context
* e2e: remove more eth related stuff, update cypress
* BE: e2e endpoints and interceptions for emails and blockchain reqs
* e2e: expand browse test for proposals and comments
* e2e: remove old tests, add new ones
* e2e: intercept blockchain_get /contribution/addresses
* be: disable sentry for e2e, add DEBUG to e2e endpoint register conditional
* post-merge adjustments
* fix merge related bug
* post merge issue
* Upgrade sentry sdk, replace all prints with flask logging.
* Upgrade node sentry to fix circular json error.
* Update frontend sentry versions to maintain parity and nab any fixes.
* Backend setup for proposal canceling.
* Cancelable in admin, update all states to properly reflect a canceled proposal.
* Replace REFUNDING stage with CANCELED and FAILED to distinguish between the 2
* Fix pending contributions showing up as needing refunds.
* Fix some refund cases.
* Dont show failed & canceled proposals on list view. Hide their filters.
* Show when proposal was canceled.
* Remove edit action, make cancel an explanation to contact support.
* Fix PR comments
* Fix issues from develop merge.
* Email admin page with previews.
* Move example args to backend since emails take in Python classes.
* Text version of invite email.
* Proposal approval / rejection emails.
* Back button.
* Contribution confirmed email.
* example auth service
* prep for merge
* MVP signed transaction based auth
* update auth service endpoint and delete checked-in auth service
* add readme explanation for AUTH_URL
* rename eip-712 headers
* fix test errors