1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-22 11:22:43 +02:00
metamask-extension/test/e2e/fixture-builder.js

1109 lines
32 KiB
JavaScript
Raw Normal View History

const { merge } = require('lodash');
function defaultFixture() {
return {
data: {
AlertController: {
alertEnabledness: {
unconnectedAccount: true,
web3ShimUsage: true,
},
unconnectedAccountAlertShownOrigins: {},
web3ShimUsageOrigins: {},
},
AnnouncementController: {
announcements: {
1: {
date: '2021-03-17',
id: 1,
image: {
height: '230px',
placeImageBelowDescription: true,
src: 'images/mobile-link-qr.svg',
width: '230px',
},
isShown: false,
},
3: {
date: '2021-03-08',
id: 3,
isShown: false,
},
4: {
date: '2021-05-11',
id: 4,
image: {
src: 'images/source-logos-bsc.svg',
width: '100%',
},
isShown: false,
},
5: {
date: '2021-06-09',
id: 5,
isShown: false,
},
6: {
date: '2021-05-26',
id: 6,
isShown: false,
},
7: {
date: '2021-09-17',
id: 7,
isShown: false,
},
8: {
date: '2021-11-01',
id: 8,
isShown: false,
},
9: {
date: '2021-12-07',
id: 9,
image: {
src: 'images/txinsights.png',
width: '80%',
},
isShown: false,
},
10: {
date: '2022-09-15',
id: 10,
image: {
src: 'images/token-detection.svg',
width: '100%',
},
isShown: false,
},
11: {
date: '2022-09-15',
id: 11,
isShown: false,
},
12: {
date: '2022-05-18',
id: 12,
image: {
src: 'images/darkmode-banner.png',
width: '100%',
},
isShown: false,
},
13: {
date: '2022-09-15',
id: 13,
isShown: false,
},
14: {
date: '2022-09-15',
id: 14,
isShown: false,
},
15: {
date: '2022-09-15',
id: 15,
isShown: false,
},
16: {
date: null,
id: 16,
isShown: true,
},
},
},
AppStateController: {
browserEnvironment: {},
collectiblesDetectionNoticeDismissed: false,
collectiblesDropdownState: {},
connectedStatusPopoverHasBeenShown: true,
defaultHomeActiveTabName: null,
enableEIP1559V2NoticeDismissed: false,
fullScreenGasPollTokens: [],
notificationGasPollTokens: [],
popupGasPollTokens: [],
qrHardware: {},
recoveryPhraseReminderHasBeenShown: true,
recoveryPhraseReminderLastShown:
'__FIXTURE_SUBSTITUTION__currentDateInMilliseconds',
showPortfolioTooltip: false,
showTestnetMessageInDropdown: true,
trezorModel: null,
usedNetworks: {
'0x1': true,
'0x5': true,
'0x539': true,
},
},
CachedBalancesController: {
cachedBalances: {
'0x539': {},
},
},
CurrencyController: {
conversionDate: 1665507600.0,
conversionRate: 1300.0,
currentCurrency: 'usd',
nativeCurrency: 'ETH',
usdConversionRate: 1300.0,
},
GasFeeController: {
estimatedGasFeeTimeBounds: {},
gasEstimateType: 'none',
gasFeeEstimates: {},
},
IncomingTransactionsController: {
incomingTransactions: {},
incomingTxLastFetchedBlockByChainId: {
'0x1': null,
'0x5': null,
'0xaa36a7': null,
},
},
KeyringController: {
vault:
'{"data":"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT","iv":"FbeHDAW5afeWNORfNJBR0Q==","salt":"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8="}',
},
MetaMetricsController: {
eventsBeforeMetricsOptIn: [],
fragments: {},
metaMetricsId: null,
participateInMetaMetrics: false,
traits: {},
},
NetworkController: {
network: '1337',
provider: {
chainId: '0x539',
nickname: 'Localhost 8545',
rpcPrefs: {},
rpcUrl: 'http://localhost:8545',
ticker: 'ETH',
type: 'rpc',
},
},
OnboardingController: {
completedOnboarding: true,
firstTimeFlowType: 'import',
onboardingTabs: {},
seedPhraseBackedUp: true,
},
PermissionController: {
subjects: {},
},
PreferencesController: {
advancedGasFee: null,
currentLocale: 'en',
dismissSeedBackUpReminder: true,
featureFlags: {
showIncomingTransactions: true,
},
forgottenPassword: false,
frequentRpcListDetail: [
{
chainId: '0x539',
nickname: 'Localhost 8545',
rpcPrefs: {},
rpcUrl: 'http://localhost:8545',
ticker: 'ETH',
},
],
identities: {
'0x5cfe73b6021e818b776b421b1c4db2474086a7e1': {
address: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
lastSelected: 1665507600000,
name: 'Account 1',
},
},
infuraBlocked: false,
ipfsGateway: 'dweb.link',
knownMethodData: {},
ledgerTransportType: 'webhid',
lostIdentities: {},
openSeaEnabled: false,
preferences: {
hideZeroBalanceTokens: false,
showFiatInTestnets: false,
showTestNetworks: false,
useNativeCurrencyAsPrimaryCurrency: true,
},
selectedAddress: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
theme: 'light',
useBlockie: false,
useNftDetection: false,
useNonceField: false,
usePhishDetect: true,
useTokenDetection: false,
},
SmartTransactionsController: {
smartTransactionsState: {
fees: {},
liveness: true,
smartTransactions: {
'0x1': [],
},
},
},
SubjectMetadataController: {
subjectMetadata: {
'https://metamask.github.io': {
extensionId: null,
iconUrl: null,
name: 'MetaMask < = > Ledger Bridge',
origin: 'https://metamask.github.io',
subjectType: 'website',
},
},
},
TokensController: {
allDetectedTokens: {},
allIgnoredTokens: {},
allTokens: {},
detectedTokens: [],
ignoredTokens: [],
suggestedAssets: [],
tokens: [],
},
TransactionController: {
transactions: {},
},
config: {},
firstTimeInfo: {
date: 1665507600000,
version: '10.21.0',
},
},
};
}
function onboardingFixture() {
return {
data: {
AppStateController: {
browserEnvironment: {},
collectiblesDetectionNoticeDismissed: false,
collectiblesDropdownState: {},
connectedStatusPopoverHasBeenShown: true,
defaultHomeActiveTabName: null,
enableEIP1559V2NoticeDismissed: false,
fullScreenGasPollTokens: [],
notificationGasPollTokens: [],
popupGasPollTokens: [],
qrHardware: {},
recoveryPhraseReminderHasBeenShown: false,
recoveryPhraseReminderLastShown:
'__FIXTURE_SUBSTITUTION__currentDateInMilliseconds',
showPortfolioTooltip: true,
showTestnetMessageInDropdown: true,
trezorModel: null,
usedNetworks: {
'0x1': true,
'0x5': true,
'0x539': true,
},
},
NetworkController: {
network: '1337',
provider: {
ticker: 'ETH',
type: 'rpc',
rpcUrl: 'http://localhost:8545',
chainId: '0x539',
nickname: 'Localhost 8545',
},
},
PreferencesController: {
advancedGasFee: null,
currentLocale: 'en',
dismissSeedBackUpReminder: false,
featureFlags: {
showIncomingTransactions: true,
},
forgottenPassword: false,
frequentRpcListDetail: [
{
chainId: '0x539',
nickname: 'Localhost 8545',
rpcPrefs: {},
rpcUrl: 'http://localhost:8545',
ticker: 'ETH',
},
],
identities: {},
infuraBlocked: false,
ipfsGateway: 'dweb.link',
knownMethodData: {},
ledgerTransportType: 'webhid',
lostIdentities: {},
openSeaEnabled: false,
preferences: {
hideZeroBalanceTokens: false,
showFiatInTestnets: false,
showTestNetworks: false,
useNativeCurrencyAsPrimaryCurrency: true,
},
theme: 'light',
useBlockie: false,
useNftDetection: false,
useNonceField: false,
usePhishDetect: true,
useTokenDetection: false,
},
SmartTransactionsController: {
smartTransactionsState: {
fees: {},
liveness: true,
smartTransactions: {
'0x1': [],
},
},
},
TokensController: {
allDetectedTokens: {},
allIgnoredTokens: {},
allTokens: {},
detectedTokens: [],
ignoredTokens: [],
suggestedAssets: [],
tokens: [],
},
config: {},
firstTimeInfo: {
date: 1665507600000,
version: '10.21.0',
},
},
};
}
class FixtureBuilder {
constructor({ onboarding = false } = {}) {
this.fixture = onboarding === true ? onboardingFixture() : defaultFixture();
}
withAddressBookController(data) {
merge(
this.fixture.data.AddressBookController
? this.fixture.data.AddressBookController
: (this.fixture.data.AddressBookController = {}),
data,
);
return this;
}
withAlertController(data) {
merge(this.fixture.data.AlertController, data);
return this;
}
withAnnouncementController(data) {
merge(this.fixture.data.AnnouncementController, data);
return this;
}
withAppStateController(data) {
merge(this.fixture.data.AppStateController, data);
return this;
}
withCachedBalancesController(data) {
merge(this.fixture.data.CachedBalancesController, data);
return this;
}
withCollectiblesController(data) {
merge(
this.fixture.data.NftController
? this.fixture.data.NftController
: (this.fixture.data.NftController = {}),
data,
);
return this;
}
withCurrencyController(data) {
merge(this.fixture.data.CurrencyController, data);
return this;
}
withGasFeeController(data) {
merge(this.fixture.data.GasFeeController, data);
return this;
}
withIncomingTransactionsController(data) {
merge(
this.fixture.data.IncomingTransactionsController
? this.fixture.data.IncomingTransactionsController
: (this.fixture.data.IncomingTransactionsController = {}),
data,
);
return this;
}
withKeyringController(data) {
merge(this.fixture.data.KeyringController, data);
return this;
}
withKeyringControllerImportedAccountVault() {
return this.withKeyringController({
vault:
'{"data":"Ot+BTtJPag0xubdiv1nO9bsSvTHivHCd6CD7Lxgb1McYw3VqMjgp5rPMZmblJ1lscuMxyiqp99G52uXO9S0em6F9htpa+t/wn6qubRKTTNG9fxNzQrKXRDNhdgfYckVk5VAZ4fgl2iMZcRDvS8H/+gucVKJ33Sl6mXyPofdexXhWDCU6uR2YecnfaIum9cL2u/GqOMPE3jxzy0Wip0x2Jyp3QOKhvu8A3GIjzagLOaQ7a1APdl8=","iv":"lbsyPeGYWU6U1+jvmW9UHg==","salt":"Zmbhpskwxe4rYfXtELBvlcvW4HISPBATRmMqzsnZPMg="}',
});
}
withMetaMetricsController(data) {
merge(this.fixture.data.MetaMetricsController, data);
return this;
}
withNetworkController(data) {
merge(this.fixture.data.NetworkController, data);
return this;
}
withOnboardingController(data) {
merge(this.fixture.data.OnboardingController, data);
return this;
}
withPermissionController(data) {
merge(this.fixture.data.PermissionController, data);
return this;
}
withPermissionControllerConnectedToTestDapp() {
return this.withPermissionController({
subjects: {
'http://127.0.0.1:8080': {
origin: 'http://127.0.0.1:8080',
permissions: {
eth_accounts: {
id: 'ZaqPEWxyhNCJYACFw93jE',
parentCapability: 'eth_accounts',
invoker: 'http://127.0.0.1:8080',
caveats: [
{
type: 'restrictReturnedAccounts',
value: ['0x5cfe73b6021e818b776b421b1c4db2474086a7e1'],
},
],
date: 1664388714636,
},
},
},
},
});
}
withPermissionControllerConnectedToSnapDapp() {
return this.withPermissionController({
subjects: {
'https://metamask.github.io': {
origin: 'https://metamask.github.io',
permissions: {
'wallet_snap_npm:@metamask/test-snap-bip32': {
id: 'CwdJq0x8N_b9FNxn6dVuP',
parentCapability: 'wallet_snap_npm:@metamask/test-snap-bip32',
invoker: 'https://metamask.github.io',
caveats: null,
date: 1664388714636,
},
'wallet_snap_npm:@metamask/test-snap-bip44': {
id: '8zH-0opWuZhvJew41FMVh',
parentCapability: 'wallet_snap_npm:@metamask/test-snap-bip44',
invoker: 'https://metamask.github.io',
caveats: null,
date: 1664388714636,
},
'wallet_snap_npm:@metamask/test-snap-confirm': {
id: 'Wb_1c9toBggBQWfOJwjMg',
parentCapability: 'wallet_snap_npm:@metamask/test-snap-confirm',
invoker: 'https://metamask.github.io',
caveats: null,
date: 1664388714636,
},
'wallet_snap_npm:@metamask/test-snap-error': {
id: '5FUZoCyimOWKTbuLCEOWa',
parentCapability: 'wallet_snap_npm:@metamask/test-snap-error',
invoker: 'https://metamask.github.io',
caveats: null,
date: 1664388714636,
},
'wallet_snap_npm:@metamask/test-snap-managestate': {
id: 'Z6XPdyuCHCf1pyqSiU7nh',
parentCapability:
'wallet_snap_npm:@metamask/test-snap-managestate',
invoker: 'https://metamask.github.io',
caveats: null,
date: 1664388714636,
},
'wallet_snap_npm:@metamask/test-snap-notification': {
id: '_xfRMXzq0bs8QcXRcvjcP',
parentCapability:
'wallet_snap_npm:@metamask/test-snap-notification',
invoker: 'https://metamask.github.io',
caveats: null,
date: 1664388714636,
},
},
},
},
});
}
withPermissionLogController(data) {
merge(
this.fixture.data.PermissionLogController
? this.fixture.data.PermissionLogController
: (this.fixture.data.PermissionLogController = {}),
data,
);
return this;
}
withPreferencesController(data) {
merge(this.fixture.data.PreferencesController, data);
return this;
}
withPreferencesControllerImportedAccountIdentities() {
return this.withPreferencesController({
identities: {
'0x0cc5261ab8ce458dc977078a3623e2badd27afd3': {
name: 'Account 1',
address: '0x0cc5261ab8ce458dc977078a3623e2badd27afd3',
lastSelected: 1665507600000,
},
'0x3ed0ee22e0685ebbf07b2360a8331693c413cc59': {
name: 'Account 2',
address: '0x3ed0ee22e0685ebbf07b2360a8331693c413cc59',
},
'0xd38d853771fb546bd8b18b2f3638491bc0b0e906': {
name: 'Account 3',
address: '0xd38d853771fb546bd8b18b2f3638491bc0b0e906',
},
},
selectedAddress: '0x0cc5261ab8ce458dc977078a3623e2badd27afd3',
});
}
withSmartTransactionsController(data) {
merge(this.fixture.data.SmartTransactionsController, data);
return this;
}
withSubjectMetadataController(data) {
merge(this.fixture.data.SubjectMetadataController, data);
return this;
}
withTokenListController(data) {
merge(
this.fixture.data.TokenListController
? this.fixture.data.TokenListController
: (this.fixture.data.TokenListController = {}),
data,
);
return this;
}
withTokensController(data) {
merge(this.fixture.data.TokensController, data);
return this;
}
withTransactionController(data) {
merge(
this.fixture.data.TransactionController
? this.fixture.data.TransactionController
: (this.fixture.data.TransactionController = {}),
data,
);
return this;
}
withTransactionControllerMultipleTransactions() {
return this.withTransactionController({
transactions: {
7911313280012623: {
chainId: '0x539',
dappSuggestedGasFees: {
gas: '0x5208',
gasPrice: '0x4a817c800',
},
history: [
{
chainId: '0x539',
dappSuggestedGasFees: {
gas: '0x5208',
gasPrice: '0x4a817c800',
},
id: 7911313280012623,
loadingDefaults: true,
metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545991949,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x5208',
gasPrice: '0x4a817c800',
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
value: '0x29a2241af62c0000',
},
type: 'simpleSend',
},
[
{
note: 'Added new unapproved transaction.',
op: 'replace',
path: '/loadingDefaults',
timestamp: 1631545992244,
value: false,
},
],
],
id: 7911313280012623,
loadingDefaults: false,
metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545991949,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x5208',
gasPrice: '0x4a817c800',
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
value: '0x29a2241af62c0000',
},
type: 'simpleSend',
},
7911313280012624: {
chainId: '0x539',
dappSuggestedGasFees: {
gas: '0x5208',
gasPrice: '0x4a817c800',
},
history: [
{
chainId: '0x539',
dappSuggestedGasFees: {
gas: '0x5208',
gasPrice: '0x4a817c800',
},
id: 7911313280012624,
loadingDefaults: true,
metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545994578,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x5208',
gasPrice: '0x4a817c800',
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
value: '0x29a2241af62c0000',
},
type: 'simpleSend',
},
[
{
note: 'Added new unapproved transaction.',
op: 'replace',
path: '/loadingDefaults',
timestamp: 1631545994695,
value: false,
},
],
],
id: 7911313280012624,
loadingDefaults: false,
metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545994578,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x5208',
gasPrice: '0x4a817c800',
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
value: '0x29a2241af62c0000',
},
type: 'simpleSend',
},
7911313280012625: {
chainId: '0x539',
dappSuggestedGasFees: {
gas: '0x5208',
gasPrice: '0x4a817c800',
},
history: [
{
chainId: '0x539',
dappSuggestedGasFees: {
gas: '0x5208',
gasPrice: '0x4a817c800',
},
id: 7911313280012625,
loadingDefaults: true,
metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545996673,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x5208',
gasPrice: '0x4a817c800',
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
value: '0x29a2241af62c0000',
},
type: 'simpleSend',
},
[
{
note: 'Added new unapproved transaction.',
op: 'replace',
path: '/loadingDefaults',
timestamp: 1631545996678,
value: false,
},
],
],
id: 7911313280012625,
loadingDefaults: false,
metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545996673,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x5208',
gasPrice: '0x4a817c800',
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
value: '0x29a2241af62c0000',
},
type: 'simpleSend',
},
7911313280012626: {
chainId: '0x539',
dappSuggestedGasFees: {
gas: '0x5208',
gasPrice: '0x4a817c800',
},
history: [
{
chainId: '0x539',
dappSuggestedGasFees: {
gas: '0x5208',
gasPrice: '0x4a817c800',
},
id: 7911313280012626,
loadingDefaults: true,
metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545998675,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x5208',
gasPrice: '0x4a817c800',
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
value: '0x29a2241af62c0000',
},
type: 'simpleSend',
},
[
{
note: 'Added new unapproved transaction.',
op: 'replace',
path: '/loadingDefaults',
timestamp: 1631545998677,
value: false,
},
],
],
id: 7911313280012626,
loadingDefaults: false,
metamaskNetworkId: '1337',
origin: 'https://metamask.github.io',
status: 'unapproved',
time: 1631545998675,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x5208',
gasPrice: '0x4a817c800',
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
value: '0x29a2241af62c0000',
},
type: 'simpleSend',
},
},
});
}
withTransactionControllerTypeOneTransaction() {
return this.withTransactionController({
transactions: {
4046084157914634: {
chainId: '0x539',
history: [
{
chainId: '0x539',
id: 4046084157914634,
loadingDefaults: true,
metamaskNetworkId: '1337',
origin: 'metamask',
status: 'unapproved',
time: 1617228030067,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x61a8',
gasPrice: '0x2540be400',
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
value: '0xde0b6b3a7640000',
},
type: 'simpleSend',
},
[
{
note: 'Added new unapproved transaction.',
op: 'replace',
path: '/loadingDefaults',
timestamp: 1617228030069,
value: false,
},
],
],
id: 4046084157914634,
loadingDefaults: false,
metamaskNetworkId: '1337',
origin: 'metamask',
primaryTransaction: {
chainId: '0x539',
id: 4046084157914634,
loadingDefaults: true,
metamaskNetworkId: '1337',
origin: 'metamask',
status: 'unapproved',
time: 1617228030067,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x61a8',
gasPrice: '0x2540be400',
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
value: '0xde0b6b3a7640000',
},
type: 'sentEther',
},
status: 'unapproved',
time: 1617228030067,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x61a8',
gasPrice: '0x2540be400',
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
value: '0xde0b6b3a7640000',
},
type: 'simpleSend',
},
},
});
}
withTransactionControllerTypeTwoTransaction() {
return this.withTransactionController({
transactions: {
4046084157914634: {
chainId: '0x539',
history: [
{
chainId: '0x539',
id: 4046084157914634,
loadingDefaults: true,
metamaskNetworkId: '1337',
origin: 'metamask',
status: 'unapproved',
time: 1617228030067,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x61a8',
maxFeePerGas: '0x59682f0c',
maxPriorityFeePerGas: '0x59682f00',
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
type: '0x2',
value: '0xde0b6b3a7640000',
},
type: 'simpleSend',
},
[
{
note: 'Added new unapproved transaction.',
op: 'replace',
path: '/loadingDefaults',
timestamp: 1617228030069,
value: false,
},
],
],
id: 4046084157914634,
loadingDefaults: false,
metamaskNetworkId: '1337',
origin: 'metamask',
primaryTransaction: {
chainId: '0x539',
id: 4046084157914634,
loadingDefaults: true,
metamaskNetworkId: '1337',
origin: 'metamask',
status: 'unapproved',
time: 1617228030067,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x61a8',
maxFeePerGas: '0x59682f0c',
maxPriorityFeePerGas: '0x59682f00',
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
type: '0x2',
value: '0xde0b6b3a7640000',
},
type: 'sentEther',
},
status: 'unapproved',
time: 1617228030067,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x61a8',
maxFeePerGas: '0x59682f0c',
maxPriorityFeePerGas: '0x59682f00',
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
type: '0x2',
value: '0xde0b6b3a7640000',
},
type: 'simpleSend',
},
},
});
}
withTransactionControllerApprovedTransaction() {
return this.withTransactionController({
transactions: {
4046084157914634: {
chainId: '0x539',
history: [
{
chainId: '0x539',
id: 4046084157914634,
loadingDefaults: true,
metamaskNetworkId: '1337',
origin: 'metamask',
status: 'unapproved',
time: 1617228030067,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x61a8',
maxFeePerGas: '0x59682f0c',
maxPriorityFeePerGas: '0x59682f00',
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
type: '0x2',
value: '0xde0b6b3a7640000',
},
type: 'simpleSend',
},
[
{
note: 'Added new unapproved transaction.',
op: 'replace',
path: '/loadingDefaults',
timestamp: 1617228030069,
value: false,
},
],
[
{
op: 'add',
path: '/txParams/nonce',
value: '0x0',
note: 'transactions#approveTransaction',
timestamp: 1617228031069,
},
{
op: 'add',
path: '/nonceDetails',
value: {
params: {
highestLocallyConfirmed: 0,
highestSuggested: 0,
nextNetworkNonce: 0,
},
local: {
name: 'local',
nonce: 0,
details: {
startPoint: 0,
highest: 0,
},
},
network: {
name: 'network',
nonce: 0,
details: {
blockNumber: '0x0',
baseCount: 0,
},
},
},
},
],
],
id: 4046084157914634,
loadingDefaults: false,
metamaskNetworkId: '1337',
origin: 'metamask',
primaryTransaction: {
chainId: '0x539',
id: 4046084157914634,
loadingDefaults: true,
metamaskNetworkId: '1337',
origin: 'metamask',
status: 'approved',
time: 1617228030067,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x61a8',
maxFeePerGas: '0x59682f0c',
maxPriorityFeePerGas: '0x59682f00',
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
type: '0x2',
value: '0xde0b6b3a7640000',
},
type: 'sentEther',
},
status: 'approved',
time: 1617228030067,
txParams: {
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
gas: '0x61a8',
maxFeePerGas: '0x59682f0c',
maxPriorityFeePerGas: '0x59682f00',
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
type: '0x2',
value: '0xde0b6b3a7640000',
},
type: 'simpleSend',
},
},
});
}
build() {
this.fixture.meta = {
version: 74,
};
return this.fixture;
}
}
module.exports = FixtureBuilder;