mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-26 12:29:06 +01:00
156 lines
3.8 KiB
JavaScript
156 lines
3.8 KiB
JavaScript
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, MOCK_SECONDARY_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',
|
|
|
|
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',
|
|
providerConfig: { name: 'Goerli ETH' },
|
|
selectedAccount: MOCK_PRIMARY_IDENTITY,
|
|
},
|
|
};
|
|
|
|
const Template = (args) => {
|
|
return <SignatureRequestOriginal {...args} />;
|
|
};
|
|
|
|
export const DefaultStory = Template.bind({});
|
|
|
|
DefaultStory.storyName = 'personal_sign Type';
|
|
|
|
DefaultStory.args = {
|
|
txData: {
|
|
msgParams: {
|
|
from: '0xb19ac54efa18cc3a14a5b821bfec73d284bf0c5e',
|
|
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: {
|
|
from: '0xb19ac54efa18cc3a14a5b821bfec73d284bf0c5e',
|
|
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: {
|
|
from: '0xb19ac54efa18cc3a14a5b821bfec73d284bf0c5e',
|
|
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,
|
|
},
|
|
};
|
|
|
|
export const AccountMismatchStory = Template.bind({});
|
|
|
|
AccountMismatchStory.storyName = 'Account Mismatch warning';
|
|
|
|
AccountMismatchStory.args = {
|
|
txData: {
|
|
msgParams: {
|
|
from: '0x64a845a5b02460acf8a3d84503b0d68d028b4bb4',
|
|
data: MOCK_SIGN_DATA,
|
|
origin: 'https://happydapp.website/governance?futarchy=true',
|
|
},
|
|
type: MESSAGE_TYPE.PERSONAL_SIGN,
|
|
},
|
|
selectedAccount: MOCK_SECONDARY_IDENTITY,
|
|
};
|