gitextract_g8jrarxw/ ├── .circleci/ │ └── config.yml ├── .dockerignore ├── .editorconfig ├── .gitattributes ├── .gitignore ├── .prettierignore ├── .prettierrc.yaml ├── .releaserc ├── .vscode/ │ ├── launch.json │ └── settings.json ├── Dockerfile-dapp ├── README.md ├── commitlint.config.js ├── lerna.json ├── package.json ├── packages/ │ ├── artifacts/ │ │ ├── package.json │ │ └── v1/ │ │ ├── ACL.json │ │ ├── AddressRegistry.json │ │ ├── AttributeStore.json │ │ ├── CVLToken.json │ │ ├── CivilPLCRVoting.json │ │ ├── CivilParameterizer.json │ │ ├── CivilTCR.json │ │ ├── CivilTokenController.json │ │ ├── ContractAddressRegistry.json │ │ ├── CreateNewsroomInGroup.json │ │ ├── DLL.json │ │ ├── DummyACL.json │ │ ├── DummyTokenTelemetry.json │ │ ├── ECRecovery.json │ │ ├── ERC1404.json │ │ ├── ERC20.json │ │ ├── ERC20Detailed.json │ │ ├── EventStorage.json │ │ ├── Factory.json │ │ ├── Government.json │ │ ├── IERC20.json │ │ ├── IGovernment.json │ │ ├── IMultiSigWalletFactory.json │ │ ├── Managed.json │ │ ├── ManagedWhitelist.json │ │ ├── MessagesAndCodes.json │ │ ├── Migrations.json │ │ ├── MultiSigWallet.json │ │ ├── MultiSigWalletFactory.json │ │ ├── Newsroom.json │ │ ├── NewsroomFactory.json │ │ ├── NoOpTokenController.json │ │ ├── Ownable.json │ │ ├── PLCRVoting.json │ │ ├── Parameterizer.json │ │ ├── RBAC.json │ │ ├── RestrictedAddressRegistry.json │ │ ├── Roles.json │ │ ├── RootCommits.json │ │ ├── SafeMath.json │ │ ├── TokenTelemetryI.json │ │ ├── UniswapExchange.json │ │ ├── UniswapFactory.json │ │ └── Whitelist.json │ ├── components/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── .releaserc │ │ ├── .storybook/ │ │ │ ├── config.ts │ │ │ ├── preview-head.html │ │ │ ├── register-context.ts │ │ │ └── webpack.config.js │ │ ├── LICENSE │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── Account/ │ │ │ │ ├── Auth/ │ │ │ │ │ ├── AuthStyledComponents.tsx │ │ │ │ │ ├── AuthTextComponents.tsx │ │ │ │ │ ├── ConfirmEmailToken.tsx │ │ │ │ │ ├── EmailAuth.stories.tsx │ │ │ │ │ ├── EmailAuth.tsx │ │ │ │ │ ├── EmailSent.tsx │ │ │ │ │ ├── EthAuth.tsx │ │ │ │ │ ├── UserSetAvatar.stories.tsx │ │ │ │ │ ├── UserSetAvatar.tsx │ │ │ │ │ ├── UserSetEmail.stories.tsx │ │ │ │ │ ├── UserSetEmail.tsx │ │ │ │ │ ├── UserSetHandle.tsx │ │ │ │ │ ├── VerifyToken.stories.tsx │ │ │ │ │ ├── VerifyToken.tsx │ │ │ │ │ └── __snapshots__/ │ │ │ │ │ ├── EmailAuth.stories.storyshot │ │ │ │ │ ├── EthAuth.stories.storyshot │ │ │ │ │ ├── UserSetAvatar.stories.storyshot │ │ │ │ │ ├── UserSetEmail.stories.storyshot │ │ │ │ │ └── VerifyToken.stories.storyshot │ │ │ │ ├── LoadUser.tsx │ │ │ │ └── index.ts │ │ │ ├── AddressWithCopyButton.tsx │ │ │ ├── AddressWithMetaMaskIcon.tsx │ │ │ ├── ApplicationPhaseStatusLabels.stories.tsx │ │ │ ├── ApplicationPhaseStatusLabels.tsx │ │ │ ├── AuthenticatedRoute.tsx │ │ │ ├── BrowserCompatible/ │ │ │ │ ├── BrowserCompatible.stories.tsx │ │ │ │ ├── BrowserCompatible.tsx │ │ │ │ ├── BrowserCompatibleStyledComponents.tsx │ │ │ │ ├── BrowserCompatibleTextComponents.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── BrowserCompatible.stories.storyshot │ │ │ │ └── index.ts │ │ │ ├── Button.stories.tsx │ │ │ ├── Button.tsx │ │ │ ├── Card/ │ │ │ │ ├── Card.stories.tsx │ │ │ │ ├── Card.tsx │ │ │ │ ├── CardStyledComponents.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── Card.stories.storyshot │ │ │ │ └── index.ts │ │ │ ├── CardTransactionButton.tsx │ │ │ ├── ChallengeResultsChart/ │ │ │ │ ├── ChallengeResults.stories.tsx │ │ │ │ ├── ChallengeResults.tsx │ │ │ │ ├── ChallengeResultsChartTextComponents.tsx │ │ │ │ ├── UserVotingSummary.tsx │ │ │ │ ├── VoteTypeSummaryRow.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── ChallengeResults.stories.storyshot │ │ │ │ ├── constants.ts │ │ │ │ ├── index.ts │ │ │ │ ├── styledComponents.tsx │ │ │ │ ├── types.d.ts │ │ │ │ └── types.ts │ │ │ ├── ChevronAnchor.stories.tsx │ │ │ ├── ChevronAnchor.tsx │ │ │ ├── ChevronAnchorLeft.tsx │ │ │ ├── ClaimRewards.tsx │ │ │ ├── ClipLoader.tsx │ │ │ ├── Collapsable.stories.tsx │ │ │ ├── Collapsable.tsx │ │ │ ├── Comments/ │ │ │ │ ├── CommentsCount.tsx │ │ │ │ ├── CommentsStyledComponents.tsx │ │ │ │ └── index.ts │ │ │ ├── Contributors/ │ │ │ │ ├── ContributorCount.tsx │ │ │ │ ├── Contributors.stories.tsx │ │ │ │ ├── Contributors.tsx │ │ │ │ ├── ContributorsDefaultAvatar.tsx │ │ │ │ ├── ContributorsStyledComponents.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── Contributors.stories.storyshot │ │ │ │ ├── index.ts │ │ │ │ └── types.ts │ │ │ ├── CopyToClipboard/ │ │ │ │ ├── CopyStyledComponents.tsx │ │ │ │ ├── CopyURL.stories.tsx │ │ │ │ ├── CopyURL.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── CopyURL.stories.storyshot │ │ │ │ └── index.ts │ │ │ ├── CurrencyConverter/ │ │ │ │ ├── CurrencyConverted.tsx │ │ │ │ ├── CurrencyConverter.stories.tsx │ │ │ │ ├── CurrencyConverter.tsx │ │ │ │ ├── CurrencyConverterStyledComponents.tsx │ │ │ │ ├── CurrencyConverterTextComponents.tsx │ │ │ │ ├── UsdEthConverter.tsx │ │ │ │ ├── UsdEthCvlConverter.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── CurrencyConverter.stories.storyshot │ │ │ │ └── index.ts │ │ │ ├── DAppMessageContent/ │ │ │ │ ├── ErrorLoadingData.tsx │ │ │ │ ├── ErrorNotFound.tsx │ │ │ │ ├── InsufficientCVL.tsx │ │ │ │ ├── WrongNetwork.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── styledComponents.tsx │ │ │ │ ├── textComponents.tsx │ │ │ │ └── types.ts │ │ │ ├── DetailTransactionButton.stories.tsx │ │ │ ├── DetailTransactionButton.tsx │ │ │ ├── DetailsButtonComponent.tsx │ │ │ ├── EmailSignup/ │ │ │ │ ├── EmailSignup.stories.tsx │ │ │ │ ├── EmailSignup.tsx │ │ │ │ ├── EmailSignupSuccess.tsx │ │ │ │ ├── EmailStyledComponents.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── EmailSignup.stories.storyshot │ │ │ │ └── index.ts │ │ │ ├── EthAddressViewer/ │ │ │ │ ├── EthAddressViewer.stories.tsx │ │ │ │ ├── EthAddressViewer.tsx │ │ │ │ ├── StyledEthAddressViewer.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── EthAddressViewer.stories.storyshot │ │ │ │ └── index.ts │ │ │ ├── ExecuteOnMount.tsx │ │ │ ├── FullscreenModal.tsx │ │ │ ├── GasEstimate.tsx │ │ │ ├── Heading.stories.tsx │ │ │ ├── Heading.tsx │ │ │ ├── HelmetHelper.tsx │ │ │ ├── Hero/ │ │ │ │ ├── Hero.stories.tsx │ │ │ │ ├── Hero.tsx │ │ │ │ ├── HeroStyledComponents.tsx │ │ │ │ ├── HeroTextComponents.tsx │ │ │ │ ├── HomepageHero.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── Hero.stories.storyshot │ │ │ │ └── index.ts │ │ │ ├── Layout/ │ │ │ │ ├── index.ts │ │ │ │ └── styledComponents.tsx │ │ │ ├── ListingDetailHeader/ │ │ │ │ ├── EthereumInfoModal.tsx │ │ │ │ ├── ListingDetailHeader.stories.tsx │ │ │ │ ├── ListingDetailHeader.tsx │ │ │ │ ├── ListingDetailHeaderStyledComponents.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── ListingDetailHeader.stories.storyshot │ │ │ │ └── index.ts │ │ │ ├── ListingDetailPhaseCard/ │ │ │ │ ├── AppealAwaitingDecisionCard.tsx │ │ │ │ ├── AppealChallengeCommitVoteCard.tsx │ │ │ │ ├── AppealChallengeResolveCard.tsx │ │ │ │ ├── AppealChallengeRevealVoteCard.tsx │ │ │ │ ├── AppealDecisionCard.tsx │ │ │ │ ├── AppealDecisionDetail.tsx │ │ │ │ ├── AppealResolveCard.tsx │ │ │ │ ├── ChallengeCommitVoteCard.tsx │ │ │ │ ├── ChallengePhaseDetail.tsx │ │ │ │ ├── ChallengeRequestAppealCard.tsx │ │ │ │ ├── ChallengeResolveCard.tsx │ │ │ │ ├── ChallengeRevealVoteCard.tsx │ │ │ │ ├── CommitVote.tsx │ │ │ │ ├── CompleteChallengeResults.tsx │ │ │ │ ├── InApplicationCard.tsx │ │ │ │ ├── InApplicationResolveCard.tsx │ │ │ │ ├── ListingDetailsPhaseCard.stories.tsx │ │ │ │ ├── NeedHelp.tsx │ │ │ │ ├── RejectedCard.tsx │ │ │ │ ├── RevealVote.tsx │ │ │ │ ├── SaltField.tsx │ │ │ │ ├── VoteButton.tsx │ │ │ │ ├── WhitelistedCard.tsx │ │ │ │ ├── WithdrawnCard.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── ListingDetailsPhaseCard.stories.storyshot │ │ │ │ ├── index.ts │ │ │ │ ├── styledComponents.tsx │ │ │ │ ├── textComponents.tsx │ │ │ │ └── types.ts │ │ │ ├── ListingHistoryEvent/ │ │ │ │ ├── AppealGrantedEvent.tsx │ │ │ │ ├── AppealRequestedEvent.tsx │ │ │ │ ├── ApplicationEvent.tsx │ │ │ │ ├── ChallengeEvent.tsx │ │ │ │ ├── ChallengeFailedEvent.tsx │ │ │ │ ├── ChallengeSucceededEvent.tsx │ │ │ │ ├── DepositEvent.tsx │ │ │ │ ├── EventDate.tsx │ │ │ │ ├── GrantedAppealChallengedEvent.tsx │ │ │ │ ├── ListingHistoryEvent.stories.tsx │ │ │ │ ├── ListingHistoryEvent.tsx │ │ │ │ ├── ListingWithdrawnEvent.tsx │ │ │ │ ├── RejectedEvent.tsx │ │ │ │ ├── TouchAndRemovedEvent.tsx │ │ │ │ ├── WhitelistedEvent.tsx │ │ │ │ ├── WithdrawalEvent.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── ListingHistoryEvent.stories.storyshot │ │ │ │ ├── constants.ts │ │ │ │ ├── index.tsx │ │ │ │ └── types.ts │ │ │ ├── ListingSummary/ │ │ │ │ ├── AppealJudgementBanner.tsx │ │ │ │ ├── ChallengeOrAppealStatementSummary.tsx │ │ │ │ ├── ChallengeResults.tsx │ │ │ │ ├── ChallengeResultsBanner.tsx │ │ │ │ ├── DepositOrStakeAmount.tsx │ │ │ │ ├── ListingPhaseLabel.tsx │ │ │ │ ├── ListingSummary.stories.tsx │ │ │ │ ├── ListingSummary.tsx │ │ │ │ ├── ListingSummaryApproved.tsx │ │ │ │ ├── ListingSummaryBase.tsx │ │ │ │ ├── ListingSummaryList.tsx │ │ │ │ ├── ListingSummaryReadyToUpdate.tsx │ │ │ │ ├── ListingSummaryRejected.tsx │ │ │ │ ├── ListingSummaryUnderChallenge.tsx │ │ │ │ ├── NewsroomInfo.tsx │ │ │ │ ├── NewsroomTagline.tsx │ │ │ │ ├── PhaseCountdownOrTimestamp.tsx │ │ │ │ ├── SummaryActionButton.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── ListingSummary.stories.storyshot │ │ │ │ ├── index.ts │ │ │ │ ├── styledComponents.tsx │ │ │ │ ├── textComponents.tsx │ │ │ │ └── types.ts │ │ │ ├── LoadingIndicator.stories.tsx │ │ │ ├── LoadingIndicator.tsx │ │ │ ├── LoadingMessage.stories.tsx │ │ │ ├── LoadingMessage.tsx │ │ │ ├── Message.stories.tsx │ │ │ ├── Message.tsx │ │ │ ├── MetaMaskLogoButton.tsx │ │ │ ├── MetaMaskModal.stories.tsx │ │ │ ├── MetaMaskModal.tsx │ │ │ ├── Modal.stories.tsx │ │ │ ├── Modal.tsx │ │ │ ├── ModalContent.stories.tsx │ │ │ ├── ModalContent.tsx │ │ │ ├── NavBar/ │ │ │ │ └── __snapshots__/ │ │ │ │ └── NavBar.stories.storyshot │ │ │ ├── Notice/ │ │ │ │ ├── Notice.stories.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── Notice.stories.storyshot │ │ │ │ └── index.tsx │ │ │ ├── Parameterizer/ │ │ │ │ ├── ChallengeProposal.tsx │ │ │ │ ├── ChallengeProposalCommitVote.tsx │ │ │ │ ├── ChallengeProposalRevealVote.tsx │ │ │ │ ├── ChallengeProposalReviewVote.tsx │ │ │ │ ├── CreateGovtProposal.tsx │ │ │ │ ├── CreateProposal.tsx │ │ │ │ ├── Parameterizer.stories.tsx │ │ │ │ ├── ParameterizerStyledComponents.tsx │ │ │ │ ├── ParameterizerTableCell.tsx │ │ │ │ ├── ProcessProposal.tsx │ │ │ │ ├── ResolveChallengeProposal.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── Parameterizer.stories.storyshot │ │ │ │ ├── index.ts │ │ │ │ └── textComponents.tsx │ │ │ ├── Payments/ │ │ │ │ ├── AvatarLogin.tsx │ │ │ │ ├── PaymentIntentsStripeForm.tsx │ │ │ │ ├── Payments.stories.tsx │ │ │ │ ├── Payments.tsx │ │ │ │ ├── PaymentsAmount.tsx │ │ │ │ ├── PaymentsApplePay.tsx │ │ │ │ ├── PaymentsEth.tsx │ │ │ │ ├── PaymentsEthForm.tsx │ │ │ │ ├── PaymentsEthUpdateAmount.tsx │ │ │ │ ├── PaymentsEthWrapper.tsx │ │ │ │ ├── PaymentsFormWrapper.tsx │ │ │ │ ├── PaymentsGooglePay.tsx │ │ │ │ ├── PaymentsInputValidationUI.tsx │ │ │ │ ├── PaymentsLoadStripePayRequest.tsx │ │ │ │ ├── PaymentsLoginOrGuest.tsx │ │ │ │ ├── PaymentsModal.tsx │ │ │ │ ├── PaymentsRadio.tsx │ │ │ │ ├── PaymentsRequest.tsx │ │ │ │ ├── PaymentsSelectType.tsx │ │ │ │ ├── PaymentsStripe.tsx │ │ │ │ ├── PaymentsStripeCardComponent.tsx │ │ │ │ ├── PaymentsStripeForm.tsx │ │ │ │ ├── PaymentsStripeFormSavedCard.tsx │ │ │ │ ├── PaymentsStyledComponents.tsx │ │ │ │ ├── PaymentsSuccess.tsx │ │ │ │ ├── PaymentsTextComponents.tsx │ │ │ │ ├── PaymentsWrapper.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── Payments.stories.storyshot │ │ │ │ ├── index.ts │ │ │ │ ├── queries.ts │ │ │ │ └── types.ts │ │ │ ├── PhaseCountdown/ │ │ │ │ ├── PhaseCountdown.stories.tsx │ │ │ │ ├── ProgressBarCountdownTimer.tsx │ │ │ │ ├── SmallProgressBarCountdownTimer.tsx │ │ │ │ ├── TextCountdownTimer.tsx │ │ │ │ ├── TwoPhaseProgressBarCountdownTimer.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── PhaseCountdown.stories.storyshot │ │ │ │ ├── constants.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── styledComponents.tsx │ │ │ │ ├── textComponents.tsx │ │ │ │ └── types.ts │ │ │ ├── ProgressModalContent.tsx │ │ │ ├── QuestionToolTip.stories.tsx │ │ │ ├── QuestionToolTip.tsx │ │ │ ├── RegistryEmpty/ │ │ │ │ ├── index.ts │ │ │ │ └── styledComponents.tsx │ │ │ ├── RescueTokens.tsx │ │ │ ├── ReviewVote/ │ │ │ │ ├── ReviewVote.stories.tsx │ │ │ │ ├── ReviewVoteModal.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── ReviewVote.stories.storyshot │ │ │ │ ├── index.ts │ │ │ │ ├── styledComponents.tsx │ │ │ │ └── textComponents.tsx │ │ │ ├── Share/ │ │ │ │ ├── Share.stories.tsx │ │ │ │ └── __snapshots__/ │ │ │ │ └── Share.stories.storyshot │ │ │ ├── SignConstitutionButton.stories.tsx │ │ │ ├── SignConstitutionButton.tsx │ │ │ ├── SnackBar/ │ │ │ │ ├── SnackBar.tsx │ │ │ │ ├── index.ts │ │ │ │ └── styledComponents.tsx │ │ │ ├── StepProcess/ │ │ │ │ ├── StepHeader.tsx │ │ │ │ ├── StepProcess.stories.tsx │ │ │ │ ├── StepProcess.tsx │ │ │ │ ├── StepProcessTopNav/ │ │ │ │ │ ├── Step.tsx │ │ │ │ │ ├── StepProcessTopNav.stories.tsx │ │ │ │ │ ├── StepProcessTopNav.tsx │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── StepProcessTopNav.stories.storyshot │ │ │ │ │ └── index.ts │ │ │ │ ├── StepProcessTopNavNoButtons/ │ │ │ │ │ ├── Step.tsx │ │ │ │ │ ├── StepProcessTopNav.stories.tsx │ │ │ │ │ ├── StepProcessTopNavNoButtons.tsx │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── StepProcessTopNav.stories.storyshot │ │ │ │ │ └── index.ts │ │ │ │ ├── StepStyled.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── StepProcess.stories.storyshot │ │ │ │ └── index.ts │ │ │ ├── StoryFeed/ │ │ │ │ ├── StoryNewsroomStatus.tsx │ │ │ │ └── index.ts │ │ │ ├── TCRUserDashboard/ │ │ │ │ ├── Dashboard.tsx │ │ │ │ ├── DashboardActivity.tsx │ │ │ │ ├── DashboardActivityItem.tsx │ │ │ │ ├── DashboardActivityItemCTAButton.tsx │ │ │ │ ├── DashboardActivityItemTask.tsx │ │ │ │ ├── DashboardActivityItemTitle.tsx │ │ │ │ ├── DashboardActivityProposalItemCTAButton.tsx │ │ │ │ ├── DashboardActivitySelectableItem.tsx │ │ │ │ ├── DashboardActivityTabTitle.tsx │ │ │ │ ├── DashboardNewsroom.tsx │ │ │ │ ├── DashboardNewsroomProceeds.tsx │ │ │ │ ├── DashboardNewsroomStripeConnect.tsx │ │ │ │ ├── DashboardNewsroomSubmitLink.tsx │ │ │ │ ├── DashboardStyledComponents.tsx │ │ │ │ ├── DashboardTextComponents.tsx │ │ │ │ ├── DashboardTransferTokenForm.tsx │ │ │ │ ├── DashboardTypes.ts │ │ │ │ ├── DashboardUserInfoSummary.tsx │ │ │ │ ├── DashboardUserProfileSummary.tsx │ │ │ │ ├── NoNewsrooms.tsx │ │ │ │ └── index.ts │ │ │ ├── Table/ │ │ │ │ ├── Table.stories.tsx │ │ │ │ ├── Table.tsx │ │ │ │ ├── TableCell.tsx │ │ │ │ ├── TableHeader.tsx │ │ │ │ ├── Tr.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── Table.stories.storyshot │ │ │ │ ├── index.ts │ │ │ │ ├── styledComponents.tsx │ │ │ │ └── types.ts │ │ │ ├── Tabs/ │ │ │ │ ├── Tab.tsx │ │ │ │ ├── TabTitles.tsx │ │ │ │ ├── Tabs.stories.tsx │ │ │ │ ├── Tabs.tsx │ │ │ │ ├── TabsStyled.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── Tabs.stories.storyshot │ │ │ │ ├── index.ts │ │ │ │ └── textComponents.tsx │ │ │ ├── Tokens/ │ │ │ │ ├── EthereumTransactionButton.tsx │ │ │ │ ├── TokenPurchaseSummary.tsx │ │ │ │ ├── Tokens.tsx │ │ │ │ ├── TokensAccount.stories.tsx │ │ │ │ ├── TokensAccountBuy.tsx │ │ │ │ ├── TokensAccountFaq.tsx │ │ │ │ ├── TokensAccountHelp.tsx │ │ │ │ ├── TokensAccountPaypal.tsx │ │ │ │ ├── TokensAccountProgress.tsx │ │ │ │ ├── TokensAccountRequirement.tsx │ │ │ │ ├── TokensAccountSignup.tsx │ │ │ │ ├── TokensStyledComponents.tsx │ │ │ │ ├── TokensTextComponents.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── TokensAccount.stories.storyshot │ │ │ │ ├── buy/ │ │ │ │ │ ├── AirswapBuyCVL.tsx │ │ │ │ │ ├── AirswapBuySection.tsx │ │ │ │ │ ├── TokensTabBuy.stories.tsx │ │ │ │ │ ├── TokensTabBuy.tsx │ │ │ │ │ ├── TokensTabBuyActive.tsx │ │ │ │ │ ├── TokensTabBuyComplete.tsx │ │ │ │ │ ├── UniswapBuy.tsx │ │ │ │ │ ├── UniswapBuySection.tsx │ │ │ │ │ └── __snapshots__/ │ │ │ │ │ └── TokensTabBuy.stories.storyshot │ │ │ │ ├── index.ts │ │ │ │ └── sell/ │ │ │ │ ├── TokensTabSell.stories.tsx │ │ │ │ ├── TokensTabSell.tsx │ │ │ │ ├── TokensTabSellActive.tsx │ │ │ │ ├── TokensTabSellComplete.tsx │ │ │ │ ├── UniswapCvlEthConverter.tsx │ │ │ │ ├── UniswapSell.tsx │ │ │ │ ├── UniswapSellSection.tsx │ │ │ │ └── __snapshots__/ │ │ │ │ └── TokensTabSell.stories.storyshot │ │ │ ├── ToolTip.tsx │ │ │ ├── TransactionButton.tsx │ │ │ ├── Tutorial/ │ │ │ │ ├── Tutorial.stories.tsx │ │ │ │ ├── TutorialFooter.tsx │ │ │ │ ├── TutorialInfo.tsx │ │ │ │ ├── TutorialProgress.tsx │ │ │ │ ├── TutorialQuestion.tsx │ │ │ │ ├── TutorialRadio.tsx │ │ │ │ ├── TutorialStyledComponents.tsx │ │ │ │ ├── TutorialTextComponents.tsx │ │ │ │ ├── TutorialTopicCompleted.tsx │ │ │ │ ├── TutorialTopicIntro.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── Tutorial.stories.storyshot │ │ │ │ └── index.ts │ │ │ ├── UserStatement/ │ │ │ │ ├── RequestAppealStatement.tsx │ │ │ │ ├── SubmitAppealChallengeStatement.tsx │ │ │ │ ├── SubmitChallengeStatement.tsx │ │ │ │ ├── UserStatement.stories.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── UserStatement.stories.storyshot │ │ │ │ ├── index.ts │ │ │ │ └── styledComponents.tsx │ │ │ ├── ViewTransactionLink.stories.tsx │ │ │ ├── ViewTransactionLink.tsx │ │ │ ├── WalletOnboarding.stories.tsx │ │ │ ├── WalletOnboarding.tsx │ │ │ ├── WalletOnboardingV2/ │ │ │ │ ├── WalletOnboardingV2.connected.stories.tsx │ │ │ │ ├── WalletOnboardingV2.decorator.stories.tsx │ │ │ │ ├── WalletOnboardingV2.disabled.stories.tsx │ │ │ │ ├── WalletOnboardingV2.locked.stories.tsx │ │ │ │ ├── WalletOnboardingV2.mismatch.stories.tsx │ │ │ │ ├── WalletOnboardingV2.network.stories.tsx │ │ │ │ ├── WalletOnboardingV2.provider.stories.tsx │ │ │ │ ├── WalletOnboardingV2.save.stories.tsx │ │ │ │ ├── WalletOnboardingV2.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ ├── WalletOnboardingV2.connected.stories.storyshot │ │ │ │ │ ├── WalletOnboardingV2.disabled.stories.storyshot │ │ │ │ │ ├── WalletOnboardingV2.locked.stories.storyshot │ │ │ │ │ ├── WalletOnboardingV2.mismatch.stories.storyshot │ │ │ │ │ ├── WalletOnboardingV2.network.stories.storyshot │ │ │ │ │ ├── WalletOnboardingV2.provider.stories.storyshot │ │ │ │ │ └── WalletOnboardingV2.save.stories.storyshot │ │ │ │ └── index.ts │ │ │ ├── WithNewsroomChannelHOC.tsx │ │ │ ├── __mocks__/ │ │ │ │ └── fileMock.js │ │ │ ├── __snapshots__/ │ │ │ │ ├── ApplicationPhaseStatusLabels.stories.storyshot │ │ │ │ ├── Button.stories.storyshot │ │ │ │ ├── ChevronAnchor.stories.storyshot │ │ │ │ ├── ClipLoader.stories.storyshot │ │ │ │ ├── Collapsable.stories.storyshot │ │ │ │ ├── DetailTransactionButton.stories.storyshot │ │ │ │ ├── Heading.stories.storyshot │ │ │ │ ├── LoadingIndicator.stories.storyshot │ │ │ │ ├── LoadingMessage.stories.storyshot │ │ │ │ ├── Message.stories.storyshot │ │ │ │ ├── MetaMaskModal.stories.storyshot │ │ │ │ ├── Modal.stories.storyshot │ │ │ │ ├── ModalContent.stories.storyshot │ │ │ │ ├── QuestionToolTip.stories.storyshot │ │ │ │ ├── ViewTransactionLink.stories.storyshot │ │ │ │ └── WalletOnboarding.stories.storyshot │ │ │ ├── __test__/ │ │ │ │ ├── setupTests.ts │ │ │ │ └── storyshot.test.ts │ │ │ ├── containers/ │ │ │ │ ├── ButtonActions.tsx │ │ │ │ ├── PaddedSection.tsx │ │ │ │ └── index.tsx │ │ │ ├── context/ │ │ │ │ ├── AuthService.ts │ │ │ │ ├── CivilContext.ts │ │ │ │ ├── CivilProvider.tsx │ │ │ │ ├── IdentityParentPlugin.ts │ │ │ │ └── index.ts │ │ │ ├── features/ │ │ │ │ ├── FeatureFlag.tsx │ │ │ │ └── index.ts │ │ │ ├── hooks/ │ │ │ │ ├── useAsyncEffect.ts │ │ │ │ ├── useIntervalEffect.ts │ │ │ │ └── useStateWithLocalStorage.ts │ │ │ ├── icons/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── icon.stories.storyshot │ │ │ │ ├── index.ts │ │ │ │ └── logos/ │ │ │ │ ├── Paypal.tsx │ │ │ │ └── index.ts │ │ │ ├── imageUrls.ts │ │ │ ├── index.ts │ │ │ ├── input/ │ │ │ │ ├── AddressInput.stories.tsx │ │ │ │ ├── AddressInput.tsx │ │ │ │ ├── Checkbox.tsx │ │ │ │ ├── Dropdown.stories.tsx │ │ │ │ ├── Dropdown.tsx │ │ │ │ ├── ImageFileToDataUri.tsx │ │ │ │ ├── Input.stories.tsx │ │ │ │ ├── Input.tsx │ │ │ │ ├── InputGroup.tsx │ │ │ │ ├── InputWithButton.tsx │ │ │ │ ├── RadioInput.tsx │ │ │ │ ├── SaltInput.tsx │ │ │ │ ├── SimpleImageFileToDataUri.tsx │ │ │ │ ├── SlideCheckbox.tsx │ │ │ │ ├── SubmitLink.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ ├── AddressInput.stories.storyshot │ │ │ │ │ ├── Dropdown.stories.storyshot │ │ │ │ │ ├── Input.stories.storyshot │ │ │ │ │ └── checkbox.stories.storyshot │ │ │ │ ├── checkbox.stories.tsx │ │ │ │ └── index.ts │ │ │ ├── onboardingStyledComponents.tsx │ │ │ ├── styleConstants.ts │ │ │ ├── theme.ts │ │ │ └── types.d.ts │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── contracts/ │ │ ├── .doxityrc │ │ ├── .gitignore │ │ ├── .soliumignore │ │ ├── .soliumrc.json │ │ ├── README.md │ │ ├── conf/ │ │ │ └── config.json │ │ ├── contracts/ │ │ │ ├── Migrations.sol │ │ │ ├── RootCommits/ │ │ │ │ └── RootCommits.sol │ │ │ ├── installed_contracts/ │ │ │ │ ├── AttributeStore.sol │ │ │ │ ├── DLL.sol │ │ │ │ ├── PLCRVoting.sol │ │ │ │ └── Parameterizer.sol │ │ │ ├── interfaces/ │ │ │ │ ├── IGovernment.sol │ │ │ │ └── IMultiSigWalletFactory.sol │ │ │ ├── multisig/ │ │ │ │ ├── Factory.sol │ │ │ │ ├── MultiSigWallet.sol │ │ │ │ └── MultiSigWalletFactory.sol │ │ │ ├── newsroom/ │ │ │ │ ├── ACL.sol │ │ │ │ ├── EventStorage.sol │ │ │ │ ├── Newsroom.sol │ │ │ │ └── NewsroomFactory.sol │ │ │ ├── proof-of-use/ │ │ │ │ └── telemetry/ │ │ │ │ └── TokenTelemetryI.sol │ │ │ ├── tcr/ │ │ │ │ ├── AddressRegistry.sol │ │ │ │ ├── CivilPLCRVoting.sol │ │ │ │ ├── CivilParameterizer.sol │ │ │ │ ├── CivilTCR.sol │ │ │ │ ├── ContractAddressRegistry.sol │ │ │ │ ├── Government.sol │ │ │ │ └── RestrictedAddressRegistry.sol │ │ │ ├── test/ │ │ │ │ ├── DummyACL.sol │ │ │ │ └── DummyTokenTelemetry.sol │ │ │ ├── token/ │ │ │ │ ├── CVLToken.sol │ │ │ │ ├── CivilTokenController.sol │ │ │ │ ├── ERC1404/ │ │ │ │ │ ├── ERC1404.sol │ │ │ │ │ └── MessagesAndCodes.sol │ │ │ │ ├── Managed.sol │ │ │ │ ├── ManagedWhitelist.sol │ │ │ │ └── NoOpTokenController.sol │ │ │ ├── ux/ │ │ │ │ └── CreateNewsroomInGroup.sol │ │ │ └── zeppelin-solidity/ │ │ │ ├── ECRecovery.sol │ │ │ ├── README.md │ │ │ ├── access/ │ │ │ │ ├── Whitelist.sol │ │ │ │ └── rbac/ │ │ │ │ ├── RBAC.sol │ │ │ │ └── Roles.sol │ │ │ ├── license/ │ │ │ │ └── LICENSE │ │ │ ├── math/ │ │ │ │ └── SafeMath.sol │ │ │ ├── ownership/ │ │ │ │ └── Ownable.sol │ │ │ └── token/ │ │ │ └── ERC20/ │ │ │ ├── ERC20.sol │ │ │ ├── ERC20Detailed.sol │ │ │ └── IERC20.sol │ │ ├── docs/ │ │ │ ├── CivilTCR.md │ │ │ └── Newsroom.md │ │ ├── ethpm.json │ │ ├── licenses/ │ │ │ ├── LICENSE-general │ │ │ └── LICENSE-tcr │ │ ├── migrations/ │ │ │ ├── 10_government.ts │ │ │ ├── 11_deploy_ecrecovery.ts │ │ │ ├── 12_registry.ts │ │ │ ├── 14_multisig_factory.ts │ │ │ ├── 15_newsroom_factory.ts │ │ │ ├── 16_add_test_listings.ts │ │ │ ├── 17_deploy_eventstorage.ts │ │ │ ├── 19_create_newsroom_in_group.ts │ │ │ ├── 1_migrations.ts │ │ │ ├── 20_government_take2.ts │ │ │ ├── 21_deploy_root_commits.ts │ │ │ ├── 2_optional_for_test.ts │ │ │ ├── 3_deploy_libs.ts │ │ │ ├── 8_deploy_plcr.ts │ │ │ ├── 9_deploy_parameterizer.ts │ │ │ └── utils/ │ │ │ ├── consts.ts │ │ │ └── index.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── .gitkeep │ │ │ ├── global_hooks.ts │ │ │ ├── modules.d.ts │ │ │ ├── multisig/ │ │ │ │ └── multsigwallet.ts │ │ │ ├── newsroom/ │ │ │ │ ├── ACL.ts │ │ │ │ ├── eventStorage.ts │ │ │ │ ├── newsroom.ts │ │ │ │ └── newsroomFactory.ts │ │ │ ├── tcr/ │ │ │ │ ├── contractRegistry/ │ │ │ │ │ └── apply.ts │ │ │ │ ├── government/ │ │ │ │ │ ├── get.ts │ │ │ │ │ ├── getAppellate.ts │ │ │ │ │ ├── getGovernmentController.ts │ │ │ │ │ ├── processProposal.ts │ │ │ │ │ ├── proposeReparameterization.ts │ │ │ │ │ ├── setAppellate.ts │ │ │ │ │ └── setNewConstitution.ts │ │ │ │ ├── parameterizer/ │ │ │ │ │ ├── canBeSet.ts │ │ │ │ │ ├── challengeCanBeResolved.ts │ │ │ │ │ ├── challengeReparameterization.ts │ │ │ │ │ ├── claimReward.ts │ │ │ │ │ ├── get.ts │ │ │ │ │ ├── processProposal.ts │ │ │ │ │ ├── propExists.ts │ │ │ │ │ ├── proposeReparameterization.ts │ │ │ │ │ ├── voterReward.ts │ │ │ │ │ └── voting.ts │ │ │ │ ├── plcrVoting/ │ │ │ │ │ ├── commitVote.ts │ │ │ │ │ ├── didCommit.ts │ │ │ │ │ ├── didReveal.ts │ │ │ │ │ └── revealVote.ts │ │ │ │ ├── registry/ │ │ │ │ │ ├── appWasMade.ts │ │ │ │ │ ├── apply.ts │ │ │ │ │ ├── challenge.ts │ │ │ │ │ ├── claimReward.ts │ │ │ │ │ ├── deposit.ts │ │ │ │ │ ├── exit.ts │ │ │ │ │ ├── hasClaimedTokens.ts │ │ │ │ │ ├── isWhitelisted.ts │ │ │ │ │ ├── tokenClaims.ts │ │ │ │ │ ├── updateStatus.ts │ │ │ │ │ ├── userStories.ts │ │ │ │ │ └── withdraw.ts │ │ │ │ ├── registryWithAppeals/ │ │ │ │ │ ├── allUserRewards.ts │ │ │ │ │ ├── appealCanBeResolved.ts │ │ │ │ │ ├── appealChallengeCanBeResolved.ts │ │ │ │ │ ├── appealChallengeReward.ts │ │ │ │ │ ├── apply.ts │ │ │ │ │ ├── challenge.ts │ │ │ │ │ ├── challengeCanBeResolved.ts │ │ │ │ │ ├── challengeGrantedAppeal.ts │ │ │ │ │ ├── checkAppealChallengeVoteOutcomes.ts │ │ │ │ │ ├── claimAppealChallengeReward.ts │ │ │ │ │ ├── claimReward.ts │ │ │ │ │ ├── grantAppeal.ts │ │ │ │ │ ├── hasClaimedChallengeAppealTokens.ts │ │ │ │ │ ├── isWhitelisted.ts │ │ │ │ │ ├── requestAppeal.ts │ │ │ │ │ ├── transferGovernment.ts │ │ │ │ │ ├── updateStatus.ts │ │ │ │ │ └── voterReward.ts │ │ │ │ └── restrictedRegistry/ │ │ │ │ └── apply.ts │ │ │ ├── token/ │ │ │ │ ├── CVLToken.ts │ │ │ │ ├── CivilTokenController.ts │ │ │ │ └── DisbursementHander.ts │ │ │ └── utils/ │ │ │ ├── constants.ts │ │ │ ├── contractutils.ts │ │ │ ├── coverage.ts │ │ │ └── getethapi.ts │ │ ├── truffle-config.js │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── core/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc/ │ │ │ └── examples/ │ │ │ ├── example.ts │ │ │ └── low-level/ │ │ │ ├── multisig.ts │ │ │ └── typed_contracts.ts │ │ ├── package.json │ │ ├── src/ │ │ │ ├── FeatureFlagService.ts │ │ │ ├── UniswapService.ts │ │ │ ├── civil.ts │ │ │ ├── content/ │ │ │ │ ├── contentprovider.ts │ │ │ │ ├── eventstorageprovider.ts │ │ │ │ ├── fallbackprovider.ts │ │ │ │ ├── index.ts │ │ │ │ ├── inmemoryprovider.ts │ │ │ │ └── ipfsprovider.ts │ │ │ ├── contracts/ │ │ │ │ ├── basecontract.ts │ │ │ │ ├── basewrapper.ts │ │ │ │ ├── interfaces/ │ │ │ │ │ ├── contract.ts │ │ │ │ │ └── ownable.ts │ │ │ │ ├── multisig/ │ │ │ │ │ ├── basemultisigproxy.ts │ │ │ │ │ ├── multisig.ts │ │ │ │ │ └── multisigtransaction.ts │ │ │ │ ├── newsroom.ts │ │ │ │ ├── tcr/ │ │ │ │ │ ├── appeal.ts │ │ │ │ │ ├── appealChallenge.ts │ │ │ │ │ ├── challenge.ts │ │ │ │ │ ├── civilTCR.ts │ │ │ │ │ ├── council.ts │ │ │ │ │ ├── cvltoken.ts │ │ │ │ │ ├── government.ts │ │ │ │ │ ├── listing.ts │ │ │ │ │ ├── parameterizer.ts │ │ │ │ │ └── voting.ts │ │ │ │ └── utils/ │ │ │ │ └── contracts.ts │ │ │ ├── globals.d.ts │ │ │ ├── index.ts │ │ │ ├── templates/ │ │ │ │ ├── artifacts.handlebars │ │ │ │ ├── contract/ │ │ │ │ │ ├── contract.handlebars │ │ │ │ │ ├── multisigproxy.handlebars │ │ │ │ │ └── partials/ │ │ │ │ │ ├── call.handlebars │ │ │ │ │ ├── constructor.handlebars │ │ │ │ │ ├── event.handlebars │ │ │ │ │ ├── event_types.handlebars │ │ │ │ │ ├── params.handlebars │ │ │ │ │ ├── proxy_tx.handlebars │ │ │ │ │ ├── return_type.handlebars │ │ │ │ │ ├── tx.handlebars │ │ │ │ │ └── typed_inputs.handlebars │ │ │ │ └── events.handlebars │ │ │ ├── types.ts │ │ │ └── utils/ │ │ │ ├── ethersHelpers.ts │ │ │ └── events.ts │ │ ├── test/ │ │ │ └── .gitkeep │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── dapp/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── config-overrides.js │ │ ├── devops/ │ │ │ ├── nginx.conf │ │ │ └── start.sh │ │ ├── package.json │ │ ├── public/ │ │ │ ├── .well-known/ │ │ │ │ └── apple-developer-merchantid-domain-association │ │ │ ├── index.html │ │ │ └── manifest.json │ │ ├── src/ │ │ │ ├── App.test.tsx │ │ │ ├── App.tsx │ │ │ ├── apis/ │ │ │ │ └── CivilHelper.tsx │ │ │ ├── components/ │ │ │ │ ├── Auth/ │ │ │ │ │ ├── AuthButtonContent.tsx │ │ │ │ │ ├── AuthLogout.tsx │ │ │ │ │ ├── AuthWeb3.tsx │ │ │ │ │ ├── AuthWeb3Login.tsx │ │ │ │ │ ├── AuthWeb3Signup.tsx │ │ │ │ │ ├── CheckEmail.tsx │ │ │ │ │ ├── ConfirmEmail.tsx │ │ │ │ │ ├── Eth.tsx │ │ │ │ │ ├── Login.tsx │ │ │ │ │ ├── SetAvatar.tsx │ │ │ │ │ ├── SetEmail.tsx │ │ │ │ │ ├── SetUsername.tsx │ │ │ │ │ ├── Signup.tsx │ │ │ │ │ ├── VerifyToken.tsx │ │ │ │ │ ├── authStyledComponents.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── Boosts/ │ │ │ │ │ ├── Boost.tsx │ │ │ │ │ ├── BoostFeedPage.tsx │ │ │ │ │ ├── BoostStyledComponents.tsx │ │ │ │ │ ├── BoostSuccess.tsx │ │ │ │ │ └── BoostSuccessComponent.tsx │ │ │ │ ├── ContractAddresses.tsx │ │ │ │ ├── Dashboard/ │ │ │ │ │ ├── Account/ │ │ │ │ │ │ ├── Account.tsx │ │ │ │ │ │ ├── AccountAddCard.tsx │ │ │ │ │ │ ├── AccountPayments.tsx │ │ │ │ │ │ ├── AccountProfile.tsx │ │ │ │ │ │ ├── AccountStyledComponents.tsx │ │ │ │ │ │ ├── AccountTextComponents.tsx │ │ │ │ │ │ ├── AccountTransactions.tsx │ │ │ │ │ │ ├── AccountUserAvatarUpdate.tsx │ │ │ │ │ │ └── AccountUserEmailUpdate.tsx │ │ │ │ │ ├── ActivityListItemRescueTokens.tsx │ │ │ │ │ ├── ChallengeSummary.tsx │ │ │ │ │ ├── ChallengesWithRewardsToClaim.tsx │ │ │ │ │ ├── ChallengesWithTokensToRescue.tsx │ │ │ │ │ ├── ClaimRewardsItem/ │ │ │ │ │ │ ├── ClaimRewardsItem.tsx │ │ │ │ │ │ ├── ClaimRewardsItemWrapper.tsx │ │ │ │ │ │ ├── ClaimRewardsViewComponents.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── Dashboard.tsx │ │ │ │ │ ├── DashboardActivity.tsx │ │ │ │ │ ├── DashboardPage.tsx │ │ │ │ │ ├── DepositTokens.tsx │ │ │ │ │ ├── ManageNewsroom/ │ │ │ │ │ │ ├── ManageNewsroom.tsx │ │ │ │ │ │ ├── ManageNewsroomChannelPage.tsx │ │ │ │ │ │ ├── ManageNewsroomStyledComponents.tsx │ │ │ │ │ │ ├── ManageNewsroomTextComponents.tsx │ │ │ │ │ │ └── WithNewsroomChannelAdminList.tsx │ │ │ │ │ ├── MyChallengeItem/ │ │ │ │ │ │ ├── MyChallengesItem.tsx │ │ │ │ │ │ ├── MyChallengesItemComponent.tsx │ │ │ │ │ │ ├── MyChallengesItemTypes.ts │ │ │ │ │ │ ├── MyChallengesItemWrapper.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── MyChallenges.tsx │ │ │ │ │ ├── MyTasks.tsx │ │ │ │ │ ├── MyTasksItem/ │ │ │ │ │ │ ├── MyTasksItem.tsx │ │ │ │ │ │ ├── MyTasksItemComponent.tsx │ │ │ │ │ │ ├── MyTasksItemTypes.ts │ │ │ │ │ │ ├── MyTasksItemWrapper.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── MyTasksItemPhaseCountdown.tsx │ │ │ │ │ ├── MyTasksList.tsx │ │ │ │ │ ├── MyTasksProposalItem/ │ │ │ │ │ │ ├── MyTasksProposalItem.tsx │ │ │ │ │ │ ├── MyTasksProposalItemComponent.tsx │ │ │ │ │ │ ├── MyTasksProposalItemTypes.ts │ │ │ │ │ │ ├── MyTasksProposalItemWrapper.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── NewsroomsList.tsx │ │ │ │ │ ├── NewsroomsListItem.tsx │ │ │ │ │ ├── NewsroomsListItemComponent.tsx │ │ │ │ │ ├── PhaseCountdownTimer.tsx │ │ │ │ │ ├── ProposalChallengeSummary.tsx │ │ │ │ │ ├── ReclaimTokens.tsx │ │ │ │ │ ├── RescueTokensItem/ │ │ │ │ │ │ ├── RescueTokensItem.tsx │ │ │ │ │ │ ├── RescueTokensItemWrapper.tsx │ │ │ │ │ │ ├── RescueTokensViewComponents.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── TransferCivilTokens.tsx │ │ │ │ │ ├── UserInfoSummary.tsx │ │ │ │ │ ├── UserManagement/ │ │ │ │ │ │ ├── UserManagementNotification.tsx │ │ │ │ │ │ ├── UserManagementPageLayout.tsx │ │ │ │ │ │ ├── UserManagementSection.tsx │ │ │ │ │ │ ├── UserManagementStyledComponents.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── UserProfileSummary.tsx │ │ │ │ │ ├── WinningChallengeResults.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── GetStarted.tsx │ │ │ │ ├── GlobalNav.tsx │ │ │ │ ├── Main.tsx │ │ │ │ ├── Parameterizer/ │ │ │ │ │ ├── ChallengeProposal.tsx │ │ │ │ │ ├── ChallengeProposalCommitVote.tsx │ │ │ │ │ ├── ChallengeProposalDetail.tsx │ │ │ │ │ ├── ChallengeProposalResolve.tsx │ │ │ │ │ ├── ChallengeProposalRevealVote.tsx │ │ │ │ │ ├── CreateGovtProposal.tsx │ │ │ │ │ ├── CreateProposal.tsx │ │ │ │ │ ├── GovernmentReparameterization.tsx │ │ │ │ │ ├── Parameter.tsx │ │ │ │ │ ├── ProcessProposal.tsx │ │ │ │ │ ├── Proposal.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── proposeReparameterization.tsx │ │ │ │ ├── SignUpNewsroom.tsx │ │ │ │ ├── StoryFeed/ │ │ │ │ │ ├── CivilComment.tsx │ │ │ │ │ ├── MoreComments.tsx │ │ │ │ │ ├── PostComments.tsx │ │ │ │ │ ├── Story.tsx │ │ │ │ │ ├── StoryBoost.tsx │ │ │ │ │ ├── StoryDetails.tsx │ │ │ │ │ ├── StoryFeed.tsx │ │ │ │ │ ├── StoryFeedItem.tsx │ │ │ │ │ ├── StoryFeedMarquee.tsx │ │ │ │ │ ├── StoryFeedPage.tsx │ │ │ │ │ ├── StoryFeedStyledComponents.tsx │ │ │ │ │ ├── StoryFeedTextComponents.tsx │ │ │ │ │ ├── StoryModal.tsx │ │ │ │ │ ├── StoryNewsroomDetails.tsx │ │ │ │ │ ├── StoryRegistryDetails.tsx │ │ │ │ │ ├── queries.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── Sunset/ │ │ │ │ │ └── Sunset.tsx │ │ │ │ ├── Tokens/ │ │ │ │ │ ├── StorefrontPage.tsx │ │ │ │ │ ├── Tokens.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── Web3AuthWrapper.tsx │ │ │ │ ├── WrongNetwork.tsx │ │ │ │ ├── council/ │ │ │ │ │ ├── Government.tsx │ │ │ │ │ └── SetAppellate.tsx │ │ │ │ ├── errors/ │ │ │ │ │ └── ErrorBoundry.tsx │ │ │ │ ├── footer/ │ │ │ │ │ └── Footer.tsx │ │ │ │ ├── header/ │ │ │ │ │ ├── NavBar.tsx │ │ │ │ │ ├── NavBarTypes.ts │ │ │ │ │ ├── NavDrawer.tsx │ │ │ │ │ ├── NavDropDown.tsx │ │ │ │ │ ├── NavErrorBar.tsx │ │ │ │ │ ├── NavLink.tsx │ │ │ │ │ ├── NavMenu.tsx │ │ │ │ │ ├── NavMenuResponsiveToggleButton.tsx │ │ │ │ │ ├── UserAccount.tsx │ │ │ │ │ ├── UserAccountContainer.tsx │ │ │ │ │ ├── UserNotificationBar.tsx │ │ │ │ │ ├── styledComponents.tsx │ │ │ │ │ └── textComponents.tsx │ │ │ │ ├── listing/ │ │ │ │ │ ├── AppealAwaitingDecision.tsx │ │ │ │ │ ├── AppealChallengeCommitVote.tsx │ │ │ │ │ ├── AppealChallengeDetail.tsx │ │ │ │ │ ├── AppealChallengeResolve.tsx │ │ │ │ │ ├── AppealChallengeRevealVote.tsx │ │ │ │ │ ├── AppealDetail.tsx │ │ │ │ │ ├── AppealResolve.tsx │ │ │ │ │ ├── AppealSubmitChallenge.tsx │ │ │ │ │ ├── ApplicationUpdateStatus.tsx │ │ │ │ │ ├── Challenge.tsx │ │ │ │ │ ├── ChallengeCommitVote.tsx │ │ │ │ │ ├── ChallengeDetail.tsx │ │ │ │ │ ├── ChallengeResolve.tsx │ │ │ │ │ ├── ChallengeRevealVote.tsx │ │ │ │ │ ├── ChallengeRewardsDetail.tsx │ │ │ │ │ ├── ChallengesWithTokensToRescue.tsx │ │ │ │ │ ├── EmailSignup.tsx │ │ │ │ │ ├── Listing.tsx │ │ │ │ │ ├── ListingChallengeStatement.tsx │ │ │ │ │ ├── ListingCharter.tsx │ │ │ │ │ ├── ListingCharterRosterMember.tsx │ │ │ │ │ ├── ListingDiscourse.tsx │ │ │ │ │ ├── ListingEvent.tsx │ │ │ │ │ ├── ListingHeader.tsx │ │ │ │ │ ├── ListingHistory.tsx │ │ │ │ │ ├── ListingOwnerActions.tsx │ │ │ │ │ ├── ListingPhaseActions.tsx │ │ │ │ │ ├── ListingRedux.tsx │ │ │ │ │ ├── RequestAppeal.tsx │ │ │ │ │ ├── RevealVoteDetail.tsx │ │ │ │ │ ├── SubmitAppealChallenge.tsx │ │ │ │ │ ├── SubmitChallenge/ │ │ │ │ │ │ ├── InsufficientBalanceSnackBar.tsx │ │ │ │ │ │ ├── SubmitChallenge.tsx │ │ │ │ │ │ ├── SubmitChallengeGraphQLApolloContainer.tsx │ │ │ │ │ │ ├── SubmitChallengeTypes.ts │ │ │ │ │ │ ├── SubmitChallengeViewComponent.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── WhitelistedDetail.tsx │ │ │ │ │ └── styledComponents.tsx │ │ │ │ ├── listinglist/ │ │ │ │ │ ├── EmptyRegistryTabContent.tsx │ │ │ │ │ ├── ListItemStyle.tsx │ │ │ │ │ ├── ListingList.tsx │ │ │ │ │ ├── ListingListItem.tsx │ │ │ │ │ ├── Listings.tsx │ │ │ │ │ ├── ListingsInProgress.tsx │ │ │ │ │ ├── ListingsInProgressContainer.tsx │ │ │ │ │ ├── RejectedListingListContainer.tsx │ │ │ │ │ ├── TabDescriptions.tsx │ │ │ │ │ ├── WhitelistedListingItem.tsx │ │ │ │ │ └── WhitelistedListingListContainer.tsx │ │ │ │ ├── newsroom/ │ │ │ │ │ ├── NewsroomDetail.tsx │ │ │ │ │ ├── NewsroomManagement.tsx │ │ │ │ │ └── NewsroomManagementV2.tsx │ │ │ │ ├── providers/ │ │ │ │ │ ├── AnalyticsProvider.tsx │ │ │ │ │ └── AppProvider.tsx │ │ │ │ └── utility/ │ │ │ │ ├── AsyncComponent.tsx │ │ │ │ ├── CompleteChallengeResultsHOC.tsx │ │ │ │ ├── CountdownTimer.tsx │ │ │ │ ├── ErrorLoadingData.tsx │ │ │ │ ├── ErrorNotFound.tsx │ │ │ │ ├── FormElements.tsx │ │ │ │ ├── HigherOrderComponents.tsx │ │ │ │ ├── ScrollToTop.tsx │ │ │ │ ├── TransactionStatusModalsHOC.tsx │ │ │ │ ├── ViewModules.tsx │ │ │ │ ├── WinningChallengeResultsHOC.tsx │ │ │ │ └── styledComponents.tsx │ │ │ ├── constants.ts │ │ │ ├── embeds/ │ │ │ │ ├── BoostLoader.tsx │ │ │ │ ├── EmbedsApp.tsx │ │ │ │ └── StoryBoostLoader.tsx │ │ │ ├── globals.d.ts │ │ │ ├── helpers/ │ │ │ │ ├── config.ts │ │ │ │ ├── contractAddresses.ts │ │ │ │ ├── government.ts │ │ │ │ ├── links.ts │ │ │ │ ├── listingEvents.ts │ │ │ │ ├── networkHelpers.ts │ │ │ │ ├── queryTransformations.ts │ │ │ │ ├── salt.ts │ │ │ │ ├── tokenController.ts │ │ │ │ ├── tokenEvents.ts │ │ │ │ ├── transforms.ts │ │ │ │ └── vote.ts │ │ │ ├── index.tsx │ │ │ ├── react-app-env.d.ts │ │ │ ├── redux/ │ │ │ │ ├── actionCreators/ │ │ │ │ │ ├── analytics.ts │ │ │ │ │ ├── challenges.ts │ │ │ │ │ ├── contractAddresses.ts │ │ │ │ │ ├── errors.ts │ │ │ │ │ ├── government.ts │ │ │ │ │ ├── network.ts │ │ │ │ │ ├── newsrooms.ts │ │ │ │ │ ├── ui.ts │ │ │ │ │ └── userAccount.ts │ │ │ │ ├── analytics.ts │ │ │ │ ├── reducers/ │ │ │ │ │ ├── challenges.ts │ │ │ │ │ ├── contractAddresses.ts │ │ │ │ │ ├── government.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── network.ts │ │ │ │ │ ├── newsrooms.ts │ │ │ │ │ ├── ui.ts │ │ │ │ │ └── userAccount.ts │ │ │ │ └── store.ts │ │ │ ├── registerServiceWorker.ts │ │ │ ├── registry/ │ │ │ │ ├── LazyRegistryApp.tsx │ │ │ │ ├── RegistryApp.tsx │ │ │ │ └── RegistryShell.tsx │ │ │ ├── selectors/ │ │ │ │ └── index.ts │ │ │ ├── stories/ │ │ │ │ └── StoriesApp.tsx │ │ │ └── typings.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.prod.json │ │ ├── tsconfig.test.json │ │ └── tslint.json │ ├── dev-utils/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── scripts/ │ │ │ ├── generate-from-files/ │ │ │ │ ├── bin.ts │ │ │ │ ├── index.ts │ │ │ │ └── utils.ts │ │ │ └── strip-artifacts.ts │ │ ├── src/ │ │ │ ├── index.ts │ │ │ ├── modules.d.ts │ │ │ └── test/ │ │ │ ├── bignumber-chai.ts │ │ │ ├── index.ts │ │ │ └── test.d.ts │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── elements/ │ │ ├── .babelrc │ │ ├── .gitignore │ │ ├── .releaserc │ │ ├── .storybook/ │ │ │ ├── config.ts │ │ │ ├── preview-head.html │ │ │ ├── register-context.ts │ │ │ └── webpack.config.js │ │ ├── LICENSE │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── public/ │ │ │ └── foo │ │ ├── src/ │ │ │ ├── __mocks__/ │ │ │ │ └── fileMock.js │ │ │ ├── __snapshots__/ │ │ │ │ └── index.stories.storyshot │ │ │ ├── __test__/ │ │ │ │ ├── setupTests.ts │ │ │ │ └── storyshot.test.ts │ │ │ ├── buttons/ │ │ │ │ ├── Button.tsx │ │ │ │ ├── CTAButton.tsx │ │ │ │ ├── CloseXButton.tsx │ │ │ │ ├── PaymentButton.tsx │ │ │ │ ├── ShareButton.tsx │ │ │ │ └── index.ts │ │ │ ├── colors/ │ │ │ │ └── index.ts │ │ │ ├── containers/ │ │ │ │ ├── Hero.tsx │ │ │ │ ├── Panel.tsx │ │ │ │ ├── index.ts │ │ │ │ └── mediaQueries.ts │ │ │ ├── icons/ │ │ │ │ ├── ApplicationInProgressIcon.tsx │ │ │ │ ├── ApprovedNewsroomsIcon.tsx │ │ │ │ ├── ArticleIndexIcon.tsx │ │ │ │ ├── ArticleIndexPanelIcon.tsx │ │ │ │ ├── ArticleSignIcon.tsx │ │ │ │ ├── ArticleSignPanelIcon.tsx │ │ │ │ ├── AvatarGenericIcon.tsx │ │ │ │ ├── BellIcon.tsx │ │ │ │ ├── BookreaderIcon.tsx │ │ │ │ ├── BrainIcon.tsx │ │ │ │ ├── CCAmexIcon.tsx │ │ │ │ ├── CCDiscoverIcon.tsx │ │ │ │ ├── CCMastercardIcon.tsx │ │ │ │ ├── CCSecurityCodeIcon.tsx │ │ │ │ ├── CCVisaIcon.tsx │ │ │ │ ├── ChallengeMarkIcon.tsx │ │ │ │ ├── Chevron.tsx │ │ │ │ ├── CircleLockIcon.tsx │ │ │ │ ├── CivilIcon.tsx │ │ │ │ ├── CivilTutorialIcon.tsx │ │ │ │ ├── ClipLoader.tsx │ │ │ │ ├── ClockIcon.tsx │ │ │ │ ├── CloseXIcon.tsx │ │ │ │ ├── CommitVoteSuccessIcon.tsx │ │ │ │ ├── CvlToken.tsx │ │ │ │ ├── DashboardNewsroomApplicationIcon.tsx │ │ │ │ ├── DisclosureArrowIcon.tsx │ │ │ │ ├── DropdownArrow.tsx │ │ │ │ ├── EmbedIcon.tsx │ │ │ │ ├── ErrorIcon.tsx │ │ │ │ ├── ExamIcon.tsx │ │ │ │ ├── ExchangeArrowsIcon.tsx │ │ │ │ ├── ExpandDownArrow.tsx │ │ │ │ ├── FacebookIcon.tsx │ │ │ │ ├── GrantSubmitIcon.tsx │ │ │ │ ├── GreenCheckMark.tsx │ │ │ │ ├── HamburgerIcon.tsx │ │ │ │ ├── HollowGrayNotGranted.tsx │ │ │ │ ├── HollowGreenCheck.tsx │ │ │ │ ├── HollowRedNoGood.tsx │ │ │ │ ├── Info.tsx │ │ │ │ ├── InstagramIcon.tsx │ │ │ │ ├── LinkIcon.tsx │ │ │ │ ├── LinkedInIcon.tsx │ │ │ │ ├── LockOpenIcon.tsx │ │ │ │ ├── MediumIcon.tsx │ │ │ │ ├── MetaMaskIcons.tsx │ │ │ │ ├── NetworkIcon.tsx │ │ │ │ ├── NorthEastArrow.tsx │ │ │ │ ├── OctopusErrorIcon.tsx │ │ │ │ ├── OpenInNewIcon.tsx │ │ │ │ ├── PhotoDragIcon.tsx │ │ │ │ ├── RegistryEmptyIcon.tsx │ │ │ │ ├── RejectedNewsroomsIcon.tsx │ │ │ │ ├── RequestAppealSuccessIcon.tsx │ │ │ │ ├── RevealVoteSuccessIcon.tsx │ │ │ │ ├── ReviewIcon.tsx │ │ │ │ ├── SecureLockIcon.tsx │ │ │ │ ├── ShareEmailIcon.tsx │ │ │ │ ├── ShareIcon.tsx │ │ │ │ ├── ShareTwitterIcon.tsx │ │ │ │ ├── SubmitChallengeSuccessIcon.tsx │ │ │ │ ├── TelegramIcon.tsx │ │ │ │ ├── TipIcon.tsx │ │ │ │ ├── TokenWalletIcon.tsx │ │ │ │ ├── TrendsIcon.tsx │ │ │ │ ├── TrustMarkIcon.tsx │ │ │ │ ├── TwitterIcon.tsx │ │ │ │ ├── VerifyIdentityIcon.tsx │ │ │ │ ├── WaitForApply.tsx │ │ │ │ ├── WarningIcon.tsx │ │ │ │ ├── ZoomInIcon.tsx │ │ │ │ ├── ZoomOutIcon.tsx │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── icon.stories.storyshot │ │ │ │ ├── icon.stories.tsx │ │ │ │ ├── index.ts │ │ │ │ └── logos/ │ │ │ │ ├── Burner.tsx │ │ │ │ ├── CivilLogo.tsx │ │ │ │ ├── Incognito.tsx │ │ │ │ ├── Metamask.tsx │ │ │ │ ├── OvalImage.ts │ │ │ │ ├── Paypal.tsx │ │ │ │ ├── Portis.tsx │ │ │ │ └── index.ts │ │ │ ├── images/ │ │ │ │ └── __snapshots__/ │ │ │ │ └── icon.stories.storyshot │ │ │ ├── index.stories.tsx │ │ │ ├── index.ts │ │ │ ├── inputs/ │ │ │ │ ├── Input.tsx │ │ │ │ ├── RadioInput.tsx │ │ │ │ └── index.ts │ │ │ ├── layouts/ │ │ │ │ └── index.ts │ │ │ ├── module.d.ts │ │ │ ├── share/ │ │ │ │ ├── SharePanel.tsx │ │ │ │ ├── ShareStory.tsx │ │ │ │ └── index.ts │ │ │ └── text/ │ │ │ ├── fonts.ts │ │ │ ├── headings.tsx │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── ethapi/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── abidecoder.ts │ │ │ ├── ethapi.ts │ │ │ ├── globals.d.ts │ │ │ ├── helpers.ts │ │ │ ├── index.ts │ │ │ └── infura.ts │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── kirby/ │ │ ├── .gitignore │ │ ├── .releaserc │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── KirbyApp.tsx │ │ │ ├── common/ │ │ │ │ ├── colors.ts │ │ │ │ ├── containers/ │ │ │ │ │ └── layouts.tsx │ │ │ │ ├── input/ │ │ │ │ │ └── WalletOptions.tsx │ │ │ │ └── text/ │ │ │ │ └── index.tsx │ │ │ ├── index.tsx │ │ │ ├── plugins/ │ │ │ │ ├── CivilID.ts │ │ │ │ └── common.ts │ │ │ ├── viewport/ │ │ │ │ └── Viewport.tsx │ │ │ └── views/ │ │ │ ├── SignatureConfirm.tsx │ │ │ ├── Web3Enable.tsx │ │ │ └── identity/ │ │ │ ├── Login.tsx │ │ │ └── Signup.tsx │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── newsroom-manager/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ApplyToTCR.tsx │ │ │ ├── ApplyToTCRPlaceholder.tsx │ │ │ ├── CivilContext.tsx │ │ │ ├── CompleteYourProfile.tsx │ │ │ ├── CreateCharterPartOne.tsx │ │ │ ├── CreateCharterPartTwo.tsx │ │ │ ├── NameAndAddress.tsx │ │ │ ├── Newsroom.tsx │ │ │ ├── NewsroomUser.tsx │ │ │ ├── RosterMember.tsx │ │ │ ├── SignConstitution.tsx │ │ │ ├── TransactionButtonInner.tsx │ │ │ ├── Welcome.tsx │ │ │ ├── actionCreators.ts │ │ │ ├── contentViewer/ │ │ │ │ ├── ContentItem.tsx │ │ │ │ ├── ContentViewer.tsx │ │ │ │ ├── Revision.tsx │ │ │ │ ├── actions.ts │ │ │ │ ├── index.ts │ │ │ │ └── reducers.ts │ │ │ ├── index.ts │ │ │ ├── reducers.ts │ │ │ ├── styledComponents.tsx │ │ │ ├── types.ts │ │ │ └── utils.ts │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── newsroom-signup/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ApplyToTCR/ │ │ │ │ ├── AboutApplicationButton.tsx │ │ │ │ ├── ApplyToTCR.tsx │ │ │ │ ├── ApplyToTCRForm.tsx │ │ │ │ ├── ApplyToTCRSuccess.tsx │ │ │ │ ├── ApplyToTCRWhitelisted.tsx │ │ │ │ ├── TransferToMultisig.tsx │ │ │ │ └── index.tsx │ │ │ ├── ApplyToTCRPlaceholder.tsx │ │ │ ├── AuthWrapper.tsx │ │ │ ├── DataWrapper.tsx │ │ │ ├── InfoModalButton.tsx │ │ │ ├── Newsroom.tsx │ │ │ ├── NewsroomManager/ │ │ │ │ ├── ManageContractMembers.tsx │ │ │ │ └── index.tsx │ │ │ ├── NewsroomProfile/ │ │ │ │ ├── AddRosterMembers.tsx │ │ │ │ ├── ApplicationSoFarPage.tsx │ │ │ │ ├── CharterQuestions.tsx │ │ │ │ ├── GrantApplication.tsx │ │ │ │ ├── LearnMoreButton.tsx │ │ │ │ ├── NewsroomBio.tsx │ │ │ │ ├── RosterMember.tsx │ │ │ │ ├── RosterMemberListItem.tsx │ │ │ │ ├── SignConstitution.tsx │ │ │ │ ├── WaitingAfterSkip.tsx │ │ │ │ ├── WaitingForGrant.tsx │ │ │ │ └── index.tsx │ │ │ ├── NewsroomUser.tsx │ │ │ ├── PurchaseTokens/ │ │ │ │ └── index.tsx │ │ │ ├── RepublishCharterNotice.tsx │ │ │ ├── SmartContract/ │ │ │ │ ├── AboutSmartContractsButton.tsx │ │ │ │ ├── AddMember.tsx │ │ │ │ ├── AddMembersToContract.tsx │ │ │ │ ├── CreateNewsroomContract.tsx │ │ │ │ ├── LetsGetStartedPage.tsx │ │ │ │ ├── UnderstandingEth.tsx │ │ │ │ └── index.tsx │ │ │ ├── TransactionButtonInner.tsx │ │ │ ├── TransactionStatusModalsHOC.tsx │ │ │ ├── Welcome.tsx │ │ │ ├── actionCreators.ts │ │ │ ├── analytics.ts │ │ │ ├── constants.ts │ │ │ ├── index.ts │ │ │ ├── mutations.ts │ │ │ ├── queries.ts │ │ │ ├── reducers.ts │ │ │ ├── styledComponents.tsx │ │ │ ├── types.ts │ │ │ └── utils.ts │ │ ├── tsconfig.json │ │ ├── tslint.json │ │ └── types.d.ts │ ├── sdk/ │ │ ├── .dockerignore │ │ ├── .prettierignore │ │ ├── .prettierrc.yaml │ │ ├── .releaserc │ │ ├── .storybook/ │ │ │ ├── config.tsx │ │ │ └── webpack.config.js │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── build.js │ │ ├── certs.js │ │ ├── config/ │ │ │ ├── env.js │ │ │ ├── jest/ │ │ │ │ ├── cssTransform.js │ │ │ │ └── fileTransform.js │ │ │ ├── paths.js │ │ │ ├── webpack.config.js │ │ │ └── webpackDevServer.config.js │ │ ├── docs/ │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── make.bat │ │ │ └── source/ │ │ │ ├── civil_sdk_package.rst │ │ │ ├── conf.py │ │ │ ├── index.rst │ │ │ ├── install/ │ │ │ │ └── getting_started.rst │ │ │ ├── lockbox/ │ │ │ │ ├── index.rst │ │ │ │ └── intro.rst │ │ │ ├── registry/ │ │ │ │ ├── index.rst │ │ │ │ └── intro.rst │ │ │ └── requirements.txt │ │ ├── index.html │ │ ├── index.js │ │ ├── manifest.json │ │ ├── nginx.conf │ │ ├── package.json │ │ ├── public/ │ │ │ ├── boost-embed.html │ │ │ ├── index.html │ │ │ └── manifest.json │ │ ├── scripts/ │ │ │ ├── build.js │ │ │ ├── start.js │ │ │ └── test.js │ │ ├── server.js │ │ ├── site-maker.sh │ │ ├── src/ │ │ │ ├── constants.ts │ │ │ ├── examples/ │ │ │ │ └── registry.stories.tsx │ │ │ ├── iframe/ │ │ │ │ ├── index.tsx │ │ │ │ └── services/ │ │ │ │ ├── MessageHandler.test.ts │ │ │ │ ├── MessageHandler.ts │ │ │ │ ├── MessageHandlerTypes.ts │ │ │ │ ├── civil-node/ │ │ │ │ │ ├── CivilPersistence.test.ts │ │ │ │ │ ├── CivilPersistence.ts │ │ │ │ │ ├── LockboxService.ts │ │ │ │ │ └── Persistence.ts │ │ │ │ ├── communication/ │ │ │ │ │ ├── CivilWebsocket.ts │ │ │ │ │ ├── PrivateChannel.test.ts │ │ │ │ │ ├── PrivateChannel.ts │ │ │ │ │ ├── RealtimeCommunication.ts │ │ │ │ │ ├── ReceiveTypes.ts │ │ │ │ │ ├── SecureTypes.ts │ │ │ │ │ └── SendTypes.ts │ │ │ │ ├── crypto/ │ │ │ │ │ ├── crypto.test.ts │ │ │ │ │ └── crypto.ts │ │ │ │ ├── keys/ │ │ │ │ │ ├── Key.ts │ │ │ │ │ ├── KeyManager.test.ts │ │ │ │ │ ├── KeyManager.ts │ │ │ │ │ ├── KeyUtils.ts │ │ │ │ │ └── PersistentKey.ts │ │ │ │ └── messageTypes.ts │ │ │ ├── index.ts │ │ │ ├── react/ │ │ │ │ ├── CivilProvider.tsx │ │ │ │ ├── NewsroomWithdraw.tsx │ │ │ │ ├── StoryBoost/ │ │ │ │ │ ├── StoryBoost.tsx │ │ │ │ │ ├── embed.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── queries.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── boosts/ │ │ │ │ │ ├── Boost.stories.tsx │ │ │ │ │ ├── Boost.tsx │ │ │ │ │ ├── BoostCard.tsx │ │ │ │ │ ├── BoostCardListView.tsx │ │ │ │ │ ├── BoostCompleted.tsx │ │ │ │ │ ├── BoostEmbedIframe.tsx │ │ │ │ │ ├── BoostEmbedNoScroll.tsx │ │ │ │ │ ├── BoostForm.tsx │ │ │ │ │ ├── BoostImg.tsx │ │ │ │ │ ├── BoostModal.tsx │ │ │ │ │ ├── BoostNewsroom.tsx │ │ │ │ │ ├── BoostPayments.tsx │ │ │ │ │ ├── BoostPermissionsHOC.tsx │ │ │ │ │ ├── BoostProceeds.tsx │ │ │ │ │ ├── BoostProgress.tsx │ │ │ │ │ ├── BoostShare.tsx │ │ │ │ │ ├── BoostShareEmbed.tsx │ │ │ │ │ ├── BoostStyledComponents.tsx │ │ │ │ │ ├── BoostTextComponents.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── queries.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── index.ts │ │ │ │ └── urlConstants.ts │ │ │ ├── react-app-env.d.ts │ │ │ ├── sdk/ │ │ │ │ ├── SDKMessage.ts │ │ │ │ ├── dmz/ │ │ │ │ │ └── DMZ.ts │ │ │ │ ├── index.ts │ │ │ │ ├── lockbox/ │ │ │ │ │ ├── Lockbox.ts │ │ │ │ │ └── LockboxMessage.ts │ │ │ │ ├── registry/ │ │ │ │ │ ├── Registry.ts │ │ │ │ │ └── RegistryMessage.ts │ │ │ │ └── telemetry/ │ │ │ │ └── Telemetry.ts │ │ │ ├── serviceWorker.ts │ │ │ ├── setupTests.ts │ │ │ ├── test-utils/ │ │ │ │ ├── MockWebsocketServer.ts │ │ │ │ └── helpers.ts │ │ │ └── types.d.ts │ │ ├── start.js │ │ ├── start.sh │ │ ├── test.js │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── tslint-rules/ │ │ ├── .releaserc │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ └── tslint.yaml │ ├── typescript-types/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── typescript-typings/ │ │ ├── .releaserc │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ └── types/ │ │ ├── @ledgerhq/ │ │ │ ├── LICENSE │ │ │ └── index.d.ts │ │ ├── ethereumjs-abi/ │ │ │ └── index.d.ts │ │ ├── ethereumjs-util/ │ │ │ ├── LICENSE │ │ │ └── index.d.ts │ │ ├── ethjs-util/ │ │ │ └── index.d.ts │ │ ├── is-hex-prefixed/ │ │ │ └── index.d.ts │ │ ├── strip-hex-prefix/ │ │ │ └── index.d.ts │ │ ├── to-snake-case/ │ │ │ └── index.d.ts │ │ └── web3-provider-engine/ │ │ ├── LICENSE │ │ └── index.d.ts │ └── utils/ │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── src/ │ │ ├── airswap.ts │ │ ├── apolloClient.ts │ │ ├── bip39.english.ts │ │ ├── browser.ts │ │ ├── civilConstants.ts │ │ ├── civilHelpers.ts │ │ ├── contracts.ts │ │ ├── coreHelpers/ │ │ │ ├── appealChallengeHelpers.ts │ │ │ ├── appealHelpers.ts │ │ │ ├── challengeHelpers.ts │ │ │ ├── index.ts │ │ │ ├── listingHelpers.ts │ │ │ ├── paramPropChallengeHelpers.ts │ │ │ ├── pollHelpers.ts │ │ │ └── userChallengeDataHelpers.ts │ │ ├── crypto.ts │ │ ├── email.ts │ │ ├── errors.ts │ │ ├── etherscan.ts │ │ ├── gql/ │ │ │ ├── queries.ts │ │ │ └── transforms.ts │ │ ├── handle.ts │ │ ├── index.ts │ │ ├── language.ts │ │ ├── localStorage.ts │ │ ├── rxjs.ts │ │ ├── salt.ts │ │ ├── stripe.ts │ │ ├── time.ts │ │ ├── types.d.ts │ │ ├── urlConstants.ts │ │ └── viewHelpers.tsx │ ├── test/ │ │ ├── language.ts │ │ └── salt.ts │ ├── tsconfig.json │ └── tslint.json └── tsconfig.json