mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-26 12:29:06 +01:00
Storybook: add SignatureRequestOriginal (#14707)
* SB: add SignatureRequestOriginal * SB:SignatureRequestOriginal: add reusable Template * SB:SignatureRequestOriginal: add args missing isRequired args * SB:SignatureRequestOriginal: add eth_signTypedData * SB:SignatureRequestOriginal: update README.mdx * SB:README: update description * SignatureRequestOriginal: destruct mock value
This commit is contained in:
parent
1464ab724f
commit
7cfa454570
15
ui/components/app/signature-request-original/README.mdx
Normal file
15
ui/components/app/signature-request-original/README.mdx
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { Story, Canvas, ArgsTable } from '@storybook/addon-docs';
|
||||||
|
|
||||||
|
import SignatureRequestOriginal from '.';
|
||||||
|
|
||||||
|
# Signature Request
|
||||||
|
|
||||||
|
dApp requesting a signature from the user. This component appears for eth_signTypedData signatures are not v3 or v4. For other signatures, please see SignatureRequest.
|
||||||
|
|
||||||
|
<Canvas>
|
||||||
|
<Story id="ui-components-app-signature-request-signature-request-original-stories-js--default-story" />
|
||||||
|
</Canvas>
|
||||||
|
|
||||||
|
## Component API
|
||||||
|
|
||||||
|
<ArgsTable of={SignatureRequestOriginal} />
|
@ -0,0 +1,132 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import { action } from '@storybook/addon-actions';
|
||||||
|
import { MESSAGE_TYPE } from '../../../../shared/constants/app';
|
||||||
|
import testData from '../../../../.storybook/test-data';
|
||||||
|
import README from './README.mdx';
|
||||||
|
import SignatureRequestOriginal from './signature-request-original.component';
|
||||||
|
|
||||||
|
const [MOCK_PRIMARY_IDENTITY] = Object.values(testData.metamask.identities);
|
||||||
|
|
||||||
|
const MOCK_SIGN_DATA = JSON.stringify({
|
||||||
|
domain: {
|
||||||
|
name: 'happydapp.website',
|
||||||
|
},
|
||||||
|
message: {
|
||||||
|
string: 'haay wuurl',
|
||||||
|
number: 42,
|
||||||
|
},
|
||||||
|
primaryType: 'Mail',
|
||||||
|
types: {
|
||||||
|
EIP712Domain: [
|
||||||
|
{ name: 'name', type: 'string' },
|
||||||
|
{ name: 'version', type: 'string' },
|
||||||
|
{ name: 'chainId', type: 'uint256' },
|
||||||
|
{ name: 'verifyingContract', type: 'address' },
|
||||||
|
],
|
||||||
|
Group: [
|
||||||
|
{ name: 'name', type: 'string' },
|
||||||
|
{ name: 'members', type: 'Person[]' },
|
||||||
|
],
|
||||||
|
Mail: [
|
||||||
|
{ name: 'from', type: 'Person' },
|
||||||
|
{ name: 'to', type: 'Person[]' },
|
||||||
|
{ name: 'contents', type: 'string' },
|
||||||
|
],
|
||||||
|
Person: [
|
||||||
|
{ name: 'name', type: 'string' },
|
||||||
|
{ name: 'wallets', type: 'address[]' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
export default {
|
||||||
|
title: 'Components/App/SignatureRequestOriginal',
|
||||||
|
id: __filename,
|
||||||
|
component: SignatureRequestOriginal,
|
||||||
|
parameters: {
|
||||||
|
docs: {
|
||||||
|
page: README,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
argTypes: {
|
||||||
|
fromAccount: {
|
||||||
|
table: {
|
||||||
|
address: { control: 'text' },
|
||||||
|
balance: { control: 'text' },
|
||||||
|
name: { control: 'text' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
hardwareWalletRequiresConnection: { control: 'boolean' },
|
||||||
|
isLedgerWallet: { control: 'boolean' },
|
||||||
|
nativeCurrency: { control: 'text' },
|
||||||
|
txData: { control: 'object' },
|
||||||
|
clearConfirmTransaction: { action: 'Clean Confirm' },
|
||||||
|
cancel: { action: 'Cancel' },
|
||||||
|
sign: { action: 'Sign' },
|
||||||
|
},
|
||||||
|
args: {
|
||||||
|
fromAccount: MOCK_PRIMARY_IDENTITY,
|
||||||
|
history: {
|
||||||
|
push: action('history.push()'),
|
||||||
|
},
|
||||||
|
mostRecentOverviewPage: '/',
|
||||||
|
nativeCurrency: 'ETH',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const Template = (args) => {
|
||||||
|
return <SignatureRequestOriginal {...args} />;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const DefaultStory = Template.bind({});
|
||||||
|
|
||||||
|
DefaultStory.storyName = 'personal_sign Type';
|
||||||
|
|
||||||
|
DefaultStory.args = {
|
||||||
|
txData: {
|
||||||
|
msgParams: {
|
||||||
|
data: MOCK_SIGN_DATA,
|
||||||
|
origin: 'https://happydapp.website/governance?futarchy=true',
|
||||||
|
},
|
||||||
|
type: MESSAGE_TYPE.PERSONAL_SIGN,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export const ETHSignStory = Template.bind({});
|
||||||
|
|
||||||
|
ETHSignStory.storyName = 'eth_sign Type';
|
||||||
|
|
||||||
|
ETHSignStory.args = {
|
||||||
|
txData: {
|
||||||
|
msgParams: {
|
||||||
|
data: MOCK_SIGN_DATA,
|
||||||
|
origin: 'https://happydapp.website/governance?futarchy=true',
|
||||||
|
},
|
||||||
|
type: MESSAGE_TYPE.ETH_SIGN,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export const ETHSignTypedStory = Template.bind({});
|
||||||
|
|
||||||
|
ETHSignTypedStory.storyName = 'eth_signTypedData Type';
|
||||||
|
|
||||||
|
ETHSignTypedStory.args = {
|
||||||
|
txData: {
|
||||||
|
msgParams: {
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
type: 'string',
|
||||||
|
name: 'Message',
|
||||||
|
value: 'Hi, Alice!',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'uint32',
|
||||||
|
name: 'A number',
|
||||||
|
value: '1337',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
origin: 'https://happydapp.website/governance?futarchy=true',
|
||||||
|
},
|
||||||
|
type: MESSAGE_TYPE.ETH_SIGN_TYPED_DATA,
|
||||||
|
},
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user