* BE sentry setup w/ user scope
* FE sentry integration + user scope
* FE env adjustments
* FE: use NODE_ENV for Sentry
* BE: use FLASK_ENV for Sentry
* BE: remove email, acct & ip from Sentry user scope
* comment .env.example SENTRY* for CI
* fix merge artifact
* BE proposal contribution tracking
* FE proposal contribution tracking
* validate contributions
* make sure we catch errors in the 'confirmation' listener
* remove console.log
* lowercase from address compare
* remove validate_contribution_tx from post_proposal_contribution
* web3 flask + read proposal
* tests
* use build/contracts indtead of build/abi
* fail if endpoint not set
* batched calls
* add web3 read to GET proposal(s) endpoints
* basic integration of BE crowdFund data into FE
* handle dead contracts & omit on FE
* allow web3-free viewing & move crowdFundContract out of redux store
* upgrade flask-yolo2API to 0.2.6
* MetaMaskRequiredButton + use it in CampaignBlock
* convert to tuples
* farewell tuples
* flter dead proposals on BE
* give test_proposal_funded deadline more time
* Signup requires valid EIP-712 signature. Refactor some auth reducer nomenclature for consistency.
* Add auth endpoint for logging in that checks for valid signature, like create user.
* Fix tests, move dummy data into test_data.py.
* No strict slashes.
* Add models & endpoints
* Implement proposal updates.
* Reset state on close. Add missing key. Prompt on close if they will lose stuff.
* Dont warn if they submitted.
* 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
* Check in auth flow work.
* More work on auth steps. Check in before redux state.
* Create auth reducer and actions
* Stubbed out profile page to test auth aware routes. Minor style fixes.
* Fill out provider components
* Handle missing origin
* Fix reducer mistake. Show user info in profile page.
* Reflect auth state in header.
* tslint
* Actual user creation.
* Implement sign in
* Fix redux types.
* add tests to ensure already existing users get associated with a new proposal when they are specified in team
* serilaize avatar, social_medias on user; add tests
* add user resource GET API; test
* remove commented out serializer stuff
* check in progress
* revert
* fix up API, add tests
* remove unused milestone commands
* support filtering users via proposalId
* get UI working
* refactoring / add minimum team size.
* fix proposal create API to properly support both email and account based
* Create Proposal Comment API
Flesh out Testing Frameworks
Create initial test
* add flask_testing to requirements.txt
* Fix test client table setup in sqlite.
Apparently there are some issues when using flask with sqlite in memory, so simply persisting sqlite to disk fixes migrations.
* Fix resource creation status codes 204 -> 201.
* Fix and add tests
* add signing stub
* remove front-end changes