Commit Graph

148 Commits

Author SHA1 Message Date
Aaron c47c69ea3c
tsc fixes 2019-02-11 23:42:21 -06:00
Aaron 380eec005e
payout endpoints + redux actions + ms UX refactors 2019-02-11 23:10:09 -06:00
Aaron dc92d3f297
Merge branch 'develop' into zcash-milestones
# Conflicts:
#	backend/grant/proposal/models.py
#	backend/grant/utils/enums.py
#	frontend/client/modules/create/utils.ts
#	frontend/stories/props.tsx
#	frontend/types/proposal.ts
2019-02-11 16:51:31 -06:00
Aaron ac5bef5c6f
FE: rework milestones first pass 2019-02-11 15:22:40 -06:00
Daniel Ternyak 7d6d38552c
remove DApp category 2019-02-10 16:15:36 -06:00
Aaron 7a036058f6
FE: more robust arbiter + arbiter accept email validation code page 2019-02-09 21:03:19 -06:00
Aaron 60575b4024
Merge branch 'develop' into proposal-arbiter
# Conflicts:
#	admin/src/components/Proposals/index.tsx
#	admin/src/store.ts
#	backend/grant/admin/views.py
#	backend/grant/proposal/models.py
2019-02-07 09:57:56 -06:00
Aaron 048cda8216
FE: user profile arbitrations tab 2019-02-06 16:37:45 -06:00
Will O'Beirne f4f8d9312d
Merge branch 'develop' into proposal-date-fixes 2019-02-05 16:29:46 -05:00
Will O'Beirne 3b8d96ac51
Fix isImmediatePayout non-existant property on milestones. 2019-02-05 16:05:45 -05:00
AMStrix d696f7978d Proposal pagination & 404 fix (#151)
* BE: command to create fake proposals

* BE: pagination system + implemented for GET proposals/

* FE: overlay mode for Loader component

* FE: paginated Proposals

* refactor pagination.py a bit

* Proposals: set search input from store on construction

* admin: switch proposals to new pagination regime

* BE: test adjustments

* set app.proposals.page after fetch in a less-creepy way

* optimictic proposal.detail from proposal.page

* keep api interfacing on the api surface (one-dimentional page filters vs structured)

* rem MOST & LEAST_FUNDED prop sort + rename NEWST & OLDEST

* ProposalPagination fix default sort
2019-02-05 15:34:19 -05:00
William O'Beirne 08ed3e0417
Address validation (#156)
* Fix create step query

* Add basic regex validation for addresses to frontend.

* Check with zcash node if address is valid before final proposal submission.

* tsc

* Mock requests where needed. Come up with a function that mocks all blockchain requests.

* Remove print
2019-02-05 15:26:37 -05:00
Will O'Beirne df4b077a4a
Check with zcash node if address is valid before final proposal submission. 2019-02-05 01:24:17 -05:00
Will O'Beirne c7e18d19b0
Add basic regex validation for addresses to frontend. 2019-02-05 00:52:09 -05:00
Will O'Beirne 949f0cb115
Remove unused redux persist. 2019-02-04 15:45:20 -05:00
William O'Beirne c17145986f
Request for Proposal (Pt. 3 - Create & Link Proposals) (#131)
* Adjust rfp <-> proposal models. Add button to rfp detail page to make linked proposal.

* Add a block that links to the original request. Fix a bunch of preview issues.

* List proposals on RFP.

* Admin view for connected RFPs and proposals

* Fix TSC issues.

* Fix tab badge misalignment

* Redesign list page.

* Resolve PR issues.
2019-02-01 14:13:30 -05:00
AMStrix f8f3bd1707 Proposal staking (#134)
* BE: proposal/<id>/stake end-point basics

* BE: proposal staking tests

* add STAKING to ProposalStatusEnum

* BE: incremental staking related changes

* admin: staking status

* FE: proposal staking first pass

* ZCash -> Zcash spelling

* staking contribution confirmed email

* FE: staking related minor style changes

* FE proposal staking env var

* notify user of partially staked proposal contributions
2019-01-31 17:56:16 -05:00
William O'Beirne 4091deaf2f
Request for Proposal (Pt. 1 - Models & Admin) (#120)
* Convert constants into enums

* Initial RFP models and views.

* Fix model and enums

* RFP admin fully fleshed out.

* Fix tsc

* Fix tests and tsc

* Fix closed tag display

* Request for Proposal (Pt. 2 - Public View) (#125)

* RFP list page and backend endpoints. Scaffold of detail view.

* RFP detail view. Fix faulty addRfp action.

* Fix 0 showing up

* PR cleanup
2019-01-30 12:59:15 -05:00
AMStrix b0d16ace7d Proposal contribution matching (#117)
* BE: contribution_matching + admin proposal update end-point + tests

* admin: set proposal matching status

* frontend: contributionMatching

* improve CampaignBlock matching callout - thx Will

* adjust ProposalDetail matching confirmation popover child scope

* contributed & funded Proposal fields (hybrid props) + remove funded derivation from FE

* include "contributed" sum for ProposalDetail view

* fix branched migration revision
2019-01-29 18:50:27 -05:00
Daniel Ternyak 8d8dda46e6
Oofdah. Backend refactoring based on PR review, and adding a more obvious UI for users who haven't yet verified their email before posting comments. 2019-01-28 16:46:04 -06:00
AMStrix c8ab0d0f37 location forward after authentication (#90) 2019-01-18 01:40:30 -05:00
Will O'Beirne 5a922cefee
Merge latest develop in. 2019-01-09 16:57:15 -05:00
Will O'Beirne 7a7cbb77c7
Delete expired transactions. 2019-01-09 16:32:51 -05:00
Will O'Beirne b338fc9d2e
Contributions tab on proposal view. 2019-01-09 15:48:41 -05:00
William O'Beirne 7ade6b5715
Merge branch 'develop' into zcash-contributions 2019-01-09 14:08:51 -05:00
Will O'Beirne 57e65e26d5
Rework proposal api a bit, render contributions and their status. 2019-01-09 14:07:50 -05:00
AMStrix 47c695f43b Proposal Approval Process (#39)
* endpoints and model support for proposal approval

* admin test + proposal approval tests

* GET user/<id> withPending support

* basic withPending suport for Profile

* change create publish to sumbit for approval

* admin proposal filter by status + some refactoring

* admin: update antd

* backend: admin get single proposal + populate date_approved

* admin: rework Proposals + support approval

* backend: approval process updates

* admin: review count on home + cosmetic

* frontend: proposal approval flow

* Profile ZEC/ZAT adjustments

* fix regression in formatUserFromGet + update error type in users/reducers

* fix merge tsc issues

* publish warning vebiage change

* fix ssr fetchProposal 404 hang bug

* proposals/<id> - limit status non-LIVE to team member, exclude DELETED

* various adjustments to Proposal based on `status`

* remove comments

* Proposal statuses to banner style + fix up CreateFlow - Preview mode

* Proposal tsc fix
2019-01-09 13:23:08 -05:00
Will O'Beirne e28f1b50d7
Tsc fixes 2019-01-07 16:56:01 -05:00
William O'Beirne 98d68961b5 Merge develop in. 2019-01-04 14:29:09 -05:00
AMStrix 15acce1865 Rework Proposal Comments & Updates (#36)
* test proposal updates + adjustments for comments

* remove comment signed message stuff

* use authed user id to check if user can update, remove 'account'

* ts adjustment
2019-01-04 14:03:37 -05:00
AMStrix 22f8a0415c Verify User Social via OAuth (#30)
* BE social oauth verify

* FE social oauth verification

* readme updates

* README social verification setup instructions

* adjust tests socialMedias

* BE add social verify tests

* save changes before leaving to OAuth

* Fix migration.

* Adjust social button styles.

* Remove question mark.

* merge fix

* fix migration branch
2019-01-02 12:23:02 -06:00
William O'Beirne ec76cb414f Initial Proposal rework (#32)
* Rework proposal model to remove ethereum specific stuff. Removed most traces of those fields around the backend.

* Refactor to a state where /proposlas loads.

* Get rid of the ProposalWithCrowdFund type.

* Fix padding on create flow.
2018-12-28 17:05:34 -06:00
Will O'Beirne ba5e5e34a1
Fix all tsc issues. 2018-12-27 14:08:14 -05:00
Will O'Beirne f4e918481c
Convert all units to ZEC from ETH. 2018-12-27 12:41:26 -05:00
Will O'Beirne 9b555aa8fa
Get rid of the ProposalWithCrowdFund type. 2018-12-21 13:47:50 -05:00
Will O'Beirne 5931de5460
Refactor to a state where /proposlas loads. 2018-12-21 13:27:39 -05:00
AMStrix 50cc377b48 User Auth Conversion (#19) 2018-12-14 13:36:22 -06:00
AMStrix 1144b0b0e2 Remove Unserializables from Redux (#234)
* remove web3 instance from redux

* remove Web3Container, use redux state instead

* remove web3 from Web3Container ;)

* cache result of fetchCrowdFundJSON

* fix error action type

* remove contracts from redux

* fetchCrowdFundJSON error & reporting

* remove unused ref

* check factory networkId against MM networkId during initialization
2018-12-03 20:08:29 -06:00
AMStrix 4980670e8c Populate Profile Data (#233)
* BE profile deets

* BE real user data web3 populate + misc

* FE real profile data
2018-11-30 17:52:00 -06:00
Daniel Ternyak 138c4381fb
Remove dead team validation (#231) 2018-11-28 12:39:39 -06:00
AMStrix a780b235b9 SSR Preload /proposals (#230)
* resolve web3 when page is interactive OR complete

* SSR preload `/proposals`
2018-11-28 12:33:21 -06:00
Will O'Beirne c3985a07a3
Merge in develop 2018-11-27 13:21:11 -05:00
Will O'Beirne 02b1260573
Merge in latest changes. 2018-11-26 20:14:00 -05:00
Will O'Beirne f9b4f65ac4
Merge develop in. 2018-11-26 18:47:24 -05:00
Will O'Beirne 5afdb2011d
Merge develop in. 2018-11-26 18:25:02 -05:00
Daniel Ternyak 00219e65c8
Only Runtime Contracts (#225) 2018-11-25 22:02:35 -06:00
AMStrix 7abeac7bd7 Sentry Integration (#221)
* 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
2018-11-21 23:45:29 -06:00
AMStrix 968974d8d7 E2E - Web3 interaction & more tests (#202)
* account switching & setting gas for e2e web3

* e2e web3 interaction + new specs

* refund after payout spec

* use send instead of sendAsync + update ganache script cmd

* sign intercept + deterministic accounts

* add authentication to creation tests

* adjust cy.request call

* refactor + WIP fiddle with xhr

* xhook to modify incoming api requests
2018-11-21 21:20:09 -06:00
AMStrix d367e6e474 Track proposal contributions (#219)
* 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
2018-11-21 21:18:22 -06:00
AMStrix a95a8ff080 Server-side API calling/preloading. (#224)
* make sure BACKEND_URL gets set for server in production mode

* ssr api calls by path

* turn off redux logger on server

* massage preloaded state (BNify JSONed BNs)

* make sure fetchProposal returns async/promise

* make sure render works on ssr (check window refs)

* linting issue
2018-11-21 21:17:49 -06:00
Daniel Ternyak f8910b1e09
Contract Build Improvements (#215) 2018-11-21 17:24:33 -06:00
Will O'Beirne a6902a464f
Clear comments on posting. Show error message on errors. 2018-11-20 11:38:01 -05:00
Aaron e6cc99aa5c
fix reducer logic mistake 2018-11-16 22:24:41 -06:00
Aaron 52f1f54442
avatar upload & download 2018-11-16 21:33:25 -06:00
Will O'Beirne d7e4c1c533
Check in user refactor. Incomplete, but computer is crashing routinely. 2018-11-16 18:05:17 -05:00
Will O'Beirne 89c1c3345d
Fix some zeroes, default fields. 2018-11-16 14:23:42 -05:00
Will O'Beirne df9ea60300
Invite tab on profile, allow accepting and rejecting invites. 2018-11-16 13:50:47 -05:00
Will O'Beirne ce3425ba0a
Add warnings to publish. Warn if outstanding invites. 2018-11-16 11:57:03 -05:00
Will O'Beirne 50cdf45882
Draft deleting. 2018-11-15 11:02:16 -05:00
AMStrix b177e7efa9 Backend Proposal Reads Pt. 2 (#209)
* 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
2018-11-14 17:24:56 -05:00
Will O'Beirne e11be1569d
Publish proposal 2018-11-14 17:03:50 -05:00
Will O'Beirne 84daa1cba9
Rename a bunch of fields to their original values. Get draft saves working. 2018-11-14 12:59:48 -05:00
Will O'Beirne a6175e530c
Merge in develop 2018-11-14 12:03:40 -05:00
Will O'Beirne 8245795306
Temporary checkin, fuckup all of the types on the frontend. 2018-11-14 11:43:00 -05:00
Will O'Beirne 95c765834a
Setup draft list component, edit page from route. 2018-11-13 17:51:02 -05:00
Will O'Beirne 2c804a412a
Add frontend changes too 2018-11-13 11:07:37 -05:00
Will O'Beirne 829d072b8c
Check in work on proposals, drafts 2018-11-13 11:07:09 -05:00
Daniel Ternyak 56df655c05
Merge branch 'auth-endpoints' into working-comments 2018-11-13 15:24:25 +01:00
AMStrix 22487b331b Fix regressions from Readable URLs #190 (#200)
* admin adjustments for proposalId / proposalAddress

* ensure fetchProposal called with proposalId

* have ProposalCard display proposalAddress
2018-11-09 13:48:55 -05:00
Will O'Beirne c9d6e58e19
Hide reply actions if logged out. 2018-11-08 14:38:00 -05:00
Will O'Beirne c4950b0b27
Remove unnecessary props, fix comment id. 2018-11-08 14:14:52 -05:00
Will O'Beirne 7c023da066
Create and show replies to comments succesfully. 2018-11-08 13:42:19 -05:00
Will O'Beirne 1862b69169
Properly signing, creating, fetching comments. Fix incorrect types. Setup scaffolding for replies. 2018-11-08 13:29:29 -05:00
William O'Beirne 250d5fb7a9
EIP-712 signatures for login & signup (#189)
* 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.
2018-11-07 14:08:42 -05:00
AMStrix d8eba48847 Readable Proposal URLs (#190)
* proposal_id -> proposal_address & exposed proposal_id is prooposal.id

* FE proposalId to number + proposalUrlId generation and use
2018-11-07 12:33:19 -05:00
William O'Beirne 0670eaa054
Web3 Only Auth + MetaMask future proofing (#187)
* Setup ethereum.enable() flow, change login to only use web3.

* Fix sign in icon to be white again.
2018-11-06 13:42:45 -05:00
William O'Beirne 118d7b645e
Proposal updates (#171)
* 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.
2018-11-02 12:24:28 -04:00
William O'Beirne b8e93994cb Require message signature on sign up / sign in (#165) 2018-10-31 00:18:26 +01:00
AMStrix 2d75150dff Profile edit (#160)
* cleanClone helper

* redux/store support for user update

* ProfileEdit and supporting UI

* ts fix

* fix spelling

* backend update user basics

* delete photo

* remove comments

* ignore leftover errors from previous update attempts

* fix ts unused arg

* make update user endpoint params optional

* connect ProfileUser for authUser & updateUser

* improve cleanClone function
2018-10-30 10:40:21 -04:00
William O'Beirne f406cec255
Strict Typescript (pt. 1) (#150)
* Enable noImplicitThis, alwaysStrict, and strictFunctionTypes configs.

* Enable all strict rules. Implement typedKeys function for better typing. (#152)
2018-10-19 18:03:37 -04:00
AMStrix 1aab0915c0 Type Refactor (#133) 2018-10-04 23:27:02 -05:00
William O'Beirne ad0a153e7a Unify template & reduce web3 complexity (#132)
* 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 redux persist to config.

* Add sagas, fix persistence.

* Remove console log

* Split out header auth into own component. Add a menu, logout page, stub for settings page.

* Add mobile menu drawer.

* Adjust styles, fix sticky logout.

* Tslint

* Fix menu icon on transparent.

* Fix configureStore changes.

* All routes are config objects. Move template outside of routes. Combine AntWrap and Web3Page into one component.

* Sagafy web3 bootstrapping, remove it from components.

* Get errors rendering. Fix SSR issue with initial web3 error.

* Fix auth menu, sign out page.

* Simplify logic

* Remove console logs
2018-10-03 21:42:20 -05:00
Daniel Ternyak b2ca92362d
[RE-OPENING TO DEVELOP] Auth UI Menu (#130)
* 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 redux persist to config.

* Add sagas, fix persistence.

* Remove console log

* Split out header auth into own component. Add a menu, logout page, stub for settings page.

* Add mobile menu drawer.

* Adjust styles, fix sticky logout.

* Tslint

* Fix menu icon on transparent.

* Fix configureStore changes.
2018-10-03 15:12:26 -05:00
William O'Beirne 24350ec77f User Authentication UI (Pt 3 - Persistence) (#127)
* 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 redux persist to config.

* Add sagas, fix persistence.

* Remove console log
2018-10-03 14:08:14 -05:00
AMStrix 1db0cd2adb Profile UI (#128)
* basic users redux + Profile page, route

* UserRow links to Profile

* Update UserRow story with BrowserRouter for Link

* display basic profile info

* render + style created and funded proposals

* clean up unused vars

* ProposalComment + misc. adjustments

* auth user adjustments

* user not found redirect to 404 + don't fetch if no user id param

* use PlaceHolder for empty proposal & comments
2018-10-03 13:11:44 -04:00
William O'Beirne 7ca1fc8de4 User Authentication UI (Pt 2 - Real Users) (#125)
* 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.
2018-10-01 18:22:56 -05:00
William O'Beirne 5c0430d37a User Authentication UI (Pt 1 - The Basics) (#123)
* 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
2018-10-01 16:01:20 -05:00
William O'Beirne e47b598739 Functioning proposal teams (pt 2 - the views) (#116)
* Team create flow step

* Show team on review step.

* Fix image types.

* Get team into ideal format. Properly post it to backend.

* Validate team forms and show errors.

* Adjust team member buttons.

* Add social medias to examples.

* Transform post and get responses to align with the TeamMember type.

* Split out user row and address row components. Use user row in the team block on proposal view.

* Use team on proposal card. Make user avatar component, use in create flow.

* Fix proposal preview.

* Fix up stories, add new one for UserRow
2018-09-27 15:39:37 -05:00
William O'Beirne 3b161f3476 Functioning proposal teams (pt 1 - the form) (#115)
* Team create flow step

* Show team on review step.

* Fix image types.

* Get team into ideal format. Properly post it to backend.

* Validate team forms and show errors.

* Adjust team member buttons.
2018-09-27 15:25:49 -05:00
Daniel Ternyak 0510cf3c8d
Fix Proposal Create 2018-09-26 03:46:30 -05:00
William O'Beirne 75f0b72022 Cancel / Refund proposal (#100)
* Cancel / refund modal for proposals. Fix some states where frozen contract still allowed interaction.

* Add more refund states. Move styles to less.

* Fix tsc, simplify logic
2018-09-25 14:41:47 -05:00
William O'Beirne e0b94d06e1 Create Flow (first pass) (#76)
* Initial work on create flow.

* Redux and validation initial work.

* Fix typescript issues

* Review page

* Misc fixes

* Example fill in, and initial state setting.

* Milestone timeline in review

* Initial markdown state

* Draft saving, loading, resetting. Using local storage for now.

* Fix initial milestone state. Make steps clickable.

* Preview functionality.

* Create governance step that handles all contract data.

* Proposals can now be created with new flow. Team has been dismantled.

* Replace old create with new flow. Adjust url casing.

* Convert styles to less

* Fix form reset

* Remove team step

* tsc

* Show errors.

* Prevent publish if there are any errors.

* Remove comments, variablize time.

* Reset crowd fund deploy state when form is mounted to prevent getting error / success message from previous deploy.
2018-09-20 13:58:47 -05:00
William O'Beirne 4542dccfa9 Stubbed out comments UI (#57)
* Check in progress on comments.

* Reduced markdown options for comments.

* Comment replies.

* Fix tsc

* TSC fix
2018-09-18 17:15:01 -05:00
Daniel Ternyak 3862b18670
Fix Funding Progress calculation
Fix BN types
Add contributors tab
Adjust UserRow to optionally show amount as secondary text
Add contributionAmount to contributors in crowdFund
General cleanup
2018-09-16 01:46:40 -05:00
William O'Beirne 0b50fcc4e1 Convert all units to BN, type web3 (#47)
* BigNumber and type web3 all the things.

* Remove logs
2018-09-14 16:54:27 -05:00
William O'Beirne df1160acf5 Working Refunds (#32)
* Add and use placeholder component.

* Allow debugging from truffle

* Implement refunding

* Fix tsc

* Double transaction for first refund.
2018-09-13 22:48:01 -05:00
Will O'Beirne f8faaf115a
Fix all ts errors, any and todo ones that cant be. Squashed history due to master rebase. 2018-09-11 12:16:57 -04:00
Daniel Ternyak 2f513d0ce6
initial commit 2018-09-10 11:55:26 -05:00