Update ZEIP-ID propagation
This commit is contained in:
@@ -91,8 +91,7 @@ export const proposals: Proposals = {
|
||||
links: [
|
||||
{
|
||||
text: 'View Code',
|
||||
url:
|
||||
'',
|
||||
url: '',
|
||||
},
|
||||
{
|
||||
text: 'View Audit',
|
||||
|
||||
@@ -156,6 +156,7 @@ export class Governance extends React.Component<RouteComponentProps<any>> {
|
||||
/>
|
||||
<ModalContact isOpen={this.state.isContactModalOpen} onDismiss={this._onDismissContactModal} />
|
||||
<ModalVote
|
||||
zeipId={this._proposalData.zeipId}
|
||||
isOpen={this.state.isVoteModalOpen}
|
||||
onDismiss={this._onDismissVoteModal}
|
||||
onWalletConnected={this._onWalletConnected.bind(this)}
|
||||
@@ -206,7 +207,9 @@ export class Governance extends React.Component<RouteComponentProps<any>> {
|
||||
};
|
||||
private async _fetchVoteStatusAsync(): Promise<void> {
|
||||
try {
|
||||
const voteDomain = utils.isProduction() ? `https://${configs.DOMAIN_VOTE}` : `https://${configs.DOMAIN_VOTE}/staging`;
|
||||
const voteDomain = utils.isProduction()
|
||||
? `https://${configs.DOMAIN_VOTE}`
|
||||
: `https://${configs.DOMAIN_VOTE}/staging`;
|
||||
const voteEndpoint = `${voteDomain}/v1/tally/${this._proposalData.zeipId}`;
|
||||
const response = await fetch(voteEndpoint, {
|
||||
method: 'get',
|
||||
|
||||
@@ -24,6 +24,7 @@ interface Props {
|
||||
onDismiss?: () => void;
|
||||
onWalletConnected?: (providerName: string) => void;
|
||||
onVoted?: (voteInfo: VoteInfo) => void;
|
||||
zeipId: number;
|
||||
}
|
||||
|
||||
interface State {
|
||||
@@ -38,7 +39,6 @@ interface State {
|
||||
isU2fSupported: boolean;
|
||||
isVoted: boolean;
|
||||
votePreference: string | null;
|
||||
zeip: number;
|
||||
voteHash?: string;
|
||||
signedVote?: any;
|
||||
errorMessage?: string;
|
||||
@@ -76,7 +76,6 @@ export class ModalVote extends React.Component<Props> {
|
||||
isSuccessful: false,
|
||||
isVoted: false,
|
||||
votePreference: null,
|
||||
zeip: 23,
|
||||
errors: {},
|
||||
};
|
||||
// shared fields
|
||||
@@ -84,7 +83,7 @@ export class ModalVote extends React.Component<Props> {
|
||||
super(props);
|
||||
}
|
||||
public render(): React.ReactNode {
|
||||
const { isOpen, onDismiss } = this.props;
|
||||
const { isOpen, onDismiss, zeipId } = this.props;
|
||||
const { isSuccessful, selectedAddress, currentBalance, isErrorModalOpen, errorMessage } = this.state;
|
||||
const bigNumberFormat = {
|
||||
decimalSeparator: '.',
|
||||
@@ -109,7 +108,7 @@ export class ModalVote extends React.Component<Props> {
|
||||
<StyledDialogContent>
|
||||
{this._renderFormContent()}
|
||||
<Confirmation isSuccessful={isSuccessful}>
|
||||
<Icon name="zeip-23" size="large" margin={[0, 0, 'default', 0]} />
|
||||
<Icon name={`zeip-${zeipId}`} size="large" margin={[0, 0, 'default', 0]} />
|
||||
<Heading color={colors.textDarkPrimary} size={34} asElement="h2">
|
||||
Vote Received!
|
||||
</Heading>
|
||||
@@ -153,7 +152,8 @@ export class ModalVote extends React.Component<Props> {
|
||||
}
|
||||
}
|
||||
private _shareViaTwitterAsync(): void {
|
||||
const tweetText = encodeURIComponent(`I voted on ZEIP-23! 🗳️#VoteWithZRX https://0x.org/vote`);
|
||||
const { zeipId } = this.props;
|
||||
const tweetText = encodeURIComponent(`I voted on ZEIP-${zeipId}! 🗳️#VoteWithZRX https://0x.org/vote`);
|
||||
window.open(`https://twitter.com/intent/tweet?text=${tweetText}`, 'Share your vote', 'width=500,height=400');
|
||||
}
|
||||
private _renderConnectWalletFormContent(): React.ReactNode {
|
||||
@@ -190,6 +190,7 @@ export class ModalVote extends React.Component<Props> {
|
||||
isLedger={isLedger}
|
||||
ledgerSubproviderIfExists={ledgerSubproviderIfExists}
|
||||
provider={providerEngine}
|
||||
zeipId={this.props.zeipId}
|
||||
onVoted={this._onVoted.bind(this)}
|
||||
onError={this._onError.bind(this)}
|
||||
/>
|
||||
|
||||
@@ -45,6 +45,7 @@ interface Props {
|
||||
injectedProvider?: InjectedProvider;
|
||||
ledgerSubproviderIfExists?: LedgerSubprovider;
|
||||
provider?: ZeroExProvider;
|
||||
zeipId: number;
|
||||
}
|
||||
|
||||
interface State {
|
||||
@@ -55,7 +56,6 @@ interface State {
|
||||
isVoted: boolean;
|
||||
selectedAddress?: string;
|
||||
votePreference?: string;
|
||||
zeip: number;
|
||||
voteHash?: string;
|
||||
signedVote?: SignedVote;
|
||||
comment?: string;
|
||||
@@ -91,7 +91,7 @@ export class VoteForm extends React.Component<Props> {
|
||||
isSuccessful: false,
|
||||
isLedger: false,
|
||||
isVoted: false,
|
||||
zeip: defaultZeip,
|
||||
// zeipId: defaultZeip,
|
||||
errors: {},
|
||||
};
|
||||
public networkId: number;
|
||||
@@ -102,7 +102,6 @@ export class VoteForm extends React.Component<Props> {
|
||||
isSuccessful: false,
|
||||
isVoted: false,
|
||||
votePreference: null,
|
||||
zeip: VoteForm.defaultProps.zeip,
|
||||
errors: {},
|
||||
};
|
||||
// shared fields
|
||||
@@ -191,8 +190,8 @@ export class VoteForm extends React.Component<Props> {
|
||||
private readonly _createAndSubmitVoteAsync = async (e: React.FormEvent): Promise<void> => {
|
||||
e.preventDefault();
|
||||
|
||||
const { zeip, votePreference, comment } = this.state;
|
||||
const { currentBalance, selectedAddress, isLedger } = this.props;
|
||||
const { votePreference, comment } = this.state;
|
||||
const { currentBalance, selectedAddress, isLedger, zeipId } = this.props;
|
||||
const makerAddress = selectedAddress;
|
||||
|
||||
if (isLedger) {
|
||||
@@ -209,7 +208,7 @@ export class VoteForm extends React.Component<Props> {
|
||||
name: '0x Protocol Governance',
|
||||
};
|
||||
const message = {
|
||||
zeip,
|
||||
zeip: zeipId,
|
||||
preference: votePreference,
|
||||
from: makerAddress,
|
||||
};
|
||||
@@ -236,7 +235,9 @@ export class VoteForm extends React.Component<Props> {
|
||||
isAwaitingLedgerSignature: false,
|
||||
}));
|
||||
|
||||
const voteDomain = utils.isProduction() ? `https://${configs.DOMAIN_VOTE}` : 'http://localhost:3000';
|
||||
const voteDomain = utils.isProduction()
|
||||
? `https://${configs.DOMAIN_VOTE}`
|
||||
: `https://${configs.DOMAIN_VOTE}/staging`;
|
||||
const voteEndpoint = `${voteDomain}/v1/vote`;
|
||||
const requestBody = { ...signedVote, comment };
|
||||
const response = await fetch(voteEndpoint, {
|
||||
|
||||
@@ -64,7 +64,9 @@ export class VoteIndex extends React.Component<VoteIndexProps, VoteIndexState> {
|
||||
}
|
||||
private async _fetchVoteStatusAsync(zeipId: number): Promise<TallyInterface> {
|
||||
try {
|
||||
const voteDomain = utils.isProduction() ? `https://${configs.DOMAIN_VOTE}` : `https://${configs.DOMAIN_VOTE}/staging`;
|
||||
const voteDomain = utils.isProduction()
|
||||
? `https://${configs.DOMAIN_VOTE}`
|
||||
: `https://${configs.DOMAIN_VOTE}/staging`;
|
||||
const voteEndpoint = `${voteDomain}/v1/tally/${zeipId}`;
|
||||
const response = await fetch(voteEndpoint, {
|
||||
method: 'get',
|
||||
@@ -101,7 +103,7 @@ export class VoteIndex extends React.Component<VoteIndexProps, VoteIndexState> {
|
||||
private async _fetchTallysAsync(): Promise<void> {
|
||||
const tallyResponses = await Promise.all(ZEIP_IDS.map(async zeipId => this._fetchVoteStatusAsync(zeipId)));
|
||||
const tallys: { [key: number]: TallyInterface } = {};
|
||||
ZEIP_IDS.forEach((zeipId, i) => tallys[zeipId] = tallyResponses[i]);
|
||||
ZEIP_IDS.forEach((zeipId, i) => (tallys[zeipId] = tallyResponses[i]));
|
||||
this.setState({ tallys });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8079,11 +8079,6 @@ got@^6.7.1:
|
||||
graceful-fs@4.1.15, graceful-fs@^3.0.0, graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@~1.2.0:
|
||||
version "4.1.15"
|
||||
resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
|
||||
integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
|
||||
|
||||
graceful-fs@~1.2.0:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
|
||||
|
||||
"graceful-readlink@>= 1.0.0":
|
||||
version "1.0.1"
|
||||
|
||||
Reference in New Issue
Block a user